(57)【要約】【課題】クエリを利用して、新しいコンテンツおよび変更されたコンテンツの特定に応答して通知を生成するデータリポジトリ監視システムを提供する。【解決手段】このシステムは、新しいかまたは変更されたコンテンツの受信を特定するために、複数の異なるリポジトリを監視する監視コンポーネントを含む。この監視コンポーネントは、インポートされたコンテンツのメタデータを特定するクエリコンポーネントを含む。クエリは、グラフィカルユーザインターフェースを介して発生し、監視コンポーネントに通信することができる。クエリコンポーネントによって特定された着信コンテンツを受信するとプロンプトを生成するように、通知コンポーネントも提供される。本発明は、インポートされた（例えば、新しい）メタデータに対応するメタデータを維持するセントラル化されたストア（例えば、変更キュー）を使用する。【選択図】図１
2006244495.tif 000002
【特許請求の範囲】
【請求項１】
複数のリポジトリのコンテンツの追跡を容易にするシステムであって、
複数のリポジトリの１つに受信されたコンテンツに対応するインポートされたメタデータを監視する監視コンポーネントであって、前記インポートされたメタデータを使用して、前記コンテンツに対して変更が行われたかを決定する監視コンポーネントを備えたことを特徴とするシステム。
【請求項２】
前記コンテンツに対する変化の特定を容易にするクエリコンポーネントと、
前記変化についてプロンプトする警告を発生する通知コンポーネントと
をさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記クエリコンポーネントの定義付けを容易にするコンポーネントをさらに備えたことを特徴とする請求項２に記載のシステム。
【請求項４】
請求項３に記載のシステムを使用することを特徴とするユーザインターフェース。
【請求項５】
前記インポートされたメタデータを維持する変更キューコンポーネントをさらに備え、前記監視コンポーネントは前記変更キューコンポーネントに問い合わせて前記インポートされたメタデータを得ることを特徴とする請求項２に記載のシステム。
【請求項６】
前記警告は、視覚的警告であることを特徴とする請求項２に記載のシステム。
【請求項７】
前記警告は、聴覚的警告であることを特徴とする請求項２に記載のシステム。
【請求項８】
前記監視コンポーネントは、前記クエリコンポーネントを自動的に定義するルールに基づくロジックコンポーネントを備えたことを特徴とする請求項２に記載のシステム。
【請求項９】
前記監視コンポーネントは、ユーザの意図を予測し、前記クエリコンポーネントを前記ユーザの意図に応じて定義する人工知能コンポーネントを備えたことを特徴とする請求項２に記載のシステム。
【請求項１０】
前記監視コンポーネントは、前記複数の異なるリポジトリからリモートに配置されたことを特徴とする請求項１に記載のシステム。
【請求項１１】
請求項１に記載のコンポーネントを格納したことを特徴とするコンピュータ可読媒体。
【請求項１２】
複数の異なるリポジトリのコンテンツを監視する方法であって、
前記複数の異なるリポジトリの１つを監視するクエリを定義することと、
新しいコンテンツに対応するメタデータを格納することと、
新しいコンテンツに対応するメタデータを特定するように前記クエリを書き換えることと、
前記メタデータが特定されると通知を発生することと
を備えることを特徴とする方法。
【請求項１３】
グラフィカルユーザインターフェースの通知パネルに前記クエリを追加することをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記クエリをスタンディングクエリとして指定することをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記メタデータを変更キューに格納することをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記クエリを定義する前記行為は、ルールに基づくロジックおよび人工知能の少なくとも１つを使用して前記クエリを自動的に定義することをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１７】
複数の異なるリポジトリ内の新しいコンテンツの特定を容易にするシステムであって、
前記複数の異なるリポジトリの少なくとも１つを監視するようにクエリを定義するための手段と、
前記複数の異なるリポジトリによって受信された前記新しいコンテンツからメタデータを抽出するための手段と、
前記新しいコンテンツに対応する前記メタデータを維持するための手段と、
維持されたメタデータを特定するように前記クエリを書き換えるための手段と、
前記維持されたメタデータが特定されるとプロンプトするための手段と
を備えたことを特徴とするシステム。
【請求項１８】
前記クエリをグラフィカルユーザインターフェースの通知パネルに追加するための手段と、前記クエリをスタンディングクエリとして指定するための手段とをさらに備え、前記スタンディングクエリは前記複数の異なるリポジトリの前記少なくとも１つを継続的に監視することを特徴とする請求項１７に記載のシステム。
【請求項１９】
予め定められたルールに従って前記クエリを自動的に定義するための手段をさらに備えたことを特徴とする請求項１８に記載のシステム。
【請求項２０】
予測されたユーザの意図に従って前記クエリを自動的に定義するための手段をさらに備えたことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、さらに詳しくは、新しいおよび／または変更されたコンテンツについて異なるデータリポジトリ（ｄｉｓｐａｒａｔｅ  ｄａｔａ  ｒｅｐｏｓｉｔｏｒｉｅｓ）の監視を容易にするシステムおよび方法論に関する。
【背景技術】
【０００２】
コンピュータへの依存性がますます一般的になるにつれて、受信され、生成され、変更され、そして／または削除されたデータを管理するタスクは大幅に増大する。しばしばコンピュータユーザは、いくつかのユーティリティ、エンターテイメント、および通信のアプリケーション（例えば、電子メールアカウント、コンテンツダウンロードソース）に関連して、様々なローカルおよび共有ファイルシステムにアクセスする。技術の進歩およびコンピューティングシステムへの依存性の増加と共に、さらに詳しくは多数のリポジトリに関係するコンテンツの編成および管理において、これらのリポジトリに関してコンテンツの活動を監視する必要性が進行し、増大している。加えて、これらの多数のリポジトリのコンテンツの変更に応答して通知を生成する顕著な必要性がある。
【０００３】
今日、コンピュータユーザはしばしば、多くの異なるソース内に維持され、それらから受信される様々なコンテンツ（例えば、写真、電子メール）を管理しなければならない。例えば、ユーザは、アクセス可能なローカルファイルシステム、共有ファイルシステム、複数の電子メールアカウントなどのコンテンツを管理し編成しなければならない。これらのリポジトリの効果的な監視を維持するために、コンテンツの到着および／または変更があり次第、ユーザがプロンプトを受け取るようにすると有用であろう。このプロンプトは、ワールドワイドウェブ、ネットワーク「共有」、電子メールアカウント、またはローカルマシンをはじめ、それらに限らず、ソースを監視するのに特に役立つであろう。
【０００４】
従来の電子メールアプリケーションは、新しい電子メールコンテンツの到着を監視するための限定されたモデルを提供する。例えば、電子メールシステムは、新たに受信したコンテンツをユーザに通知する。しかし、これらの従来のシステムは、他のタイプのデータの到着および／または変更には対処しないという点で、限定されている。今日、特定の電子メールシステムは、特定の電子メールアプリケーション内で電子メールの到着をユーザに通知するだけに限定されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、ユーザアクセス可能なファイルシステムおよび対応するアプリケーション全体にわたってコンテンツの受信および／または変更の通知を提供することができる、よりセントラル化されたシステムが必要である。さらに、複数のユーザマシンにおけるデータ変更に応答してこれらの通知を発生し、それによってそのような通知の伝達をセントラル化する必要性がある。
【課題を解決するための手段】
【０００６】
以下に、本発明のいくつかの態様の基本的理解を提供するために、本発明の簡単な概要を提示する。この概要は、本発明の広範囲に及ぶ全体の概論ではない。本発明の重要な鍵となる／決定的な要素を明らかにし、あるいは本発明の範囲を画定することは意図されていない。その唯一の目的は、後で提示する、より詳細な説明の序論として、本発明のいくつかの概念を簡素化された形態で提示することである。
【０００７】
本明細書で開示し、請求する本発明は、その一態様では、データの監視を容易にする新規のシステムに関する。このシステムは、新しいおよび／または変更されたコンテンツの受信を特定するために、複数の異なるリポジトリを監視できる監視コンポーネントを含む。本発明は、セントラル化されたストア（例えば、変更キュー）を使用し、これはインポートされた（例えば、新しい）メタデータに対応するメタデータを維持する。それに従って、外部ソースからデータをインポートし、監視するための拡張可能なシステムが提供される。
【０００８】
本発明の態様は、ユーザがインポートされたメタデータに対してクエリを構築することを可能にするメカニズムを含む。これらのクエリは「重要」とラベル付けすることができ、かくしてそれらを「スタンディングクエリ（ｓｔａｎｄｉｎｇ  ｑｕｅｒｙ）」として指定することができる。スタンディングクエリは、ユーザによって定義された指定リポジトリ（またはリポジトリ群）を監視することができる。ユーザインターフェース（例えば、グラフィカルユーザインターフェース）を使用して、「スタンディングクエリ」の指定を補助することができる。例として、ひとたびクエリが構成されると、ユーザは、このクエリを表わすアイコンを「通知バー」にドラッグし、それによってクエリをスタンディングクエリとして自動的に指定することができる。ひとたび指定されると、スタンディングクエリは対象リポジトリに関連する入来メタデータを監視することができる。「重要」または「スタンディングクエリ」が新しいまたは変更されたメタデータと一致すると、通知を生成することができる。さらに、本発明は、メタデータの変更を装置（例えば、パーソナルコンピュータ）間で伝達するメカニズムを提供する。
【０００９】
上記および関連の目的を達成するために、本発明の特定の例示的態様を、以下の説明および添付の図面に関連して本明細書で説明する。しかし、これらの態様は、本発明の原理を使用することのできる様々な仕方のほんの一部を示すだけであって、本発明はすべてのそのような態様およびそれらの均等物を含むものとする。本発明の他の利点および新規の特徴は、本発明の以下の詳細な説明を図面に関連して検討すると明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明について、次に添付の図面を参照しながら説明する。図面では、全体を通して、同様の要素を指すのに類似の参照番号が使用されている。以下の記述では、本発明の完全な理解をもたらすために、説明の目的で、多くの特定の詳細が記載される。しかし、本発明がこれらの特定の詳細なしに実施することができることは明白である。他の場合、本発明の説明を容易にするために、周知の構造および装置がブロック図の形態で示される。
【００１１】
本願で使用する場合、用語「コンポーネント」および「システム」は、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェアのいずれか、または実行中のソフトウェアのいずれかを指すものとする。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行のスレッド、プログラム、および／またはコンピュータとすることができるが、それらに限らない。例証として、サーバ上で実行されるアプリケーションおよびサーバの両方ともコンポーネントとすることができる。１つまたは複数のコンポーネントがプロセスおよび／または実行のスレッド内に存在することができ、コンポーネントは１つのコンピュータ上にローカライズし、そして／または２つ以上のコンピュータ間に分散することができる。
【００１２】
本明細書で使用する場合、用語「推定する」または「推定」とは一般的に、事象および／またはデータを介して捕捉される一組の観察からシステム、環境および／またはユーザの状態を推論または推定するプロセスを指す。推定は特定の文脈または動作を特定するために使用することができ、あるいは例えば、状態の確率分布を生成することができる。推定は確率的なもの、つまり、データおよび事象の検討に基づく対象の状態の確率分布の計算とすることができる。推定とは、一組の事象および／またはデータからより高レベルの事象を構成するために使用される技術を指すこともできる。そのような推定は結果的に、事象が時間的に近接して相互に関係するか否かに関係なく、そして事象およびデータが１つまたはいくつかの事象およびデータソースに由来するかどうかに関係なく、一組の観察された事象および／または格納された事象データから新しい事象または動作の構築をもたらす。
【００１３】
外部ソースからデータをインポートし、受信したデータを監視するための拡張可能なシステムを提供する。さらに詳しくは、本発明は、リポジトリ（または異なるリポジトリ群）に関してコンテンツの活動を監視する新規のシステムおよび方法論を提供する。本発明は、セントラル化されたストアを使用して、インポートされたコンテンツに関するメタデータを維持することができる。本発明の態様では、インポートされ、そして／または受信されたメタデータに対してクエリを構築することができる。加えて、クエリは「重要」と指定することができ、それによって「重要な」クエリが新しいまたは変更されたメタデータと一致したときに、通知を生成することができる。上述したことを達成するために、本発明は、装置（例えば、マシン）間でメタデータの変更を伝達するためのメカニズムを提供する。
【００１４】
次に図１を参照すると、本発明によりクエリに基づく通知を容易にするシステム１００の一態様の略図が示されている。一般的に、システム１００は、リポジトリコンポーネント１０４をその中に有するリポジトリストアコンポーネント１０２を含むことができる。さらに、システム１００は、リポジトリストアコンポーネント１０２内の個別リポジトリ１０４の活動およびコンテンツを監視する、監視コンポーネント１０６を使用することができる。
【００１５】
リポジトリストアコンポーネント１０２は、１個からＭ個のリポジトリコンポーネントを含むことができる。Ｍは整数である。リポジトリコンポーネント１からＭは、図示するように、集合的にまたは個別にリポジトリコンポーネント１０４と呼ぶことができる。本発明の態様では、リポジトリコンポーネント１０４は、データおよび／または情報を維持することのできる任意のリポジトリとすることができる。例として、リポジトリコンポーネント１０４は、ローカルファイルストア、共有ファイルストア、電子メールアプリケーション、ウェブサイトなどを含むことができるが、それらに限らない。
【００１６】
監視コンポーネント１０６は、リポジトリコンポーネント１０４のコンテンツおよび活動を監視することができる。例として、監視コンポーネント１０６は、リポジトリコンポーネント１０４内への新しいコンテンツの受信を特定することができる。それに応じて、監視コンポーネント１０６は所望のプロンプトおよび／または通知を達成することができる。例えば、ユーザの個人的電子メールアプリケーションを介して電子メール通信を受信すると、監視コンポーネント１０６は特殊化された通知を生成し、それによってユーザにそのような受信を通知することができる。同様に、電子メール通信が異なる電子メールアプリケーションを介して受信された場合、監視コンポーネント１０６は異なる特殊化された通知を生成し、それによってユーザにそのような受信について警告することができる。
【００１７】
さらなる例として、代替的態様では、監視コンポーネント１０６は、ルールエンジンの形態の意思決定メカニズム（例えば、ロジック）により構成することができ、それによってルールを監視コンポーネント１０６に適用し、かくしてルールに従って動作を達成することができる。代替的実施形態では、監視コンポーネント１０６の動作に関連して、人工知能（ＡＩ）コンポーネントを個別に、または他の評価および／またはロジックに基づくスキームと組み合わせて、使用することができる。これらの代替的態様については、後で図５および６に関連してさらに詳述する。
【００１８】
図２を参照すると、本発明の一実施形態によるフローチャートが示されている。説明を簡単にする目的で、例えばフローチャートの形態で本明細書に示す１つまたは複数の方法論は一連の行為として示され、記載されているが、本発明では一部の行為は、本明細書に示し、記載する順序とは異なる順序で、そして／または他の行為と同時に起こり得るので、本発明は行為の順序によって限定されないことを理解および認識されたい。例えば、方法論は代替的に、状態図のように一連の相互に関連する状態または事象として表わすことができることを、当業者は理解および認識されるであろう。さらに、本発明による方法論を実施するために、図示されたすべての行為が必要というわけではないかもしれない。
【００１９】
図２を参照すると、２０２でクエリが構築される。例として、クエリは、特定のソースから受信したコンテンツを特定するように構築することができる。別の例では、クエリは、特定の著者（例えば、アーティスト）によって生成された特定の種類（例えば、音楽）または特定のジャンルのコンテンツを特定するように構築することができる。クエリの定義付けは極めて単純に、あるいは非常に複雑にすることができることを理解されたい。換言すると、クエリは、「マットから受信したすべての電子メール」のように、１つの一致する条件に基づくことができる。加えて、クエリは、「６／１２／０４および６／１７／０４の日付の間にマットから受信したすべての電子メール」のように、複数の条件に基づくことができる。
【００２０】
２０４で、クエリを通知パネルまたは他の指定されたステージング領域（ｓｔａｇｉｎｇ  ａｒｅａ）に追加することができる。一態様では、通知パネルは、ユーザインターフェース（ＵＩ）で特定された任意の指定場所とすることができる。例えば、グラフィカルユーザインターフェース（ＧＵＩ）の下部を、そのようなステージング領域として指定することができる。ひとたびステージング領域に配置されると、２０６でクエリはスタンディングクエリとして指定される。
【００２１】
２０８で、別のクエリを通知パネル（例えば、ステージング領域）に追加するかどうかの決定が行われる。別のクエリを希望する場合、システムは２０２に戻って追加クエリを構築する。他方、追加クエリを希望しない場合、図示するように方法論は終了する。ひとたび追加クエリが通知パネルおよび／またはステージング領域に配置されると、システムは対象クエリのすべてを監視し、それに応じてコンテンツ変更通知を発生することができることが理解されるであろう。このプロセスは、後に続く図を参照することにより、いっそうよく理解することができる。
【００２２】
次に図３を参照すると、１つまたは複数のリポジトリコンポーネント１０４の監視を容易にするシステムが示されている。図示するように、監視コンポーネント１０６は、スタンディングクエリコンポーネント３０２および通知コンポーネント３０４を含むことができる。スタンディングクエリコンポーネント３０２は、新たに受信され（例えば、インポートされ）、そして／または変更されたコンテンツに関連するメタデータを監視（例えば、照会）するために使用することができる。同様に、スタンディングクエリコンポーネント３０２は、特定のおよび／または複数のリポジトリコンポーネント１０４に対応するように指定することができる。スタンディングクエリコンポーネント３０２は、ユーザおよび／またはアプリケーションによって構築することができることが理解されるであろう。さらに、図３には単一のスタンディングクエリコンポーネント３０２が示されているが、監視コンポーネント１０６は、共通および／または異なるリポジトリコンポーネント１０４に対応する複数のスタンディングクエリコンポーネントを使用することができることを理解されたい。換言すると、本発明は、複数のスタンディングクエリコンポーネント３０２を介して、複数の異なるリポジトリに関してコンテンツの監視および／または管理を容易にすることができる。
【００２３】
スタンディングクエリコンポーネントは、クエリ定義コンポーネント３０６を介して生成することができる。クエリ定義コンポーネント３０６は任意の既知の技術を使用してクエリの定義を達成することができることを理解されたい。例として、クエリ定義コンポーネント３０６は、グラフィカル対話技術を使用し、それによってアイコン表示を操作し、かくしてクエリを生成することができる。クエリ定義コンポーネント３０６は、クエリを対話的に生成しやすいように、ＧＵＩを含みあるいはそれに関連して使用することができることが理解されるであろう。
【００２４】
通知コンポーネント３０４は、特定のスタンディングクエリコンポーネント３０２によって定義されたコンテンツの変化について警告するために使用することができる。例として、スタンディングクエリコンポーネント３０２が個人的電子メールアカウントに対応すると仮定する。特に、スタンディングクエリコンポーネント３０２が「マットから受信するすべての新しい電子メール」を特定するように定義されていると仮定する。「マット」から電子メールアカウントに新しいコンテンツを受信すると、通知コンポーネント３０４はそれに応じてユーザに警告することができる。通知コンポーネント３０４は、視覚的および／または聴覚的警告をはじめ、それに限らず、任意の型の警告を使用することができることを理解されたい。加えて、通知コンポーネント３０４は、追加リポジトリコンポーネント１０４に対応するコンテンツの変化に応じて、アプリケーションについて警告し、そして／またはアプリケーションをトリガするために使用することができる。
【００２５】
次に図４を参照すると、監視コンポーネント１０６のさらに詳細な線図が示されている。特に、監視コンポーネント１０６は、スタンディングクエリコンポーネント３０２、通知コンポーネント３０４、およびメタデータストアまたは変更キュー４０２を使用することができる。変更キュー４０２は、リポジトリコンポーネント１０４に関連する新たに受信され、そして／または変更されたコンテンツに対応するメタデータを維持することができる。変更キュー４０２は、監視コンポーネントと一体であるように図示されているが、変更キュー４０２は、本発明の趣旨および／または範囲から逸脱することなく、任意の所望の場所に展開することができることを理解されたい。例えば、代替的態様では、変更キュー４０２の機能はリポジトリストアコンポーネント１０２に不可欠とし、そして／または特定のリポジトリコンポーネント１０４に不可欠とすることができる。さらに別の態様では、変更キュー４０２は、スタンドアロン記憶装置および／またはメモリ装置として配置することができる。
【００２６】
動作中、インポートされたコンテンツからのメタデータを抽出して、変更キュー４０２内に維持することができる。したがって、監視コンポーネント１０６はスタンディングクエリコンポーネント３０２を使用して、変更キュー４０２に問い合わせを行って、スタンディングクエリを満たすコンテンツ（例えば、メタデータ）を特定することができる。満足するメタデータが検出されると、通知コンポーネント３０４を使用して上述したように警告を発生することができる。
【００２７】
次に図５を参照すると、監視コンポーネント１０６の代替的態様が示されている。さらに詳しくは、監視コンポーネント１０６は、上述したスタンディングクエリ３０２、通知コンポーネント３０４、および変更キュー４０２に加えて、ルールに基づくロジックコンポーネント５０２を含むことができる。この代替的態様では、実施態様スキーム（例えば、ルール）は、監視コンポーネント１０６の機能に関連して適用することができる。ルールに基づく実施態様は、リポジトリコンポーネント１０４に関するスタンディングクエリコンポーネント３０２の自動的定義付けおよび／または実施態様を容易にすることができることが理解されるであろう。一態様では、ルールに基づく実施態様はフィルタとして機能し、希望する基準（例えば、ファイルタイプ、ファイルサイズ、ハードウェア特性）に基づいて予め定められ、そして／またはプログラムされたルールを使用することにより、スタンディングクエリ３０２によって生成される結果内に含まれるデータコンポーネントを選択することができる。
【００２８】
例として、ユーザは、好みのタイプのファイル（例えば、音楽）のクエリを実施することのできるルールを確立することができる。この例示的態様では、ルールは、ターゲットデータストアまたはソースロケーションに位置するすべての新しいまたは変更された音楽ファイルを選択するように構築することができる。したがって、一組のデータコンポーネント結果を得て、プレビューし、そして／または希望に応じて操作することができる。本発明に従って利用される仕様および／または基準のいずれかを、ルールに基づく実施態様スキーム内にプログラムすることができることが理解されるであろう。
【００２９】
図５の例示的態様では、ルールに基づくロジックコンポーネント５０２は、ユーザ定義の好みに従ってプログラムまたは構成することができる。例えば、ルールは特定のハードウェア構成に従って確立することができる。さらなる例として、ルールは装置の特定のメモリ容量に従って構築することができる。換言すると、前述の通り、ルールは、ハードウェア装置の特定の限界（例えば、メモリおよび／または記憶装置の容量）を考慮するように確立することができる。かくして、一態様では、特定のハンドヘルド装置が低メモリ容量を持つ場合、ルールは、予め定められたサイズ閾値を越える新しいコンテンツを無視し、ユーザにそれを通知しないように生成することができる。
【００３０】
監視コンポーネント１０６の別の代替的態様の略図を図６に示す。図５に関連して記述したルールに基づくロジックコンポーネントに加えて、またはその代わりに、監視コンポーネント１０６は、人工知能（ＡＩ）エンジンコンポーネント６０２を含むことができる。
【００３１】
この態様では、オプションのＡＩエンジンコンポーネント６０２は、様々な態様の監視コンポーネント１０６を自動的に構成および／または実施するのを容易にすることができる。ＡＩコンポーネント６０２は、所定の時間および状態で実行すべき意図された動作を推定しやすくするように、推定に基づくスキームを部分的に利用したＡＩコンポーネントの自動化態様をさらに増強する、推定コンポーネント（図示せず）をオプション的に含むことができる。本発明のＡＩに基づく態様は、任意の適切なマシンラーニングに基づく技術および／または統計に基づく技術および／または確率に基づく技術を介して達成することができる。
【００３２】
代替的実施形態では、図６によってさらに示すように、（例えば基準および／またはパラメータの定義付け、結果のフィルタリングに関連して）監視コンポーネント１０６は、その様々な態様を自動的に実行するために、様々な人工知能に基づくスキームをオプション的に使用することができる。特に、ＡＩエンジンコンポーネント６０２は、ＡＩプロセス（例えば信頼度、推定）に基づいて本発明の態様を実施するように、オプション的に提供することができる。例えば、リポジトリのコンテンツを問い合わせるスタンディングクエリコンポーネント３０２を定義するためのプロセスは、自動的クラシファイアシステムおよびプロセスを介して容易化することができる。さらに、オプションのＡＩコンポーネント６０２は、ユーザの履歴傾向に従ってスタンディングクエリを作成し、指定する自動化プロセスを容易にするために使用することができ、それによって特定の組の基準に対応するデータファイルを特定して、ユーザに提示することができる。
【００３３】
クラシファイアは、入力属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）を、入力があるクラスに属する信頼度にマッピングする関数、つまりｆ（ｘ）＝信頼度（クラス）である。そのような分類は、確率および／または統計に基づく解析（例えば、解析ユーティリティおよびコストへのファクタ化）を使用して、自動的に実行されるようにユーザが希望する動作を予知または推定することができる。例えばスタンディングクエリの作成および指定の場合、属性はファイルタイプ、またはファイルタイプおよび／またはコンテンツから導出される他のデータ固有の属性とすることができ、クラスは対象のカテゴリまたは領域とすることができる。
【００３４】
サポートベクタマシン（ＳＶＭ）は、使用できるクラシファイアの一例である。ＳＶＭは、非トリガ事象からトリガ基準を分離しようとする超曲面（ｈｙｐｅｒｓｕｒｆａｃｅ）を、可能な入力の空間で探すことによって動作する。直感的に、これは、トレーニングデータに近いが同一ではない試験データについての分類を正しくする。他の有向および無向モデル分類手法は、例えばナイーブベイズ、ベイジアンネットワーク、決定木、および独立性の異なるパターンを使用できるという条件での確率分類モデルを含む。本明細書で使用する分類はまた、優先のモデルを作成するために利用される統計的回帰を含む。
【００３５】
本明細書から容易に理解されるように、本発明は、明示的に（例えば、一般トレーニングデータを介して）訓練されるだけでなく、暗黙的に（例えば、ユーザの振る舞いを観察し、付帯的情報を受け取ることを介して）訓練されるクラシファイアを使用することができる。例えばＳＶＭは、クラシファイアコンストラクタおよび特徴選択モジュール内で学習または訓練フェーズを介して構成することができる。換言すると、エキスパートシステム、ファジーロジック、サポートベクタマシン、欲張り探索（ｇｒｅｅｄｙ  ｓｅａｒｃｈ）アルゴリズム、ルールに基づくシステム、ベイジアンモデル（例えば、ベイジアンネットワーク）、ニューラルネットワーク、他の非線形トレーニング技術、データフュージョン、ユーティリティに基づく分析システム、ベイジアンモデルを使用するシステム等の使用が考えられ、本明細書に添付する特許請求の範囲内に入るものとする。
【００３６】
ＡＩの他の実施態様は、学習または予測されたユーザの意図に基づいて、システムが階層的通知および／またはプロンプトを発生することのできる、代替的態様を含むことができる。同様に、オプションのＡＩコンポーネントは、受信したコンテンツに基づいて単独および／または一群のユーザに複数のプロンプトを発生することができる。
【００３７】
図７は、新しいコンテンツの検出を容易にする方法論のフローチャートを示す。７０２で、新しい（変更された）コンテンツがデータストア（例えば、リポジトリ）に受信される。７０４で、新しいコンテンツのメタデータが抽出され、変更キューに格納される。変更キューは、当業界で周知の任意のデータ記憶装置とすることができることは理解されるであろう。例えば、メタデータはキャッシュ、バッファ、記憶装置などに格納することができる。変更キューに維持された新しいコンテンツのメタデータを試験するために、スタンディングクエリは７０６で書き直される。動作中、スタンディングクエリは、変更キューに維持されたメタデータについて問い合わせるように書き直される。７０８で、スタンディングクエリが実行される。
【００３８】
メタデータの変更は、７１０でスタンディングクエリに照らして試験される。７１２で、スタンディングクエリが、変更キュー内の新たに受信したコンテンツのメタデータのいずれかと一致するかどうかを確立する決定が行われる。スタンディングクエリがメタデータのいずれとも一致しない場合、プロセスは７０２に戻り、システムは新しいコンテンツが受信されるのを待つ。スタンディングクエリが新しいメタデータと一致するという決定が行われた場合、７１４で新しいコンテンツのプロンプトに通知を発生する。通知を発生した後、図７のフローチャートによって示したプロセスを繰り返すことができることが理解されるであろう。換言すると、新しいコンテンツが受信されたことを特定する通知が実施された後、プロセスは７０２に戻って追加の新しいコンテンツを待つことができる。
【００３９】
図８を参照すると、本発明の一態様による例示的コンピューティング環境の略ブロック図が示されている。特に、図示したシステム８００は、リポジトリコンポーネント１０４を収容したリポジトリストアコンポーネント１０２を含む。さらに、システム８００は監視コンポーネント１０６およびクエリ定義コンポーネント３０６を含む。これらのコンポーネントは、図１に関連して上で詳述したのと同一機能を持つことができる。加えて、図示したシステム８００は通信フレームワーク８０２を使用し、それによってリポジトリストアコンポーネント１０２は、監視コンポーネント１０６および／またはクエリ定義コンポーネント３０６からリモートに配置することができる。通信フレームワーク８０２は、当業界で周知の任意の通信技術（ワイヤードおよび／またはワイヤレス）を使用することができることを理解されたい。例えば、通信フレームワーク８０２はブルートゥース（登録商標）、赤外線（ＩＲ）、Ｗｉ−Ｆｉ、イーサネット（登録商標）などを含むことができるが、それらに限らない。
【００４０】
次に図９を参照すると、開示したアーキテクチャを実行するために動作可能なコンピュータのブロック図が示されている。本発明の様々な態様のための追加的文脈を提供するために、図９および以下の議論は、本発明の様々な態様を実施することのできる適切なコンピューティング環境９００の簡単な概要を提供するように意図されている。本発明について上では、１つまたは複数のコンピュータ上で実行することのできるコンピュータ実行可能な命令の一般的文脈で記述したが、本発明は他のプログラムモジュールと組み合わせて、そして／またはハードウェアとソフトウェアとの組合せとして実施することもできることを、当業者は認識されるであろう。
【００４１】
一般的に、プログラムモジュールは、特定のタスクを実行し、あるいは特定のアブストラクトデータタイプを実施するルーチン、プログラム、コンポーネント、データ構造等を含む。さらに、本発明の方法は、各々が１つまたは複数の関連装置に作動的に結合することのできる、単一プロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティング装置、マイクロプロセッサベースまたはプログラム可能コンシューマ電子機器などをはじめとする、他のコンピュータシステム構成により実施することができることを、当業者は理解されるであろう。
【００４２】
本発明の図示した態様は、分散コンピューティング環境で実施することもでき、その場合特定のタスクは、通信ネットワークを介してリンクされたリモート処理装置によって実行される。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートメモリ記憶装置の両方に配置することができる。
【００４３】
コンピュータは一般的に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータによってアクセスすることのできる任意の利用可能な媒体とすることができ、揮発性および不揮発性の媒体、リムーバブルおよび非リムーバブルな媒体の両方を含む。限定ではなく、例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報を格納するための任意の方法または技術で実施される、揮発性および不揮発性のリムーバブルおよび非リムーバブルな媒体の両方を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するために使用でき、コンピュータによってアクセスできる何らかの他の媒体を含むが、それらに限らない。
【００４４】
通信媒体は一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他のトランスポートメカニズムのような変調データ信号で具現し、任意の情報伝達媒体を含む。用語「変調データ信号」とは、信号内に情報を符号化するような仕方でその特徴の１つまたは複数を設定または変更した信号を意味する。限定ではなく、例として、通信媒体は、ワイヤードネットワークまたは直接配線接続のようなワイヤード媒体、および音響、ＲＦ、赤外、および他のワイヤレス媒体のようなワイヤレス媒体を含む。上記のいずれかの組合せも、コンピュータ可読媒体の範囲内に含まれる。
【００４５】
再び、図９を参照すると、処理ユニット９０４、システムメモリ９０６、およびシステムバス９０８を含むコンピュータ９０２を含む、本発明の様々な態様を実施するための例示的環境９００が示されている。システムバス９０８は、システムメモリ９０６を含むがそれに限らないシステムコンポーネントを処理ユニット９０４に結合する。処理ユニット９０４は様々な市販のプロセッサのいずれかとすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理ユニット９０４として使用することができる。
【００４６】
システムバス９０８は、様々な市販のバスアーキテクチャのいずれかを使用するメモリバス（メモリコントローラ付きか否かに関係なく）、周辺バス、およびローカルバスにさらに相互接続することのできる、いくつかのタイプのバス構造のいずれかとすることができる。システムメモリ９０６は読出し専用メモリ（ＲＯＭ）９１０およびランダムアクセスメモリ（ＲＡＭ）９１２を含む。基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭのような不揮発性メモリ９１０に格納される。ＢＩＯＳは、起動中などにコンピュータ９０２内の要素間で情報を転送するのに役立つ基本的ルーチンを含む。ＲＡＭ９１２は、データをキャッシングするために、スタティックＲＡＭのような高速ＲＡＭを含むこともできる。
【００４７】
コンピュータ９０２はさらに、適切なシャーシ（図示せず）内で外部で使用するように構成することもできる内部ハードディスクドライブ（ＨＤＤ）９１４（例えば、ＥＩＤＥ、ＳＡＴＡ）、磁気フロッピディスクドライブ（ＦＤＤ）９１６（例えば、リムーバブルなディスケット９１８からの読出しまたはそこへの書込みのため）、および光ディスクドライブ９２０（例えばＣＤ−ＲＯＭディスク９２２の読出し、またはＤＶＤのような他の高容量光媒体への読み書きのため）を含む。ハードディスクドライブ９１４、磁気ディスクドライブ９１６、および光ディスクドライブ９２０は、それぞれハードディスクドライブインターフェース９２４、磁気ディスクドライブインターフェース９２６、および光ドライブインターフェース９２８によって、システムバス９０８に接続することができる。外部ドライブ実装用のインターフェース９２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも１つまたは両方を含む。
【００４８】
ドライブおよびそれらの関連コンピュータ可読媒体は、データの不揮発性ストレージ、データ構造、コンピュータ実行可能な命令などを提供する。コンピュータ９０２の場合、ドライブおよび媒体は、適切なデジタルフォーマットでの任意のデータストレージを収容する。上記のコンピュータ可読媒体についての記述は、ＨＤＤ、リムーバブルな磁気ディスケット、およびＣＤもしくはＤＶＤのようなリムーバブルな光媒体に言及しているが、ジップドライブ、磁気カセット、フラッシュメモリカード、カートリッジなどのような、コンピュータによって読出し可能である他のタイプの媒体も、例示的動作環境で使用することができ、さらにそのような媒体はいずれも、本発明の方法を実行するためのコンピュータ実行可能な命令を含むことができることを、当業者は理解されたい。
【００４９】
オペレーティングシステム９３０、１つまたは複数のアプリケーションプログラム９３２、他のプログラムモジュール９３４、およびプログラムデータ９３６をはじめ、いくつかのプログラムモジュールをドライブおよびＲＡＭ９１２に格納することができる。オペレーティングシステム、アプリケーション、モジュール、および／またはデータの全部または一部は、ＲＡＭ９１２にキャッシングすることもできる。本発明は、様々な市販のオペレーティングシステムまたはオペレーティングシステムの組合せにより実施することができることが理解される。
【００５０】
ユーザは、１つまたは複数のワイヤード／ワイヤレス入力装置、例えばキーボード９３８およびマウス９４０のようなポインティング装置を介して、コマンドおよび情報をコンピュータ９０２に入力することができる。他の入力装置（図示せず）はマイクロフォン、ＩＲリモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどを含むことができる。これらおよび他の入力装置はしばしば、システムバス９０８に結合された入力装置インターフェース９４２を介して、処理ユニット９０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインターフェース等のような他のインターフェースによって接続することができる。
【００５１】
モニタ９４４または他のタイプの表示装置もまた、ビデオアダプタ９４６のようなインターフェースを介して、システムバス９０８に接続される。モニタ９４４に加えて、コンピュータは一般的に、スピーカ、プリンタ等のような他の周辺出力装置（図示せず）を含む。
【００５２】
コンピュータ９０２は、ワイヤードおよび／またはワイヤレス通信を介するリモートコンピュータ９４８のような１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で作動することができる。リモートコンピュータ９４８はワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースエンターテイメント機器、ピア装置、または他の共通ネットワークノードとすることができ、一般的にコンピュータ９０２に関連して記述した要素の多くまたは全部を含むが、簡潔さのために、メモリ記憶装置９５０だけが図示されている。示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）９５２および／またはより大きいネットワーク、例えばワイドエリアネットワーク（ＷＡＮ）９５４へのワイヤード／ワイヤレス接続を含む。そのようなＬＡＮおよびＷＡＮネットワーク環境はオフィスおよび会社で一般的であり、イントラネットのような企業規模のコンピュータネットワークを容易にし、それらはすべてグローバル通信ネットワーク、例えばインターネットに接続することができる。
【００５３】
ＬＡＮネットワーク環境で使用する場合、コンピュータ９０２は、ワイヤードおよび／またはワイヤレス通信ネットワークインターフェースまたはアダプタ９５６を介して、ローカルネットワーク９５２に接続される。アダプタ９５６は、ＬＡＮ９５２へのワイヤードまたはワイヤレス通信を容易にすることができ、ＬＡＮ９５２は、ワイヤレスアダプタ９５６と通信するために配置されたワイヤレスアクセスポイントを含むこともできる。ＷＡＮネットワーク環境で使用する場合、コンピュータ９０２はモデム９５８を含むことができ、あるいはＷＡＮ９５４上の通信サーバに接続され、あるいはインターネットを経由するなどＷＡＮ９５４での通信を確立するための他の手段を有する。内部または外部およびワイヤードまたはワイヤレス装置とすることのできるモデム９５８は、シリアルポートインターフェース９４２を介して、システムバス９０８に接続される。ネットワーク環境では、コンピュータ９０２に関連して示されたプログラムモジュールまたはその一部分は、リモートメモリ／記憶装置９５０に格納することができる。示したネットワーク接続は例示であって、コンピュータ間の通信リンクを確立するための他の手段を使用することができることは、理解されるであろう。
【００５４】
コンピュータ９０２は、ワイヤレス通信に作動的に配置された任意のワイヤレス装置またはエンティティ、例えばプリンタ、スキャナ、デスクトップおよび／またはポータブルコンピュータ、ポータブルデータアシスタント、通信衛星、ワイヤレスに検出可能なタグに関連する任意の機器または場所（例えば、キオスク、ニューススタンド、トイレ）、ならびに電話機と通信するように作動可能である。これは少なくともＷｉ−Ｆｉおよびブルートゥース（登録商標）ワイヤレス技術を含む。かくして、通信は、従来のネットワークと同様の予め定められた構造、または単に少なくとも２つの装置間のアドホック通信とすることができる。
【００５５】
Ｗｉ−Ｆｉつまりワイヤレスフィデリティは、家庭のソファ、ホテルの部屋のベッド、または職場の会議室からワイヤなしにインターネットに接続することを可能にする。Ｗｉ−Ｆｉは、そのような装置、例えばコンピュータが、基地局の範囲内のどこでも屋内および屋外でデータを送受信することを可能にする、携帯電話のようなワイヤレス技術である。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．１１（ａ、ｂ、ｇ等）と呼ばれる無線技術を使用して、安全で信頼できる高速のワイヤレス接続を提供する。Ｗｉ−Ｆｉネットワークはコンピュータを相互に、インターネットに、そしてワイヤードネットワーク（ＩＥＥＥ８０２．３またはイーサネット（登録商標）を使用する）に接続するために使用することができる。Ｗｉ−Ｆｉネットワークはライセンス不要の２．４および５ＧＨｚ無線帯域で、例えば１１Ｍｂｐｓ（８０２．１１ａ）または５４Ｍｂｐｓ（８０２．１１ｂ）データレートで、または両帯域（デュアルバンド）を含む製品で作動するので、ネットワークが多くのオフィスで使用されるベーシック１０ＢａｓｅＴワイヤードイーサネット（登録商標）ネットワークと同様の現実世界の性能を提供することができる。
【００５６】
次に図１０を参照すると、本発明による例示的コンピューティング環境１０００の略ブロック図が示されている。システム１０００は、１つまたは複数のクライアント１００２を含む。クライアント１００２はハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることができる。クライアント１００２は、例えば本発明を使用することによってクッキーおよび／または関連文脈情報を格納することができる。システム１０００はまた、１つまたは複数のサーバ１００４をも含む。サーバ１００４もまた、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることができる。サーバ１００４は、例えば本発明を使用することによって変換を実行するスレッドを格納することができる。クライアント１００２とサーバ１００４との間の１つの可能な通信は、２つ以上のコンピュータプロセス間で伝送されるように適応されたデータパケットの形態を取ることができる。データパケットは、例えばクッキーおよび／または関連文脈情報を含むことができる。システム１０００は、クライアント１００２とサーバ１０４との間の通信を容易にするために使用することのできる通信フレームワーク１００６（例えば、インターネットのようなグローバル通信ネットワーク）を含む。
【００５７】
通信はワイヤード（光ファイバを含む）および／またはワイヤレス技術を介して容易にすることができる。クライアント１００２は、クライアント１００２のローカル情報（例えば、クッキーおよび／または関連文脈情報）を格納するために使用できる１つまたは複数のクライアントデータストア１００８に作動的に接続される。同様に、サーバ１００４は、サーバ１００４のローカル情報を格納するために使用できる１つまたは複数のサーバデータストア１０１０に作動的に接続される。
【００５８】
上述したものは、本発明の実施例を含む。言うまでもなく、本発明を説明するために構成要素または方法論のすべての考えられる組合せを記載することは不可能であるが、本発明の多くのさらなる組合せおよび置換が可能であることを通常の当業者は認識することができる。したがって、本発明は、添付の特許請求の範囲に記載する趣旨および範囲に当てはまる変更、修正、および変形をすべて包含するものとする。さらに、用語「含む」が詳細な説明または特許請求の範囲のいずれかで使用される限り、そのような用語は、「備える」が特許請求の範囲で移行語として使用されるときに解釈される場合の用語「備える」と同様に、すべてを包含することを意図している。
【図面の簡単な説明】
【００５９】
【図１】本発明の一態様に従って複数のリポジトリを監視するシステムの一般的なコンポーネントブロック図である。
【図２】開示態様に従ってスタンディングクエリを作成し、指定する手順の例示的フローチャートである。
【図３】本発明の一態様に従ってクエリ定義コンポーネント、スタンディングクエリコンポーネント、および通知コンポーネントを有するシステムの一般的なコンポーネントブロック図である。
【図４】本発明の一態様に従ってインポートされたコンテンツのメタデータの維持をもたらす変更キューを使用するシステムの一般的なコンポーネントブロック図である。
【図５】本発明の一態様に従ってルールに基づくロジックを使用する代替的監視コンポーネントの一般的なコンポーネントブロック図である。
【図６】本発明の一態様に従って人工知能に基づく推論を使用する代替的監視コンポーネントの一般的なコンポーネントブロック図である。
【図７】開示態様に従ってメタデータを試験し、適切な通知を生成する手順の例示的フローチャートである。
【図８】本発明の一態様による例示的コンピューティング環境のコンポーネントの概略図である。
【図９】開示したアーキテクチャを実行するように作動可能なコンピュータのブロック図である。
【図１０】本発明による例示的コンピューティング環境の概略ブロック図である。
【符号の説明】
【００６０】
１００，８００  システム
９００  コンピューティング環境
９０２  コンピュータ
【図１】
2006244495.tif 000003
【図２】
2006244495.tif 000004
【図３】
2006244495.tif 000005
【図４】
2006244495.tif 000006
【図５】
2006244495.tif 000007
【図６】
2006244495.tif 000008
【図７】
2006244495.tif 000009
【図８】
2006244495.tif 000010
【図９】
2006244495.tif 000011
【図１０】
2006244495.tif 000012