(57)【要約】  特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報が外部ソースから入手可能か否かの判断を伴う。これによって、既に行ったコンテンツ分析を再度行うことを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、コンテンツベースのインデックス情報は、必要に応じて入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。
2011510422.tif 000002
【特許請求の範囲】
【請求項１】
ファイルにコンテンツベースのインデックスを付ける方法（３００）であって、
前記ファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かを判断するステップ（３４０）と、
前記ファイルに関する前記コンテンツベースのインデックス情報が前記外部ソースから入手可能な場合、前記コンテンツベースのインデックス情報を前記外部ソースから受信し、記憶するステップ（３５０、３６０）と、
前記ファイルに関する前記コンテンツベースのインデックス情報の任意の１つが前記外部ソースから入手不可能、および前記ファイルに関する前記コンテンツベースのインデックス情報が完全でない場合、前記ファイルに関するコンテンツベースのインデックス情報を生成し、記憶し、前記生成したコンテンツベースのインデックス情報を前記外部ソースと共有するステップ（３７０、３８０、３９０）と、
を含むことを特徴とする方法（３００）。
【請求項２】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルの全コンテンツに対してコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項１に記載の方法（３００）。
【請求項３】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの一部にのみコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項１に記載の方法（３００）。
【請求項４】
前記ファイルに関する前記受信したコンテンツベースのインデックス情報は、第１の種類のコンテンツ分析を行うことによって生成されたコンテンツベースのインデックス情報を含み、前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの少なくとも一部に対して第２の種類のコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項１に記載の方法（３００）。
【請求項５】
前記ファイルに関する前記受信したコンテンツベースのインデックス情報は、第１のパラメータ設定を用いてコンテンツ分析を行うことによって生成されるコンテンツベースのインデックス情報を含み、前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの少なくとも一部に対して、第２のパラメータ設定を用いてコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップを含むことを特徴とする請求項１に記載の方法（３００）。
【請求項６】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記受信したコンテンツベースのインデックス情報、および前記生成したコンテンツベースのインデックス情報を統合して、前記受信したコンテンツベースのインデックス情報の正確さ、および前記生成したコンテンツベースのインデックス情報の正確さを超える正確さを有する、統合したコンテンツベースのインデックス情報を形成するステップ
をさらに含むことを特徴とする請求項５に記載の方法（３００）。
【請求項７】
前記ファイルのコンテンツを公開しない、前記ファイルに固有の識別子を作成するステップと、
前記受信したコンテンツベースのインデックス情報、および前記生成したコンテンツベースのインデックス情報に、前記固有の識別子を関連付けるステップと
をさらに含むことを特徴とする請求項１に記載の方法（３００）。
【請求項８】
前記受信したコンテンツベースのインデックス情報を記憶する前に、前記受信したコンテンツベースのインデックス情報の第１のセキュリティ機能を評価して、前記受信したコンテンツベースのインデックス情報を記憶するか否かを判断するステップと、  
前記生成したコンテンツベースのインデックス情報に第２のセキュリティ機能を追加するステップと
をさらに含むことを特徴とする請求項１に記載の方法（３００）。
【請求項９】
前記外部ソースは、サーバ（５０）を含むことを特徴とする請求項１に記載の方法（３００）。
【請求項１０】
前記外部ソースは、ピアツーピアネットワーク装置を含むことを特徴とする請求項１に記載の方法（３００）。
【発明の詳細な説明】
【技術分野】
【０００１】
情報は、個人的および／または公的に使用するために、様々な種類の装置（例えば、コンピュータ、サーバ、記憶媒体、メディアプレーヤー、電話など）に収集されている。情報量は増え続けており、そのために、関心のある情報へのアクセス、およびどの情報が入手可能かの判断が難しくなっている。
【０００２】
この情報にインデックスを作成すると、関心のある情報へのアクセス、およびどの情報が入手可能かの判断の手助けになる。一般的には、この情報には、数種類のファイルが含まれる。テキストファイル、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルがファイルの例として挙げられる。コンテンツベースのインデックス情報および非コンテンツベースのインデックス情報が、ファイルのインデックスに含み得るインデックス情報の種類である。コンテンツベースのインデックス情報とは、ファイルのコンテンツを分析して生成されたインデックス情報を指す。非コンテンツベースのインデックス情報とは、ファイルのコンテンツ以外の、ファイルに関連する任意のデータから生成されたインデックス情報を指す。メタデータ、ファイル名、およびファイル記述が、非コンテンツベースのインデックス情報源の例として挙げられる。
【０００３】
インデックス付けの実装は、ネットワークレベル（例えば、インターネットインデックス検索エンジン）の操作、および装置レベル（例えば、コンピュータインデックス検索エンジン）の操作で、展開されてきた。このようなインデックス付けの実装の有用性は、インデックスの範囲、およびインデックスに含まれるインデックス情報の種類といった、幾つかの要因に左右される。インデックスを付けられたファイルの数およびそのファイルの多様性が、インデックスの範囲に反映される。コンテンツベースのインデックス情報は、一般的に、非コンテンツベースのインデックス情報よりもファイルの知識を多く提供するので、インデックスは、ファイルに関するコンテンツベースのインデックス情報を有することが望ましい。
【０００４】
コンテンツベースのインデックス情報が望ましいが、インデックスに、コンテンツベースのインデックス情報を含むことに関連して課題がある。テキストファイルに関するコンテンツベースのインデックス情報を生成することは、正確さ、必要な時間、および必要な計算資源という点で実用的であるが、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイル）の場合には、これは当てはまらない。非テキストファイルに関するコンテンツベースのインデックス情報の正確さには、非常に幅があり、場合によっては使用できないことがある。非テキストファイルに関するコンテンツベースのインデックス情報を生成するためには、膨大な計算資源を必要とし、多大な時間を必要とする。バックグラウンド操作としてインデックス付けを実行する場合、非テキストファイルに関するコンテンツベースのインデックス情報を生成すると、インデックス付けに利用される計算資源が多すぎて、通常の使用パターンを妨害する、または、未使用で入手可能な計算資源の期間がインデックス付けを支援するのに不十分なために、インデックス情報が生成されない場合がある。
【発明の概要】
【０００５】
本概要では、下記の「発明を実施するための形態」でさらに記述する概念の一部を簡単に述べる。本概要は請求の対象となる主題の主な特徴または不可欠な特徴を特定することを意図するものではなく、また、請求の対象となる主題の範囲を制限するために用いられることを意図するものでもない。
【０００６】
本明細書では、特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルのコンテンツに基づいてファイルに関するインデックスを作成することが望ましい。ファイルはテキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かの判断を伴う。任意の単一装置および任意のネットワーク装置が、外部ソースの例として挙げられる。これによって、既に行ったコンテンツ分析を再度行うことを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、そのコンテンツベースのインデックス情報は、必要に応じて、入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。
【０００７】
従って、分散型インデックス生成、および分散型インデックス生成の結果を共有することによって、テキストファイルおよび非テキストファイルにコンテンツベースのインデックスを付ける実用的な方法を実施形態によって提供する。実施形態によって、コンテンツベースのインデックス情報を様々な方法で変更することができる。異なる種類のコンテンツ分析を行うこと、コンテンツ分析に多くのパラメータ設定を使用すること、およびファイルの異なる部分に対してコンテンツ分析を行ったものを集めることが、コンテンツベースのインデックス情報の変更例として挙げられる。
【図面の簡単な説明】
【０００８】
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、様々な実施形態を示しており、明細書の記述と共に、様々な実施形態の原理を説明するものである。
【０００９】
【図１】様々な実施形態による、集中インデックスソース環境のブロック図である。
【図２】様々な実施形態による、非集中インデックスソース環境のブロック図である。
【図３】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。
【図４】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、ファイルの異なる部分に別々にインデックスを付ける。
【図５】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、コンテンツベースのインデックス付けは様々なインデックスモードを含み、各インデックスモードは異なる種類のコンテンツ分析に対応している。
【図６】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、コンテンツベースのインデックス付けは様々なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を含み、各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）は異なるパラメータ設定を用いてコンテンツ分析を行うことに対応している。
【発明を実施するための形態】
【００１０】
以下、好ましい実施形態を詳細に述べる。添付の図面に実施形態の例が示されている。好ましい実施形態と共に開示を行うが、当然のことながら、開示内容をこれらの実施形態に限定することを意図するものではない。それに反して、開示内容は、代替形態、変更形態、および同等の形態を含むものとし、それらは、請求項によって規定される開示内容の精神および範囲内に含まれるものとする。さらに、詳細な説明においては、本開示を完全に理解して頂くために、多くの具体的な詳細を記載するが、開示内容は、これら具体的な詳細を超えて実践してもよいことは当業者には明らかであろう。他の例においては、既知の方法、手順、構成要素、および回路は、本開示の態様を不必要にあいまいにしないように詳細には記述していない。
【００１１】
概要
ファイルへのコンテンツベースのインデックス付けには、特に非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）に関しては、ファイルへの非コンテンツベースのインデックス付け以上の労力を要する。しかしながら、インデックス生成を分散させ、分散型インデックス生成の結果を共有すれば、コンテンツベースのインデックス付けは、任意の種類のファイルに対して実行可能である。本明細書では、特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルはテキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。
【００１２】
様々な実施形態によると、ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かの判断を伴う。任意の単一装置および任意のネットワーク装置が、外部ソースの例として挙げられる。これによって、既に行ったコンテンツ分析を再度行うのを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、そのコンテンツベースのインデックス情報は、必要に応じて入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。
【００１３】
ファイルにコンテンツベースのインデックスを付ける実用的な方法を、分散型インデックス生成、および分散型インデックス生成の結果を共有することによって提供する。コンテンツベースのインデックス情報を、様々な方法で変更することができる。異なる種類のコンテンツ分析を行うこと、コンテンツ分析に多くのパラメータ設定を使用すること、およびファイルの異なる部分に対してコンテンツ分析を行ったものを集めることが、コンテンツベースのインデックス情報の変更例として挙げられる。
【００１４】
最初に、様々な実施形態のためのインデックスソース環境について記述し、その後、分散型コンテンツベースインデックス付け技術について記述する。
【００１５】
インデックスソース環境
様々な実施形態によると、コンテンツベースのインデックス情報を生成するにあたっての時間および計算の負担は、任意の種類の多くの装置に分散される。コンテンツベースのインデックス情報とは、ファイルのコンテンツを分析することによって生成されたインデックス情報を指す。さらに、１つの装置によって生成されたコンテンツベースのインデックス情報を、他の装置と共有する。第１の装置が既にファイルに対してコンテンツ分析を行ってそのファイルに関するコンテンツベースのインデックス情報を生成した場合、第１の装置が生成したコンテンツベースのインデックス情報を第２の装置は入手可能かつ共有できるので、第２の装置がそのファイルに対して同じコンテンツ分析を繰り返す必要はない。すなわち、外部ソースが、ファイルに関するコンテンツベースのインデックス情報を提供することによって、ファイルのコンテンツ分析を行ってコンテンツベースのインデックス情報を生成する時間および計算の負担を回避することができる。コンテンツベースのインデックス情報の生成という負担の重複をなくすために協働が行われる。
【００１６】
外部ソースは任意の種類のものでよい。外部ソースの例としては、コンピュータ、サーバ、記憶媒体、メディアプレーヤー、および電話が挙げられる。ある実施形態においては、外部ソースは、集中インデックスソースとして実装される。すなわち、ファイルに関するコンテンツベースのインデックス情報は、集中インデックスソースで収集され、集中インデックスソースは、ファイルに関するコンテンツベースのインデックス情報のリクエストを受信し、リクエストされたコンテンツベースのインデックス情報が、入手可能であれば、そのインデックス情報を送信することによって、このリクエストに応える。この集中インデックスソース環境を図１に示し、以下に記述する。ある実施形態においては、外部ソースは非集中インデックスソースとして実装される。すなわち、ファイルに関するコンテンツベースのインデックス情報は、多くの非集中インデックスソースの間で分散された様態で記憶される。各非集中インデックスソースは、各コンテンツベースのインデックス情報を必要に応じて共有する。この非集中インデックスソース環境を図２に示し、以下に記述する。
【００１７】
図１は、様々な実施形態による、集中インデックスソース環境１００のブロック図である。図１に示すように、集中インデックスソース環境１００は、中央インデックスソース５０、ならびに複数の装置１０、２０、３０、および４０を含む。中央インデックスソース５０、ならびに複数の装置１０、２０、３０、および４０は、ネットワーク８０に接続される。ネットワーク８０はインターネットであってよい。装置１０、２０、３０、および４０は、任意の種類の装置であってよい。コンピュータ、サーバ、記憶媒体、メディアプレーヤー、電話が、装置の種類の例として挙げられる。当然のことながら、集中インデックスソース環境１００は他の構成を有してもよい。  
【００１８】
装置Ａ１０、装置Ｂ２０、装置Ｃ３０、および装置Ｄ４０の各装置は、プロセッサ（例えば、それぞれ、プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄ）、インデックス付け部（例えば、それぞれ、インデックス部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄ）、記憶部（例えば、それぞれ、記憶部１２Ａ、１２Ｂ、１２Ｃ、１２Ｄ）、およびネットワーク通信部（例えば、それぞれ、ネットワーク通信部１６Ａ、１６Ｂ、１６Ｃ、１６Ｄ）を含む。さらに、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、および装置Ｄ４０は、それぞれ、接続１５、接続２５、接続３５、および接続４５を介してネットワーク８０に接続される。接続１５、接続２５、接続３５、および接続４５は、有線であってもよく、無線であってもよい。
【００１９】
各インデックス部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、それぞれ、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、ファイルに関するコンテンツベースのインデックス情報を、中央インデックスソース５０にリクエストして受信するように動作可能である。中央インデックスソース５０は、コンテンツベースのインデックス情報の外部ソースである。受信したコンテンツベースのインデックス情報を、各記憶部１２Ａ、１２Ｂ、１２Ｃ、１２Ｄに記憶することができる。さらに、各インデックス付け部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。生成したコンテンツベースのインデックス情報を、各記憶部１２Ａ、１２Ｂ、１２Ｃ、１２Ｄに記憶することができる。さらに、生成したコンテンツベースのインデックス情報を、中央インデックスソース５０と共有する。結果として、生成したコンテンツベースのインデックス情報を、装置１０、２０、３０、および４０のいずれとも、中央インデックスソース５０を介して共有することができる。また、各インデックス付け部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、中央インデックスソース５０から受信したコンテンツベースのインデックス情報、および生成したコンテンツベースのインデックス情報を含むインデックスを作成するように動作可能である。
【００２０】
ある実施形態においては、コンテンツベースのインデックス情報が中央インデックスソース５０からリクエストされているファイル、または、コンテンツベースのインデックス情報が生成されたファイルを、中央インデックスソース５０に送信する代わりに、ファイルに固有の識別子を送信する。特に、ファイルが大量のコンテンツを有する場合、ファイルを送信することは実行不可能または不便な場合がある。固有の識別子は、ファイルよりも小さい。ファイルのコンテンツを内密にしておくために、固有の識別子は、ファイルのコンテンツを公開することなしにファイルを識別する。ある実施形態においては、各インデックス付け部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、ファイルの固有のハッシュ（例えば、ＭＤ（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５）ハッシュ）を作成するように動作可能であり、その場合、ハッシュは固有の識別子である。ハッシュは、通常、同一のコンテンツを有する任意の２つのファイルに対して同一である。速度、便利さ、およびプライバシーのために、ファイルに関する受信したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられている。同様に、ファイルに関する生成したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられている。
【００２１】
ある実施形態においては、セキュリティ機能がファイルに関するコンテンツベースのインデックス情報に追加されている。セキュリティ機能は、デジタル署名であってよい。中央インデックスソース５０から受信したコンテンツベースのインデックス情報のセキュリティ機能を評価して、それが信用できるか否かを判断する。その評価に基づいて、受信したコンテンツベースのインデックス情報を記憶および使用するか否かの決定が行われる。ある実施形態においては、各インデックス付け部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、セキュリティ機能を評価し、かつ生成されるコンテンツベースのインデックス情報にセキュリティ機能を追加するように、動作可能である。
【００２２】
ある実施形態においては、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、および装置Ｄ４０の各装置は、中央インデックスソース５０と共有するコンテンツベースのインデックス情報を生成するために使用されるインデックス付けツール（例えば、ソフトウェア）のデジタル署名を、コンテンツベースのインデックス情報に行うように、動作可能である。これによって、中央インデックスソース５０は、コンテンツベースのインデックス情報の質および信頼性を判断できる。
【００２３】
ある実施形態においては、各インデックス付け部１７Ａ、１７Ｂ、１７Ｃ、１７Ｄは、コンテンツアナライザ（例えば、それぞれ、コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ）、および検索部１３（例えば、それぞれ、検索部１３Ａ、１３Ｂ、１３Ｃ、１３Ｄ）を含む。各検索部１３Ａ、１３Ｂ、１３Ｃ、１３Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、中央インデックスソース５０から受信したコンテンツベースのインデックス情報、および生成したコンテンツベースのインデックス情報を含むインデックスを検索するように動作可能である。
【００２４】
続いて、各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄは、各プロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。ファイルは、テキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄは、ファイルのコンテンツに対してコンテンツ分析を行う。コンテンツ分析は、任意の種類のコンテンツ分析であってよい。文字分析、音声分析、ビデオ分析、および音響分析が、コンテンツ分析の種類の例として挙げられる。英数字、話し言葉、視覚要素、および楽曲特徴の検出および認識が、コンテンツ分析によって生成されるコンテンツベースのインデックス情報の例として挙げられる。
【００２５】
上述のように、特に、非テキストファイルのコンテンツベースのインデックス情報の生成には、膨大な計算資源および多大な時間を必要とする。各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄは、ファイルの全コンテンツに対してコンテンツ分析を実行することができる。しかしながら、ファイルコンテンツの量が多ければ多いほど、各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄが、ファイルの全コンテンツに対してコンテンツ分析を行うことができるというのは、より実用的でなくなる。特に、コンテンツベースのインデックス付けをバックグラウンド操作で行う場合は、そうである。ある実施形態においては、各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄは、ファイルのコンテンツの一部のみに対してコンテンツ分析を実行する。すなわち、コンテンツ分析は、各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄが行うのにより実用的な多くのコンテンツ分析タスクに分割される。各コンテンツ分析タスクは、ファイルコンテンツの異なる部分に対してコンテンツ分析を行うことに対応しており、コンテンツベースのインデックス情報の部分群を生成する。例えば、１時間のオーディオファイルの５分ずつの異なるセグメントに対応する１２のコンテンツ分析タスクを行って、コンテンツベースのインデックス情報を１２の別個の部分群として生成してもよい。別々に生成されたコンテンツベースのインデックス情報の部分群を組み合わせ、または統合して、そのファイルに関する完全なコンテンツベースのインデックス情報を形成する。
【００２６】
この部分的インデックス付けを、協調的な方法で達成してもよく、非協調的な方法で達成してもよい。ある実施形態においては、協調的な方法においては、中央インデックスソース５０が、ファイルコンテンツの複数の部分への分割を管理および制御する。この場合、ファイルコンテンツの各部分に対してコンテンツ分析を行った結果は、コンテンツベースのインデックス情報の部分群となる。従って、中央インデックスソース５０は、装置からのリクエストに応答して、ファイルコンテンツ部分の１つを選択し、装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）に割り当てるので、同じファイルコンテンツ部分に対するコンテンツ分析の重複を避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）が、ファイルコンテンツの部分を無作為に取り出して、無作為に取り出した部分に対してコンテンツ分析を行って、コンテンツベースのインデックス情報の部分群を生成し、生成したコンテンツベースのインデックス情報の部分群を中央インデックスソース５０（または、以下に図２に関して記述するピアツーピアネットワーク）と共有する。従って、生成したコンテンツベースのインデックス情報の部分群を、他の装置が生成したコンテンツベースのインデックス情報の任意の他の部分群と統合するのは、各装置が行う。
【００２７】
コンテンツ分析には多くの種類があるので、１つのファイルに対して異なった種類のコンテンツ分析を行うと有利である。ある実施形態においては、各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄは、１つのファイルに対して数種類のコンテンツ分析を行うようにコンテンツ分析を実行する。すなわち、コンテンツベースのインデックス付けは、様々なインデックスモードを含み、各インデックスモードはコンテンツ分析の異なる種類に対応している。各インデックスモードに関して、それに対応する種類のコンテンツ分析をファイルに対して行うことに対応する１群のコンテンツベースのインデックス情報が存在する。例として、ファイルに関する多モードのコンテンツベースインデックスのうち、音声分析は第１インデックスモードに対応してよく、ビデオ分析は第２インデックスモードに対応してよく、音響分析は第３のインデックスモードに対応してよい。従って、多様なインデックス検索の需要を満たすことができる。
【００２８】
この多モードのインデックス付けは、協調的な方法で達成してもよく、非強調的な方法で達成してもよい。ある実施形態によると、協調的な方法においては、中央インデックスソース５０が、装置からのリクエストに応答して、生成および共有するインデックスモードを選択し、装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）に割り当てることによって、労力が重複するのを避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）が、コンテンツベースのインデックス情報が現在入手できないインデックスモードを無作為に１つ選択する。無作為に選択されたインデックスモードに対応するコンテンツベースのインデックス情報を生成し、中央インデックスソース５０（または、以下に図２に関して記述するピアツーピアネットワーク）と共有する。
【００２９】
特に、非テキストファイルに関して、コンテンツベースのインデックス情報の正確さに非常に幅があることを考えると、正確さの向上が望ましい。ある実施形態においては、各装置１０、２０、３０、および４０の各コンテンツアナライザ１１Ａ、１１Ｂ、１１Ｃ、１１Ｄおよびプロセッサ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄは、１つのファイルに対して異なるパラメータ設定を用いてコンテンツ分析を行うようにコンテンツ分析を実行する。すなわち、コンテンツベースのインデックス付けは、様々なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を含み、各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）は、異なるパラメータ設定を用いてコンテンツ分析を行うことに対応する。各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対して、対応するパラメータ設定を用いてファイルに対してコンテンツ分析を行うことに対応する１群のコンテンツベースのインデックス情報が存在する。様々なコンテンツベースのインデックス情報群を統合し、個々のコンテンツベースのインデックス情報群よりも正確な、統合したコンテンツベースのインデックス情報を形成する。例として、ファイルに関する多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）のコンテンツベースのインデックスのうち、会話音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第１のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対応してよく、放送ニュース音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第２のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対応してよく、朗読音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第３のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に基づいてよい。第１、第２、および第３のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）のコンテンツベースのインデックス情報群を、ＲＯＶＥＲ（Ｒｅｃｏｇｎｉｚｅｒ  Ｏｕｔｐｕｔ  Ｖｏｔｉｎｇ  Ｅｒｒｏｒ  Ｒｅｄｕｃｔｉｏｎ）等の技術を用いて統合し、第１、第２、および第３のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）の個々のコンテンツベースのインデックス情報群より正確な統合したコンテンツベースのインデックス情報を形成してもよい。
【００３０】
この多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付けは、協調的な方法で達成してもよく、非協調的な方法で達成してもよい。ある実施形態によると、協調的な方法においては、中央インデックスソース５０が、装置からのリクエストに応答して、生成および共有するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を選択し、装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）に割り当てることによって、労力が重複するのを避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置（例えば、装置Ａ１０、装置Ｂ２０、装置Ｃ３０、または装置Ｄ４０）が、コンテンツベースのインデックス情報を現在入手できないインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）の１つを無作為に取り出す。無作為に選択されたインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対応するコンテンツベースのインデックス情報を生成し、中央インデックスソース５０（または、以下に図２に関して記述するピアツーピアネットワーク）と共有する。
【００３１】
上述の部分的インデックス付け、多モードインデックス付け、および多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付けを、様々な方法で組み合わせてもよい。部分的インデックス付けを用いてインデックスモードを完成させること、部分的インデックス付けを用いてインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を完成させること、および個々のインデックスモードが様々なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を有することが、部分的インデックス付け、多モードインデックス付け、および多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付けを組み合わせる例として挙げられる。さらに、部分的インデックス付け、多モードインデックス付け、および多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付けの実現は、コンテンツ分析の分散、および分散したコンテンツ分析の結果の共有による。
【００３２】
図１に戻ると、中央インデックスソース５０は、プロセッサ５１、インデックス付け部５４、記憶部５２、およびネットワーク通信部５６を含む。さらに、中央インデックスソース５０は、接続５５を介してネットワーク８０に接続される。接続５５は、有線であってもよく、無線であってもよい。ある実施形態においては、中央インデックスソース５０は、サーバである。
【００３３】
記憶部５２は、ファイルに関するコンテンツベースのインデックス情報を記憶する。ある実施形態においては、ファイルに関するコンテンツベースのインデックス情報を、装置１０、２０、３０、および４０から受信する。ある実施形態においては、中央インデックスソース５０は、ファイルに関するコンテンツベースのインデックス情報を生成して、それを記憶部５２に記憶してもよい。速度、便利さ、およびプライバシーのために、ファイルに関する受信したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。同様に、ファイルに関する生成したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。ある実施形態においては、中央インデックスソース５０は、上述の部分的インデックス付け、多モードインデックス付け、および多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付けを協調させるのを助ける。
【００３４】
インデックス付け部５４は、プロセッサ５１を利用して、ファイルに関するコンテンツベースのインデックス情報のリクエストを受信し、ファイルに関するコンテンツベースのインデックス情報を装置１０、２０、３０、および４０に送信するように、動作可能である。さらに、ある実施形態においては、インデックス付け部５４は、プロセッサ５１を利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。
【００３５】
ある実施形態においては、中央インデックスソース５０は、記憶部５２に記憶されたコンテンツベースのインデックス情報に基づいてインデックスを維持するように構成され、そのインデックスに対する検索を行えるように構成される。インデックス付け部５４は、さらに、プロセッサ５１を利用して、ネットワーク８０（例えばインターネット）を検索し、そのインデックスの範囲に含まれるファイル発見するように動作可能である。また、インデックス付け部５４は、プロセッサ５１を利用して、装置１０、２０、３０、および４０から、受信したコンテンツベースのインデックス情報を受信して処理し、不正を検出し取り除くように動作可能である。不正の例としては、悪意のあるインデックス情報、有害なインデックス情報、および不法なインデックス情報が挙げられる。さらに、インデックス付け部５４は、プロセッサ５１を利用して、ファイルに関する非コンテンツベースのインデックス情報を生成するように動作可能である。非コンテンツベースのインデックス情報とは、ファイルのコンテンツ以外の、ファイルに関連付けられた任意のデータから生成されるインデックス情報を指す。メタデータ、ファイル名、およびファイル記述が、非コンテンツベースのインデックス情報のソースの例として挙げられる。生成された非コンテンツベースのインデックス情報は、記憶部５２に記憶してもよく、かつ、維持されたインデックスの一部であってよい。また、ファイルに関する生成された非コンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。従って、維持されたインデックスの範囲に含まれる新しいファイルに関しては、インデックス情報は、装置１０、２０、３０、および４０から受信したコンテンツベースのインデックス情報であってよく、インデックス付け部５４およびプロセッサ５１が生成したコンテンツベースのインデックス情報であってよく、および／または、インデックス付け部５４およびプロセッサ５１が生成した非コンテンツベースのインデックス情報であってよい。
【００３６】
図２は、様々な実施形態による、非集中インデックスソース環境２００のブロック図である。図１に関して述べたことは、下記の点を除いては図２にあてはまる。図２に示すように、非集中インデックスソース環境２００は、ネットワーク８０に接続された複数の装置１０、２０、３０、および４０を含む。ネットワーク８０は、インターネットであってよい。装置１０、２０、３０、および４０は、任意の種類の装置であってよい。コンピュータ、サーバ、記憶媒体、メディアプレーヤー、および電話が、装置の種類の例として挙げられる。当然のことながら、非集中インデックスソース環境２００は他の構成を有してもよい。
【００３７】
装置１０、２０、３０、および４０は、ピアツーピアネットワークとして構成されている。各装置１０、２０、３０、および４０は局所的に生成したコンテンツベースのインデックス情報をピアツーピアネットワークに公開する。ピアツーピアネットワーク内においては、ピアツーピアネットワークの他の装置は、局所的に生成したコンテンツベースのインデックス情報の検索を通して、局所的に生成したコンテンツベースのインデックス情報を見つけることができる。次いで、所望のコンテンツベースのインデックス情報は、ピアツーピアネットワークの適切な装置（単数または複数）１０、２０、３０、および４０からリクエストおよび受信される。この場合、ピアツーピアネットワークの適切な装置（単数または複数）１０、２０、３０、および４０は、ピアツーピアネットワークのリクエストを行っている装置に対して、コンテンツベースのインデックス情報の外部ソースである。すなわち、図１に関して記述した中央インデックスソース５０へのコンテンツベースのインデックス情報のリクエストが、図２に示すピアツーピアネットワークにおいては、局所的に生成したコンテンツベースのインデックス情報の検索に替えられる。さらに、図１に関して記述した中央インデックスソース５０へのコンテンツベースのインデックス情報の送信は、局所的に生成したコンテンツベースのインデックス情報を図２に示すピアツーピアネットワークに公開する公開操作に替えられる。従って、コンテンツベースのインデックス情報は、ピアツーピアネットワークを介して共有される。
【００３８】
分散型コンテンツベースインデックス付け技術
次に、分散型コンテンツベースインデックス付け技術の操作を、詳細に論述する。図３〜図６を参照すると、フローチャート３００、４００、５００、および６００は、それぞれ、分散型コンテンツベースインデックス付けの様々な実施形態によって使用されるステップの例を示す。フローチャート３００、４００、５００、および６００は、任意の種類のコンピュータ可読媒体に記憶されるコンピュータ可読命令およびコンピュータ実行可能命令によって制御されるプロセッサが様々な実施形態において行うプロセスを含む。具体的なステップを、フローチャート３００、４００、５００、および６００に開示するが、それらのステップは一例である。すなわち、実施形態は、フローチャート３００、４００、５００、および６００に記載される以外の様々なステップや記載されるステップを変形したステップを行うのに適している。当然のことながら、フローチャート３００、４００、５００、および６００のステップを、記載とは異なった順序で行ってもよく、フローチャート３００、４００、５００、および６００のステップの全てを行う必要はない。
【００３９】
図３は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート３００を示す。この論述に関して、コンテンツベースのインデックス付けは、図１に関して記述した集中インデックスソース環境１００で行われる。
【００４０】
装置Ａ１０において、インデックス付けのためのファイルを選択する（ブロック３１０）。ファイルは、テキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。ある実施形態においては、装置Ａ１０のインデックス付け部１７Ａがファイルを選択する。
【００４１】
続いて、装置Ａ１０は、選択したファイルの固有のハッシュ  （例えば、ＭＤ５（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５）ハッシュ）を作成する、ここで、ハッシュは、固有の識別子である（ブロック３２０）。ある実施形態においては、インデックス付け部１７Ａが固有のハッシュを作成する。
【００４２】
装置Ａ１０は、中央インデックスソース５０に対して、選択したファイルに関するコンテンツベースのインデックス情報をリクエストする（ブロック３３０）。ある実施形態においては、インデックス付け部１７Ａが、コンテンツベースのインデックス情報をリクエストする。リクエストには、選択したファイルの代わりに選択したファイルのハッシュが含まれる。このように、選択したファイルが中央インデックスソース５０に送られないので、プライバシーおよび速度が維持される。
【００４３】
中央インデックスソース５０が、選択したファイルに関するコンテンツベースのインデックス情報を有する場合、装置Ａ１０は、中央インデックスソース５０から、選択したファイルに関するコンテンツベースのインデックス情報を受信し、記憶する（ブロック３４０、ブロック３５０、およびブロック３６０）。そうすると、選択したファイルは、受信したコンテンツベースのインデックス情報を用いて、装置Ａ１０において検索可能となる。ある実施形態においては、受信したコンテンツベースのインデックス情報のセキュリティ機能（例えばデジタル署名）の評価に基づいて、装置Ａ１０は、受信したコンテンツベースのインデックス情報を記憶および使用するか否かを決定する。
【００４４】
中央インデックスソース５０が、選択したファイルに関するコンテンツベースのインデックス情報を有しない場合、装置Ａ１０は、選択したファイルに関するコンテンツベースのインデックス情報を生成して記憶し、生成したコンテンツベースのインデックス情報を中央インデックスソース５０と共有する（ブロック３７０、ブロック３８０、およびブロック３９０）。ある実施形態においては、コンテンツアナライザ１１Ａが、選択したファイルに対してコンテンツ分析を行って、コンテンツベースのインデックス情報を生成する。コンテンツ分析は、選択したファイルの全コンテンツに対して行ってもよい。そうすると、生成したコンテンツベースのインデックス情報を用いることによって、選択したファイルは、装置Ａ１０において検索可能となる。ある実施形態においては、装置Ａ１０は、選択したファイルの固有のハッシュ、および選択したファイルに関する生成したコンテンツベースのインデックス情報を、中央インデックスソース５０に送信する。このようにして、選択したファイルに関する生成したコンテンツベースのインデックス情報は、中央インデックスソース５０がリクエストすれば、装置Ｂ２０、装置Ｃ３０、および装置Ｄ４０で入手可能である。
【００４５】
図４は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート４００を示す、ここでは、ファイルの異なる部分に別々にインデックスを付ける。すなわち、上述の部分的インデックス付け技術を図４に示す。この論述に関して、コンテンツベースのインデック付けは、図１に関して記述した集中インデックスソース環境１００で行われる。
【００４６】
インデックス付けのためのファイルを装置Ａ１０で選択する（ブロック４１０）。ファイルはテキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。ある実施形態においては、装置Ａ１０のインデックス付け部１７Ａが、ファイルを選択する。
【００４７】
続いて、装置Ａ１０は、選択したファイルの固有のハッシュ（例えば、ＭＤ５（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５）ハッシュ）を作成する。ここで、ハッシュは、固有の識別子である（ブロック４２０）。ある実施形態においては、インデックス付け部１７Ａが、固有のハッシュを作成する。
【００４８】
装置Ａ１０は、中央インデックスソース５０に対して、選択したファイルに関するコンテンツベースのインデックス情報をリクエストする（ブロック４３０）。ある実施形態においては、インデックス付け部１７Ａが、コンテンツベースのインデックス情報をリクエストする。リクエストには、選択したファイルの代わりに選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース５０に送信されないので、プライバシーおよび速度が維持される。
【００４９】
中央インデックスソース５０が、選択したファイルに関するコンテンツベースのインデックス情報を有し、そのコンテンツベースのインデックス情報が完全である場合、装置Ａ１０は、選択したファイルに関するコンテンツベースのインデックス情報を中央インデックスソース５０から受信し、記憶する（ブロック４４０、ブロック４５０、ブロック４５５、およびブロック４６０）。そうすると、受信したコンテンツベースのインデックス情報を用いることによって、選択したファイルは装置Ａ１０において検索可能となる。ある実施形態においては、図３に関して論述したのと同様に、装置Ａ１０は、受信したコンテンツベースのインデックス情報のセキュリティ機能（例えば、デジタル署名）の評価に基づいて、受信したコンテンツベースのインデックス情報を記憶および使用するか否かを決定する。
【００５０】
中央インデックスソース５０が、選択したファイルに関するコンテンツベースのインデックス情報を有しない場合、または、選択したファイルに関するコンテンツベースのインデックス情報が完全でない場合、中央インデックスソース５０は、選択したファイルの一部分を選択し、その選択した部分のファイルコンテンツに対するコンテンツ分析を行うことに対応するコンテンツ分析タスクを、装置Ａ１０に割り当てて、コンテンツベースのインデックス情報の部分群を生成し、既に行われたコンテンツ分析タスクからコンテンツベースのインデックス情報の入手可能な任意の部分群を送信する（ブロック４４０、ブロック４５０、ブロック４６５、およびブロック４７０）。例えば、その部分は、非テキストファイル（例えば、オーディオファイル、ビデオファイルなど）の有限のセグメント（例えば、５分間のセグメント）であってよい。
【００５１】
図４の部分的インデックス付け技術の１つの利点は、既に行ったコンテンツ分析タスクからコンテンツベースのインデックス情報の任意の入手可能な部分群が装置Ａ１０に送信された範囲まで、選択したファイルが装置Ａ１０において検索可能になることである。すなわち、選択したファイル全体にインデックスを付けるのを待つことなしに、選択したファイルに対する検索を行うことが可能になる。これによって、選択したファイルが入手可能になる時刻と、選択したファイルが検索可能になる時刻との間の時間差を減らすことができる。
【００５２】
装置Ａ１０は、ファイルコンテンツの選択した部分（例えば、５分間のセグメント）に対してコンテンツ分析を行い、コンテンツベースのインデックス情報の部分群を生成する（ブロック４７５）。さらに、装置Ａ１０は、生成したコンテンツベースのインデックス情報の部分群を、中央インデックスソース５０から受信したコンテンツベースのインデックス情報の任意の部分群と統合して記憶し、その生成したコンテンツベースのインデックス情報の部分群を中央インデックスソース５０と共有する（ブロック４８０、ブロック４８５）。ある実施形態においては、コンテンツアナライザ１１Ａが、ファイルコンテンツの選択した部分に対してコンテンツ分析を行う。そうすると、選択したファイルは、装置Ａ１０において、生成したコンテンツベースのインデックス情報の部分群の範囲まで、更に検索可能となる。ある実施形態においては、装置Ａ１０は、選択したファイルの固有のハッシュ、および選択したファイルに関する生成したコンテンツベースのインデックス情報の部分群を、中央インデックスソース５０に送信する。中央インデックスソース５０は、生成したコンテンツベースのインデックス情報の部分群を、既に行ったコンテンツ分析タスクからのコンテンツベースのインデックス情報の任意の入手可能な部分群と組み合わせる。組合せによって、選択したファイルに関するコンテンツベースのインデックス情報が完成する場合、中央インデックスソース５０は、選択したファイルを、コンテンツベースのインデックス情報が完成したファイルと指定する。また、選択したファイルに関する生成したコンテンツベースのインデックス情報の部分群は、中央インデックスソース５０からのリクエストがあれば、装置Ｂ２０、装置Ｃ３０、装置Ｄ４０において入手可能となる。ある実施形態においては、選択したファイルに関するコンテンツベースのインデックス情報が完成していない場合、装置Ａ１０は、中央インデックスソース５０内のコンテンツベースのインデックス情報の新しい部分群（単数または複数）の定期的なチェックをスケジュールする。
【００５３】
図５は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート５００を示す。ここでは、コンテンツベースのインデックス付けは様々なインデックスモードを含み、各インデックスモードは異なる種類のコンテンツ分析に対応している。すなわち、上述の多モードインデックス付け技術を図５に示す。この論述に関して、コンテンツベースのインデックス付けは、図１に関して記述した集中インデックスソース環境１００で行われる。インデックスモードを規定する。すなわち、インデックスモードの数（例えば、３）、および各モードのコンテンツ分析の種類（例えば、音声分析、ビデオ分析、および音響分析）を特定する。
【００５４】
インデックス付けのためのファイルを装置Ａ１０において選択する（ブロック５１０）。ファイルは、テキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。ある実施形態においては、装置Ａ１０のインデックス付け部１７Ａが、ファイルを選択する。
【００５５】
続いて、装置Ａ１０は、選択したファイルの固有のハッシュ（例えば、ＭＤ５（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５）ハッシュ）を作成する。ここでは、ハッシュは固有の識別子である（ブロック５２０）。ある実施形態においては、インデックス付け部１７Ａが固有のハッシュを作成する。
【００５６】
装置Ａｌ０は、中央インデックスソース５０に対して、選択したファイルに関する各インデックスモードをリクエストする（ブロック５３０）、ここでは、各インデックスモードに関して選択したファイルに対して対応する種類のコンテンツ分析を行うことに対応している一群のコンテンツベースのインデックス情報が存在する。ある実施形態においては、インデックス付け部１７Ａが選択したファイルに関する各インデックスモードをリクエストする。リクエストには、選択したファイルの代りに、選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース５０に送信されないので、プライバシーおよび速度が維持される。
【００５７】
中央インデックスソース５０が、選択したファイルに関するインデックスモードを有し、そのインデックスモードが完全な場合、装置Ａ１０は、そのインデックスモードに関するコンテンツベースのインデックス情報群を中央インデックスソース５０から受信して記憶する（ブロック５４０、ブロック５５０、ブロック５５５、およびブロック５６０）。そうすると、選択したファイルは、中央インデックスソース５０が送信したインデックスモードに関するコンテンツベースのインデックス情報群の範囲まで、装置Ａ１０において検索可能になる。ある実施形態においては、図３、図４に関して論述したのと同様に、装置Ａ１０は、受信したコンテンツベースのインデックス情報群のセキュリティ機能（例えば、デジタル署名）の評価に基づいて、そのインデックスモードに関する受信したコンテンツベースのインデックス情報群を記憶および使用するか否かを決定する。  
【００５８】
中央インデックスソース５０が選択したファイルに関するインデックスモードを有しない場合、または、インデックスモードが完全でない場合、中央インデックスソース５０は、選択したファイルに関するインデックスモードを選択し、選択したインデックスモードに対応する種類のコンテンツ分析を選択したファイルに行うことを装置Ａ１０に割り当てて、選択したインデックスモードに関するコンテンツベースのインデックス情報群を生成し、任意の入手可能なインデックスモードに関するコンテンツベースのインデックス情報群を送信する（ブロック５４０、ブロック５５０、ブロック５６５、およびブロック５７０）。そうすると、選択したファイルは、中央インデックスソース５０が送信した任意の入手可能なインデックスモードに関する任意のコンテンツベースのインデックス情報群の範囲まで、装置Ａ１０において検索可能となる。
【００５９】
装置Ａ１０は、ファイルコンテンツに対して、選択したインデックスモードに対応するコンテンツ分析（例えば、音声分析）を行って、選択したインデックスモードに関する１群のコンテンツベースのインデックス情報を生成して記憶し、その選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を中央インデックスソース５０と共有する（ブロック５７５、ブロック５８０、およびブロック５８５）。ある実施形態においては、コンテンツアナライザ１１Ａが、選択したインデックスモードに対応するコンテンツ分析を行う。そうすると、選択したファイルは、さらに、選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群の範囲まで、装置Ａ１０において検索可能となる。ある実施形態においては、装置Ａｌ０は、選択したインデックスモードの固有のハッシュ、および選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース５０に送信する。中央インデックスソース５０は、選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を、選択したファイルに関する任意の入手可能なインデックスモードに関する任意のコンテンツベースのインデックス情報群と共に集める。集めることによって、選択したファイルに関するインデックスモードが完成する場合、中央インデックスソース５０は、選択したファイルを、インデックスモードが完成したファイルと指定する。また、選択したファイルの選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群は、中央インデックスソース５０からのリクエストがあれば、装置Ｂ２０、装置Ｃ３０、および装置Ｄ４０において入手可能となる。ある実施形態において、選択したファイルに関するインデックスモードが完成していない場合、装置Ａ１０は、中央インデックスソース５０内の選択したファイルのインデックスモードに関するコンテンツベースのインデックス情報の新しい群（単数または複数）の定期的なチェックをスケジュールする。
【００６０】
図６は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート６００を示す。ここでは、コンテンツベースのインデックス付けは様々なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を含み、各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）は異なるパラメータ設定を用いてコンテンツ分析を行うことに対応している。すなわち、上述の多表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）インデックス付け技術を図６に示す。この論述に関しては、コンテンツベースのインデックス付けは、図１に関して記述した集中インデックスソース環境１００で行われる。インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を規定する。すなわち、各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関して、インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）の数（例えば、３）、コンテンツ分析の種類（例えば、音声認識分析）、およびパラメータ設定（例えば、会話音声に基づいた隠れマルコフモデルパラメータ設定、放送ニュース音声に基づいた隠れマルコフモデルパラメータ設定、および朗読音声に基づいた隠れマルコフモデルパラメータ設定）を特定する。
【００６１】
インデックス付けのためのファイルを装置Ａ１０において選択する。（ブロック６１０）。ファイルはテキストファイルであってもよく、非テキストファイル（例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど）であってもよい。ある実施形態においては、装置Ａ１０のインデックス付け部１７Ａがファイルを選択する。
【００６２】
続いて、装置Ａ１０は、選択したファイルの固有のハッシュ（例えば、ＭＤ５（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５）ハッシュ）を作成する。ここでは、ハッシュは固有の識別子である（ブロック６２０）。ある実施形態においては、インデックス付け部１７Ａが固有のハッシュを作成する。
【００６３】
装置Ａ１０は、中央インデックスソース５０に対して、選択したファイルの各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）をリクエストする（ブロック６３０）。ここでは、各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関して、選択したファイルに対して対応するパラメータ設定を用いてコンテンツ分析を行うことに対応している１群のコンテンツベースのインデックス情報が存在する。様々なコンテンツベースのインデックス情報群は統合されて、個々のコンテンツベースのインデックス情報群より正確な統合されたコンテンツベースのインデックス情報を形成する。ある実施形態においては、インデックス付け部１７Ａが、選択したファイルに関する各インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）をリクエストする。リクエストには、選択したファイルの代わりに、選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース５０に送信されないので、プライバシーおよび速度が維持される。
【００６４】
中央インデックスソース５０が選択したファイルに関するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を有し、そのインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）が完全な場合、装置Ａ１０は、中央インデックスソース５０からインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関するコンテンツベースのインデックス情報群を受信して統合し、統合したコンテンツベースのインデックス情報を形成し、その統合したコンテンツベースのインデックス情報を記憶する（ブロック６４０、ブロック６５０、ブロック６５５、ブロック６５７、およびブロック６６０）。そうすると、選択したファイルは、統合したコンテンツベースのインデックス情報の範囲まで、装置Ａ１０において検索可能となる。ある実施形態においては、図３、４、５に関して論述したのと同様に、装置Ａ１０が、インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関する受信したコンテンツベースのインデックス情報群のセキュリティ機能（例えば、デジタル署名）の評価に基づいて、インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関する受信したコンテンツベースのインデックス情報群を記憶および使用するか否かを決定する。
【００６５】
中央インデックスソース５０が選択したファイルに関するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を有しない場合、またはインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）が完全でない場合、中央インデックスソース５０は、選択したファイルに関するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を選択して、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対応するパラメータ設定を用いてコンテンツ分析を行うことを装置Ａ１０に割り当て、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する１群のコンテンツベースのインデックス情報を生成し、任意の入手可能なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関するコンテンツベースのインデックス情報群を送信する（ブロック６４０、ブロック６５０、ブロック６６５、およびブロック６７０）。そうすると、選択したファイルは中央インデックスソースが送信した任意の入手可能なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関する任意のコンテンツベースのインデックス情報群の範囲まで、装置Ａ１０において検索可能となる。
【００６６】
装置Ａ１０は、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に対応するパラメータ設定  （例えば、会話音声に基づいた隠れマルコフモデルパラメータ設定）を用いて、ファイルコンテンツに対してコンテンツ分析を行い、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する１群のコンテンツベースのインデックス情報を生成し、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群を、任意の入手可能なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）に関する任意の受信したコンテンツベースのインデックス情報群と統合して、統合したコンテンツベースのインデックス情報を形成し、その統合したコンテンツベースのインデックス情報を記憶し、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース５０と共有する（ブロック６７５、ブロック６７７、ブロック６８０、およびブロック６８５）。ある実施形態においては、コンテンツアナライザ１１Ａが、インデックスモードに対応するパラメータ設定を用いて、コンテンツ分析を行う。そうすると、選択したファイルは、さらに、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群の範囲まで、装置Ａ１０において検索可能となる。ある実施形態において、装置Ａｌ０は、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）の固有のハッシュ、および選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース５０に送信する。中央インデックスソース５０は、選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群を、選択したファイルに関する任意の入手可能なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する任意のコンテンツベースのインデックス情報群と共に集める。集めることによって、選択したファイルに関するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）が完成する場合、中央インデックスソース５０は、選択したファイルを、インデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）が完成したファイルと指定する。また、選択したファイルの選択したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する生成したコンテンツベースのインデックス情報群は、中央インデックスソース５０からのリクエストがあれば、装置Ｂ２０、装置Ｃ３０、装置Ｄ４０において入手可能となる。ある実施形態においては、選択したファイルに関するインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）が完成してない場合、装置Ａ１０は、中央インデックスソース５０内で、選択したファイルのインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）に関する新しいコンテンツベースのインデックス情報群（単数または複数）の定期的なチェックをスケジュールする。
【００６７】
ある実施形態においては、あるファイルに関する様々なインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を中央インデックスソース５０が統合することも可能である。従って、中央インデックスソース５０は、個々のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎｓ）を送信する代わりに、あるファイルに関する統合したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）を装置Ａ１０に送信してもよい。さらに、中央インデックスソース５０は、装置Ａ１０から受信したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）をそのファイルに関する任意の他のインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）、またはそのファイルに関する任意の他の統合したインデックス表示（ｍａｎｉｆｅｓｔａｔｉｏｎ）と統合してもよい。
【００６８】
様々な実施形態は、多くの利点を提供する。テキストファイルおよび非テキストファイルのコンテンツベースのインデック付けは、実行可能および実用的である。時間および計算の負担は、柔軟に分散されて、正確で多様な目的に合わせてコンテンツベースのインデックス情報を変更することが可能になる。複数の装置が協働することによって、大掛かりなインデックス付け専用の計算資源への投資を回避することができる。装置の協働は、上述のように、協調的であってもよく、非協調的であってもよい。
【００６９】
開示した実施形態に関するこれまでの記述は、当業者が本開示内容を実行または使用できるようにするためのものである。これら実施形態への様々な変更は当業者にとっては明らかであり、本明細書で規定した一般的な原理は、本開示内容の精神と範囲を逸脱することなく、他の実施形態に適用可能である。従って、本開示内容は、本明細書に示す実施形態に限定することを意図するものではなく、本明細書に開示した原理および新規な特徴と矛盾しない最大の範囲に合致するものとする。
【図１】
2011510422.tif 000003
【図２】
2011510422.tif 000004
【図３】
2011510422.tif 000005
【図４】
2011510422.tif 000006
【図５】
2011510422.tif 000007
【図６】
2011510422.tif 000008
【国際調査報告】
2011510422.tif 000009
2011510422.tif 000010