(57)【要約】  本発明は、すべてのパーソナル・コンピュータ・オブジェクトのためのエージェントを用いたオブジェクト管理のためのシステム、装置及び方法を提供するものである。パーソナル・オブジェクトは、それがコンピューティング・システム・ストレージとネーム・スペースの使用において競争上の優位性を与える属性を有する程度に直接に比例して生存する。それは将来の有用性の重要な競争的属性を採用する。将来の有用性について正確に予知することは常に可能だとは限らないのであるから、競争上の優位性の評価は、計算することができ、また多かれ少なかれ将来の有用性に相関する二次的属性を基にして行われる。それは、パーソナル・オブジェクトとそのエージェントとの関係をモニターしコントロールする「コーディネーティング・メカニック」を用いる。「オブジェクト管理」という用語は、コンピュータ・システムに適用されるが、コンピュータ・エンティティーに必ずしも限定されない。
2007501982.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト管理システムであって、
前記システムは通信網と結合され、
前記システムは複数のパーソナル・オブジェクトを備え、
各エージェントは前記複数のパーソナル・オブジェクトの内の特定のパーソナル・オブジェクトと関連付けられ、
前記各エージェントは前記特定のパーソナル・オブジェクトの監視及びメンテナンスを行ない、
前記複数のエージェントをそれぞれコントロールするコーディネーティング・メカニックを備え、
前記コーディネーティング・メカニック及び前記複数のエージェントのそれぞれの間のメッセージが前記通信網を通じて搬送され、
前記複数のパーソナル・オブジェクトのうちの各特定のパーソナル・オブジェクトの将来の有用性の相対的確率を示す得点を計算するための少なくとも一つの採点モジュールと、
少なくとも前記相対的確率に基づくシステム決定を行うための決定モジュールとを備えるオブジェクト管理システム。
【請求項２】
前記特定のオブジェクトが有するコンピューティング・システム・ストレージ及び／又はネーム・スペースの使用における競争上の有利性を示す属性の度合いに直接に比例して特定のオブジェクトを生存させるサバイバル・モジュールを備える請求項１に記載のオブジェクト管理システム。
【請求項３】
前記コーディネイティング・メカニックが前記各エージェントをコントロールするための複数の同格のメカニックを有し、各同格メカニックが特定のエージェントと関連付けされる請求項１又は２に記載のオブジェクト管理システム。
【請求項４】
前記少なくとも一つの採点モジュールがエージェントの各々によって使用される請求項１、２又は３いずれか１項記載のオブジェクト管理システム。
【請求項５】
前記コーディネイティング・メカニックが、少なくとも１つの基準の重みをつける係数に基づいて各エージェントのための係数を関連付けし、前記決定モジュールが同様に各前記係数に基づいてシステム決定を行う請求項１、２、３又は４いずれか１項記載のオブジェクト管理システム。
【請求項６】
前記少なくとも１つの基準の重みをつける係数が基準の重みをつける履歴の正確性、エージェント・クラス、エージェント自身の確実性の評価及びそれらの組み合わせからなる諸係数のグループから取られた基準の重みをつける諸係数を含む請求項５に記載のオブジェクト管理システム。
【請求項７】
前記決定モジュールは、各特定のオブジェクトの相対的な確率及び各特定のオブジェクトの係数の積の和を形成する請求項５又は６に記載のオブジェクト管理システム。
【請求項８】
前記メッセージが、各エージェントからコーディネイティング・メカニックへのメッセージを含み、各メッセージは、各特定のオブジェクトの将来の有用性の評価、各特定のオブジェクトのメンテナンスのコスト、各特定のオブジェクトの将来の有用性の前記評価の信頼性のファクター、及びこれらのあらゆる組み合わせからなる情報のグループからとられた情報を有する請求項１乃至７いずれか１項記載のオブジェクト管理システム。
【請求項９】
少なくとも一つのコンテキストを有する前記複数のパーソナル・オブジェクトの少なくとも一部分と関連付けるステップを備える請求項１乃至８いずれか１項記載の方法。
【請求項１０】
タスクの実行に基づく前記少なくとも一つのコンテキストを作成するステップを備え、そこにおいて、前記オブジェクト・グループ内のすべてのオブジェクトが前記タスクに関連づけられるように、各コンテキストがオブジェクト・グループを形成する請求項９に記載の方法。
【請求項１１】
新たなタスクをユーザーが行う場合に応じて、少なくとも一つの他のオブジェクトを形成するステップを備える請求項５に記載の方法。
【請求項１２】
前記相対的確率が前記特定のオブジェクトの将来の有用性のレベルの尺度である請求項１乃至１１いずれか１項記載の方法。
【請求項１３】
前記各エージェントによって計算される情報の少なくとも一つの説明を、前記複数のエージェントのうちの少なくとも一つのエージェントが提供する請求項１乃至１２いずれか１項記載の方法。
【請求項１４】
前記複数のエージェントのうちの少なくとも一つ及び前記コーディネーティング・メカニックが業務によって提供される請求項１乃至１３いずれか１項記載の方法。
【請求項１５】
前記コーディネーティング・メカニックがウェブ・サービスによって提供される請求項12に記載の方法。
【請求項１６】
複数のパーソナル・オブジェクトを提供するステップと、
各エージェントが前記複数のパーソナル・オブジェクトの内の特定のパーソナル・オブジェクトと関連づけられ、前記各エージェントが前記特定のパーソナル・オブジェクトの監視とメンテナンスを提供する複数のエージェントを形成するステップと、
前記複数のエージェントのそれぞれをコーディネーティング・メカニックによりコントロールするステップと、
前記コーディネーティング・メカニックと前記複数のエージェントの内の各々との間のメッセージを搬送するステップと、
前記複数のパーソナル・オブジェクトの内の各特定のパーソナル・オブジェクトの将来の有用性の相対的確率を示す得点を計算するステップと、
少なくとも前記相対的な確率に基づいて、システム決定を行うステップとを備える方法。
【請求項１７】
前記コーディネーティング・メカニックをグローバル・メカニックとして形成するステップを備える請求項16に記載の方法。
【請求項１８】
オブジェクト管理を起こすために実施されるコンピュータに読取可能なプログラム・コード手段を有するコンピュータで使用可能なメディアを備える製品であって、前記製品におけるコンピュータに読取可能なプログラム・コード手段は、請求項16のステップをコンピュータに実行させるためのコンピュータに読取可能なプログラム・コード手段を備える製品。
【請求項１９】
オブジェクト管理の方法ステップを機械により実行可能にする指示のプログラムを有形に体現し、前記方法ステップが請求項16のステップを備えた、機械に読取可能なプログラム・ストレージ・デバイス。
【請求項２０】
オブジェクト管理を実行させるために実施されるコンピュータに読取可能なプログラム・コード手段を有するコンピュータで使用できるメディアを備えたコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品のコンピュータに読取可能なプログラム・コード手段が請求項１の機能をコンピュータに実行させるためのコンピュータに読取可能なプログラム・コード手段を備えたるコンピュータ・プログラム製品。
【請求項２１】
コンピュータ・システムを含むアーキテクチャーであって、
複数のパーソナル・オブジェクトと、
複数のエージェントとを備え、
各エージェントは、前記複数のパーソナル・オブジェクトの内の一つの特定のパーソナル・オブジェクトに関連づけられて結合され、
各エージェントは、前記特定のパーソナル・オブジェクトの監視とメンテナンスを提供し、
前記複数のエージェントの各々をコントロールするコーディネーティング・メカニックと、
前記コーディネーティング・メカニックと各前記複数のエージェントとの間のメッセージを搬送するために前記コーディネイティング・メカニックと結合した通信網と、
前記通信網と結合して、前記複数のパーソナル・オブジェクトの内の各特定のオブジェクトの将来の有用性の相対的確率を示す得点を計算するための、少なくとも１つの採点モジュールと、
前記通信網と結合し、少なくとも前記相対的確率に基づきシステム決定を行うための決定モジュールとを備えるアーキテクチャー。
【請求項２２】
前記特定のオブジェクトが有するコンピューティング・システム・ストレージ及びネーム・スペースの使用における競争上の有利性を示す属性の度合いに直接に比例して、特定のオブジェクトを生存せしめる、生存モジュールを備える請求項21に記載のアーキテクチャー。
【請求項２３】
前記コーディネーティング・メカニックが前記各エージェントをコントロールするために複数の同格のメカニックによって形成され、各同格のメカニックが特定のエージェントに関連付けされる請求項21又は２２記載のアーキテクチャー。
【請求項２４】
前記コーディネイティング・メカニックが前記複数のエージェントの各々と結合される請求項21、２２又は２３いずれか１項記載のアーキテクチャー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ・マネージメントに関し、特にパーソナル・コンピュータのオブジェクト管理に関する。
【背景技術】
【０００２】
初期のパーソナル・コンピューティングにおいては、ストレージ・デバイスの容量が数百或いはせいぜい千程度に限定されていた。確かに、すでに必要でなくなったファイルに占領されているストレージ・スペースを再利用することは恐らく間違いなくより重要であったであろうが、にもかかわらず、ファイルの数は十分に少なかったために、エンド・ユーザーはハウスキーピングの際にそれらの有用性や用途について何らかの考えを保持することができたのである。最終更新の日付、ファイル・タイプやファイル名などのファイル属性は、各ファイルが何のためのものであるかについての、そして恐らくはそのファイルが現行ファイルである時にユーザーが行っているタスクについてのユーザーの記憶を喚起する役に立っていた。しかし、現在のファイル容量は、任意のユーザーが百万のファイルを有するほどまでになっている。それは、保有のファイルが将来の用途がある蓋然性があるかどうか、或いは消去して良いかどうかについて判断することは、いかなるユーザーの能力をも超えるものである。ファイル消去の動機も変化してきた。ストレージ・スペースを再生するためにファイルを消去するというよりも、今日のユーザーは、別のプラットフォームへのマイグレーション（移行）をより容易にするためにファイルを消去するのである。ストレージのメンテナンスは、混乱を少なくするためにも、また新たなアクティビティーが不良ドキュメントにコミュニケートすることから開始される又は不良ドキュメントの変更から開始される蓋然性を少なくするためにも行われる。
【０００３】
ここでは、「パーソナル・オブジェクト」という用語を、主要には、ファイル、フォルダ、ブックマーク、クッキーなどの認識しうるIDを有する何らかの存在、ないしは消去等のメンテナンス活動がなされ得るその他の存在を指す。パーソナル・オブジェクト管理の課題は、将来のメンテナンス活動をいっそう複雑化しないために、引き続き価値を有するオブジェクトを保持し、引き続き価値を有するのではないオブジェクトを処分することである。オペレーティング・システムのうち、ウィンドウズ（登録商標）ファミリーにおいては、オブジェクト・メンテナンスを助けるために提供されているユーティリティーが存在する。例えば、ディスク・クリーンアップ（Disk Cleanup）ユーティリティーは、ある種のフォルダ（例えば、ゴミ箱（Recycle Bin）やテンポラリー・インターネット・ファイル（Temporary Internet Files））中のファイルを探し、ユーザーに代わってそれらを消去する。通常のユーザー戦略は、古いファイルは再度使用する蓋然性が低く、大きなファイルは消去されれば大きなスペース的利益があるという考えによって、すべてのファイルの大きさ順又は古さ順に並べることである。しかしながら、パーソナル・オブジェクト・メンテナンスのために有効なツールは、通例、欠如しているのである。
【０００４】
U.S. Pat. No. 5,634,124.は、オブジェクト指向コンピューティングに関するものであり、特に、データ統合が達成されうるインフラストラクチャーを作ることに関するものである。オブジェクト・マネージャーは、各クラスのデータに関連付けられており、データが異なったクラスの間でコミュニケートされうる方途を見出すことを受け持つ。この特許は、オブジェクト・メンテナンスに関するものではなく、各オブジェクトの将来の有用性と相関する特有の属性をメンテナンスするものではない。
【０００５】
U.S. Pat. No. 5,862,325.は、メタデータすなわちデータに関するデータを伴ったコンピュータ・データのコミュニケーションに関するものである。本発明の特徴であるファイル属性は、メタデータの一例である。この特許では、Reedらは、メタデータに従ってデータのコミュニケーションをコントロールすることに携わっている。この特許は、オブジェクト・メンテナンスに関するものではない。この特許の継続特許であるU.S. Pat. No. 6,088,717は、Reedの特許をデータベースを含めるように拡張しているけれども、オブジェクト・メンテナンスの主題を教示してはいない。
【０００６】
U.S. Pat. No. 6.044,205, においては、Reed らは、そうしたデータの宛先が受け取ったデータのオブジェクトに特有な処理法（object-specific processing）を提供することができるように、メタデータ・ドリブン・コミュニケーションをさらに考慮し、オブジェクト・メソッド・コミュニケーションの要素を加えている。だが、ここにおいても、この特許は、パーソナル・オブジェクト・メンテナンスについて教示していない。
【０００７】
最後に、U.S. Pat. No. 6,240,405において、Suzukiは、エージェント・テーブルに基づいて複数のエージェントのうちからの自動的選択をする手段について説明している。この特許の目的は、特定の人間エージェントの顔の特徴及び声との交信（interaction）を行うエンドユーザーとの交信機能（end-user interaction facility）を提供することである。この特許は、パーソナル・オブジェクト・メンテナンスに関するものではない。
【発明の開示】
【０００８】
このように、この問題を解決するために、パーソナル・オブジェクトは、それがコンピューティング・システム・ストレージとネーム・スペースの使用において競争上の優位性を与える属性を有する程度に直接に比例して生存するのである（survive）。重要な競争上の属性は、将来の有用性である。将来の有用性について正確に予知することは常に可能だとは限らないのであるから、われわれは、競争上の優位性の評価を、計算することができ、また多かれ少なかれ将来の有用性に相関する二次的属性を基にして行う。オブジェクトのカテゴリーは、それ自体がオブジェクトである。だから、オブジェクト全体の集合体は、より多い或いはより少ない競争上の優位性を有していると見なすことができる。すべてのオブジェクトの生存属性が一旦知られたならば、メンテナンスに影響する決定又は勧告を行うことができる。
【０００９】
本発明の１つの特徴は、パーソナル・オブジェクトを客観的にまた将来の有用性を予知する基準に沿って自動採点すること、また、将来の有用性の可能性が低いと見なされるパーソナル・オブジェクトのサブセットを消去及びアーカイブすることについての勧告を行うか、或いはその直接の処置を取ることである。
【００１０】
本発明のもう一つの特徴は、パーソナル・オブジェクトを自動採点し、そうした得点を他のパーソナル・オブジェクトに比べて相対的に得点が低いオブジェクトの消去又はアーカイビングについて勧告するために使用するための方法を提供することにある。
【発明を実施するための最良の形態】
【００１１】
本発明は、オブジェクト管理のためのシステム、装置及び方法を提供するものである。それは、ダーウィンの自然淘汰理論から導かれるものである。この自然淘汰理論においては、種は、種が共通の資源を得るために競争する環境において、他の種に関して競争上の優位性を与える属性を所有している乃至はそれを発展させていることによって生存するのである。われわれは、類推によって、パーソナル・オブジェクトは、それがコンピューティング・システム・ストレージとネーム・スペースの使用において競争上の優位性を与える属性を有する程度に直接に比例して生存すべきであると推論するのである。
【００１２】
重要な競争上の属性は、将来の有用性である。あるオブジェクトの将来の有用性とは、そのオブジェクトの将来のいずれかの時点での何らかの種類の使用の蓋然性である。その蓋然性は、確率 p で示すことが望ましい。この確率の補数（１−p）は、そのオブジェクトが将来使用されない確率である。p=0のオブジェクトは、将来に影響することなく、破壊できるオブジェクトである。将来の有用性について正確に予知することは常に可能だとは限らないのであるから、競争上の優位性の評価は、計算することができ、また多かれ少なかれ将来の有用性に相関する二次的属性を基にして行われる。オブジェクトのカテゴリーは、それ自体がオブジェクトである。だから、オブジェクト全体の集合体は、より多い或いはより少ない競争上の優位性を有していると見なすことができる。すべてのオブジェクトの生存属性が一旦知られたならば、メンテナンスに影響する決定又は勧告を行うことができる。
【００１３】
一つの実施例において、本発明は、パーソナル・オブジェクトを客観的にまた将来の有用性を予知する基準に沿って自動採点すること、また、将来の有用性の可能性が低いと見なされるパーソナル・オブジェクトのサブセットを消去及びアーカイビングすることについての勧告を行う及び／又はその直接の処置を取る。
【００１４】
ここに開示する発明は、パーソナル・オブジェクトの自動採点の方法を実施するものであり、この採点を、得点が他のそうしてオブジェクトに比べて低い一定のオブジェクトの消去又はアーカイビングの勧告に使用するものである。
【００１５】
ユーザーにとっての本発明の価値は、消去又はアーカイビングのために手動でパーソナル・オブジェクトを選択するという仕事の必要性をなくすことである。こうした手動での仕事は、そうした決定をするための客観的な基準が存在しないために困難で間違いを起こしやすいのである。ユーザーは、自分のパーソナル・コンピューティング環境の複雑性が大幅に減ることをし、また概念的な負荷（conceptual load）を減らされ、ユーザー満足度が増大させられる。もしも採点が正確に将来の有用性を予知できるならば、メンテナンス行動が自動的に行われることができ、そして、もしも採点が将来の有用性を有するオブジェクトの消去に対して十分な保護を示さないならば、行動の勧告が与えられる。
【００１６】
本発明は、パーソナル・コンピュータ装置で作動するプログラムを含む。このプログラムは、パーソナル装置にあるすべてのパーソナル・オブジェクトを追跡する。それは各々のオブジェクトに関連した属性をメンテナンスし、またそれの評価を行う。好ましい実施態様においては、プログラムは、エージェントにインスタンスが作成された諸クラスを含み、各パーソナル・オブジェクトにつき１つのエージェントである。エージェントは、オブジェクトについての情報の獲得、その情報から派生する属性のストレージ、そしてそのオブジェクトの生存を確保するための他のエージェントとの競争に責任を負う。
【００１７】
エージェントは、定期的に自らのオブジェクトの生存価値を評価し、競争に参加する。その競争の結果は、低い生存価値を有するオブジェクトのアーカイビング又は消去の勧告である。生存価値は、各エージェントによって計算されるが、好ましくは、すべてのエージェントがアービトレーターに多次元の生存指標を提出し、そのアービトレーターが競争者の間での決定の手段として、最新の方策を用いるということである。この方法によって、生存価値の計算は、ユーザーの需要と希望にしたがって、その時々に変化させることができる。
【００１８】
各クラスは、パーソナル・オブジェクトの異なるタイプに関連付けられている。例えば、音、特に音楽として再生されるように意図されているデータを含むオブジェクトは、音楽特有のクラスに関連付けられ、オブジェクトが通常用いられる方法について理解されている。音楽ファイルは、めったに編集されず、ほとんどの場合、読み取り専用である。音楽ファイルに編集操作が行われていないことは、将来の有用性について示すものではないであろう。しかし、他のファイル（例えばインデックス）に対して編集操作が行われていないことは、そうしたファイルが限定的な将来の有用性しか持っていないことを示すのである。
【００１９】
好ましい実施態様においては、オブジェクトは、コンテキストすなわちそのオブジェクトが作成され、使用される条件（環境：setting）に関連付けられる。
【００２０】
あるパーソナル・オブジェクトの「コンテキスト」は、諸パーソナル・オブジェクトの１セットがそのパーソナル・オブジェクトといくらかの関連があるということであり、そのパーソナル・オブジェクトの将来の有用性に関係を有する諸パーソナル・オブジェクトをグループ化しているということである。例えば、特許出願のテキストがパーソナル・オブジェクトの中に保存されており、そしてその同じ特許出願の図面が他の諸パーソナル・オブジェクトに保存されているならば、そのテキスト・オブジェクトとすべての図形オブジェクトを含む諸パーソナル・オブジェクトのセットは、そこに保存されている諸パーソナル・オブジェクトの各々のコンテキストとするのが望ましいであろう。このセットの構築の論理的根拠は、その構成オブジェクトの各々のコンテキストが、もしそのテキスト・オブジェクトが将来用いられるならば、その図形オブジェクトも同様に用いられ、その逆も真だということである。
【００２１】
さらにまた、例えば、もしもあるオブジェクトがユーザーが新たなタスクを行うようになったことによって作られたとすると、他のオブジェクトもそのタスクの実行の中で作られまた修正されることがありうる。そのタスクは、あるコンテキストの作成の動機付けとなる根源となり、そのコンテキストにすべてのオブジェクトが関連づけられる。このコンテキストはそれ自体がパーソナル・オブジェクトであり、それに関連づけられたすべてのオブジェクトを含むものである。この抽象化の目的は、コンテキストとタスクの関係を把握することである。タスクがなされる時に、そのタスクが持続的な成果をもたらすか否かによって、コンテキストは生存価値を失うことも、失わないこともありうるというように。言い換えると、タスクの状態（例えば完了している等）の知識は、そのコンテキストへのメンテナンスへの影響があることを意味するのである。
【００２２】
「オブジェクト管理」という用語は、ここで使用する場合、コンピュータ・システムに適用されるが、必ずしもコンピュータ・エンティティーに限定されるわけではない。例えば、ある企業がその在庫の管理を欲していると考えてみよう。もし、データベースに在庫データを保存する代わりに、その会社が各品目を一つのオブジェクトとして表すことを選んだとしよう。そうすると、本アプリケーションの原則が適用されるわけである。オブジェクトの得点が低ければ、そのオブジェクトはウェブ・サイト上での、たとえばeBayなどでの販売の候補になり、オブジェクトの得点が高ければ、その品目を保有し続けることを人は欲するであろう。他の例をあげると、会社の従業員を在庫の品目としてオブジェクトと考え、オブジェクトとして表す場合である。
【００２３】
使われる方法の説明を含む本発明の有利な実施態様は、添付の図面に示されている。図１は、「パーソナル・オブジェクト・スペース」と呼ばれるパーソナル・コンピューティング・デバイスの抽象概念１を示す。パーソナル・オブジェクト・スペースは、その中にパーソナル・オブジェクトが存在する概念的スペースである。典型的なパーソナル・コンピューティング装置においては、パーソナル・オブジェクトはハード・ディスクのようなストレージ・デバイスの上のファイル・システムの中に保存されている。パーソナル・オブジェクトは、メンテナンスの対象となるファイル、フォルダ、ブックマーク又は何らかの他の区別可能な存在である。コンテキスト２及び３も示されている。上に述べたように、コンテキストは、パーソナル・オブジェクトと関連している。コンテキスト２の中には、４つのオブジェクト、すなわちファイル10、12及びフォルダ14及び16がある。各オブジェクトには一つのエージェントが関連づけられている。例えば、ファイル10はそれに関連づけられているエージェント11を有し、そのエージェントは、クラスＸのインスタンスである。コンテキスト３の中には、エージェント21、23と関連付けられている２つのオブジェクト20、22がある。
【００２４】
図２は、図１で描かれたパーソナル・オブジェクト・スペースのインプリメンテーションを示す。図２には、パーソナル・オブジェクト・スペース１の中の１つのパーソナル・オブジェクト33が示されている。このパーソナル・オブジェクトは、それに関連付けられたエージェント31を有しており、コンテキストＣのメンバーである（図１コンテキスト３）。エージェントは、エージェント・ディレクトリ30に存在しており、そのエントリー34はエージェント31を位置指定する。エージェント31は、起動レコード32を有するインスタンスを生成されたオブジェクトであり、その一つの構成要素は、パーソナル・オブジェクト33を位置指定するデータである。このデータは、パーソナル・オブジェクト33へのパスであるか、或いはそのオブジェクトへのハンドルである。この手段によって、パーソナル・オブジェクト33は、エージェント31に関連づけられる。起動レコード32は、また、パーソナル・オブジェクト33の将来の有用性に関連するデータを含み、またオブジェクトのコンテキスト43へのリファレンスを含む。パーソナル・オブジェクト33は、それとエージェント31との関連によって、コンテキストCのメンバーである。エージェント31は、コンテキスト・テーブル41のエントリー42によって位置指定されている。コンテキストCは、コンテキスト・テーブル40のエントリー45によって位置指定され、オブジェクト43としてインプリメント（実装）されている。オブジェクト43の起動レコードは、起動レコード44であり、それはコンテキストCのためのコンテキスト・テーブル41を含む。この起動レコードは、コンテキストC内のすべてのオブジェクトの将来の有用性に関するデータを含む。
【００２５】
さらに有利なインプリメンテーションのために、エージェント・ディレクトリ30は、コンテキスト・テーブル40およびコンテキストC・テーブル41のJavaクラス・リストの具象サブクラスのインスタンスとしてインプリメントされる。エージェント31は、Java（登録商標）クラス・オブジェクトの特殊なサブクラスとして、コンテキスト・オブジェクト43としてインプリメントされる。Java言語のコンパクトな紹介は、O'Reilly press から出版された David Flanagan 著“Java in a Nutshell”という本の中にある。そしてまた、有利なインプリメンテーションとして、エージェント31は、JavaインターフェースRunnableをインプリメントする。このインターフェースをインプリメントしたオブジェクトはスレッドとして作動する、言い換えれば、独立してスケジュールできる軽量プロセスなのである。
【００２６】
各オブジェクトの生存価値を評価するために必要なことは、各エントリーにスレッドを作り、例えばエージェント・オブジェクト31のようなエージェント・オブジェクトの適切な方法を呼び出す、エージェント・ディレクトリ30を通じてシーケンスするあるプログラムである。各エージェントが作動し、そしてエージェント・オブジェクトについての情報及びそのコンテキストについての情報に基づいて生存価値を計算する。或いは、エージェントはスレッドがそれに一旦割り当てられたならば連続的に作動するように設計される。エージェントは、この設計によって、これらのオブジェクトと相互作用するシステム・コンポーネント及びアプリケーションからのイベント（事象）を受け取って、これらのオブジェクトをモニターすることができる。
【００２７】
すべてのエージェントは、いくつかのクラスのうちの一つのインスタンスであり、このクラスは、パーソナル・オブジェクトのタイプに従って選択されており、この選択を実施するための望ましい実施態様は、図３に示されたテンプレートを保存している。図３は、保有のオブジェクトのためのエージェント・クラスの選択に応じた情報を含む３つのテンプレート例を示している。この３つのテンプレートは、システム、テキスト及びオーディオのためのものであり、ブックマークにもファイルにも適用されることができる。各テンプレートは、５つのフィールドを有している。すなわち、オブジェクト・クラスを示すファイル拡張子のリスト、オブジェクト・クラスを示すロケーションのリスト、オブジェクト・クラスの作成者のリスト、マッチング手順の名前、及びエージェントのインスタンスを生成するためのオブジェクト・クラスの名前である。
【００２８】
図４に描かれている手順は、これら及び他のテンプレートとともに、エージェント・クラスを決定するために用いることができる。
【００２９】
図４は、特定のオブジェクトのために選択されるエージェントのクラスを決定するプロセスを描いている。ブロック60において、すべてのテンプレートのセットがインプットされ、検索とマッチングのために効果的な形で保存される。ブロック61は、２つのインデックスを初期化する。すなわち、第１のインデックス、i は、保有のオブジェクトのためのマッチとしての現行の評価のテンプレートである。第２のインデック、best は保有のオブジェクトのためのベスト・マッチ（best match）を現在有しているテンプレートのインデックスである。ブロック61も、最良な度合いのマッチを保持していく最良の度合い（bestdegree ）という変数を初期化する。ブロック62は、i がすべてのテンプレートに亘る最大のインデックスを超えるかどうかをチェックする。もしもそうならば（イエスならば）、分岐63が採用されてブロック70に行き、プロセッシングはベスト・マッチのインデックスを最良に保持して終了し、そのマッチの度合いを保持する。もしもそうでないならば（ノーならば）、分岐64が採用されてブロック65に行き、オブジェクトとテンプレート i とのマッチを計算する。ブロック66において、このマッチの度合いはテストされ、もしも現行の最良のマッチよりも大きいならば、分岐67が採用されてブロック68に行き、現行テンプレートを最良のものとする。もしもマッチの度合いがブロック66において現行の最良のマッチよりも良くないならば、分岐71が採用されてブロック69に行き、次のマッチングのためのテンプレートを選択する。図４で示されていないプロセッシングにおいては、もしマッチの最良の度合いが保有のしきい値を超えないならば、エージェント・クラスはデフォルト・クラスに割り当てられる。そうでない場合には、エージェント・クラスは、ベスト・マッチ・テンプレートのクラスに割り当てられる。
【００３０】
マッチング・プロセスそれ自体は、「マッチバイ」フィールドの中のテンプレートにおいてリファレンスされた手順である。このフィールドは、マッチング手順の名前を含み、それは、プログラミング技術の当業者には馴染んだ方法のテーブル・ルックアップによって位置指定されることができる。
【００３１】
図５は、オブジェクト・タイプによってカスタマイズされてはいないマッチング手順の模範的な実施を示す。図５におけるプロセッシングは、ブロック80から始まる。ブロック80は、テンプレートのさまざまなフィールドをインプットする。ブロック81において、採点変数が初期化される。ブロック82は、オブジェクト・ファイル拡張子がファイル拡張子リストのエントリーとマッチするかどうかをテストし、もしもそうならば（イエスならば）、分岐83が採用されてブロック84に行き、そこで採点変数が10だけ増やされる。もしもそうでないならば（ノーならば）、分岐85が採用される。それとは別に、ブロック86はオブジェクト・ロケーションがロケーション・リストのエントリーとマッチするかどうかをテストし、もしもそうならば、分岐87が採用されブロック88に行き、そこで採点変数が5だけ増やされる。もしもそうでないならば、分岐89が採用される。それとは別に、ブロック90は、オブジェクト作成者が作成者リストのエントリーとマッチするかどうかをテストし、もしもそうならば、分岐91が採用されブロック92に行き、採点変数が５だけ増やされる。もしもそうでないならば、分岐93が採用される。それとは別に、ブロック94が、マッチング手順から返すために入れられる。
【００３２】
図３におけるオーディオのためのテンプレートにおけるように、リスト・エントリーがNOTと指定されている場合もありうる。この修飾子は、あらゆるリスト・エレメントにおいて存在することがありうる。図５のブロック90を考えてみると、もしも、NOT修飾子を有する作成者リストのエントリーとオブジェクト作成者がマッチするならば、ブロック92におけるプロセッシングは、採点変数に加算するというよりも、採点変数から５を減算するというように修正することになるであろう。また、ブロック84、88及び92におけるそれぞれの値10、５及び５は、コンスタントである必要はなく、テーブル・ルックアップを含むあらゆる手段によって得られるものであることに留意されたい。
【００３３】
異なるエージェント・クラスは、各オブジェクトについての異なる情報を保持する。この情報は、作成の日時、最終変更及びそのオブジェクトへの最終アクセス、オブジェクトのサイズ並びにオブジェクトの「再作成の費用」を含むがそれらに限定されない。そのオブジェクトのコピーがどこにも存在しておらず、かつオブジェクトが既知のいかなる手段によっても再構築できない場合、オブジェクトを置換することは犠牲が大きい。バックアップ又若しくはアーカイブ・コピーが存在する場合、又はオブジェクトが既知の手順で入手可能である２つ以上のオブジェクトから派生したものである場合は、オブジェクトを再作成することは高価ではない。オブジェクトの各クラスは、置換のコストを評価する手順又は基準として異なるものを使用しうる。例えば、mp3フォーマットの音楽ファイルは、もしもそれがエンドユーザーによって作成されたものである場合には置換不可能であるかもしれないが、もしもレコード会社によって作成されたものであれば、そのファイルは新たなコピーを購入することによって又は音楽共有サービスを参照することによって再作成しうる。
【００３４】
コンテキストは将来の有用性の評価を得ることが可能な一つの方法である。コンテキストは、諸オブジェクトの関連とその関連についての要約情報を一緒にしたものである。要約情報は、図２のコンテキスト・オブジェクト43の起動レコード44のように、起動レコードのコンテキスト・オブジェクトによって維持される。コンテキストはいくつかのオブジェクトを作成し更新するユーザー活動を反映することが望ましい。コンテキスト・オブジェクトは、保有のオブジェクトがそのコンテキストに関連付けられるべきか否かを決定することを助けるロジックを含んでいる。そのロジックの一例が図６に示されている。このロジックは、新たなオブジェクトの作成によって呼び出される。新たなオブジェクトの初期化がすべてのコンテキスト・オブジェクトにどれが関連づけられるのに最適であるかを決めるために問い合わせることが必要であるか、或いは、コンテキスト・オブジェクトがオブジェクトが作成されまたオブジェクト作成がモニターされるさまざまな手段に登録することが望ましい。もしも、コンテキスト・オブジェクトが、新たに作成されたオブジェクトがそのコンテキストの中にあるべきであると決定するならば、そのオブジェクトは、そのオブジェクトが関連付けられるべきコンテキストとしてそれ自体を登録するために、そのオブジェクトのエージェントについての方法を呼び出すことができる。 
図６は、コンテキスト・オブジェクトが、特定のコンテキストを有する新たに作成されたオブジェクトに関連付けを実行するプロセッシングを示す。このプロセッシングは、ブロック100から始まり、その時、そのコンテキスト・オブジェクトは新たなオブジェクト作成について通知される。各コンテキスト・オブジェクトはオブジェクト作成の通知をサブスクライブしなければならない。しかし、それは保有のコンテキストと関連付けられ得るそれらのオブジェクトのためにのみである。ブロック101においては、オブジェクト作成のソースは通知から決定される。ブロック102は、オブジェクト作成のソースがこのコンテキストの中のオブジェクトを作成できる諸ソースのうちの一つであるかどうかを決定する。もしもそうでないならば（ノーならば）、分岐103が採用されてブロック104に行き、それはプロセッシングを終了する。もしもそうであれば（イエスならば）、分岐110からブロック105に行く。ブロック102は、このコンテキストがファイルシステムに新たに加えられたオブジェクトを含むことができるように管理する――しかし、例えば、ウィンドウズ・メディア・プレーヤー（Windows Media Player）によって作成されたオブジェクトではない。ブロック105は、通知がオブジェクトの求められているコンテキストの明示の識別を含むかどうかを確かめるためにチェックする。これは、例えば、本発明の実施を承知しており、積極的にそれを容易にしようとしているアプリケーション・プログラムの場合に、そうなるであろう。そうしたアプリケーションが積極的にパーソナル・オブジェクトのメンテナンスを容易化することができる一つの方法は、新たに作成されたオブジェクトのコンテキストを識別することである。
【００３５】
もしもブロック105が明示なコンテキスト識別を見つけるならば、分岐106が採用されてブロック107に行き、ブロック107はこのコンテキストがそのように識別されるか否かをさらにテストする。もしもそうでなかったら、分岐108が採用されてブロック109に行き、それはさらなるプロセッシングを終了する。もしもそうであれば（イエスなら）、分岐112が採用されてブロック116に行き、それはこのコンテキストを有する保有のオブジェクトに関連付ける。明示なコンテキスト識別が存在しない場合には、ブロック105は分岐111を採用してブロック113に行き、それは他のコンテキスト指標についてテストする。他のコンテキスト指標の例は、このコンテキストの中のファイル・オブジェクトの他のファイル名と同様なファイル名、このコンテキストの中での他のファイルの場所であるファイルの場所、このコンテキストの中の他のファイルの作成日時と非常に近い作成日時、及び他の可能な多くのコンテキスト指標を含むが、これに限定されない。もしもブロック113が他のコンテキスト指標の存在を見つけたならば、分岐115が採用されて上述のブロック116に行く。もしも他のコンテキスト指標が見つからなかったならば、ブロック117に行き、それはさらなるプロセッシングを終了する。
【００３６】
一般的に、エージェントは、オブジェクト・メンテナンスの目的のために、そのオブジェクトをモニターし、特徴づけている。エージェントは、例えばファイル・オブジェクトへのアクセスやそれに加えられた変化を即時に認識しているために変化の瞬時に知っているために、コンピュータのOSのファイル・システムからイベントを受け取るようにサブスクライブしうるのである。例えば、ウィンドウズOSにおけるファシリティー（機能）によって、このイベント受信は可能となる。マイクロソフトNET(Microsoft-NET)フレームワークは、ＮＥＴSystem Managementネーム・スペースを通じてアクセスされたさまざまなタイプのイベントのサブスクリプションとそれの通知をサポートするサブシステムを含んでいる。さらなる情報については、マイクロソフトウェブ（Microsoft Web）・サイトのライブラリーを参照のこと。
【００３７】
エージェントは、そのオブジェクトの将来の有用性についての評価をさまざまな方法でレポートすることができる。レポートは、相対的な将来の有用性を表す規定範囲内の整数又は浮動小数点値であることができる。望ましくは、このレポートは、その値の確実性についての評価を伴っているべきである。例えば、もしもレポートが（0, 1.0）の範囲の浮動小数点値であるならば、保有のエージェントは、0.3の将来の有用性の評価、0.9の置換のコスト、0.8の確実性をレポートすることができる。このオブジェクトは、維持しつづける可能性が高い。なぜならば、再作成のコストが高く、そのコスト及び将来の有用性の評価の確実性が高く、また将来の有用性の評価がゼロではないからである。このタイプのレポーティングは典型的であり、本発明において可能なレポーティングのタイプに限定されるものではない。
【００３８】
図７は、エージェントがレポートを生成する一つの可能な手順を示す。ブロック130において、上に論じたような、オブジェクト再作成のコストが決定される。ブロック131において、将来の価値の評価が行われる。上に論じたように、この評価は、異なるオブジェクト・タイプやエージェント・クラスによって異なってくる。評価は、コンテキストからの、そしてローカルにメンテナンスされるオブジェクトの属性からの評価に基づいて行われる。評価は、他のローカルにメンテナンスされる属性によって修正される。 単純な計算が、次のように、Javaプログラミング言語によって表現できる。
【００３９】
ESTIMATE=0.0;
IF (OBJECT.RECENTLY_ACCESSED) ESTIMATE=ESTIMATE+0.1;
IF (OBJECT.AUTHOR==USER) ESTIMATE=ESTIMATE+0.1;
ESTIMATE=ESTIMATE+CONTEXT.ESTIMATE;
IF (ESTIMATE>1.0) ESTIMATE=1.0; 
これらのレポートに基づいてメンテナンスの決定がいかに行われるかについては、これから説明しなければならない。この目的のために、本発明は、独特のオブジェクトである、グローバル・メカニック（ＧＭ）を導入している。一方では、パーソナル・オブジェクト及びそのエージェントの関係が、他方では、ＧＭとの関係は、図８に示されている。図８は、それぞれ関連付けられたエージェント121、123及び131を有するパーソナル・オブジェクト122、124及び130を含むパーソナル・オブジェクト・スペース120を描いている。スペースはまた、ＧＭ125を含んでいる。図２において、エージェント・ディレクトリ30が示され、それに付けられたテキストで説明されている。ここでは、図２で示されたエージェント・ディレクトリ30と同じであるエージェント・ディレクトリ127が再び示されている。ＧＭ125は、エージェント・ディレクトリ127をメンテナンスしそれにアクセスする任を負っている。それに加えて、ＧＭ125は、これから説明される目的のために持続的な履歴126をメンテナンスする。
【００４０】
この図でＧＭ125とエージェント121、123及び131との間に双方向的通信が存在することが見て取れる。この通信の最初の段階で、ＧＭがレポートの作成を前記のように初期化する。この通信の第二の段階で、ＧＭは、すべてのエージェントからレポートを受け取る。これらのレポートは、前記の形式又はＧＭがメンテナンスの決定をすることができるために十分ななんらかの形式で行われることができる。ＧＭは、各エージェントを探すためにエージェント・ディレクトリ127を参照する。履歴126は、次に説明するように、さまざまなレポートに重みをつける目的のためのものである。
【００４１】
ＧＭによって遂行されるプロセッシングは、図９に示される。ブロック140において、ＧＭは、望ましくは各々に一つのスレッドを割り当てることにより、すべてのエージェントを初期化するために図８のエージェント・ディレクトリ127を使用する。ブロック141において、ＧＭはメンテナンス・リクエストを待つ。メンテナンス・リクエストは、スケジュールに従って、定時に行われることができるか、或いはストレージ・デバイスの高い使用条件によってトリガーされることができるか、或いはユーザーによって起こされることができるか、或いは他の方法によって起こされることができる。
【００４２】
メンテナンス・リクエストが到達した時、ブロック142がエンターされ、好ましくはすべてのエージェントにサポートされた既知の方法を呼び出すことによって、リクエストをすべてのエージェントに送る。ブロック143において、エージェントは、上に説明した形でそれらのレポートを返す。ブロック144は、過剰に楽観的又は悲観的なレポートの履歴を持つエージェントを割り引くことによって、各レポートに履歴による重みをつける。それから、ブロック145は、すべてのレポートを決定手順で評価する。決定手順は、必要に応じて複雑であることもできるし、或いはレポート及び二つのしきい値に対する得点比較に基づいた得点計算のように単純であることもできる。二つのしきい値とはすなわち、次のものである。低いしきい値は、オブジェクトが消去すべきものか否かを決定し、高いしきい値は、オブジェクトをアーカイブして、現行の場所から消去するか否かを決定する。もしも、アーカイブせずにオブジェクトが消去されるべきとすると、分岐148が採用されてブロック149に行き、それは消去を勧告するか、或いはユーザーの選択によって消去を遂行する。もしもオブジェクトがアーカイブされるべきとすると、分岐146が選択されてブロック14７に行き、アーカイブすることを勧告するか、或いはユーザーの選択によってアーカイブを遂行する。そうして、次のメンテナンス・リクエストを待つためにブロック141がエンターされる。
【００４３】
前記の説明は、単純だが、完全なパーソナル・オブジェクト・メンテナンスの自動的又は半自動的なインプリメンテーションを提供していることが見て取れる。もしも、エージェントのメモリー要求が過大であれば、インプリメンテーションは、各オブジェクト毎に１つのエージェントではなくて、パーソナル・オブジェクトの集合に対して１つのエージェントを使用するように修正されることができる。エージェントは、独立したスレッドとして作動する必要はなく、ＧＭによって同期的に呼び出されることができる。説明されたさまざまな決定は、ユーザーの意向が知られるようになるにつれて時と共に変化する決定手順を含む、異なった、そしてもっと複雑な決定手順を用いて行われることができる。
例えば、もしもメンテナンスが直接的というよりも勧告を通じて遂行されるならば、各ユーザーの決定は、追跡されて、決定プロセスにおけるしきいを修正するために使うことができる。同様に、ある時点における将来の有用性の評価は、記録され、その時点におけるアクセス行動と後の時点におけるアクセス行動とを比較される。もしも、評価が不正確だということが発見されれば、この知識は将来の有用性を評価する計算の手順にフィードバックされることができる。エージェント・クラスは、図３のテンプレートの特性によって決定される必要はなく、エンドユーザーによる直接の指定を含む他の方法によって決定されることもできる。
【００４４】
本発明は、業務として様々の方法で実施することができる。一つの業務実施様態においては、サービス・プロバイダーがパーソナル・コンピュータ・システムのユーザーとそれに保存されたパーソナル・オブジェクトの管理にいて契約する。プロバイダーは、ユーザーにそのパーソナル・コンピュータにインストールするソフトウェアを供給する。そのソフトウェアは、そのパーソナル・コンピュータ・システムに保存されたすべてのパーソナル・オブジェクトを発見し、列挙する。このソフトウェアは、プログラミング技術においては、インベントリーを遂行するソフトウェアとして知られており、通常は、資産管理のために使われている。そのようなインベントリーを遂行することができるソフトウェアの一例は、IBMのウェブ・サイト www.redbooks.ibm.comのIBM 「redbooks」で入手可能な「Implementing Systems Management Solutions with IBM Director」という本で説明されているIBM Directorである。
【００４５】
パーソナル・オブジェクトのインベントリーが行われた後で、サービス・プロバイダーは、インストールしなければならない他の追加的ソフトウェアをユーザーに供給する。このソフトウェアは、エージェントのクラスと、インベントリーされたパーソナル・オブジェクトの各々についてエージェントのインスタンス化を遂行する手順の初期化からなっている。これらのクラスは、望ましくはインターネットを使って、サービス・プロバイダーとのとの通信が可能になるように構成されている。サービス・プロバイダーは、各エージェントと定期的に通信し、エージェントがそのパーソナル・オブジェクトの状況についてレポートすることを要求するグローバル・メカニックのためのウェブ・サービスを遂行する。すべてのパーソナル・オブジェクトからのレポートがグローバル・メカニックによって受け取られると、破壊される候補を決定するための分析が行われる。
そのレポートは、エンドユーザーに、望ましくはe-mailによって、新たなレポートが存在することをまず通知することによって、エンドユーザーに入手可能にされる。このe-mailは、サービス・プロバイダーによって維持され、そのレポートを含んでいるウェブ・ページのＵＲＬを含む。それから、エンドユーザーは、レポートを検討し、その勧告から選択を行う。パーソナル・オブジェクトの破壊は、パーソナル・コンピュータのＯＳの機能を用いて、エンドユーザーによってなされることができる。或いは、サービス・プロバイダーによって維持されているソフトウェアにレポートからの選択を送る手順を通じて、それが遂行される。そのソフトウェアは、パーソナル・コンピュータのＯＳから入手可能なプログラミング・インターフェースを用いて、選択されたエージェントに、そうしたエージェントに関連付けられたオブジェクトを破壊する命令を送ることによって、通信を行うことができる。
【００４６】
このようにして、本発明の一つの実施態様は、通信網により相互接続したオブジェクト管理システムである。このシステムは、複数のパーソナル・オブジェクトを含む。オブジェクトはいかなるファイル、フォルダ、ブックマーク、プリファレンス、アノテーション、又は他のそうしたものでもよい。このシステムは、さらに、複数のエージェントを含む。各エージェントは、複数のパーソナル・オブジェクトの内の少なくとも１つの特定のパーソナル・オブジェクトに関連づけられ、また各特定のパーソナル・オブジェクトは、少なくとも１つのそうしたエージェントに関連づけられている。各エージェントは、特定のパーソナル・オブジェクトの監視とメンテナンスを提供しており、監視はパーソナル・オブジェクトに対してあらゆるプログラムによって行われるあらゆる行動を記録することからなり、またメンテナンスは、オブジェクトの移行、コピー又は消去を行う勧告を提供すること又は直接のそうした行動を取ること、そしてコーディネイティング・メカニックが複数のエージェントの各々をコントロールすることからなる。コーディネイティング・メカニックは、前記エージェントの各々からのレポートの準備を開始し、複数のそうしたレポートを要約し、エージェントが関連付けられているパーソナル・オブジェクトに対して取られるメンテナンス行動を決定する目的でレポート間の比較を行うように機能する。コーディネーティング・メカニック及び複数の各エージェントの間のメッセージは、通信網を経由して伝送される。このシステムは、複数のパーソナル・オブジェクトの内の各特定のオブジェクトの将来の有用性の相対的確率を示す得点を計算する少なくとも１つの採点モジュールを有し、また少なくとも相対的確率に基づくシステム決定を行うための決定モジュールを有する。
【００４７】
いくつかの実施態様においては、オブジェクト管理システムは、特定のオブジェクトが有するコンピューティング・システム・ストレージ及びネーム・スペースの使用における競争上の有利性を示す属性の度合いに直接に比例して特定のオブジェクトを生存せしめる生存モジュールを備え、及び／又はコーディネーティング・メカニックは、各エージェントをコントロールするための複数の同格のメカニックを含み、その各同格のメカニックは特定のエージェントと関連づけられ、及び／又は少なくとも１つの採点モジュールが、エージェントの各々に用いられ、及び／又は同格のメカニックの間をメッセージを運ぶことができる通信網があり、及び／又はコーディネイティング・メカニックが少なくとも１つの基準の重みをつける係数に基づいて各エージェントのための係数を関連付け、そしてここでも各係数に基づいて決定モジュールがシステム決定を行ない、及び／又は少なくとも１つの基準の重みをつける係数が、基準の重みをつける諸係数のグループから取られた基準の重みをつける諸係数を含む。このグループは、履歴の正確性、エージェント・クラス自身の確実性の評価、前記のいずれか及びそれらの組み合わせによってバイアスを付けられたランダムに選ばれた量を含んでおり、及び／又は決定モジュールは、各特定のオブジェクトの相対的な確率及び各特定のオブジェクトの係数の積の和を形成する。 
さらなる実施態様において、メッセージは、各エージェントからコーディネイティング・メカニックへのメッセージを含む。各メッセージは、次のことを含む情報のグループからとられた情報を有する。すなわち、各パーソナル・オブジェクトの将来の有用性の評価、各特定のオブジェクトのメンテナンスのコスト、各オブジェクトの将来の有用性の評価の信頼性のファクター、及びこれらのあらゆる組合せである。
【００４８】
いくつかの実施態様においては、方法は、次のステップを含む。すなわち、少なくとも一つのコンテキストを有する複数のパーソナル・オブジェクトの少なくとも一部分と関連付けることであり、そして、そのコンテキストは、他のパーソナル・オブジェクト及び関連付け又はグルーピングに関連した情報への関連付け又はグルーピングであり、及び／又はタスクの実行に基づく少なくとも一つのコンテキストを作成し、そこにおいて、そのオブジェクト・グループ内のすべてのオブジェクトがタスクに関連づけられるように各コンテキストがオブジェクト・グループを形成し、及び／又は各オブジェクト・グループの中のすべてのオブジェクトがオブジェクトの発信元又は宛先と関連付けられるように、各オブジェクト・グループの発信元又は宛先に基づいて、少なくとも一つのコンテキストを作成し、及び／又は新たなタスクをユーザーが行う場合の応答として少なくとも一つの他のオブジェクトを形成し、及び／又はユーザーの発信元又は宛先の指定への応答として少なくとも一つの他のオブジェクトを形成し、及び／又は相対的確率が特定のオブジェクトの将来の有用性のレベルの尺度であり、及び／又は各エージェントによって計算される情報の少なくとも一つの説明を、複数のエージェントのうちの少なくとも一つが提供し、及び／又は複数のエージェントのうちの少なくとも一つ及びコーディネーティング・メカニックが業務によって提供され、及び／又はコーディネイティング・メカニックがウェブ・サービスによって提供される。
【００４９】
本発明の他の実施態様は、次のようなステップを含む方法である。すなわち、複数のパーソナル・オブジェクトを提供し、複数のエージェントを形成し、その各エージェントが複数のパーソナル・オブジェクトの内の特定のパーソナル・オブジェクトと関連づけられ、各エージェントが特定のパーソナル・オブジェクトの監視とメンテナンスを提供し、複数のエージェントの各々を、コーディネーティング・メカニックと複数のエージェントの各々との間のメッセージの搬送をするコーディネーティング・メカニックでコントロールし、複数のパーソナル・オブジェクトの内の各特定のパーソナル・オブジェクトの将来の有用性の相対的確率を示す得点を計算し、そして、少なくとも相対的な確率に基づいて、システム決定を行うことである。他のいくつかの実施態様においては、方法は、コーディネイティング・メカニックを独特なグローバル・メカニックとして形成することを含む。
【００５０】
さらにもう一つの本発明の実施態様は、次のものを含む、コンピュータ・システムのためのアーキテクチャーである。すなわち、複数のパーソナル・オブジェクト、各々のエージェントが前記複数のパーソナル・オブジェクトのうちの一つの独特のパーソナル・オブジェクトと関連付けられまた結合され、各エージェントが前記独特のパーソナル・オブジェクトの監視とメンテナンスを提供するところの、複数のエージェント、前記複数のエージェントの各々をコントロールするためのコーディネイティング・メカニック、前記コーディネイティング・メカニックと前記複数のエージェントとの間のメッセージを運搬するための前記コーディネイティング・メカニックと結合した通信網、前記複数のパーソナル・オブジェクトのうちの各特定のパーソナル・オブジェクトの将来の有用性の相対的確率を示す得点を計算するための前記通信網と結合した少なくとも一つの採点モジュール及び前記通信網と結合した、少なくとも前記相対的確率に基いたシステム決定をするための決定モジュール。
【００５１】
いくつかの実施態様においては、アーキテクチャーは、特定のオブジェクトに、コンピューティング・システム・ストレージとネーム・スペースの使用において競争上の優位性を示す属性を有する特定のオブジェクトの度合いに直接に比例して生存することを許す生存モジュールを含み、及び／又はコーディネイティング・メカニックは、各エージェントをコントロールするために複数の同格のメカニックによって形成される。ここにおいて、各同格のメカニックは、特定のエージェントと関連付けられ、及び／又はコーディネーティング・メカニックは、複数のエージェントの各々と結合される。
【００５２】
本発明のために説明された変更は、各特定のアプリケーションのために望ましい組み合わせで実現されることができる。従って、特定のアプリケーションに対して特に有利な、ここに説明された特定の限定及び／又は実施態様の強化は、すべてのアプリケーションに使用される必要はない。また、すべての限定が、本発明の一つ以上の概念を含む、方法、システム及び／又は装置に実施される必要はない。
【００５３】
本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせに実施されることができる。本発明による視覚化ツールは、一つのコンピュータ・システムにおいて集中的な方法で実現することができ、或いはいくつかの相互に結合されたコンピュータ・システムを通じて異なるエレメント広がっている所において、分散した方法で実現することができる。いかなるコンピュータ・システムは適合している。
【００５４】
ハードウェアとソフトウェアとの典型的組み合わせは、ここに説明した方法を遂行するコンピュータ・システムをコントロールするコンピュータ・プログラムが、それが読み込まれ、実行される場合の、そうしたプログラムを有する汎用コンピュータ・システムであろう。
【００５５】
本発明はまた、ここに説明された方法の適用を可能とする全ての特徴を含み、そしてそれは、こうした方法を遂行することができるコンピュータ・プログラム製品に組込まれるることもできる。
【００５６】
コンピュータ・プログラムは、次のことを意味する、或いはそれはここの文脈では、次のことを含む。すなわち、情報処理能力を持つシステムに特定の機能を直接に或いは他の言語、コード又は記法への転換の後に、及び／又は異なる素材形式の再生産の後に、遂行させるための一組の指示の何らかの言語、コード又は記法による何らかの表現である。
【００５７】
従って、本発明は、上に説明された機能を実行させるためのここに実施されたコンピュータに読取可能なプログラム・コード手段を有するコンピュータで使用可能なメディアを備える製品を含む。製品におけるコンピュータに読取可能なプログラム・コード手段は、本発明の方法のステップをコンピュータに実行させるためのコンピュータに読取可能なプログラム・コード手段を備える。同様に、本発明は、上に説明された機能を実行させるためのここで実施されたコンピュータに読取可能なプログラム・コード手段を有するコンピュータで使用可能なメディアを備えるコンピュータ・プログラム製品として実施されることができる。コンピュータ・プログラム製品の中のコンピュータに読取可能なプログラム・コード手段は、本発明の一つ以上の機能をコンピュータに実行させるためのコンピュータに読取可能なプログラム・コード手段を備える。さらに、本発明は、指示のプログラムを有形的に具体化し、本発明の一つ以上の機能を生じさせる方法ステップの遂行を機械が遂行することによって実行可能にする、機械に読取可能なプログラム・ストレージ・デバイスによって実施されることもできる。
【００５８】
前述のことは、比較的適切なオブジェクトのうちのいつくかについて、そして本発明の実施態様について概略したものであることに留意されたい。本発明は、多くのアプリケーションのために使用しうる。従って、説明は、特定の配置及び方法について行われているとはいえ、本発明の意図及び概念は、他の配置及びアプリケーションにも適合しており、適用可能である。当業者にとっては、開示された実施態様の修正は、本発明の精神と範囲から逸脱することなく、達成することができることは明白となる。説明された実施態様は、本発明のより顕著な特徴及び応用のうちのいくつかを単に描写したにすぎないものと解釈されねばならない。他の有利な結果が、開示された本発明を異なる方法で適用し、或いは当業者に知られた方法で本発明を修正することによって実現されることができる。
【図面の簡単な説明】
【００５９】
本発明のこれらの及び他のオブジェクト、特徴及び有利性は、以下に述べる本発明の詳細な説明におけるさらなる考察によって明確になるであろう。それらは、例示としてのみ、以下の図面と共に読まれるものである。
【図１】「パーソナル・オブジェクト・スペース」と呼ばれるパーソナル・コンピューティング・デバイスの抽象概念を示す。
【図２】図１で描かれたパーソナル・オブジェクト・スペースのインプリメンテーションを示す。
【図３】任意のオブジェクトのためのエージェント・クラスの選択に応じた情報を含む３つのテンプレート例を示す。
【図４】ある特定のオブジェクトのためにエージェントのクラスを選ぶプロセスを描いたものである。
【図５】オブジェクト・タイプにカスタマイズされていないマッチング手順の典型的なインプリメンテーションを示す。
【図６】コンテキスト・オブジェクトが、新たに作成されたある特定のコンテキストを有するオブジェクトと関連付けるように振舞う処理手順を示す。
【図７】それによれば、エージェントがレポートを生成することが出来る、可能な手順を示す。
【図８】関連付けされたエージェントを有するパーソナル・オブジェクトを含むパーソナル・オブジェクト・スペースを示す。
【図９】グローバル・メカニックによってなされる処理手順を示す。
【図１】
2007501982.tif 000003
【図２】
2007501982.tif 000004
【図３】
2007501982.tif 000005
【図４】
2007501982.tif 000006
【図５】
2007501982.tif 000007
【図６】
2007501982.tif 000008
【図７】
2007501982.tif 000009
【図８】
2007501982.tif 000010
【図９】
2007501982.tif 000011
【国際調査報告】
2007501982.tif 000012
2007501982.tif 000013
2007501982.tif 000014