(57)【要約】      （修正有）【課題】コンテキストの管理のためのシステム、装置及び方法を提供する。【解決手段】記憶されたデジタルコンテンツアイテムの集合体からコンテキスト情報とコンテンツ情報とを抽出し、抽出されたコンテキスト情報とコンテンツ情報とのインデックスを生成し、インデックスを付けられたコンテキスト情報とコンテンツ情報とを記憶する。ユーザと関連づけられるクエリをコンピューティング装置から受信し、ユーザのコンテキストを決定し、ユーザのアクティビティのコンテキストを決定し、クエリの内容を決定する。ユーザのコンテキストと、ユーザのアクティビティのコンテキストと、クエリの内容とに基づいて、クエリに応答して推奨を生成し、推奨をコンピューティング装置に返信する。【選択図】図８
2015210818.tif 000002
【特許請求の範囲】
【請求項１】
コンテキスト管理のための方法であって、
コンテキスト情報とコンテンツ情報とを記憶されたデジタルコンテンツアイテムの集合体から抽出する工程と、
抽出された前記コンテキスト情報と前記コンテンツ情報とのインデックスを生成する工程と、
インデックスを付された前記コンテキスト情報と前記コンテンツ情報とを記憶する工程と、
ユーザと関連づけられたクエリをコンピューティング装置から受信する工程と、
前記ユーザのコンテキストを決定する工程と、
前記ユーザのアクティビティのコンテキストを決定する工程と、
前記クエリの内容を決定する工程と、
前記ユーザのコンテキスト、前記ユーザのアクティビティのコンテキスト、および前記クエリの内容に基づいたクエリに応答して推奨を生成する工程と、
前記推奨をコンピューティング装置に返信する工程と
を有することを特徴とする方法。
【請求項２】
前記推奨が記憶場所であることを特徴とする請求項１に記載の方法。
【請求項３】
前記推奨がファイルであることを特徴とする請求項１に記載の方法。
【請求項４】
前記クエリが、Ｅメール又はＥメールの添付書類から抽出されたコンテキスト情報またはコンテンツ情報に基づくことを特徴とする請求項１に記載の方法。
【請求項５】
デジタルファイルが前記Ｅメールの添付書類に類似していることを識別する工程を更に有し、前記推奨を生成することは、前記識別された文書にさらに基づくことを特徴とする請求項４に記載の方法。
【請求項６】
コンテンツアイテムの集合体が、企業内の複数のコンピューティング装置に記憶されることを特徴とする請求項１に記載の方法。
【請求項７】
コンテキスト管理のためのシステムであって、
１または複数のコンピュータ可読媒体と、
１または複数の入出力インタフェースと、
前記システムに、
コンピューティング装置で動作している第１のアプリケーションからコンテンツ情報を検索させ、
前記第１のアプリケーションからコンテキスト情報を検索させ、
前記コンピューティング装置に関連づけられるユーザと関連したメタデータを検索させ、
前記コンピューティング装置上の他の第２のアプリケーションからコンテキスト情報を検索させ、
前記第１のアプリケーションからの前記コンテンツ情報と、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とを含むクエリを検索装置に送信させ、
適切なコンテンツを前記コンテンツ情報から抽出させ、
前記適切なコンテンツと、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とを推奨サービスに送信させ、
前記推奨サービスで、前記適切なコンテンツと、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とに基づいて、記憶場所とデジタルファイルとのうちの少なくとも一方を示す推奨を生成させ、
前記推奨を前記コンピューティング装置に送信させるよう構成された１または複数のプロセッサと
を有することを特徴とするシステム。
【請求項８】
前記１または複数のプロセッサが、前記システムに、
コンピューティング装置のローカルファイルシステムをクローリングさせ、前記クローリングは最近アクセスされた文書とディレクトリとを特定することを含み、
最近アクセスされた前記文書と前記ディレクトリからコンテキスト情報を検索させ、
検索した前記コンテキスト情報をキャッシュに記憶させるようさらに構成され、
前記コンピューティング装置上の前記他の第２のアプリケーションからコンテキスト情報を検索することは、前記キャッシュからコンテキスト情報を検索することを含むことを特徴とする請求項７に記載のシステム。
【請求項９】
前記１または複数のプロセッサが、前記システムに、
新しく追加されたコンテンツアイテム、又は、最近アクセスされたコンテンツアイテム、又は、最近改訂されたコンテンツアイテムを特定するために、エンタープライズストレージをクローリングさせ
前記新しく追加されたコンテンツアイテム、又は、前記最近アクセスされたコンテンツアイテム、又は、前記最近改訂されたコンテンツアイテム、又は、前記新しく追加されたコンテンツアイテムについてのコンテキスト情報、又は、前記最近アクセスされたコンテンツアイテムについてのコンテキスト情報、又は、前記最近改訂されたコンテンツアイテムについてのコンテキスト情報をデータウェアハウスに送信させるよう更に構成されることを特徴とする請求項７に記載のシステム。
【請求項１０】
前記１または複数のプロセッサが、前記システムに、
前記データウェアハウスから抽出アプリケーションへとデータを送信させ、
抽出されたメタデータとテキストとを前記抽出アプリケーションから受信させ、
前記受信した、抽出されたメタデータとテキストとをデータウェアハウスに記憶させるよう更に構成されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記１または複数のプロセッサが、前記システムに、複数のクローラーを実施させるよう更に構成され、前記複数のクローラーのうちの各クローラーがデータリポジトリの特定のタイプと関連づけられることを特徴とする請求項７に記載のシステム。
【請求項１２】
前記１または複数のプロセッサが、前記システムに、前記複数のクローラーのうちの少なくとも１つのクローラーの複数のインスタンスを生成させるよう更に構成されることを特徴とする請求項１１に記載のシステム。
【請求項１３】
１または複数のコンピュータ可読媒体であって、１または複数のコンピューティング装置によって実行されるときに、前記１または複数のコンピューティング装置により、
コンテキスト情報とコンテンツ情報とをコンテンツアイテムの集合体から抽出し、
抽出された前記コンテキスト情報と前記コンテンツ情報とのインデックスを生成し、
前記インデックスを付けられた前記コンテキスト情報と前記コンテンツ情報とを記憶し、
コンピューティング装置からユーザと関連づけられるクエリを受信し、
前記ユーザのコンテキストを決定し、
前記ユーザのアクティビティのコンテキストを決定し、
前記クエリの内容を決定し、
前記ユーザのコンテキストと、前記ユーザのアクティビティのコンテキストと、前記クエリの内容とに基づいて、前記クエリに応答して推奨を生成し、
前記推奨を前記コンピューティング装置に返す
ことを含む動作を実行させる命令を記憶した１または複数のコンピュータ可読媒体。 
【請求項１４】
前記推奨がファイルであり、
前記動作がさらに、
Ｅメールの受信者がファイルにアクセスすることができるかどうかを判定し、
前記受信者が前記ファイルにアクセスすることができるならば前記ファイルを前記Ｅメールに追加する代わりに前記ファイルへのリンクを前記Ｅメールに追加し、前記受信者がファイルにアクセスすることができないならば前記ファイルを前記Ｅメールに追加することを含む特徴とする請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１５】
前記推奨が記憶場所であり、
前記動作がさらに、
前記記憶場所のＥメールへの添付書類を記憶し、
前記Ｅメールの中の前記添付書類を、前記記憶された添付書類へのリンクと置換することを含むことを特徴とする請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１６】
前記動作がさらに、
１または複数のキーワードを前記クエリから抽出し、
前記１または複数のキーワードを、複数の語を含む辞書であって、前記辞書の中の語は採点され、ソートされている辞書に追加し、
前記１または複数のキーワードを前記辞書に追加した後に、前記辞書の中の語を採点し直すことを含むことを特徴とする請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１７】
前記動作はさらに、前記辞書の中の語を採点し直した後に、前記辞書の中の語をソートし直すことを含むことを特徴とする請求項１６に記載の１または複数のコンピュータ可読媒体。
【請求項１８】
前記推奨は複数のファイルを含み、
前記動作はさらに、前記複数のファイルのそれぞれの名前を含むリストを示すグラフィカルユーザインタフェースを生成することを含むことを特徴とする請求項１３に記載の１または複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は一般にコンテキスト管理に関連する。
【背景技術】
【０００２】
組織の中のユーザは、それぞれ数千個のデジタル文書、Ｅメール、ビデオ、写真、および他の電子ファイルを保存することがあり、それらのユーザが関連したプロジェクトで作業していても、各ユーザのファイルは他のユーザに対してはアクセス可能でないことがある。さらに、ファイルは適正に説明されておらず、ラベルを貼られておらず、あるいはタグを付けられていないかもしれない。さらに、各ユーザは、彼のファイルを編成するために個人的なスキームを使うことができ、組織の中で、それが一貫性のないスキームをもたらしている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
（段落番号付与後に削除すること）
一実施形態において、コンテキスト管理のための方法は、コンテキスト情報とコンテンツ情報とを記憶されたデジタルコンテンツアイテムの集合体から抽出する工程と、抽出された前記コンテキスト情報と前記コンテンツ情報とのインデックスを生成する工程と、インデックスを付された前記コンテキスト情報と前記コンテンツ情報とを記憶する工程と、ユーザと関連づけられたクエリをコンピューティング装置から受信する工程と、前記ユーザのコンテキストを決定する工程と、前記ユーザのアクティビティのコンテキストを決定する工程と、前記クエリの内容を決定する工程と、前記ユーザのコンテキスト、前記ユーザのアクティビティのコンテキスト、および前記クエリの内容に基づいたクエリに応答して推奨を生成する工程と、前記推奨をコンピューティング装置に返信する工程とを有する。
【０００４】
一実施形態において、コンテキスト管理のためのシステムは、１または複数のコンピュータ可読媒体と、１または複数の入出力インタフェースと、前記システムに、コンピューティング装置で動作している第１のアプリケーションからコンテンツ情報を検索させ、前記第１のアプリケーションからコンテキスト情報を検索させ、前記コンピューティング装置に関連づけられるユーザと関連したメタデータを検索させ、前記コンピューティング装置上の他の第２のアプリケーションからコンテキスト情報を検索させ、前記第１のアプリケーションからの前記コンテンツ情報と、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とを含むクエリを検索装置に送信させ、適切なコンテンツを前記コンテンツ情報から抽出させ、前記適切なコンテンツと、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とを推奨サービスに送信させ、前記推奨サービスで、前記適切なコンテンツと、前記第１のアプリケーションからの前記コンテキスト情報と、前記ユーザと関連した前記メタデータと、前記他の第２のアプリケーションからの前記コンテキスト情報とに基づいて、記憶場所とデジタルファイルとのうちの少なくとも一方を示す推奨を生成させ、前記推奨を前記コンピューティング装置に送信させるよう構成された１または複数のプロセッサとを有する。
【０００５】
一実施形態において、１または複数のコンピュータ可読媒体は、１または複数のコンピューティング装置によって実行されるときに、前記１または複数のコンピューティング装置により、コンテキスト情報とコンテンツ情報とをコンテンツアイテムの集合体から抽出し、抽出された前記コンテキスト情報と前記コンテンツ情報とのインデックスを生成し、前記インデックスを付けられた前記コンテキスト情報と前記コンテンツ情報とを記憶し、コンピューティング装置からユーザと関連づけられるクエリを受信し、前記ユーザのコンテキストを決定し、前記ユーザのアクティビティのコンテキストを決定し、前記クエリの内容を決定し、前記ユーザのコンテキストと、前記ユーザのアクティビティのコンテキストと、前記クエリの内容とに基づいて、前記クエリに応答して推奨を生成し、前記推奨を前記コンピューティング装置に返すことを含む動作を実行させる命令を記憶している。
【図面の簡単な説明】
【０００６】
【図１】図１はコンテキスト管理システムの実施形態の例を説明する図である。
【図２】図２は、インデックス作成サービスによって受信される入力Ｅメールの実施形態の例を説明する図である。
【図３】図３はクローラーの実施形態の例を説明する図である。
【図４Ａ】図４Ａはコンテキスト管理ユーザインタフェースの実施形態の例を説明する図である。
【図４Ｂ】図４Ｂはコンテキスト管理ユーザインタフェースの実施形態の例を説明する図である。
【図５】図５はコンテキスト管理システムの実施形態の例を説明する図である。
【図６】図６はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図７】図７はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図８】図８はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図９】図９はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図１０】図１０はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図１１】図１１はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図１２】図１２はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図１３】図１３はコンテキスト管理システムにおける動作フローの実施形態の例を説明する図である。
【図１４】図１４はコンテキスト管理システムの実施形態の例を説明する図である。
【図１５】図１５はコンテキスト管理システムの実施形態の例を説明する図である。
【図１６】図１６はコンテキスト管理システムの実施形態の例を説明する図である。
【図１７】図１７はコンテキスト管理システムのためのユーザインタフェースの実施形態の例を説明する図である。
【図１８】図１８はコンテキスト管理システムのためのユーザインタフェースの実施形態の例を説明する図である。
【図１９Ａ】図１９Ａはユーザのコンテキストプロファイルの実施形態の例を説明する図である。
【図１９Ｂ】図１９Ｂはユーザのコンテキストプロファイルの実施形態の例を説明する図である。
【図２０Ａ】図２０Ａはコンテンツアイテムのコンテキストプロファイルの実施形態の例を説明する図である。
【図２０Ｂ】図２０Ｂはコンテンツアイテムのコンテキストプロファイルの実施形態の例を説明する図である。
【発明を実施するための形態】
【０００７】
以下の開示は一つの説明的な実施形態を説明する。他の実施形態は、他にとりうる方法、均等物、および変形例を含む。さらに、説明的な実施形態はいくつかの斬新な機能を含むことがあり、特定の機能は、ここに説明される装置、システム、および方法のいくつかの実施形態に本質的でないことがある。
【０００８】
図１はコンテキスト管理システムの実施形態の例を説明する。コンテキスト管理システムはコンテキスト管理クライアント（「ＣＸＭクライアント」）１００、コンテキスト管理エンジン（「ＣＸＭエンジン」）１１０、テキストサービスエンジン１２０、検索エンジン１３０、１または複数のクローラー１４０、構成要素（エンティティ）抽出エンジン１５０、および１または複数のコンテンツリポジトリ１６０を含む。ＣＸＭクライアント１００、ＣＸＭエンジン１１０、テキストサービスエンジン１２０、検索エンジン１３０、１または複数のクローラー１４０、構成要素抽出エンジン１５０、および１または複数のコンテンツリポジトリ１６０は、論理回路、コンピュータ可読データ、またはコンピュータ実行可能命令を含み、ソフトウェア（例えばアセンブリ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ、ＢＡＳＩＣ、Ｐｅｒｌ、ＶｉｓｕａｌＢａｓｉｃ）、ハードウェア（例えばカスタマイズされた回路）、またはソフトウェアとハードウェアのコンビネーションで実装することができる。また、ＣＸＭクライアント１００、ＣＸＭエンジン１１０、テキストサービスエンジン１２０、検索エンジン１３０、１または複数のクローラー１４０、構成要素抽出エンジン１５０、および１または複数のコンテンツリポジトリ１６０はそれぞれ、１つ以上のそれぞれのアプリケーションで、及びそれぞれのアプリケーションの１または複数のインスタンスで実装することができる。例えば、ＣＸＭクライアント１００はコンテキスト管理クライアントアプリケーションの１つまたは２つのインスタンスによって実装することができる。また、例えばＣＸＭクライアント１００は２つのアプリケーションそれぞれの１つのインスタンスによって実装することができる。
【０００９】
さらに、ＣＸＭクライアント１００、ＣＸＭエンジン１１０、テキストサービスエンジン１２０、検索エンジン１３０、１または複数のクローラー１４０、構成要素抽出エンジン１５０、および１または複数のコンテンツリポジトリ１６０のインスタンスの少なくともいくつかが、同じコンピューティング装置（例えばデスクトップ、ラップトップ、タブレットＰＣ、スマートフォン、サーバ、携帯情報端末）または、コンピューティング装置の同じセット（例えばクラウドコンピュータ環境などの分散コンピューティング環境における）で動作してもよい。または、それらはすべて違う装置で動作してもよい。コンテンツリポジトリ１６０は以下の例えば１または複数を含むことができる：コンテンツ管理サービス（ローカルあるいはリモートいずれでも）、ネットワークドライブ、共有フォルダ、およびファイルサーバ。また、コンテンツリポジトリ１６０はＣＸＭエンジン１１０と同じ企業ネットワークまたはローカルネットワークに置くことができ、あるいはコンテンツリポジトリ１６０はワールドワイドウェブに置くことができる。ＣＸＭクライアント１００はＣＸＭエンジン１１０とインタフェースしてユーザのためにコンテンツ推奨を生成する。動作中、ＣＸＭクライアント１００はクエリをＣＸＭエンジン１１０に送信し、そして、エンジンは推奨（リコメンデーション）を生成して返信する。推奨は、１または複数のコンテンツリポジトリ１６０で記憶されるデジタルコンテンツアイテム（文書、Ｅメール、写真、サウンドファイル、ビデオ）を特定することができ、１または複数のリポジトリ１６０で記憶位置（例えばフォルダ）を特定することができる。ＣＸＭクライアント１００は、コンテンツアイテムを得るために、特定されたか、参照されたコンテンツアイテムを記憶するコンテンツリポジトリ１６０に問い合わせることができる。推奨は、以下のうちの１または複数に基づいて生成することができる：第１のアプリケーションにおけるユーザのアクティビティのコンテキスト、他のアプリケーションにおけるユーザのアクティビティのコンテキスト、ユーザのコンテキスト、第１のアプリケーションにおける１または複数のコンテンツアイテム、他のアプリケーションにおける１または複数のコンテンツアイテム、およびすべてのコンテンツアイテムのコンテキスト。
【００１０】
また、ＣＸＭエンジン１１０はアクセス許可に基づいて推奨にフィルタをかけることがある。例えば、ＣＸＭエンジン１１０は、クエリのアクセス許可とコンテンツアイテムそれぞれのアクセス許可とを判定することができ、ＣＸＭエンジン１１０は、クエリのアクセス許可の範囲内にないコンテンツアイテムについての推奨をフィルタリングで取り除くことができる。従って、ＣＸＭエンジン１１０は秘密のコンテンツアイテムを推奨から削除することがある。また、例えばクエリのアクセス許可の判定は以下のうちの１または複数に基づいてもよい：クエリに関連付けられたユーザのアクセス許可、許可基準のチェック、およびクエリと関連づけられたユーザアクティビティの許可レベル。
【００１１】
コンテキストは、ユーザのアクティビティのための環境を形成するか、コンテンツアイテムのための環境を形成する状況またはふるまいを含む。例えば、ユーザのアクティビティのためのコンテキスト情報は、ユーザの現在のまたは最新のアクティビティなどの短期コンテキスト情報（例えば検索、最新のミーティング、最近書き込まれた文書、最近アクセスされた文書、現在開いている文書、現在のミーティング、最新Ｅメール、最近の共同制作、動作中のアプリケーション、アクティビティの時間）を含むことができ、また、当該ユーザが作業した以前のプロジェクト、ユーザの技能、ユーザの興味、ユーザの過去のアクティビティ、ユーザのアクセス特権などの、長期のコンテキスト情報を含んでよい。また、例えばコンテンツアイテムのコンテキスト情報は例えば、著者、貢献者、検査者、コンテンツアイテムのタイプ、読者コメント、プロジェクト分類、記憶場所、バージョン履歴、変更履歴、閲覧統計、読者評価、およびコンテンツアイテムに関する他のメタデータを含んでよい。
【００１２】
さらに、このシステムは、コンテキスト導出を実行して、（例えばコンテンツアイテム、ユーザ、またはアクティビティのための）関連したコンテキスト情報に基づく追加のコンテキスト情報を生成することができる。例えばシステムは、コンテキスト導出を実行してユーザのために追加のコンテキスト情報を生成することができ、その追加のコンテキスト情報は、そのユーザと直接通信するか、共通の要素（例えばコンテンツアイテム）をそのユーザのコンテキストと共有する別のユーザのコンテキスト情報を含む。例えば、ユーザＸはこのシステムまたは会社に入ったばかりであり、制限されたコンテキストプロファイルを持っているか、制限されたコンテンツがユーザＸに関連付けられている。ユーザＸがユーザＹと通信（例えばＥメールを送信または受信）したなら、ユーザＹのコンテキストプロファイル、またはユーザＹと関連しているコンテンツを用いて、ユーザＸのためのコンテキストプロファイルを生成する。
【００１３】
この実施形態において、ＣＸＭエンジン１１０は、テキストサービスエンジン１２０、リバースプロキシ１１１、コンテキスト管理サービス１１２、および検索エンジン１３０を含む。ＣＸＭエンジン１１０は例えば、ＣＸＭクライアント１００との通信のためにフロントエンドとして作動することによって、ＣＸＭクライアント１００と検索エンジン１３０との間の通信を管理する。さらに、いくつかの実施形態において、ＣＸＭエンジン１１０は、文書リーダライブラリ１２４をウェブサービスとしてＣＸＭクライアント１００に公開するか、キーワードの集合体を保持している（それは１つ以上の検索可能な辞書１２２として記憶される）。いくつかの実施形態において、ＣＸＭエンジン１１０は、インターネット情報サービスで主催される（ＩＩＳで主催される）ウェブサービスである。また、ＣＸＭエンジン１１０は、様々なサービスのためにセキュリティを提供すべくＩＩＳ  ＵＲＬリライトサービスやアプリケーションリクエスティングルーティング（ＡＰＲ）サービスなどのセキュリティサービスを使うことができ、そうするとＣＸＭクライアント１００とＣＸＭエンジン１１０との間の通信は暗号化でき、証明できる。
【００１４】
リバースプロキシ１１１は、システム中で様々なエンドポイントへ通信をリダイレクトする（例えばＩＩＳ−ＵＲＬリライトモジュールによる）。例えば、いくつかの実施形態において、ＣＸＭエンジン１１０からの外向きコネクション（システムの他の構成品によって生成されて、リバースプロキシ１１１を通して発送されるレスポンスを含む）は、ＨＴＭＬとＣＳＳファイルのために監視される。これらのファイルタイプの１つが検出されると、将来のコネクションがリバースプロキシ１１１を通してまた発送されるように、ファイルの中の関連ＵＲＬは変更される（例えば規則のセットに従って）。
【００１５】
検索エンジン１３０はインデックス作成サービス１３１、データウェアハウス１３２、およびインデックス１３４を含む。検索エンジン１３０はクエリ（例えばＣＸＭクライアント１００からの）を受け付け、１または複数の推奨によって応答する。検索エンジン１３０は１または複数のコンテンツリポジトリ１６０の検索を開始する。コンテンツリポジトリ１６０は、ＣＸＭクライアント１００が稼働するコンピューティング装置にローカルであってもよいし、リモートリポジトリであってもよい。検索エンジン１３０は、データウェアハウス１３２に記憶されたデータに基づいて推奨（例えばデジタルコンテンツアイテム、記憶場所）を検索し、ランクを付ける。複数のタイプのメタデータが使われているならば、検索エンジン１３０は、コンテンツアイテムを検索し、ランク付けする際に、各タイプのメタデータに重み付けしてもよい。例えば、図２は、検索エンジン１３０によって受信される入力Ｅメールの実施形態の例を説明する。Ｅメールが受信された後に、Ｅメールの中の構成要素が抽出され、それから検索フィールドにマッピングされる。ひとつの構成要素が複数の検索フィールドへとマッピングされることがある。例えば、構成要素「人」は以下の検索フィールドにマッピングされることができる：「ＵＲＬ」、「テキスト」、および「人」。また、検索フィールドにそれぞれの重みが付けられてもよい。例えば、Ｅメールと関連づけられる構成要素（例えばキーワード、人）の各々に重みを付けるＳｏｌｒクエリを生成してもよい。また、検索エンジン１３０は他の技術を使うことができる。例えば、Ｅメールに添付書類があり、その添付書類に一致する関連文書をＳｏｌｒでランク付けする必要がある場合、検索エンジン１３０はＳｏｌｒのＭｏｒｅＬｉｋｅＴｈｉｓハンドラを使うことができる。いくつかの実施形態において、単語出現頻度−逆文書頻度（ＴＦ−ＩＤＦ）尺度に基づくＳｏｌｒのインタラシティングタームズコンポーネントは、入力された添付書類中の重要なキーワードを抽出するために使用され、その重要なキーワードはそれから、Ｓｏｌｒにおいて返信文書のランク付けをするために使われる。また、添付書類は、Ｅメールに添付されているコンテンツアイテムであり、添付書類は、Ｅメールに添付することができるどのようなタイプのコンテンツであってもよい。
【００１６】
再び図１を参照すると、インデックス作成サービス１３１はまたインデックスデータを生成し、インデックス１３４中にインデックスデータを記憶する。例えば、インデックス作成サービス１３１は、データウェアハウス１３２及び１または複数のコンテンツリポジトリ１６０のコンテンツのためにインデックスデータを生成してもよく、生成されたインデックスデータは、検索を促進するために検索エンジン１３０によって使用することができる。インデックス作成サービス１３１は、継続的に、データウェアハウス１３２中のデータを検索し、インデックスを付ける１または複数のプロセスを行うことができる。
【００１７】
テキストサービスエンジン１２０は、テキスト検索プロバイダ１２３、文書リーダライブラリ１２４、文書処理サービス１２１、および辞書１２２を含む。テキスト検索プロバイダ１２３は文書リーダライブラリ１２４のためのラッパーであってもよく、コンテンツアイテム（文書、Ｅメール）中の一連のキーワードを検索するために高度にマルチスレッド化されたアプローチを採用してもよく、与えられたコンテンツアイテムの中で発見されるすべてのキーワードを返す。例えば、検索はファジー検索基準としきい値とに基づくことができる。テキストサービスエンジン１２０はテキスト検索プロバイダ１２３にウェブインタフェースを提供してもよい。
【００１８】
また、文書処理サービス１２１は複数の辞書１２２の作成と検索（例えばウェブインタフェースを通しての）をサポートし、文書処理サービス１２１は、テキストデータを、クローラー１４０によって見つけられたコンテンツアイテムから抽出し、そのテキストデータとすべての付随メタデータを辞書１２２またはデータウェアハウス１３２中に記憶する。その結果、文書処理サービス１２１は、コンテンツアイテムから抽出されるデータを正規化してもよく、データまたはメタデータをデータウェアハウス１３２に送信する前にメタデータを正規化してもよい。それに応じて、データウェアハウス１３２は、クローラー１４０によって見つけられたコンテンツアイテムから導出された正規形データとメタデータを記憶してもよく、その結果、データウェアハウス１３２は、データリポジトリ１６０に記憶されるコンテンツアイテムを複写あるいは近似的に複写することができる。さらに、辞書１２２は、キーワードをソートするか、優先度を付けられた順序でキーワードを記憶することができ、それにより最も一般的に使用されたキーワードをトップに保持する。例えば、文書処理サービス１２１が新しいキーワードを辞書１２２に追加するときに、最も一般的に使われるキーワード（例えば最新の流行についての説明）が辞書１２２の「トップ」上に保持されるように、文書処理サービス１２１は辞書１２２中の各キーワードを評価し直し、採点し直し、ソートし直すことができる。いくつかの実施形態において、辞書１２２中のトップのｎ個のキーワードだけが、検索動作中に利用され（例えば文書ライブラリＡＰＩに入力され）、それにより、辞書１２２が非常に多くのエントリを記憶するときに性能が損なわれることを防止するのに役立ち得る。文書処理サービス１２１はまた、マルチスレッド化されたサービスに不可欠なすべての辞書１２２のすべての同期動作を実行することができる。
【００１９】
ＣＸＭエンジン１１０はまたコンテキスト管理サービス１１２を含む。いくつかの実施形態において、コンテキスト管理サービス１１２は２つの一般の機能を実行する：インデックス作成サービス（例えばインデックス作成サービス１３１）とクライアント（例えばＣＸＭクライアント１００）との間で仲介者として行動すること、また、いくつかの状況におけるクライアントとして行動すること、である。例えばいくつかの実施形態においては、ＣＸＭエンジン１１０がＣＸＭクライアント１００からクエリを受信すると、コンテキスト管理サービス１１２は、クエリに含まれた情報から、または蓄積されたコンテキスト（例えば、コンテキストプロファイル）から、またはそれら両方から変更されたクエリ（例えば、Ｓｏｌｒクエリ）または拡張クエリを作成する。従って、この例において、コンテキスト管理サービス１１２は、蓄積されたコンテキスト（例えば適切なコンテキストプロファイルのすべて）と、クエリに含められている情報とに基づいた語を投入するか、或いは重み付けすることによって変更されたクエリを構成することができる。さらに、コンテキスト管理サービス１１２は、ＣＸＭクライアント１００がクエリに適したコンテンツアイテムを得るために使うことができる単純なＡＰＩを提供してよく、コンテキスト管理サービス１１２は、クエリに適したコンテキストの用語をクエリレスポンスに含めてもよい。コンテキスト管理サービス１１２はまた、返信されたコンテンツアイテム各々の妥当性の点数を提供することができる。
【００２０】
さらに、コンテキスト管理サービス１１２はユーザのためのまたは一定のアクティビティのためのコンテキストプロファイルを作成し、メンテナンスすることができる。例えば、ＣＸＭクライアント１００は、ユーザ識別名（またはユーザアクティビティ識別子）と関連するコンテキスト情報とをコンテキスト管理サービス１１２に送信することができる。コンテキスト情報は例えば、ＣＸＭクライアント１００が稼働するコンピューティング装置上で現在動作しているアプリケーションと、ユーザが最近アクセスしたコンテンツアイテムと、ユーザの職名、ユーザのワークグループ、およびユーザのアクセス特権を含むことができる。コンテキスト管理サービス１１２はそれから、ユーザのコンテキストプロファイルを生成するか、更新することができる。コンテキストプロファイルはデータウェアハウス１３２中に記憶されてもよい。ＣＸＭクライアント１００は、所定周期（例えば毎分、１０分毎、毎時）で、またはＣＸＭクライアント１００がユーザのコンテキスト情報の変化（例えば文書がオープンされたり、アプリケーションが閉じられる）を検出したときに、ユーザ識別名と関連するコンテキスト情報とを送信することができる。また、ＣＸＭクライアント１００は、推奨使用情報（例えば、ユーザが与えられた推奨を選んだかどうかを示す情報）をコンテキスト管理サービス１１２に送信することができる。
【００２１】
１または複数のクローラー１４０は、１または複数のコンテンツリポジトリ１６０をクローリングし、コンテンツアイテムについてメタデータを収集し、メタデータとコンテンツアイテムとを文書処理サービス１２１に送信する（文書処理サービス１２１は後でコンテンツアイテムとメタデータとをデータウェアハウス１３２に送信する）。クローラー１４０は、それぞれ、コンテンツリポジトリ１６０の特定のタイプ（例えばコンテンツ管理サービス、共有フォルダ、ネットワークドライブ）と通信するように設計される複数のタイプのクローラーサービスを含んでもよい。クローラー１４０は各タイプのクローラーサービスの複数のインスタンスを持つこともでき、同時に複数のコンテンツリポジトリ１６０をクローリングするように構成されてもよい。
【００２２】
システムの全体の性能を改善するために、クローラー１４０は、それがクローリングしたコンテンツアイテムについて少しの情報をキャッシュすることができる。この情報は、広範囲に及ぶ処理（例えばメタデータ検索、データウェアハウスアップロード）が、変更されていないファイルのために実行されないように、続いて起こるクローリングで使用して、変更されたファイルまたは更新されたファイルを検出することができる。さらに、クローラー１４０はまた、削除されたコンテンツアイテムを検出し、インデックス作成サービス１３１または削除のデータウェアハウス１３２に検出を通知することができる。これにより、対応するエントリがデータウェアハウス１３２から削除されることを保証することができる。さらに、クローラー１４０は、ユーザによるクローラー１４０のサービスからのコンテンツリポジトリ１６０の追加または削除を可能にするために、ウェブベースの管理インタフェースをセルフホスティングすることができる。また、クローラー１４０はコンピューティング装置の上で最近アクセスされたコンテンツアイテムを検索することができる。例えば、いくつかのオペレーティングシステムは最近アクセスされたコンテンツアイテムへのリンクのリストを管理し、クローラー１４０は、新しいか或いは更新されたコンテンツアイテムを検索するためにリンクのリストを使うことができる。
【００２３】
図３はクローラー３４０の実施形態の例を説明する。クローラー３４０はクローラーサービスインタフェース３４１、クローラーサービス３４２、コンテンツ管理サービスクローラーサービス３４３、共有フォルダクローラーサービス３４４、およびウェブホスティングサービス３４５を含む。クローラーサービス３４２は、一定のタイプ（文書、イメージ、写真、ビデオ、オーディオレコーディング）のコンテンツをターゲットとするように設定することができる。クローラーサービス３４２は少なくとも２つの主要な動作モードを持つことができる。ひとつのモードは、コンテンツリポジトリ（例えば第１のコンテンツ管理サービス３６１Ａ、第２のコンテンツ管理サービス３６１Ｂ）と通信するために、クライアントオブジェクトモデルを用いる。この動作モードにおいて実行される機能は、コンテンツアイテムのリスト、メタデータ、およびセキュリティ情報を得ることを含む。しかし、この動作モードはいくつかの性能欠点を持つことがある。クライアントオブジェクトモデルは、コンテンツアイテムのリストを取り出すために顕著な時間を必要とすることがあり、それにより、クローラー３４０が、頻繁にアップデートをデータウェアハウス３３２に送信することを妨げることがあり、またシステムの上の著しいネットワーク負荷を作成することがある。動作の第２のモードは、ＲＥＳＴインタフェースを使ってこの問題を解決することができる。ＲＥＳＴインタフェースを通してコンテンツアイテムのリスト、コンテンツアイテム、および基本のメタデータ（例えばＬａｓｔＭｏｄｉｆｉｅｄＤａｔｅ）を得ることによって、クローラーサービス３４２は、クライアントオブジェクトモデルを用いる場合に必要とされている時間の一部分の中で、変更済コンテンツアイテムを特定することができる。いくつかの実施形態において、新しいコンテンツアイテムまたは変更済コンテンツアイテムだけが、クライアントオブジェクトモデルをさらに用いて処理される。さらに、いくつかの実施形態では、ウェブホスティングサービス３４５によって提供され、管理ウェブサイト３１０によってアクセスされるクローラーサービスのウェブインタフェースにより、クローラーサービス３４２の 「ＵｓｅＲＥＳＴＳｅｒｖｉｃｅｓ」プロパティを変更できる。
【００２４】
コンテンツリポジトリ（例えば第１のコンテンツ管理サービス３６１Ａ、コンテンツ管理サービス第２の３６１Ｂ、第１のファイルサーバ３６２Ａ、および第２のファイルサーバ３６２Ｂ）がクローリングされた後に、クローラー３４０は、文書処理サービス３２１に対して、どのような付随メタデータまたはコンテンツアイテムとともにでも、見つかったどのような新しいコンテンツアイテムのリストでも送ることができる。
【００２５】
再び図１を参照して、構成要素抽出エンジン１５０は構成要素抽出を実行し、コンテンツアイテムを分析する。コンテンツアイテムは、構造化データ又は非構造化データを含むことがある。例えば、構成要素抽出エンジン１５０は自動的に分類用語、人、場所、およびキーワードを文書または別のコンテンツアイテムから抽出してよい。さらに、構成要素抽出エンジン１５０はコンテンツの集合体の要約を作成することができる。いくつかの実施形態において、構成要素抽出エンジン１５０は、コンテンツ（例えば、要求のなかで受信されるコンテンツアイテム）の集合体の中のすべてのコンテンツアイテムのための要約を作成し、コンテンツの集合体の中のメタデータをコンテンツアイテムから抽出する。
【００２６】
またＣＸＭクライアント１００は、ユーザが、クエリを送信でき、ＣＸＭエンジン１１０によって返信されるコンテンツアイテムのリストを見ることができ、結果のスコアの分析結果を見ることができ、コンテンツアイテムを見ることができるインタフェースを生成できる。図４Ａと図４Ｂはコンテキスト管理ユーザインタフェースの実施形態の例を説明する。図４Ａのユーザインタフェースは、Ｅメールから抽出されたキーワードを表示する。キーワードは、それらのそれぞれの重み及びそれらのそれぞれのソースとともに表示される。例えばキーワード「ＣＺＬ」は、エンタープライズ辞書（辞書１２２の例である）によって提供され、１の重みを割り当てられた。また、例えばキーワード「ｓｅｑｕｅｎｃｅ  ｄｉａｇｒａｍ」はテキスト分析サービス１によって提供され、０．６８の重みを割り当てられた。図４Ｂのユーザインタフェースは、結果におけるキーワードのそれぞれの重要さを表示する。例えばキーワード「ＣＺＬ−０９」は検索結果の７３．７％において発見された。
【００２７】
再び図１を参照すると、ＣＸＭクライアント１００はまた、リスト化されたコンテンツアイテムを、コンテンツアイテムを記憶するそれぞれのコンテンツリポジトリ１６０から得ることができる。例えば、ＣＸＭクライアント１００は、ＣＸＭエンジン１１０からのコンテンツアイテムのリストの受信に応じて、リスト化されたコンテンツアイテム（例えばトップのｘ個の結果）の全て、又はリスト化されたコンテンツアイテムの一部分の検索を自動的に開始することができる。また、ＣＸＭクライアント１００は、受信したユーザコマンドに応じて、いくつかのまたはすべてのリスト化されたコンテンツアイテムを検索することができる。
【００２８】
図５はコンテキスト管理システムの実施形態の例を説明する。この実施形態はＣＸＭクライアント５００、ＣＸＭエンジン５１０、テキストサービスエンジン５２０、検索エンジン５３０、１または複数のクローラー５４０、構成要素抽出エンジン５５０、および１または複数のコンテンツリポジトリ５６０を含む。この実施形態において、ＣＸＭエンジン５１０はテキストサービスエンジン５２０と検索エンジン５３０を含まない。しかし、いくつかの実施形態においては、破線によって示されるように、ＣＸＭエンジン５１０はテキストサービスエンジン５２０、検索エンジン５３０、１または複数のクローラー５４０、および構成要素抽出エンジン５５０を含む。
【００２９】
図６はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。この動作フローとここに説明された他の動作フローは一定の順序でそれぞれ示されるけれども、いくつかの実施形態は示された順序と異なる順序で動作の少なくともいくつかを実行してもよい。可能な異なる順序付けの例は、並列、オーバーラッピング、並べ替え、同時、漸進的、交互、の順序付けを含む。従って、これらの動作フローとここに説明される他の動作フローの他の実施形態は、ブロックを省略し、ブロックを追加し、ブロックの順序を変更し、ブロックを結合するか、ブロックをより多くのブロックに分けるものでもよい。
【００３０】
第１のフローはブロック６００で起動し、そこでクローラーは起動される。第１のフローはそれからブロック６０２に移動し、そこでクローラーは、１または複数のコンテンツリポジトリから記憶されたコンテンツアイテムのそれぞれのリストを検索する。次にブロック６０４で、クローラーは、コンテンツアイテムの任意のリストが新しいコンテンツアイテムまたは変更済みアイテムを含むか判定する。そして、もしそうでなければ（ブロック６０４＝ＮＯ）、第１のフローはブロック６０２に戻る。そうであれば（ブロック６０４＝ＹＥＳ）、第１のフローは、ブロック６０６を続行し、そこでは新しいか又は変更されたコンテンツアイテムがそれぞれのコンテンツリポジトリから検索される。そして、ブロック６０８で、新しいか又は変更されたコンテンツアイテムのコンテンツが正規化される。例えば、クローラーは、新しいか又は変更されたコンテンツアイテムを文書処理サービスに送信することができ、文書処理サービスは、生のフォーマットされていないテキストをコンテンツアイテムから抽出し、それにより、生のフォーマットされていないテキストの形式に、コンテンツアイテムを正規化することができる。
【００３１】
続いて、ブロック６１０で、正規化したコンテンツアイテムはデータウェアハウスに（例えば文書処理サービスによって、クローラーによって）送信される。次に、ブロック６１２で、新しいか又は変更されたコンテンツアイテムの中のキーワード（または他の構成要素）が、例えば構成要素抽出エンジンによって決定される。そして、ブロック６１４で、新しいか又は変更されたコンテンツアイテムの中のキーワードはデータウェアハウスに送信され、第１のフローはそれからブロック６０２に戻る。
【００３２】
ブロック６２１で（例えばファンクションコール、タイマの満了、または割込みに応じて）第２のフローが開始され、そこでは、クエリはＣＸＭクライアントから受信される。クエリはコンテンツアイテム全体（例えば文書、イメージ、ビデオ、Ｅメール、およびオーディオのファイル）、コンテンツアイテムの一部分、コンテンツアイテムについてのコンテキスト情報を含んでよい。ブロック６２１で、クエリと関連づけられるユーザのコンテキストが決定（例えば得られたユーザコンテキストプロファイル経由で）されてよく、クエリと関連づけられるユーザのアクティビティのコンテキストが決定（例えば得られたアクティビティコンテキストプロファイル経由で）されてよく、クエリの内容（例えばコンテンツアイテムの内容）が決定されてもよい。クエリの内容を決定することは、クエリを明確にすることを含んでよく、例えば、「ジャガー」が動物または自動車のどちらを指すのか判定すること、および、綴りが間違っているテキストを訂正することを含む。第２のフローはそれからブロック６２３に移動し、そこにおいて、クエリが拡張されるかどうか決定される。そして、もしそうでなければ（ブロック６２３＝ＮＯ）、第２のフローはブロック６２９を続行する。そうであれば（ブロック６２３＝ＹＥＳ）、第２のフローはブロック６２５に移動し、そこにおいて、キーワードがクエリに基づいて生成される（例えば構成要素抽出エンジンによって特定される）。そしてブロック６２７で、キーワードがクエリに追加されるか、さもなければクエリの中で示されて、第２のフローはそれからブロック６２９に移動する。
【００３３】
ブロック６２９中で、クエリと関連するコンテキストプロファイルが特定される。例えば、クエリはユーザ識別名を含んでよく、ユーザ識別名は、関連するユーザのコンテキストプロファイルを決定するために使用することができる。
【００３４】
ブロック６３１で、１または複数の推奨が、クエリ（拡張されるかもしれないしそうされないかもしれない）と、クエリと関連づけられるユーザのコンテキストプロファイルと、インデックスの中のデータと、データウェアハウスの中の他のデータとに基づいて生成される。最終的に、ブロック６３３で、推奨はＣＸＭクライアントに送信される。
【００３５】
第３のフローはブロック６４０で起動し、そこにおいてインデックス作成サービスが起動される。次にブロック６４２で、インデックス作成サービスは、データウェアハウスによって記憶されるコンテンツアイテムを調査する。第３のフローはそれからブロック６４４に移動し、そこにおいて、インデックス作成サービスは、データウェアハウスが新しい又は変更されたコンテンツアイテムを含むか判定する。そして、もしそうでなければ（ブロック６４４＝ＮＯ）、第３のフローはブロック６４２に戻る。そうであれば（ブロック６４４＝ＹＥＳ）、第３のフローはブロック６４６を続行し、そこにおいて、インデックス作成サービスが、新しい又は変更されたコンテンツアイテムに基づいてインデックスを更新し、それから、第３のフローはブロック６４２に戻る。
【００３６】
図７はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、ＣＸＭクライアント７００によって操作されるＥメール／ウェブのクライアントは、クエリのＨＴＴＰポスト（例えばＪＳＯＮフォーマットのテキスト）を、ＣＸＭエンジン７１０によって操作される検索コントローラに送信する。段階２において、検索コントローラはコンテキスト検索クライアントを起動し、それから、段階３において、検索コントローラはクエリをコンテキスト検索クライアントに送信する。段階４において、コンテキスト検索クライアントはクエリのＨＴＴＰポストを、検索エンジン７３０によって操作される検索ハンドラに送信する。段階５において、コンテキスト検索クライアントは、クエリと関連づけられるコンテキストプロファイル（例えば、クエリと関連づけられるユーザと関連付けられた、或いはクエリの中で特定されるコンテンツアイテムと関連づけられた、或いはクエリの中で示されるアクティビティと関連づけられた）を特定し、コンテキストプロファイルを検索エンジン７３０に送信する。検索エンジン７３０はそれから、クエリおよびコンテキストプロファイルに基づいて推奨（例えば類似文書または他のコンテンツアイテムのリスト）を生成し、段階６において、検索ハンドラは推奨をコンテキスト検索クライアントに返す。続いて、段階７において、コンテキスト検索クライアントは推奨を検索コントローラに送信する。そして段階８において、検索コントローラは、Ｅメール／ウェブのクライアントに、推奨と、いくつかの実施形態においては、推奨を生成するために使われたキーワード（例えばＪＳＯＮオブジェクトの中の）を送信する。
【００３７】
図８はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、ＣＸＭクライアント８００によって操作されるＥメール／ウェブのクライアントはクエリのＨＴＴＰポスト（例えばＪＳＯＮフォーマットの中のテキスト）を、ＣＸＭエンジン８１０によって操作される検索コントローラに送信する。段階２において、検索コントローラはコンテキスト検索クライアントを呼び出し、段階３において、検索コントローラはクエリをコンテキスト検索クライアントに送信する。
【００３８】
続いて段階４において、コンテキスト検索クライアントは、構成要素抽出エンジン８５０によって操作される抽出ハンドラにクエリを含むＨＴＴＰポストを送る。構成要素抽出エンジン８５０はキーワード（または他の構成要素）をクエリから抽出し、段階５において、抽出ハンドラは抽出されたキーワード（または他の構成要素）をコンテキスト検索クライアントに返信する。段階６において、コンテキスト検索クライアントは、抽出されたキーワード（または他の構成要素）の少なくともいくつかとクエリとを含む拡張クエリを生成する。そして、段階７において、コンテキスト検索クライアントは、検索エンジン８３０によって操作される検索ハンドラに、拡張クエリを含むポストを送信する。また、段階７において、コンテキスト検索クライアントは、クエリと関連づけられるコンテキストプロファイルを取得し、コンテキストプロファイルを検索ハンドラに送信してもよい。検索エンジン８３０は、拡張クエリに基づき、そして受信されたならコンテキストプロファイルに基づいて、推奨を生成する。検索ハンドラは推奨を段階８においてコンテキスト検索クライアントに返信する。コンテキスト検索クライアントは段階９において推奨を検索コントローラに送信し、最終的に、段階１０において、検索コントローラは推奨と、いくつかの実施形態においてはキーワード（または他の構成要素）（例えばＪＳＯＮオブジェクトの中の）とをＥメール／ウェブのクライアントに送信する。
【００３９】
図９はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、ＣＸＭエンジン９１０によって操作される構成要素抽出クライアントは、コンテンツアイテムの要求を、データウェアハウス９３２によって操作されるデータサーバに送信する。データウェアハウス９３２は、データリポジトリで見つかるコンテンツアイテムのフォーマットされていないバージョン（例えば生の、フォーマットされていないテキスト）を記憶してもよい。段階２において、データサーバは要求されたコンテンツアイテムを構成要素抽出クライアントに送信する。次に段階３において、構成要素抽出クライアントは、コンテンツアイテムを、構成要素抽出エンジン９５０によって操作される構成要素抽出サービスに送信する。受信したコンテンツアイテムに基づいて、構成要素抽出エンジン９５０はキーワード（または他の構成要素）と、いくつかの実施形態においてはコンテンツアイテムの要約を生成する。そして、段階４において、構成要素抽出サービスは、キーワード（およびいくつかの実施形態では要約）を構成要素抽出クライアントに送信する。最後に段階５において、構成要素抽出クライアントは、キーワード（及びすべての要約）をデータサーバに送信する。データサーバは、キーワード（及びすべての要約）を生成するために使われたコンテンツアイテムと関連してキーワード（及びすべての要約）を記憶する。
【００４０】
図１０はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、クローラー１０４０によって操作されるクローラーサービス１０４２は、コンテンツアイテムのリストであるコンテンツリストの取り出し要求と、コンテンツアイテムの変更日とをコンテンツ管理サービスクローラーサービス１０４３へ送信する。段階２において、コンテンツ管理サービスクローラーサービス１０４３は、コンテンツリストと変更日の要求をコンテンツリポジトリ１０６０（例えばコンテンツ管理サービス、共有フォルダ、企業ファイルサーバ、ネットワークドライブ）に送信する。そして段階３において、コンテンツリポジトリ１０６０は、コンテンツリストとコンテンツリストによって特定されるコンテンツアイテムの変更日とをコンテンツ管理サービスクローラーサービス１０４３に返信する。それからコンテンツ管理サービスクローラーサービス１０４３は、段階４において、コンテンツリストと変更日（例えば日、時間）とをクローラーサービス１０４２に送信する。クローラーサービス１０４２は、コンテンツリストと、変更日と、コンテンツリポジトリ１０６０の前回のクローリング日付とに基づいて、新しいコンテンツアイテム及び変更されたコンテンツアイテムのリストを生成する。そして、段階５において、クローラーサービス１０４２は、新しいコンテンツアイテム及び変更されたコンテンツアイテムのリストをオブジェクトモデルサービスに送信する。
【００４１】
段階６において、オブジェクトモデルサービスは、新しいコンテンツアイテム及び変更されたコンテンツアイテムの要求をコンテンツリポジトリ１０６０に送信する。次に段階７において、オブジェクトモデルサービスは新しいコンテンツアイテム及び変更されたコンテンツアイテムをコンテンツリポジトリ１０６０から得る。続いて、段階８においてオブジェクトモデルサービスは、新しいコンテンツアイテム及び変更されたコンテンツアイテムをクローラーサービス１０４２に送信する。段階９において、オブジェクトサービスモデルは、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータの要求をコンテンツリポジトリ１０６０に送信する。コンテンツリポジトリ１０６０は、段階１０において、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータをオブジェクトモデルサービスに送信する。そして、段階１１において、オブジェクトモデルサービスは、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータをクローラーサービス１０４２に送信する。
【００４２】
段階１２において、クローラーサービス１０４２は、新しいコンテンツ及び削除されたコンテンツ情報を同期サービスに送信する。新しいコンテンツ及び削除されたコンテンツ情報は、新しいコンテンツアイテムを含むことがあり、新しいコンテンツアイテムのメタデータを含むことがあり、変更されたコンテンツアイテムを含むことがあり、変更されたコンテンツアイテムのメタデータを含むことがあり、削除されたコンテンツアイテムを特定することがある。最後に段階１３において、同期サービスは、新しいコンテンツ及び削除されたコンテンツの情報を文書処理サービス１０２１に送信する。文書処理サービス１０２１は新しいコンテンツ及び削除されたコンテンツの情報に基づいてインデックスまたはデータウェアハウスを更新する。例えば、文書処理サービス１０２１は、削除されたコンテンツアイテムに対応するインデックス内の情報を削除することができ、新しいコンテンツアイテムまたは変更されたコンテンツアイテムに対応する情報をインデックスに追加することができる。
【００４３】
図１１はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、クローラー１１４０によって操作されるクローラーサービス１１４２は、コンテンツリポジトリ１１６０に記憶されるコンテンツアイテムとそれらの記憶位置のすべてを特定するマスタリストの要求をオブジェクトモデルサービスに送信する。段階２において、オブジェクトモデルサービスは、マスタリストをコンテンツリポジトリ１１６０から得て、マスタリストをクローラーサービス１１４２に送信する。クローラーサービス１１４２は、マスタリストに基づいて、コンテンツリストと、コンテンツリスト内のコンテンツアイテムを記憶するそれぞれのコンテンツリポジトリ１１６０とを決定する。段階３において、クローラーサービス１１４２は、コンテンツリポジトリ（例えばコンテンツリポジトリ１１６０）のコンテンツリストとコンテンツリスト中のコンテンツアイテムの変更日との要求をＲＥＳＴサービスへ送る。段階４において、ＲＥＳＴサービスは、コンテンツリストとコンテンツリスト中のコンテンツアイテムの変更日との要求を、それぞれのコンテンツリポジトリ１１６０へ送信し、段階５において、コンテンツリポジトリ１１６０は、コンテンツリストと変更日とをＲＥＳＴサービスに送信する。次に段階６において、ＲＥＳＴサービスはコンテンツリストと変更日とをクローラーサービス１１４２に送信する。
【００４４】
クローラーサービス１１４２はそれから、コンテンツリスト中のどのコンテンツアイテムが新しいかまたは変更されているかを判定し、段階７において、新しいコンテンツアイテム及び変更されたコンテンツアイテムと、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータとの要求をオブジェクトモデルサービスに送信する。続いて、段階８においてオブジェクトモデルサービスは、新しいコンテンツアイテムと変更されたコンテンツアイテムの要求をコンテンツリポジトリ１１６０に送信する。コンテンツリポジトリ１１６０は、段落９において、新しいコンテンツアイテム及び変更されたコンテンツアイテムをオブジェクトモデルサービスに送信する。オブジェクトモデルサービスは、段階１０において、新しいコンテンツアイテム及び変更されたコンテンツアイテムをクローラーサービス１１４２に送信する。
【００４５】
次に、段階１１において、オブジェクトモデルサービスは新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータの要求をコンテンツリポジトリ１１６０に送信する。段階１２において、コンテンツリポジトリ１１６０は、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータをオブジェクトモデルサービスに送信し、段階１３において、オブジェクトモデルサービスは、新しいコンテンツアイテム及び変更されたコンテンツアイテムのメタデータをクローラーサービス１１４２に送信する。段階１４において、クローラーサービス１１４２は、新しいコンテンツ及び削除されたコンテンツの情報を同期サービスに送信する。最後に段階１５において、同期サービスは、新しいコンテンツ及び削除されたコンテンツの情報を文書処理サービス１１２１に送信する。文書処理サービス１１２１は、新しいコンテンツ及び削除されたコンテンツの情報をキーにしたインデックスまたはデータウェアハウスを更新する。
【００４６】
図１２はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、ＣＸＭクライアント１２００によって操作されるインタフェースサービスは、Ｅメールクエリ（Ｅメールに基づくクエリ）をＣＸＭクライアント１２００のクエリサービスに送信する。インタフェースサービスは例えばウェブブラウザへの、またはＥメールアプリケーションへのプラグインであればよい。クエリサービスは、クエリがＥメールクエリであると判定し、Ｅメールクエリを段階２においてＥメールファインダに送信する。次に段階３において、Ｅメールファインダは、Ｅメールクエリを、ＣＸＭエンジン１２１０によって操作される検索エンジン１２３０に送信する。この実施形態の例においては、検索エンジン１２３０が検索する推奨はディレクトリ（すなわちフォルダなどの他の記憶場所）であり、Ｅメールクエリと関連しているディレクトリを検索エンジン１２３０は検索する。そして段階４において、検索エンジン１２３０は推奨されたディレクトリ（及びいくつかの実施形態ではキーワード）をＥメールファインダに送信する。Ｅメールファインダはそれから、推奨されたディレクトリを段階５においてクエリサービスに送信する。
【００４７】
また段階６において、インタフェースサービスは、添付書類クエリ（Ｅメールの添付書類に基づくクエリ）をクエリサービスに送信する。段階７において、クエリサービスは添付書類クエリを添付書類ファインダに送信し、そして、ファインダは添付書類クエリを段階８において検索エンジン１２３０に送信する。検索エンジン１２３０はそれから、添付書類クエリと関連しているディレクトリ（または他の記憶場所）を検索し、検索エンジン１２３０は推奨されたディレクトリを段階９において添付書類ファインダに送信する。段階１０において、添付書類ファインダは推奨されたディレクトリをクエリサービスに送信する。
【００４８】
さらに、この実施形態は、文書リポジトリに追加された最新のコンテンツアイテムを捜す専用の最新アイテムファインダを含む。ＣＸＭエンジン１２１０は、データウェアハウスに追加されている最新のコンテンツアイテムについての情報を記憶する専用のメタデータキャッシュを含んでもよい。段階１１において、クエリサービスは、Ｅメールクエリと添付書類クエリとの結合であるクエリを最新アイテムファインダへ送信する。最新アイテムファインダは結合されたクエリを、ＣＸＭエンジン１２１０によって操作される最新コンテンツサーチャに送信する。最新コンテンツサーチャは、結合クエリと関連しているディレクトリ推奨のため、メタデータキャッシュと、最近アクセスされたディレクトリと最近追加されたコンテンツアイテムの他の記録とを検索する。次に、段階１３において、最新コンテンツサーチャは、推奨されたディレクトリを最新アイテムファインダに送信する。いくつかの実施形態においては、最新アイテムファインダはまた、最近アクセスされた文書、最近アクセスされたディレクトリ、または他のコンテンツアイテムのために、ＣＸＭクライアント１２００を操作するコンピューティング装置の上のローカルファイルシステムを検索する。例えば、いくつかのオペレーティングシステムは、最近アクセスされた文書と最近アクセスされたディレクトリへのリンクのリストを管理し、最新アイテムファインダは、最近アクセスされた文書、ディレクトリ、および他のコンテンツアイテムを検索するためにリンクのリストを使うことができる。最新アイテムファインダは、推奨されたディレクトリを段階１４においてクエリサービスに送信する。クエリサービスはそれから、それが段階５、１０、および１４において受信した推奨されたディレクトリを集め、段階１５において、クエリサービスは集めた推奨をインタフェースサービスに送信する。集めた推奨は、キーワードに割り当てられた推奨されたディレクトリ、キーワード、重みなどを含むことがある。さらに、クエリサービスは、推奨されたディレクトリをインタフェースサービスに送信する前に、それが段階５、１０、および１４において受信した推奨されたディレクトリをソートし、フィルタリングしてもよい。
【００４９】
図１３はコンテキスト管理システムにおける動作フローの実施形態の例を説明する。段階１において、ＣＸＭクライアント１３００によって操作されるインタフェースサービスはＥメールクエリをクエリサービスに送信し、段階２において、クエリサービスはＥメールクエリをＥメールファインダに送信する。次に、段階３において、ＥメールファインダはＥメールクエリを、ＣＸＭエンジン１３１０によって操作される検索エンジン１３３０に送信する。この実施形態で、検索エンジン１３３０は、．ｔｘｔファイル、．ｒｔｆファイル、．ｐｄｆファイル、．ｄｏｃファイル、．ｄｏｃｘファイル、．ｘｌｓファイル、．ｘｌｓｘファイル、．ｘｐｓファイル、．ｘｍｌファイル、．ｈｔｍｌファイル、．ｐｐｔファイル、．ｐｐｔｘファイル、．ｏｄｐファイル、および．ｏｄｆファイルなどの推奨された文書を検索する。この実施形態は文書を用いるけれども、他の実施形態では他のタイプのコンテンツを用いてもよい。段階４において、検索エンジン１３３０は推奨された文書をＥメールファインダに返す。続いて、段階５においてＥメールファインダは、推奨された文書をクエリサービスに送信する。
【００５０】
また、この実施形態は、Ｅメールとそれらの添付書類の検索を開始する専用の添付書類ファインダを含む。いくつかの実施形態は、特定タイプのコンテンツ（例えば文書、イメージ、オーディオファイル、ビデオ）を検索するか、別の判定基準または他の標準を満たしているコンテンツアイテムを検索することができる他の専用のファインダを含んでもよい。段階６において、クエリサービスはＥメールの要求を添付書類ファインダに送信し、段階７において、添付書類ファインダはＥメールの要求を検索エンジン１３３０に送信する。次に、検索エンジン１３３０は、推奨されたＥメールと添付書類を検索し、段階８において、検索エンジン１３３０は、推奨されたＥメールと添付書類を添付書類ファインダに送信する。段階９において、添付書類ファインダは、推奨されたＥメールと添付書類をクエリサービスに送信する。
【００５１】
さらに、この実施形態は、指定された時間（例えば１時間、１日、週）以内に作成されたか、アクセスされたか、変更されたコンテンツアイテムを検索する最新アイテムファインダを含む。段階１０において、クエリサービスは、Ｅメールクエリを最新アイテムファインダに送信する。段階１１において、最新アイテムファインダは、Ｅメールクエリを、推奨された文書をメタデータキャッシュで検索する最新コンテンツサーチャに送信する。段階１２において、最新コンテンツサーチャは、推奨された文書を最新アイテムファインダに送信する。最新アイテムファインダは、推奨された文書を段階１３においてクエリサービスに送信する。クエリサービスは、段階５において受信した推奨された文書と、段階９において受信した推奨されたＥメール及び添付書類と、段階１３において受信した推奨された文書の集約、フィルタリング、ソートの少なくともひとつを実行する。最後にクエリサービスは、推奨（例えば推奨された文書、キーワード）および、いくつかの実施形態では推奨についての他の情報（例えばキーワードの重み）をインタフェースサービスに送信する。
【００５２】
図１４はコンテキスト管理システムの実施形態の例を説明する。システムはクライアント装置１４７０、コンテンツ記憶装置１４７５、およびコンテキスト管理装置１４８０を含む。これらの装置は１または複数のネットワーク１４９９経由で通信する（それは例えばＬＡＮ、ＭＡＮ、ＩＡＮ、ＷＡＮ、およびインターネットを含んでよい）。クライアント装置１４７０は１または複数のプロセッサ（ＣＰＵ）１４７１、１または複数の入出力インタフェース１４７２、およびストレージ／メモリ１４７３を含む。ＣＰＵ１４７１は、マイクロプロセッサ（例えばシングルコアマイクロプロセッサ、マルチコアマイクロプロセッサ）または他の回路を含む１または複数の中央処理装置を含み、ＣＰＵ１４７１は、ストレージまたはメモリ（例えば、ストレージまたはメモリに保存されるモジュールの中）に保存される命令などのコンピュータ実行可能命令を読み、実行するよう構成される。コンピュータ実行可能命令は、ここに説明された動作を実行するための命令を含むことができる。入出力インタフェース１４７２は、入出力デバイスに対する通信インタフェースを含み。入出力デバイスは、キーボード、ディスプレイ、マウス、印刷装置、タッチスクリーン、ライトペン、光記憶装置、スキャナ、マイクロホン、カメラ、ドライブ、およびネットワーク（有線および無線のどちらでも）を含む。
【００５３】
ストレージ／メモリ１４７３は１または複数のコンピュータ可読またはコンピュータ書き込み可能な媒体、例えばコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、一時的で伝播する単なる信号と対比すると、有体物の製品、例えば磁気ディスク（例えばフロッピィディスク、ハードディスク）、光ディスク（例えばＣＤ、ＤＶＤ、ブルーレイ）、光磁気ディスク、磁気テープ、および半導体メモリ（例えば不揮発性メモリカード、フラッシュメモリ、半導体ドライブ、ＳＲＡＭ、ＤＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ）を含む。ストレージ／メモリ１４７３は、コンピュータ可読データ、コンピュータ実行可能命令、またはその両方を記憶するよう構成される。クライアント装置１４７０の構成要素はバス経由で通信する。また、クライアント装置１４７０はＣＸＭクライアント１４００を含む。
【００５４】
コンテンツ記憶装置１４７５は、１または複数のＣＰＵ１４７６、１または複数の入出力インタフェース１４７７、およびストレージ／メモリ１４７８を含む。コンテンツ記憶装置１４８０はまたコンテンツリポジトリ１４６０を含む。さらに、コンテキスト管理装置１４８０は、１または複数のＣＰＵ１４８１、入出力インタフェース１４８２、およびストレージ／メモリ１４８３を含む。最後に、コンテンツ記憶装置１４８０はまた、ＣＸＭエンジン１４１０、構成要素抽出エンジン１４５０、およびクローラー１４４０を含む。
【００５５】
さらに、いくつかの実施形態では、クライアント装置１４７０はまたクローラー１４４０、コンテンツリポジトリ１４６０、およびＣＸＭエンジン１４１０のうちの１または複数を操作する。これらの実施形態では、より迅速に、クライアント装置１４７０上で記憶されるコンテンツアイテムに基づく推奨を生成することができる。
【００５６】
図１５はコンテキスト管理システムの実施形態の例を説明する。このシステムは、クライアント装置１５７０、コンテンツ記憶装置１５７５、コンテキスト管理装置１５８０、および構成要素抽出装置１５８５とクローラー装置１５９０を含む。これらの装置は１または複数のネットワーク１５９９経由で通信する。クライアント装置１５７０は１または複数のＣＰＵ１５７１、１または複数の入出力インタフェース１５７２、およびストレージ／メモリ１５７３を含み、クライアント装置１５７０はＣＸＭクライアント１５００を含む。コンテンツ記憶装置１５７５は１または複数のＣＰＵ１５７６、１または複数の入出力インタフェース１５７７、ストレージ／メモリ１５７８とコンテンツリポジトリ１５６０を含む。コンテキスト管理装置１５８０は、１または複数のＣＰＵ１５８１、１または複数の入出力インタフェース１５８２、およびストレージ／メモリ１５８３を含む。また、コンテキスト管理装置１５８０は、ＣＸＭエンジン１５１０、テキストサービスエンジン１５２０、および検索エンジン１５３０を含む。構成要素抽出装置１５８５は、１または複数のＣＰＵ１５８６、１または複数の入出力インタフェース１５８７、およびストレージ／メモリ１５８８を含み、構成要素抽出装置１５８５はさらに構成要素抽出エンジン１５５０を含む。最後に、クローラー装置１５９０は、１または複数のＣＰＵ１５９１、１または複数の入出力インタフェース１５９２、およびストレージ／メモリ１５９３を含み、クローラー装置１５９０はまたクローラー１５４０を含む。
【００５７】
図１６はコンテキスト管理システムの実施形態の例を説明する。このシステムは、ＣＸＭエンジン１６１０と４つのＣＸＭクライアント１６００とを含む。ＣＸＭクライアント１６００は一定のコンピュータ環境のためにそれぞれ専門的である。ＥメールＣＸＭクライアント１６００ＡはＥメールアプリケーションのための推奨を生成する。デスクトップＣＸＭクライアント１６００Ｂは例えば、インタフェースを操作するコンピューティング装置のコンテンツアイテムを表示するユーザインタフェースを使う場合、デスクトップ環境下の推奨を生成する。文書処理ＣＸＭクライアント１６００Ｃは、文書処理アプリケーションのための推奨を生成する。最後に、ブラウザＣＸＭクライアント１６００Ｄはウェブブラウザのための推奨を生成する。システムの他の実施形態は他の専門的なクライアントを含んでもよい。
【００５８】
図１７はコンテキスト管理システムのためにユーザインタフェース１７００の実施形態の例を説明する。ユーザインタフェース１７００はＥメールヘッダーエリア１７０５、添付書類エリア１７０６、およびメッセージエリア１７０７を含む。ユーザインタフェースはまた提案エリア１７１０を含む。提案エリア１７１０には、添付書類エリア１７０６にリストされる添付書類のための推奨された記憶場所についてのアイコン１７１５を表示する。クライアント装置がＥメールメッセージをオープンし、ユーザインタフェース１７００中でメッセージを表示する場合、ＥメールクライアントのためのプラグインであるかもしれないＣＸＭクライアントは、クエリをＣＸＭエンジンに送信する。クエリは添付書類の名前を含み、また送信者の名前、すべての受信者の名前、Ｅメールのタイトル、およびＥメールの本文などの他の情報を含んでもよい。さらに、クエリはまた、現在オープンされている全ての他のファイルの名前、最近オープンされたファイルのリスト、最近アクセスされた記憶場所のリスト、およびクライアント装置の上で現在実行されている他のアプリケーションのリストなどの、クライアント装置上の他のサービスまたはアプリケーションからの情報を含んでもよい。また、クエリは記憶場所の要求を含んでもよい。
【００５９】
ＣＸＭエンジンはクエリを受信し、クエリに基づいた推奨を生成する。ＣＸＭエンジンはそれから、この例においては記憶場所である推奨をＣＸＭクライアントに送信する。ＣＸＭクライアントはそれから推奨された記憶場所を提案エリア１７１０に追加する。ユーザインタフェース１７００により、ユーザは、例えば、推奨された記憶場所のアイコン１７１５へ添付書類のアイコンを「ドラッグ」することで、あるいは、推奨された記憶場所のアイコン１７１５上でタップやクリックをすることで、推奨された記憶場所に添付書類を記憶することができる。
【００６０】
さらに、ユーザインタフェース１７００は、クライアント装置が記憶場所に添付書類を記憶する場合に、添付書類をＥメールから削除して添付書類を記憶場所へのリンクと置換するようにユーザがクライアント装置に命じることができるコントロール１７２０を含む。例えば、コントロール１７２０が起動され、下書き文書のアイコン１７１５上へと添付書類Ｍｅｍｏ．ｔｘｔのアイコンをユーザがドラッグすると、クライアント装置は下書き文書の中にＭｅｍｏ．ｔｘｔを記憶し、Ｍｅｍｏ．ｔｘｔをＥメールから削除し、Ｍｅｍｏ．ｔｘｔへのリンクをＥメールに追加する。添付書類を添付書類へのリンクと置換することは、Ｅメールを記憶するために必要とされているスペースを減らすことに役立ち得る。
【００６１】
図１８はコンテキスト管理システムのためにユーザインタフェース１８００の実施形態の例を説明する。ユーザインタフェース１８００はＥメールヘッダーエリア１８０５、添付書類エリア１８０６、およびメッセージエリア１８０７を含む。ユーザインタフェースはまた提案エリア１８１０を含み、提案エリア１８１０には、Ｅメールメッセージ（コンテンツアイテムの例である）のコンテンツとコンテキストとに基づいて推奨されたコンテンツアイテムのためのアイコン１８１５を表示する。クライアント装置が新しいＥメールメッセージをオープンし、ユーザが情報をＥメールに追加し始めるとき、ＥメールクライアントのためのプラグインであるかもしれないＣＸＭクライアントはクエリをＣＸＭエンジンに送信する。クエリは、例えば送信者の名前、すべての受信者の名前、Ｅメールのタイトル、Ｅメールの本文、Ｅメールのすべての添付書類のリスト、および添付書類のコンテンツの少なくともいくつかになど、Ｅメールに付加されている少なくともいくつかの情報を含む。さらに、クエリはまた、現在オープンされている全ての他のファイルの名前、最近オープンされたファイルのリスト、最近アクセスされた記憶場所のリスト、およびクライアント装置の上で現在実行されている他のアプリケーションのリストなどの、クライアント装置上の他のサービスまたはアプリケーションからの情報を含んでよい。また、クエリは特定の文書の要求を含むことがある。
【００６２】
ＣＸＭエンジンはクエリを受信し、クエリに基づいた推奨を生成する。ＣＸＭエンジンはそれから、この例においては文書である推奨をＣＸＭクライアントに送信する。ＣＸＭクライアントはそれから、推奨された記憶場所を提案エリアに追加する。ユーザインタフェース１８００により、ユーザは、例えば、添付書類エリア１８０６へ推奨された文書のアイコン１８１５を「ドラッグ」することにより、あるいは推奨された文書のアイコン１８１５上でタップやクリックをおこなうことにより、Ｅメールに添付書類を追加することができる。
【００６３】
さらに、ユーザインタフェース１８００は、文書そのものを添付する代わりにリンクを選択された文書に添付するようにユーザがクライアント装置に命じることができるコントロール１８２０を含む。例えば、コントロール１８２０が起動され、添付書類Marketing Guidelinesのアイコン１８１５をユーザが選択すると、クライアント装置はMarketing GuidelinesへのリンクをＥメールに追加し、添付書類エリア１８０６で添付書類の通知を表示する。さらに、ユーザインタフェースは検索エリア１８２５を含む。検索エリアは、検索エリア１８２５中に入力される一定の基準（例えば文書名、ファイル形式、変更日、およびファイルサイズ）を満たしている文書で推奨された文書を検索するようユーザがクライアント装置に命じることを可能にする。
【００６４】
図１９Ａと図１９Ｂはユーザのコンテキストプロファイルの実施形態の例を説明する。図１９Ａはユーザ（すなわちユーザＡＢＣ）のコンテキストプロファイルを示す。コンテキストプロファイルは、ユーザの業務、ユーザのコンピューティング装置の上でオープンされたアプリケーション、およびユーザが最近アクセスしたファイルについての情報を含む。いくつかの実施形態はこれらの例において示されたコンテキスト情報に加えて、あるいは代えて、他のコンテキスト情報を含んでもよい。例えば、いくつかの実施形態は、最近アクセスされたディレクトリ、セキュリティ特権、最近閉じたアプリケーション、同僚名、検索、最近のミーティング、現在のミーティング、最近のＥメール、最近の協力、日付と時刻、ユーザが作業した以前の計画、ユーザの技能、ユーザの興味、またはユーザの過去のアクティビティを含んでもよい。
【００６５】
図１９Ｂは、ユーザのアクティビティに応じたコンテキストプロファイル情報の変化を説明する。ユーザが文書処理アプリケーションを閉じて、「ＡＬ−１８９フラックスコンデンサビデオ」と名付けられるビデオを見るためにビデオ再生アプリケーションをオープンすると、「アプリケーション」セクションは、文書処理アプリケーションを削除し、ビデオ再生アプリケーションを追加することで変更される。また、「最近アクセスしたファイル」セクションは、「ＡＬ−１８９フラックスコンデンサビデオ」を追加するように変更される。この結果、コンテキストプロファイルは規則的に更新でき、それにより少なくともコンテキストプロファイルの一部分に基づいて生成される推奨の妥当性を改善できる。いくつかの実施形態において、セクションの中の情報はランキングに従って編成される。例えば、「アプリケーション」セクションは、何回アプリケーションが使われるか、またはどのアプリケーションが現在使用されているかに基づいて昇順にソートできる。従って、いくつかの実施形態では、文書処理アプリケーションが閉じられ、ビデオ再生アプリケーションがオープンされると、その両方が「アプリケーション」セクションの中で示されるけれども、文書処理アプリケーションはリストの中でビデオ再生アプリケーションより低いところに移動される。
【００６６】
図２０Ａと図２０Ｂはコンテンツアイテムのコンテキストプロファイルの実施形態の例を説明する。図２０Ａにおけるコンテンツアイテムはテキスト文書であり、コンテキストプロファイルはテキスト文書についてのコンテキスト情報のいくらかを含む。例えば、コンテキストプロファイルは、文書の著者、文書が最後に閲覧された日付、ファイルサイズ、および文書と関連するプロジェクトを示す。図２０Ｂにおけるコンテンツアイテムは画像である。コンテキストプロファイルは、著者、画像が最後に閲覧された日付、およびタグなどの画像についてのコンテキスト情報を含む。
【００６７】
上記で説明された装置、システム、および方法は、コンピュータ実行可能命令を読み、実行するよう構成１または複数のコンピューティング装置に上記で説明された動作を実現するために、コンピュータ実行可能命令を含む１または複数のコンピュータ可読媒体を提供することによって実施することができる。従って、システムまたは装置はコンピュータ実行可能命令を実行する際に上記説明した実施形態の動作を実行する。また、１または複数のシステムまたは装置の上のオペレーティングシステムは上記で説明された実施形態の動作の少なくともいくつかを実施することがある。従って、コンピュータ実行可能命令または、コンピュータ実行可能命令を含んでいる１または複数のコンピュータ可読媒体は実施形態を構成している。
【００６８】
どのような適用可能なコンピュータ可読媒体（例えば磁気ディスク（フロッピィディスク、ハードディスクを含む）、光ディスク（ＣＤ、ＤＶＤ、ブルーレイディスクを含む）、光磁気ディスク、磁気テープ、および半導体メモリ（フラッシュメモリ、ＤＲＡＭ、ＳＲＡＭ、半導体ドライブ、ＥＰＲＯＭ、ＥＥＰＲＯＭを含む））でもコンピュータ実行可能命令のためのコンピュータ可読媒体として利用できる。コンピュータ実行可能命令は、装置に挿入された機能拡張ボードまたは装置と接続された機能拡張ユニットで提供されるコンピュータ可読記憶媒体で記憶することができ、機能拡張ボードまたはユニットで提供されたＣＰＵは上記で説明された実施形態の動作の少なくともいくつかを実施することができる。
【００６９】
特許請求の範囲は、上記で説明された実施形態に制限されることはなく、様々な変形と均等な構成とを含む。また、ここに使われるように、「または」は、それが排他的な「または」であることを明確に示されるか、或いは文脈から示されるならば「または」は排他的な「または」を指すが、結合「または」は一般的には包含的な「または」を指す。
【図１】
2015210818.tif 000003
【図２】
2015210818.tif 000004
【図３】
2015210818.tif 000005
【図４Ａ】
2015210818.tif 000006
【図４Ｂ】
2015210818.tif 000007
【図５】
2015210818.tif 000008
【図６】
2015210818.tif 000009
【図７】
2015210818.tif 000010
【図８】
2015210818.tif 000011
【図９】
2015210818.tif 000012
【図１０】
2015210818.tif 000013
【図１１】
2015210818.tif 000014
【図１２】
2015210818.tif 000015
【図１３】
2015210818.tif 000016
【図１４】
2015210818.tif 000017
【図１５】
2015210818.tif 000018
【図１６】
2015210818.tif 000019
【図１７】
2015210818.tif 000020
【図１８】
2015210818.tif 000021
【図１９Ａ】
2015210818.tif 000022
【図１９Ｂ】
2015210818.tif 000023
【図２０Ａ】
2015210818.tif 000024
【図２０Ｂ】
2015210818.tif 000025