(57)【要約】【課題】  自動コンテキスト関連づけシステムのための、オブジェクト間のコンテキストの関連づけを表すコンテキスト関連づけスキーマを提供すること。【解決手段】  本スキーマは、異なるタイプのオブジェクトの関連づけをサポートするためのタイプ独立型エントリを有する関連づけテーブルと、様々なオブジェクトを定義するオブジェクト・テーブルとを含む一連のテーブルを備える。本スキーマは、文書、写真、ウェブ・ページなど様々なシステム・オブジェクトの間の有意味な関連づけを見つけ、使用するために、様々なシステム・オブジェクトとのユーザ・インタラクション、および他の人々との対話（インタラクション）についての観察をサポートする。【選択図】  図１
2005011339.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとコンピュータとのインタラクションに基づいて、互いに関連づけられる第１のソフトウェア・オブジェクトと第２のソフトウェア・オブジェクトとの間のコンテキストの関連づけを形成する、コンピュータ可読媒体内のコンテキスト関連づけソフトウェアにおける、コンテキスト関連づけスキーマであって、
それぞれ、前記第１および第２のオブジェクト用の第１および第２のオブジェクト・テーブルであって、各オブジェクト・テーブルは、前記対応するオブジェクトを一義的に識別するオブジェクト識別子フィールドと、そのオブジェクトのデータを格納するデータ・フィールドとを含む第１および第２のオブジェクト・テーブルと、
前記第１および第２のオブジェクトに対するオブジェクト識別子と、複数の関連づけ関係の１つを参照する関連づけオブジェクトとを含む関連づけテーブルと
を備えることを特徴とするスキーマ。
【請求項２】
前記複数の関連づけ関係は、前記第１のオブジェクトと前記第２のオブジェクトを、コンピュータ通信の要素として関連させる、１つまたは複数のコンピュータ通信関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項３】
前記複数の関連づけ関係は、前記第１のオブジェクトと前記第２のオブジェクトを、コンピュータ上の編集操作の要素として関連させる、１つまたは複数の編集関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項４】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方を収容することを示すコンテナ関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項５】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のプロパティであることを示すプロパティ関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項６】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方から派生したものであることを示す派生関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項７】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトが互いに同じ位置に置かれていることを示す同一位置関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項８】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のためのアプリケーションであることを示すアプリケーション関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項９】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のタイプ指定であることを示すタイプ関係を含むことを特徴とする請求項１に記載のスキーマ。
【請求項１０】
各オブジェクト・テーブルは、対応するオブジェクトを、複数のオブジェクト・タイプの１つであると指定するタイプ・フィールドをさらに含むことを特徴とする請求項１に記載のスキーマ。
【請求項１１】
前記複数のオブジェクト・タイプは、人物を表す人物オブジェクト・タイプを含むことを特徴とする請求項１０に記載のスキーマ。
【請求項１２】
前記複数のオブジェクト・タイプは、ファイルを表すファイル・オブジェクト・タイプを含むことを特徴とする請求項１０に記載のスキーマ。
【請求項１３】
前記複数のオブジェクト・タイプは、ｅメールを表すｅメール・オブジェクト・タイプを含むことを特徴とする請求項１０に記載のスキーマ。
【請求項１４】
前記関連づけテーブルは、前記第１のオブジェクトと前記第２のオブジェクトとの間の前記関連づけがいつ作成されたかを示す作成時間フィールドを含むことを特徴とする請求項１に記載のスキーマ。
【請求項１５】
前記関連づけテーブルは、前記第１のオブジェクトと前記第２のオブジェクトとの間の前記関連づけが最後にアクセスされたときを示す最終アクセス時間フィールドを含むことを特徴とする請求項１に記載のスキーマ。
【請求項１６】
ユーザとコンピュータとのインタラクションに基づいて、互いに関連づけられる第１のソフトウェア・オブジェクトと第２のソフトウェア・オブジェクトとの間のコンテキストの関連づけを形成する、コンピュータ可読媒体内のコンテキスト関連づけソフトウェアにおける、コンテキスト関連づけスキーマであって、
それぞれ、前記第１および第２のオブジェクト用の第１および第２のオブジェクト・テーブルであって、各オブジェクト・テーブルは、対応するオブジェクトを一義的に識別するオブジェクト識別子フィールド、そのオブジェクトのデータを格納するデータ・フィールド、およびそのオブジェクトを複数のオブジェクト・タイプの１つであると指定するタイプ・フィールドを含む第１および第２のオブジェクト・テーブルと、
前記第１および第２のオブジェクトに対するオブジェクト識別子、および複数の関連づけ関係の１つを参照する関連づけオブジェクトを含む関連づけテーブルと、
前記１つまたは複数のオブジェクト・タイプのオブジェクトに対するイベントのキャプチャおよび関連づけを実施するために、１つまたは複数のオブジェクト・タイプ用のイベント・テーブルを参照するオブジェクト・タイプ・テーブルと
を備えることを特徴とするスキーマ。
【請求項１７】
前記オブジェクト・タイプ・テーブルは、選択されたオブジェクト・タイプのそれぞれに対して、オブジェクトの関連づけが決定される前に前記オブジェクト・タイプに関するイベントが格納される未加工イベント・テーブルを含むことを特徴とする請求項１６に記載のスキーマ。
【請求項１８】
前記オブジェクト・タイプ・テーブルは、前記選択されたオブジェクト・タイプのそれぞれに対して、前記オブジェクト・タイプの既存オブジェクトを参照するエントリであって、前記未加工イベント・テーブルから派生したエントリを収容するイベント・テーブルを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項１９】
前記オブジェクト・タイプ・テーブルは、前記選択されたオブジェクト・タイプのそれぞれに対して、前記オブジェクト・タイプのオブジェクトを参照するエントリであって、前記未加工イベント・テーブルから派生したエントリを収容するオブジェクト・テーブルを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２０】
前記選択されたオブジェクト・タイプは、ファイル・オブジェクトを表すとともにファイル・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含むＦｉｌｅオブジェクト・タイプを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２１】
前記選択されたオブジェクト・タイプは、ｅメール・オブジェクトを表すとともにｅメール・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含むＥｍａｉｌオブジェクト・タイプを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２２】
前記選択されたオブジェクト・タイプは、コンピュータ・アプリケーション・オブジェクトを表すとともにコンピュータ・アプリケーション・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含むＡｐｐｌｉｃａｔｉｏｎオブジェクト・タイプを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２３】
前記選択されたオブジェクト・タイプは、ウェブ・ページ・オブジェクトを表すとともにウェブ・ページ・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含むＷｅｂＰａｇｅオブジェクト・タイプを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２４】
前記選択されたオブジェクト・タイプは、フォルダ・オブジェクトを表すとともにフォルダ・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含むＦｏｌｄｅｒオブジェクト・タイプを含むことを特徴とする請求項１７に記載のスキーマ。
【請求項２５】
前記複数の関連づけ関係は、前記第１のオブジェクトと前記第２のオブジェクトを、コンピュータ通信の要素として関連させる１つまたは複数のコンピュータ通信関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項２６】
前記複数の関連づけ関係は、前記第１のオブジェクトと前記第２のオブジェクトを、コンピュータ上の編集操作の要素として関連させる１つまたは複数の編集関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項２７】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方を収容することを示すコンテナ関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項２８】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のプロパティであることを示すプロパティ関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項２９】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方から派生したものであることを示す派生関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項３０】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトが互いに同じ位置に置かれていることを示す同一位置関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項３１】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のためのアプリケーションであることを示すアプリケーション関係を含むことを特徴とする請求項１６に記載のスキーマ。
【請求項３２】
前記複数の関連づけ関係は、前記第１および第２のオブジェクトの一方が他方のタイプ指定であることを示すタイプ関係を含むことを特徴とする請求項１６に記載のスキーマ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・オブジェクトの間の関連づけを識別するコンテキスト関連づけシステムに関し、より詳細には、このような関連づけ（associations）を表すコンテキスト関連づけスキーマ（context association schema）に関する。
【背景技術】
【０００２】
パーソナル・コンピュータは、最初に設計された当時において、一般に、比較的狭い範囲のアプリケーション用にのみ使われていた。現在、可搬型計算装置および携帯型計算装置を含むコンピュータは、非常に様々なアプリケーションおよび通信方式（communication formats）に使われている。その結果、コンピュータ・ユーザは、今では、コンピュータが当初に設計されたときよりもはるかに多くの情報、ならびに異なるタイプの情報を整理（organize）しなければならない。
【０００３】
【特許文献１】米国特許第６，７３１，９２７号明細書
【特許文献２】米国特許出願公開第２００２／０，１７８，４３６号明細書
【特許文献３】米国特許第６，４８７，５５６号明細書
【特許文献４】米国特許第５，８９７，６４０号明細書
【特許文献５】米国特許第５，６３０，１３８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のコンピュータ・ファイル・システムは、ユーザに、ファイル名、階層ディレクトリ構造などを含む、任意（arbitrary）の、理由付けの不明確な（out-of-context）ファイリング構造を、使用し、覚えることを余儀なくさせる。対照的に、本来の人間の記憶は関連づけによって働き、その結果、出来事はしばしば、他の出来事と関係（relationship）して起こったものとして記憶される。多くのユーザが対話するコンピュータ・ファイルおよびコンピュータ情報が膨大な数になるにつれて、従来のコンピュータのファイリング構造および編成では、ユーザが、以前操作したり使ったりしたコンピュータ情報を見つけてその情報にアクセスすることが難しくなり、または不可能になる可能性がある。
【０００５】
同様に、現在の通信サービスおよびメンバー・ディレクトリ・サービスは、静的な、ユーザが生成した、情報を用いて、連絡先情報を編成する。人または連絡先は、アルファベット順に、またはファイル階層に従って編成される傾向にある。たとえば、メンバー・ディレクトリ・サービスでは、人々は一般に、形式的で、組織的な階層構造（organizational hierarchical structures）に従って整理される。しかし、多くの関係（relationship）およびグループは、形式的で、組織的階層構造よりもはるかに動的であり、人々は、アルファベット順に、またはトピックの階層に従って、連絡先を、直観的に整理することはない。
【０００６】
したがって、コンピュータ・オブジェクトの間の関連づけを識別するために、自動コンテキスト関連づけシステムが開発された。
【課題を解決するための手段】
【０００７】
コンテキスト関連づけシステムは、自動的に決定されるコンテキストの関連づけ（contextual associations）に基づいて、コンピュータ・ファイル、文書、連絡先など（すなわち、「オブジェクト」）へのアクセスを提供し、そうすることによって、本来の人間の記憶が働く関連づけの原則に適応することができる。
【０００８】
本発明は、自動コンテキスト関連づけシステムのために、オブジェクトの間のコンテキスト関連づけを表すコンテキスト関連づけスキーマを提供する。このスキーマは、異なるタイプのオブジェクトの関連づけをサポートするためのタイプ独立型エントリを有する関連づけテーブルと、様々なオブジェクトを定義するオブジェクト・テーブルとを含む一連のテーブルを含む。このスキーマは、文書、写真、ウェブ・ページなど様々なシステム・オブジェクトの間の有意味な関連づけを見つけて使用するために、これらの様々なシステム・オブジェクトとのユーザ・インタラクション、および他の人々との対話の観察、をサポートする。
【０００９】
本発明のさらなる目的および利点は、添付の図面を参照して以下で説明する、本発明の好ましい実施形態の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明は、自動コンテキスト関連づけスキーマ、すなわち、コンピュータ可読媒体に格納された一連のテーブルを有するデータ構造を含む。このデータ・スキーマは、文書、写真、ウェブ・ページなど様々なシステム・オブジェクトの間の有意味な関連づけを確立するために、これらを含む様々なコンピュータ・システム・オブジェクトとのユーザ・インタラクション、および他の人々との対話の観察をサポートする。このようなユーザ・インタラクション、およびそれに関するデータ・スキーマは、図１および図２を参照して説明するタイプの自動コンテキスト関連づけシステムにおいて使うことができる。ただし、本発明のデータ・スキーマは、代替的には、ユーザ・インタラクションの間の関連づけを確立する他のシステムにおいても利用できることが理解されよう。
【００１１】
図１は、ユーザのコンピュータ活動、コンピュータ・オブジェクト（たとえば、ファイル、連絡先など）、および他のイベントの間のコンテキストの関連づけを自動的に決定する、自動コンテキスト関連づけシステム１００の機能ブロック図である。コンテキストの関連づけは、コンテキスト関連づけシステム１００が、ユーザに、関連するコンピュータ・ファイル、連絡先、および情報（概してオブジェクトと呼ばれる）への自動アクセスを提供することを可能にする。
【００１２】
後で説明するように、オブジェクト間のコンテキストの関連づけは、オブジェクト間の類似、およびオブジェクトの重要性を含むことができる。このオブジェクトの重要性およびオブジェクト間の類似は、ユーザによる、オブジェクトとのコンピュータ・インタラクションから決定することができる。ユーザによるコンピュータ・インタラクションは、従来の卓上型またはラップトップ・コンピュータにおいても、ユーザ操作による他のどの計算装置、たとえば携帯型コンピュータ、デジタル・セルラー電話などにおいても起こる可能性がある。簡潔にするために、こうしたタイプの装置を、ここでは、概してコンピュータと呼ぶ。コンテキスト関連づけシステム１００は、１つまたは複数のこのようなコンピュータ上に格納されるとともにそれによって実行されるソフトウェアとして実装することができる。
【００１３】
コンテキスト関連づけシステム１００は、ユーザのコンピュータ活動（computer activities）、コンピュータ動作（computer actions）、ユーザと様々なコンピュータ・オブジェクト（たとえば、アプリケーション、ファイル、通信など）との間のインタラクション、および他のイベントに関連するデータを集めるデータ収集システム１０２を含む。たとえば、データ収集システム１０２は、コンピュータ・システムのイベント（たとえば、アプリケーションまたは他のソフトウェア要素の動作（operation）、コンピュータ・ファイルに対する様々な操作（operation）、コンピュータ・データまたは他のオブジェクトの共有、など）、コンピュータ通信（たとえば、ｅメール通信、インスタント・メッセージ通信など）に関するデータ、および外部データ（たとえば、ニュース、出来事など）を集めることができる。
【００１４】
一実装形態では、データ収集システム１０２は、たとえば、ユーザが操作するコンピュータ（図示せず）におけるユーザの活動（user activity）を監視するシステム活動監視装置（system activity monitor）１０４を含むことができる。システム活動監視装置１０４は、他のアプリケーションまたはオペレーティング・システムから、たとえば探索クエリ、文書や他のファイルのオープンや変更などのユーザのコンピュータ活動（computer activities）についての情報を提供されるコンピュータ・プログラムとして実装することができる。たとえば、オブジェクトが多くのプロパティを表す可能性がある限り、ユーザによって実施される活動の探索、およびその探索結果は、どのプロパティがユーザにとって最も重要であるかを示すことができる。このような各活動ごとに、システム活動監視装置１０４は、コンピュータ・システム・データベース１０６に格納される情報（「メタデータ」と呼ばれることがある）の記録を作成し、または追加する。
【００１５】
たとえば、システム活動監視装置１０４は、コンピュータとのユーザ・インタラクションのすべて、またはコンピュータとのユーザ・インタラクションのうちの少なくとも特定されたインタラクションに対するただ１つのエントリ・ポイントを提供する汎用入力活動監視装置を含むことができる。この汎用入力の実装形態では、システム活動監視装置１０４は、入力方法データ（たとえば、テキスト、発話、マウスなど）、入力言語データ（英語、中国語など）、入力モード・データ（たとえば、口述やタイプ入力によるコマンド）、入力補助データ（たとえば、タイプ入力される語の完成、コマンド推測など）、入力フィードバック・データ（たとえば、コンピュータが、付加情報やコンピュータによる誤った推測の訂正などを必要とするか）など、のうちの何れかまたはすべてをメタデータと決
定し、コンピュータ・システム・データベース１０６に格納することができる。たとえば、ユーザがウェブ・ブラウザ内の画像をコピーまたは格納すると、システム活動監視装置１０４は、ソース・ページのネットワーク・アドレス（たとえば、ユニフォーム・リソース・ロケータ、すなわちＵＲＬ）、ならびに画像自体のＵＲＬを、メタデータとしてコンピュータ・システム・データベース１０６に格納することができる。
【００１６】
コンピュータ・システム・データベース１０６は、コンピュータ上に格納されているコンピュータ・ファイルおよびコンピュータ上で実行される活動（activities）に関する情報（たとえば、「メタデータ」）を格納する。メタデータは、従来型の情報、たとえば、いつファイルが作成されたか、誰がファイルを作成したか、および変更履歴など、コンピュータが生成した文書に関する従来型の情報などを含むことができる。また、コンピュータ・ファイルのタイプの一部は、他のファイル・タイプには適用可能でない、固有のメタデータ・フィールドを有することができる。たとえば、写真ファイル・タイプ用のメタデータ・フィールドは、画像のサイズ、どこで写真が撮られたか、誰が写真を撮ったか、誰が写真に写っているか、などを含むことができる。一実装形態では、新規のファイル・タイプに適応するために、または既存のファイル・タイプについての新規の情報を格納するために、データベース・システム１０６に新規のメタデータ・フィールドを追加することができる。
【００１７】
テーブル１Ａは、システム活動監視装置１０４によって入手することができるとともにコンピュータ・システム・データベース１０６に格納することができる、例示的な情報の一覧を示す。コンピュータ・ユーザと対話する可能性のある、様々なコンピュータ・ファイルおよびコンピュータ情報（まとめてオブジェクトと呼ばれる）に関して、システム活動監視装置１０４は、オブジェクトの作成者／作者、オブジェクトのタイプ、オブジェクトへの任意のポインタ（利用可能である場合）、活動化イベント（activation events）、オブジェクト・サイズなど、のいずれかまたはすべてに関するデータを集めることができる。たとえば、システム活動監視装置１０４は、コンピュータ・ユーザが対話するオブジェクトについての情報を集め、そのオブジェクトが、コンピュータ・システム・データベース１０６中に一覧を示されている他のオブジェクトと比較して（たとえば、一義的なオブジェクト識別子に基づいて）、新規のもの、すなわち一義的であるか決定し、その活動を、オブジェクトの一義的なオブジェクト識別子に関連づけて、コンピュータ・システム・データベース１０６に集約する、すなわち格納する、ことができる。
【００１８】
【表１】
2005011339.tif 000003
【００１９】
コンピュータ・ユーザが対話するオブジェクトは、他の人々、他の人々との通信、コンピュータ・ファイル、ネットワークまたはウェブ項目、コンピュータ・システムの通知、およびコンピュータ上で実行されまたはコンピュータによってアクセス可能なアプリケーション、に関連づけることができる。システム活動監視装置１０４は、例示的な情報についての一覧にされたタイプそれぞれに対して、入手してコンピュータ・システム・データベース１０６に格納することができる。
【００２０】
コンテキスト関連づけシステム１００は、関係処理システム（relationship processing system）１０８を含み、これは、オブジェクトの間、またはデータ収集システム１０２によって入手され、もしくはコンピュータ・システム・データベース１０６に格納されているメタデータの間、の１つまたは複数の関係（relationship）を決定する。例示的な一実装形態では、関係処理システム１０８は、類似または関連づけシステム１１０を含み、これは、少なくとも１対のコンピュータ・ファイル間または１対のオブジェクト間の類似または関連の程度を決定する。類似度、または関連づけの程度は、たとえば、０と１の間の数値として表すことができ、１はオブジェクト間の一致であり、０は、オブジェクト同士が完全に無関係であることを示す。関連づけシステム１１０は、所与の目標ファイルおよび他のファイルの集合体に対して、こうしたファイル間の類似性の順位づけを返す１つまたは複数のプログラムとして実装することができる。
【００２１】
異なるタイプの、文書、ファイルまたはオブジェクトは、異なるタイプの類似性を有することができることが理解されよう。たとえば、２枚の写真は、同じように見え、同じような時間に撮られ、同じような人、場所、または出来事を写し、同じ色であり、同じ人に送られまたは一緒にプリントされ、同じ写真の一部である（たとえば、一方が他方から切り取られた）、などの場合がある。テーブル１Ｂは、関連づけシステム１１０が識別し、コンピュータ・システム・データベース１０６に格納することができる例示的な関連づけまたは類似性の一覧を示す。指摘したように、こうした関連づけまたは類似性は、共有される内容を有し、同じような時間または同じようなコンピュータ位置（たとえば、コンピュータ、ディレクトリなど）で発生し、共通の人物との間で送信または受信され、互いにリンクされている、オブジェクトやファイルに関連する。
【００２２】
【表２】
2005011339.tif 000004
【００２３】
一実装形態では、関連づけシステム１１０に、特定のタイプの類似性を無視するよう、または、あるタイプの類似性に別の類似性よりも重みをもたせるよう命令することができる。さらに、関連づけシステム１１０によって追跡され識別される関連づけまたは類似は、拡張することができる。
【００２４】
さらに、ユーザが対話するオブジェクトは、ユーザにとって、異なる重要性または重大性のものでよい。たとえば、ユーザが長期間オープンし編集し続ける文書は、わずかな期間だけオープンされる文書よりも重要であるとみなすことができる。同様に、繰り返しアクセスされオープンされる写真は、一度だけオープンされる写真よりもはるかに重要であるとみなすことができる。テーブル１Ｃは、関連づけシステム１１０が、たとえば、オブジェクトの相対的な重要性を決定し、コンピュータ・システム・データベース１０６に格納するための例示的な要素の一覧を示す。指摘したように、重要性に関する要素は、ユーザ・インタラクションの継続時間、対話の頻度、対話の新しさ（recency of interactions）、ならびにユーザの応答の素早さ、コピー、複製、およびバックアップの量に関するものでよく、このエクステント（extent）オブジェクトは共有される。
【００２５】
【表３】
2005011339.tif 000005
【００２６】
関係処理システム１０８は、チャンキング（chunking）システム１１２をさらに含むことができ、このチャンキング・システムは、任意の大きさの組のオブジェクトまたはファイルに対して、類似または関連づけシステム１１０によって決定される類似または関連づけの程度を使用し、そうしたオブジェクトまたはファイルを、指定された数のサブグループにグループ化し、すなわち「チャンキング」する。たとえば、１００枚の写真を与えられると、チャンキング・システム１１２は、この１００枚の写真を、たとえば写真が撮られた日付、または誰が写真に写っているか、など１つまたは複数の基準に基づいて、任意の数のサブグループまたはチャンクに分類することができる。チャンキング・システム１１２によって使用される基準は、たとえば、ユーザによって予め定義することも指定することもでき、一実装形態では、そうした基準に基づいて、同一の項目をいくつかのチャンクに置くことができる（たとえば、ボブとスーが写っている１枚の写真が、ボブのチャンクならびにスーのチャンクに置かれる）。チャンキング・システム１１２は、コンピュータに格納される１つまたは複数のプログラムとして実装することができる。
【００２７】
コンテキスト関連づけユーザ・インターフェース・システム１１６は、システム活動監視装置１０４によってコンピュータ・システム・データベース１０６に格納された情報、ならびに類似または関連づけシステム１１０およびチャンキング・システム１１２によって決定された情報を使用して、コンピュータ・システム・ファイル、コンピュータ情報、および他の情報の間のコンテキスト関連づけを示す可視表現（visualization）１１８を表示する。可視表現１１８は、いくつかの例ではデータ・フィルタ１２２が適用される、データベース・クエリ１２０の結果に基づくことができる。さらに、ユーザ・インターフェース・システム１１６は、後でより詳細に説明するアプリケーションおよびシステム通知１２４を提供することができる。
【００２８】
したがって、コンテキスト関連づけシステム１００は、関連づけによって働き、そうすることによって出来事がしばしば、他の出来事と関係（relationship）して起こったものとして記憶される人間の本来の記憶に適応することができる。対照的に、従来のコンピュータ・ファイル・システムでは、ユーザに、ファイル名、階層ディレクトリ構造を含む、任意の、理由付けの不明確な（out-of-context）ファイリング構造を使用し、覚えることを余儀なくさせる。多くのユーザが対話するコンピュータ・ファイルおよびオブジェクトが膨大な数になるにつれて、従来の理由付けの不明確な（out-of-context）ファイリング構造では、ユーザが、過去に操作したりまたは閲覧したりしたコンピュータ情報を見つけて、その情報にアクセスすることが、難しくなり、または不可能になる可能性がある。コンテキスト関連づけシステム１００により、ユーザは、探索可能なメタデータを閲覧し割り当てることができるようになり、また、選択したメタデータに合致する文書、オブジェクトまたはファイルを取り出すことができるようになる。
【００２９】
図２は、データ収集システム１０２の一実装形態の詳細なブロック図である。ユーザのコンピュータ活動を監視するシステム活動監視装置１０４に加え、たとえば、データ収集システム１０２は、以下のどれかまたはすべてを含むこともできる。すなわち、（他のソフトウェア・サービスを含む）１つまたは複数のアプリケーション２０４が、アプリケーション・イベントについてのメタデータ情報をデータ収集システム１０２に送り、アプリケーション・イベントについてのメタデータ情報をデータ収集システム１０２から受け取るためのイベント・ハンドラ２０２などである。アプリケーション２０４は、コンピュータ用の基底のオペレーティング・システムとは別個のものでもよく、オペレーティング・システムによって提供されるサービスまたは機能でもよい。
【００３０】
データ収集コンテナ２０６は、システム活動監視装置１０４、イベント・ハンドラ２０２、および他のどのデータ収集モジュールを制御するように動作し、特に、システム活動に関するデータ収集、文書間のコピーおよびペースト、メッセージの発信および着信、共有ファイルのオープン、などを制御する。さらに、データ収集コンテナ２０６は、コンピュータの動作または使用に特に関連するデータ以外の、（天気、ニュースのような）共通データを、１つまたは複数の別個のコンピュータ情報ソース２０８（たとえば、公開サーバ）から入手しまたは受け取るように動作することができる。
【００３１】
自動コンテキスト関連づけシステム１００を有するコンピュータ上で実行されるアプリケーション２０４は、イベント・ハンドラ２０２に登録して、拡張された文書管理機能を受け取ることができる。具体的には、データ収集コンテナ２０６は、たとえば文書間のコピーおよびペースト、ｅメール・メッセージへの文書の添付、などのクロス・アプリケーション・イベントについてのデータまたは情報の収集を可能にするクロス・アプリケーションな統合（アプリケーションをまたがる統合）をサポートし、そうすることによって、オブジェクト間の関係（relationship）が、関係処理システム１０８によって決定されることまたは導き出されることを可能にする。さらに、アプリケーション２０４は、データ収集システム１０２と直接対話して、システム活動監視装置１０４に、すぐには利用可能でないコンテキストに関する情報を提供することができる。たとえば、ｅメールへの添付（ファイル等）が別個のファイルとしてディスクに保存されると、ｅメール・アプリケーション２０４は、このファイルと元のｅメール・メッセージの間の（および、拡張によって、メッセージの送信者との）リンクを作成することができる。制御システム活動監視装置１０４およびイベント・ハンドラ２０２は、効率よく、高精度で、かつ必要とされる最小限の処理量で、データが収集されることを可能にする。さらに、一実装形態におけるデータ収集システム１０２は、将来開発される可能性のある追加データのコレクタ（のソフトウェア）のインストールを可能にするように、拡張可能である。
【００３２】
一実装形態では、ユーザは、データが収集されること、およびそのデータが何のために使われるかを通知される。ユーザには、後で説明するように、データ収集を選択的に有効または無効にし、あるいはオブジェクトの重要性およびその関連づけの重みを明示的に調節するための、１つまたは複数の制御が提供される。他の実装形態では、データを収集する方法は、どのようにデータが使われるかに基づいて、自動的に変更されることが可能である。データは通常、個々のユーザおよびコンピュータのレベルで集められるが、複数のユーザおよびユーザのコンピュータからのデータを組み合わせることもできることが理解されよう。このような共有データの実装形態の場合、システム１００は、データ、オブジェクトおよびセッションに対する一義的な識別子、通信用のｔｏフィールドおよびｆｒｏｍフィールドの整合的な処理、共有セッションにおける複数のコンピュータに渡るイベント識別子の複製、個人情報、などを提供する。
【００３３】
図３は、本発明による、自動コンテキスト関連づけスキーマまたはデータ構造３００の概略ブロック図である。スキーマという用語は概して、他のデータについて記述するデータであるメタデータを指す。スキーマとは、概して、他のデータの様々な部分および側面、この場合は、自動コンテキスト関連づけに関して入手されるデータの様々な部分および側面、を定義する。
【００３４】
自動コンテキスト関連づけスキーマ３００は、一連の、関連づけテーブル３０２およびオブジェクト・テーブル３０４を有し、こうしたテーブルは、コンピュータ可読媒体に格納され、様々なオブジェクトの間の有意味な関連づけを確立するために、文書、写真、ウェブ・ページなど、様々なコンピュータ・システム・オブジェクトとのユーザ・インタラクションおよび他の人々との対話についての情報を含む。このような情報は、たとえば、図１および２の自動コンテキスト関連づけシステム１００によって、または別の関連づけシステムの動作によって入手することができる。
【００３５】
関連づけテーブル３０２は、Ａｓｓｏｃｓテーブル３００と呼ばれることもあり、異なるタイプのオブジェクトのリンクをサポートするタイプ独立型エントリ、を有する。その結果、関連づけテーブル３０２は、１対のオブジェクト（たとえば、文書、人、ウェブサイトなど）の間の関連づけまたは関係（relationship）を識別する一義的な関連づけ識別子（ｉｄ）フィールド３１０を含む。各オブジェクトは、オブジェクト・テーブル３０４中において、オブジェクト・テーブル３０４中の識別子フィールド３０８（ｉｄ）に格納される一義的な識別子によって表される。
【００３６】
関連づけテーブル３０２中の各行は、２つのオブジェクト、すなわちｏｂｊ１およびｏｂｊ２を、関連づけオブジェクトと呼ばれる第３のオブジェクトであるｏｂｊＡに関連づける。関連づけられるオブジェクトｏｂｊ１およびｏｂｊ２、ならびに関連づけオブジェクトｏｂｊＡは、関連づけテーブル３０２において、それぞれフィールド３１２、３１４、および３１６によって示される。関連づけテーブル３０２のｏｂｊ１フィールド３１２、ｏｂｊ２フィールド３１４、およびｏｂｊＡフィールド３１６中のエントリの値は、データ・フィールド３１８に格納されるとともにオブジェクト・テーブル３０４中のｉｄフィールド３０８で識別される、そうしたそれぞれのオブジェクトに対する一義的な識別子である。
【００３７】
関連づけテーブル３０２のフィールドｃｔｉｍｅ３３０およびｌｔｉｍｅ３３２は、それぞれ、関連づけテーブル３０２のその行において関連づけｉｄ３１０によって表される関連づけの作成時間（creation time）および最終使用時間（last usage time）である。同様に、オブジェクト・テーブル３０４のフィールドｃｔｉｍｅ３３４およびｌｔｉｍｅ３３６は、それぞれ、オブジェクト・テーブル３０４のその行においてオブジェクトｉｄ３０８によって表されるオブジェクトの作成時間および最終使用時間である。こうしたｃｔｉｍｅ値およびｌｔｉｍｅ値は、たとえば、主としてタイム・デュレイション（time duration）およびタイム・ディケイ（time decay：時間経過による評価の減少）に関する、オブジェクトおよび関連づけの評価において使用することができる。
【００３８】
ｏｂｊ１フィールド３１２およびｏｂｊ２フィールド３１４において表される、関連づけられるオブジェクト（ｏｂｊ１、ｏｂｊ２）は、任意のタイプでよいが、それぞれのインスタンスは、指定された一義的な識別子（ＩＤ）のオブジェクト・テーブル３０４中のエントリへの参照を有して存在しなければならない。オブジェクトが削除されると、このオブジェクトのすべての関連づけは、たとえば以降のガベージ・コレクションに対する関連づけを示す、削除（del）フィールド３４０中のインジケーションによって削除される。値（value）フィールド３４２は、オブジェクト間の関連づけの程度または強度を、数値として表す。
【００３９】
具体的には、関連づけテーブル３０２中のすべてのエントリが削除されると、オブジェクトＩＤ  ｏｂｊ１およびｏｂｊ２が、削除されたオブジェクトのＩＤに等しくなる。ｏｂｊＡフィールド３１６中で示される関連づけオブジェクト識別子が、削除されたオブジェクトを参照する場合、その関連づけは削除されないが、ｏｂｊＡフィールド３１６の識別子の値は、同じタイプの静的ＮＵＬＬオブジェクトの予め定義された識別子（ＩＤ）に変更される。一実装形態では、各オブジェクト・タイプについての、ＮＵＬＬオブジェクトのインスタンスが１つある。各ＮＵＬＬオブジェクトの識別子は、オブジェクト・タイプ・テーブル４００（図４）にある各オブジェクト・タイプの各識別子に等しい。
【００４０】
図４は、コンテキスト関連づけスキーマ３００に任意選択で含まれるオブジェクト・タイプ・テーブル４００の概略図である。オブジェクト・タイプ・テーブル４００は、オブジェクト・テーブル３０４において、タイプ・フィールド３２４中で参照され、オブジェクト・タイプを記述する。オブジェクト・テーブル３０４中のタイプ・フィールド３２４、およびオブジェクト・タイプ・テーブル４００は、任意選択による要素であり、この要素は、選択されたオブジェクトに関するインタラクションまたはイベントの高速キャプチャを実現することによって、コンテキスト関連づけ機能の性能を向上させることができる。
【００４１】
オブジェクト・タイプは、識別子フィールド４０２で識別され、名前フィールド４０４（ｎａｍｅ）、記述フィールド４０６（ｄｅｓｃｒ）、および３つのデータ・テーブル名を有する。ｒａｗ＿ｅｖｔ＿ｔａｂｌｅフィールド４１０は、このタイプのオブジェクトに対するすべての未加工（raw）イベントを格納する未加工イベント・テーブルの名前を指定する。未加工イベントは、収集されたイベントであり、オブジェクト・テーブル３０４中のどの既存のオブジェクトも参照しない。未加工イベント・テーブルは、未加工イベントをキャプチャする際の、および未加工イベントからオブジェクトのイベントおよびオブジェクトのインスタンスを派生させる際の、一時的なテーブルとして扱われる。
【００４２】
ｅｖｔ＿ｔａｂｌｅフィールド４１２は、このタイプの既存のオブジェクトを参照する、エントリを収容するイベント・テーブルを参照し、未加工イベント・テーブルから派生する。通常、イベント・テーブル中のオブジェクトのイベントは、そのオブジェクトとのユーザ・インタラクション、たとえばオブジェクトの作成、オープン、保存、印刷、削除など、を記述する。ｅｖｔ＿ｔａｂｌｅ中のイベントは、ユーザにとってのオブジェクトの重要性を推論するのに使うことができる。ｏｂｊ＿ｔａｂｌｅフィールド４１４は、未加工イベント・テーブルから派生した、指定されたタイプのオブジェクトを収容するオブジェクト・テーブルの名前を指定する。オブジェクト・タイプ・テーブル４００に含むことができるオブジェクト・タイプの例を、テーブル２に示す。
【００４３】
【表４】
2005011339.tif 000006
【００４４】
たとえば、Ｆｉｌｅオブジェクト・タイプは、ファイル・オブジェクトを表し、たとえば文書ファイル、画像ファイル、表計算ファイルなどのファイル・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含む。Ｅｍａｉｌオブジェクト・タイプは、ｅメール・オブジェクトを表し、たとえばｅメール・メッセージ、ｅメールの連絡先などのｅメール・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含む。Ａｐｐｌｉｃａｔｉｏｎオブジェクト・タイプは、コンピュータ・アプリケーション・オブジェクトを表し、たとえばワードプロセッサ・アプリケーション、表計算アプリケーション、ブラウザ・アプリケーションなどのコンピュータ・アプリケーション・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含む。ＷｅｂＰａｇｅオブジェクト・タイプは、ウェブ・ページ・オブジェクトを表し、ウェブ・ページ・オブジェクト、すなわち、たとえばワールド・ワイド・ウェブを介してアクセスされるページまたはネットワーク・サイトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含む。Ｆｏｌｄｅｒオブジェクト・タイプは、フォルダ・オブジェクトを表し、オペレーティング・システムのファイル管理フォルダなどのフォルダ・オブジェクトとのユーザ・インタラクションに関係するイベント用のイベント・テーブルを含む。
【００４５】
各タイプ（指定されている場合）のオブジェクト・テーブルは、そのオブジェクト・タイプに固有の列（columns）を含む。たとえば、ｅメール・メッセージは、フォルダとは異なるデータ列を有する。各タイプに対するオブジェクト・テーブルは、オブジェクト・テーブル３０４中の既存オブジェクトを参照するオブジェクト識別子の列を有する。
【００４６】
図３を参照すると、関連づけテーブル３０２中の関連づけオブジェクト３１６、すなわちｏｂｊＡは、その識別子が、動的に作成されたオブジェクトのインスタンスではなく、「静的な」予め定義されたオブジェクトを表す場合、関連づけタイプと呼ばれることがある。一実装形態では、予め定義された関連づけの組は、関連づけ情報テーブル（テーブル３）に一覧を示した関連づけタイプを含み、関連づけ情報テーブル中の関連づけ識別子（ａｓｓｏｃｉｄ）は、関連づけテーブル３０２の関連づけオブジェクトフィールド３１６（ｏｂｊＡ）およびオブジェクト・テーブル３０４のオブジェクトｉｄフィールド３０８に対応する。
【００４７】
【表５】
2005011339.tif 000007
【００４８】
関連づけ情報テーブル（テーブル３）は、コンテキスト関連づけスキーマ３００に含むことができる例示的な関連づけを示す。たとえば、関連づけＭｅｓｓａｇｅｆｒｏｍ、Ｍｅｓｓａｇｅｔｏ、Ｍｅｓｓａｇｅｃｃ、およびＣｏｎｖｅｒｓａｔｉｏｎは、ｅメール・メッセージまたは会話に関するコンピュータ通信の関係（relationship）を表す。関連づけＭｏｖｅ、Ｃｏｐｙ、およびＣｏｐｙ／Ｐａｓｔｅは、オブジェクト間の編集に関する関係（relationship）を表す。様々な他の個々の関連づけを、テーブル３で説明してある。
【００４９】
新規のタイプの関連づけが（オブジェクトの間の関連づけインスタンスに対立するものとして）作成されると、関連づけ情報テーブル（テーブル３）中のエントリが、オブジェクト・テーブル３０４中の関連オブジェクトのインスタンスと共に追加される。追加された関連オブジェクト用のオブジェクト・テーブル３０４中のオブジェクト識別子３０８は、関連づけ情報テーブル（テーブル３）の「予約済み」空間（たとえば、テーブル３のａｓｓｏｃｉｄ２０２２〜２０９９）にある識別子の１つとなる。２０００から２０９９のオブジェクト識別子用のオブジェクト・テーブル３０４のタイプ・フィールド３２４中のエントリは、タイプ「１」であり、このタイプは、オブジェクト・タイプ・テーブル（テーブル２）において、タイプ「Ａｓｓｏｃｉａｔｉｏｎ」のオブジェクトに対応する。
【００５０】
図５は、本発明による、簡略型の自動コンテキスト関連づけスキーマ５００の概略ブロック図である。自動コンテキスト関連づけスキーマ５００は、一連の関連づけテーブル５０２およびオブジェクト・テーブル５０４を有する。こうしたテーブルは、コンピュータ可読媒体に格納され、様々なオブジェクトの間の有意味な関連づけを確立するために、文書、写真、ウェブ・ページなど、様々なコンピュータ・システム・オブジェクトとのユーザ・インタラクションおよび他の人々との対話についての情報を含む。
【００５１】
コンテキスト関連づけスキーマ５００は、本発明による操作可能なコンテキスト関連づけスキーマを提供する１組の基本的な情報フィールドを含む点で、コンテキスト関連づけスキーマ３００に対して簡略化されている。関連づけテーブル５０２は、関連づけられるオブジェクトｏｂｊ１およびｏｂｊ２用のフィールド５１０および５１２と、関連づけオブジェクトｏｂｊＡ用のフィールド５１４とを含む。オブジェクト・テーブル５０４は、識別子（ｉｄ）フィールド５２０およびデータ・フィールド５２２を含む。フィールド５１０、５１２、５１４、５２０、および５２２は、コンテキスト関連づけスキーマ３００中の、同じ名前のフィールドに対応し、そうしたフィールドと同じやり方で作用する。
【００５２】
図６は、コンテキスト関連づけシステムの性能向上または最適化のための、オブジェクトおよび関連づけについての関連づけキャッシュ６００のブロック図である。オブジェクト・ポインタからなるハッシュ（hash）・テーブル６０２は、オブジェクト・テーブル６０６中の任意の数のオブジェクト６０４（たとえば、Ｏｂｊ１、Ｏｂｊ２、…、ＯｂｊＮ）へのタイム・コンスタント・アクセスをもたらす。ハッシュ・テーブル６０２には、オブジェクトから計算され、オブジェクト・テーブル６０６中のオブジェクト６０４（たとえば、Ｏｂｊ１、Ｏｂｊ２、…、ＯｂｊＮ）をポイントするハッシュ値が取り込まれている。たとえば、こうしたハッシュ値は、オブジェクト・テーブル３０４のオブジェクト識別子フィールド３０８に保持されているようなオブジェクト識別子（ｉｄ）から計算することができる。
【００５３】
オブジェクト・テーブル６０６中のオブジェクトはそれぞれ、対応する関連づけテーブル６０８をポイントする。その結果、オブジェクト６０４（Ｏｂｊ１、Ｏｂｊ２、…、ＯｂｊＮ）は、それぞれの関連づけテーブル６０８−１、６０８−２、…、６０８−Ｎをポイントする。関連づけテーブル６０８の集合体は、オブジェクト間の関連づけの疎行列（sparse matrix）を表す。
【００５４】
関連づけテーブルの詳細な表現を参照すると、たとえば関連づけテーブル６０８−Ｎは、関連づけテーブル６０８−Ｎ中の関連づけをポイントするハッシュ値が取り込まれているハッシュ・テーブル６１０−Ｎを含む。こうした関連づけは、関連づけタイプ６１２に従って順序づけられる。たとえば、未指定の関連づけタイプ６１２−Ｎは、それ自体に、関連づけ６１４−（３）１、６１４−（３）２、…、６１４−（３）Ｍを関連づけさせることができる。
【００５５】
関連づけの詳細な表現を参照すると、関連づけ６１４−（３）Ｍは、オブジェクトＯｂｊＮとオブジェクトＯｂｊＭの間の関連づけを指定する。関連づけ６１４−（３）Ｍは、オブジェクトＯｂｊＭ６２２へのポインタ６２０、関連づけに対するタイム・スタンプ６２４、および関連づけの強度を表す関連づけ測度（association measure）６２６を含む。
【００５６】
図７は、関連づけキャッシュ６００の動作をより詳細に示す関連づけキャッシュ６００のブロック図である。図６を参照して説明したように、ハッシュ・テーブル６０２には、オブジェクト６０４−１、６０４−２、…、６０４−Ｎをポイントするハッシュ値が取り込まれる。ハッシュ・テーブル６０２がポイントするオブジェクト６０４は、イベント、すなわちイベント・テーブル７０２にあるＥｖｅｎｔ１、Ｅｖｅｎｔ２、…、ＥｖｅｎｔＮに関連するオブジェクトを含むことができる。イベント・テーブル７０２中のイベントは、タイム・スタンプ、およびオブジェクト参照または識別子を含むことができ、上述したように、未加工イベント・テーブルを介して渡すことができる。
【００５７】
オブジェクトの詳細な表現を参照すると、オブジェクト６０４−Ｎは、バイナリ・データ・ハッシュ・テーブル７１４をポイントする、名前または識別子７１０およびオブジェクト・タイプ７１２を含む。同様に、オブジェクト６０４−Ｎは、関連づけを含み、この関連づけは、関連づけタイプ７１８によって順序づけられ、関連づけ、たとえば関連づけ７２０−２をポイントする関連づけハッシュ・テーブル６１０−Ｎにリンクされる。パラメータ・テーブル７２２は、関連づけに順位をつけるとともにオブジェクトＮの「重要性」を評価するために使われるパラメータの値の一覧を示す。たとえば、ユーザによるオブジェクトＮの使用頻度は、「より重要な」オブジェクトを有する関連づけの値を強めるために使うことができる。こうしたパラメータのタイプ、およびパラメータの値は、選択された順位づけアルゴリズムに依存することができる。
【００５８】
関連づけ７２０−２は、オブジェクト識別子７３０および７３２を含み、こうしたオブジェクト識別子は、関連づけられるオブジェクトを示し、オブジェクト・ハッシュ・テーブル６０２中の対応するエントリをポイントする。Ｎｅｘｔ  ｉｎ  Ｃｈａｉｎブロック７３４によって、次の構造６０４−Ｎにただちにアクセスすることができ、このブロックは、関連づけの列挙において使用される。Ｎｅｘｔ１ブロック７３６、およびＮｅｘｔ２ブロック７３８は、それぞれオブジェクト１およびオブジェクト２の「次の」関連づけ７２０をポイントする。パラメータ・テーブル７４０は、関連づけに順位をつけるとともに関連づけの「重要性」を評価するために使われるパラメータの値の一覧を示す。
【００５９】
コンピュータプログラミング分野の当業者による実施に従って、様々なコンピュータ・システムおよびコンピュータ装置によって実施される、作用および象徴的に表される動作を参照して本発明を説明した。このような作用および動作は、コンピュータに実行されるものとみなされることもあり、必要に応じて、オペレーティング・システムにもアプリケーション・プログラムにも関連づけることができる。こうした作用および象徴的に表される動作は、ＣＰＵによる、データ・ビットを表す電気信号の処理を含み、その結果、電気信号表示の変換または減少、およびメモリ・システム内のメモリ位置でのデータ・ビットの保持を引き起こし、そうすることによって、コンピュータ・システムの動作ならびに他の信号処理を再構成し、あるいは変更することが理解されよう。データ・ビットが保持されるメモリ位置は、データ・ビットに対応する特定の電気属性、磁気属性、または光学属性を有する物理的な位置である。
【００６０】
本発明の原理を、例示である実施形態を参照して説明し例示したが、例示した実施形態は、このような原理から逸脱することなく、構成および細部において変更できることが理解されよう。本発明の原理を適用することができる多くの可能な実施形態を検討したが、詳述した実施形態は、例示を意図しているに過ぎず、本発明の精神を限定するものとみなすべきではないことを理解されたい。そうではなく、本発明は、このようなすべての実施形態が添付の特許請求の範囲およびその等価物の範囲および精神に含まれ得ることを主張する。
【図面の簡単な説明】
【００６１】
【図１】ユーザのコンピュータ活動、コンピュータ・オブジェクト（たとえば、ファイル、連絡先など）、および他のイベントの間のコンテキスト関連づけを自動的に決定する、自動コンテキスト関連づけシステムを示す機能ブロック図である。
【図２】図１のコンテキスト関連づけシステムにおける、データ収集システムの一実装形態を示す詳細なブロック図である。
【図３】本発明による、自動コンテキスト関連づけスキーマを示す概略ブロック図である。
【図４】コンテキスト関連づけスキーマに任意選択で含まれるオブジェクト・タイプ・テーブルを示す概略図である。
【図５】本発明による、簡略型の自動コンテキスト関連づけスキーマを示す概略ブロック図である。
【図６】性能向上のための、オブジェクトおよび関連づけの関連づけキャッシュを示すブロック図である。
【図７】図６の関連づけキャッシュの動作をより詳細に示すブロック図である。
【符号の説明】
【００６２】
１０２  データ収集システム
１０４  システム活動監視装置
１０６  データベース
１０８  関係処理システム
１１０  関連づけシステム
１１２  チャンキング・システム
１１６  ユーザ・インターフェース・システム
１１８  可視表現
１２０  クエリ
１２２  フィルタ
１２４  通知
２０２  イベント・ハンドラ
２０４  アプリケーション
２０６  データ収集コンテナ
２０８  コンピュータ情報ソース
３００  自動コンテキスト関連づけスキーマまたはデータ構造
３０２  関連づけ
３０４  オブジェクト
４００  オブジェクト・タイプ
５００  自動コンテキスト関連づけスキーマ
５０２  関連づけ
５０４  オブジェクト
６００  オブジェクトおよび関連づけの関連づけキャッシュ
６０２  オブジェクト・ポインタのハッシュ・テーブル
６０４  オブジェクト
６０４−Ｎ  オブジェクト
６０６  オブジェクト・テーブル
６０８  関連づけテーブル
６１０−Ｎ  ＯｂｊＮを指す関連づけオブジェクト・ポインタのハッシュ・テーブル
６１２  関連づけタイプ
６１４  関連づけ
６１４−（３）Ｍ  関連づけＭ（ＯｂｊＮとＯｂｊＭの関連づけ）
６２０  ＯｂｊＭへのポインタ
６２２  オブジェクトＯｂｊＭ
６２４  関連づけタイム・スタンプ
６２６  関連づけ測度
７０２  イベント・テーブル
７１０  名前
７１２  タイプ
７１４  バイナリ・データ・ハッシュ・テーブル
７１８  関連づけタイプ
７２０−２  関連づけ
７２２  パラメータのテーブル
７３０、７３２  オブジェクト識別子
７３４  Ｎｅｘｔ  ｉｎ  Ｃｈａｉｎブロック
７３６  Ｎｅｘｔ１ブロック
７３８  Ｎｅｘｔ２ブロック
７４０  パラメータのテーブル
【図１】
2005011339.tif 000008
【図２】
2005011339.tif 000009
【図３】
2005011339.tif 000010
【図４】
2005011339.tif 000011
【図５】
2005011339.tif 000012
【図６】
2005011339.tif 000013
【図７】
2005011339.tif 000014
【外国語明細書】
2005011339000001.pdf