説明

ファイルコンテンツの分散型インデックス付け

特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報が外部ソースから入手可能か否かの判断を伴う。これによって、既に行ったコンテンツ分析を再度行うことを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、コンテンツベースのインデックス情報は、必要に応じて入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。

【発明の詳細な説明】
【技術分野】
【0001】
情報は、個人的および/または公的に使用するために、様々な種類の装置(例えば、コンピュータ、サーバ、記憶媒体、メディアプレーヤー、電話など)に収集されている。情報量は増え続けており、そのために、関心のある情報へのアクセス、およびどの情報が入手可能かの判断が難しくなっている。
【0002】
この情報にインデックスを作成すると、関心のある情報へのアクセス、およびどの情報が入手可能かの判断の手助けになる。一般的には、この情報には、数種類のファイルが含まれる。テキストファイル、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルがファイルの例として挙げられる。コンテンツベースのインデックス情報および非コンテンツベースのインデックス情報が、ファイルのインデックスに含み得るインデックス情報の種類である。コンテンツベースのインデックス情報とは、ファイルのコンテンツを分析して生成されたインデックス情報を指す。非コンテンツベースのインデックス情報とは、ファイルのコンテンツ以外の、ファイルに関連する任意のデータから生成されたインデックス情報を指す。メタデータ、ファイル名、およびファイル記述が、非コンテンツベースのインデックス情報源の例として挙げられる。
【0003】
インデックス付けの実装は、ネットワークレベル(例えば、インターネットインデックス検索エンジン)の操作、および装置レベル(例えば、コンピュータインデックス検索エンジン)の操作で、展開されてきた。このようなインデックス付けの実装の有用性は、インデックスの範囲、およびインデックスに含まれるインデックス情報の種類といった、幾つかの要因に左右される。インデックスを付けられたファイルの数およびそのファイルの多様性が、インデックスの範囲に反映される。コンテンツベースのインデックス情報は、一般的に、非コンテンツベースのインデックス情報よりもファイルの知識を多く提供するので、インデックスは、ファイルに関するコンテンツベースのインデックス情報を有することが望ましい。
【0004】
コンテンツベースのインデックス情報が望ましいが、インデックスに、コンテンツベースのインデックス情報を含むことに関連して課題がある。テキストファイルに関するコンテンツベースのインデックス情報を生成することは、正確さ、必要な時間、および必要な計算資源という点で実用的であるが、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイル)の場合には、これは当てはまらない。非テキストファイルに関するコンテンツベースのインデックス情報の正確さには、非常に幅があり、場合によっては使用できないことがある。非テキストファイルに関するコンテンツベースのインデックス情報を生成するためには、膨大な計算資源を必要とし、多大な時間を必要とする。バックグラウンド操作としてインデックス付けを実行する場合、非テキストファイルに関するコンテンツベースのインデックス情報を生成すると、インデックス付けに利用される計算資源が多すぎて、通常の使用パターンを妨害する、または、未使用で入手可能な計算資源の期間がインデックス付けを支援するのに不十分なために、インデックス情報が生成されない場合がある。
【発明の概要】
【0005】
本概要では、下記の「発明を実施するための形態」でさらに記述する概念の一部を簡単に述べる。本概要は請求の対象となる主題の主な特徴または不可欠な特徴を特定することを意図するものではなく、また、請求の対象となる主題の範囲を制限するために用いられることを意図するものでもない。
【0006】
本明細書では、特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルのコンテンツに基づいてファイルに関するインデックスを作成することが望ましい。ファイルはテキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かの判断を伴う。任意の単一装置および任意のネットワーク装置が、外部ソースの例として挙げられる。これによって、既に行ったコンテンツ分析を再度行うことを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、そのコンテンツベースのインデックス情報は、必要に応じて、入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。
【0007】
従って、分散型インデックス生成、および分散型インデックス生成の結果を共有することによって、テキストファイルおよび非テキストファイルにコンテンツベースのインデックスを付ける実用的な方法を実施形態によって提供する。実施形態によって、コンテンツベースのインデックス情報を様々な方法で変更することができる。異なる種類のコンテンツ分析を行うこと、コンテンツ分析に多くのパラメータ設定を使用すること、およびファイルの異なる部分に対してコンテンツ分析を行ったものを集めることが、コンテンツベースのインデックス情報の変更例として挙げられる。
【図面の簡単な説明】
【0008】
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、様々な実施形態を示しており、明細書の記述と共に、様々な実施形態の原理を説明するものである。
【0009】
【図1】様々な実施形態による、集中インデックスソース環境のブロック図である。
【図2】様々な実施形態による、非集中インデックスソース環境のブロック図である。
【図3】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。
【図4】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、ファイルの異なる部分に別々にインデックスを付ける。
【図5】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、コンテンツベースのインデックス付けは様々なインデックスモードを含み、各インデックスモードは異なる種類のコンテンツ分析に対応している。
【図6】様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャートである。ここでは、コンテンツベースのインデックス付けは様々なインデックス表示(manifestation)を含み、各インデックス表示(manifestation)は異なるパラメータ設定を用いてコンテンツ分析を行うことに対応している。
【発明を実施するための形態】
【0010】
以下、好ましい実施形態を詳細に述べる。添付の図面に実施形態の例が示されている。好ましい実施形態と共に開示を行うが、当然のことながら、開示内容をこれらの実施形態に限定することを意図するものではない。それに反して、開示内容は、代替形態、変更形態、および同等の形態を含むものとし、それらは、請求項によって規定される開示内容の精神および範囲内に含まれるものとする。さらに、詳細な説明においては、本開示を完全に理解して頂くために、多くの具体的な詳細を記載するが、開示内容は、これら具体的な詳細を超えて実践してもよいことは当業者には明らかであろう。他の例においては、既知の方法、手順、構成要素、および回路は、本開示の態様を不必要にあいまいにしないように詳細には記述していない。
【0011】
概要
ファイルへのコンテンツベースのインデックス付けには、特に非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)に関しては、ファイルへの非コンテンツベースのインデックス付け以上の労力を要する。しかしながら、インデックス生成を分散させ、分散型インデックス生成の結果を共有すれば、コンテンツベースのインデックス付けは、任意の種類のファイルに対して実行可能である。本明細書では、特に、ファイルコンテンツの分散型インデックス付けの技術について記述する。ファイルはテキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。
【0012】
様々な実施形態によると、ファイルへのコンテンツベースのインデックス付けには、そのファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かの判断を伴う。任意の単一装置および任意のネットワーク装置が、外部ソースの例として挙げられる。これによって、既に行ったコンテンツ分析を再度行うのを回避する。コンテンツ分析は、特に非テキストファイルに関しては、多大な時間と大量の計算を必要とする。コンテンツベースのインデックス情報は、入手可能であれば、外部ソースから受信し、そのインデックス情報を記憶してもよい。コンテンツベースのインデックス情報が入手不可能または完全でない場合、そのファイルに関するコンテンツベースのインデックス情報を生成して記憶する。さらに、生成したコンテンツベースのインデックス情報を外部ソースと共有する。一旦、ファイルのコンテンツ分析を行って、そのファイルに関するコンテンツベースのインデックス情報を生成すると、そのコンテンツベースのインデックス情報は、必要に応じて入手および共有が可能である。そのファイルに対して同じコンテンツ分析を繰り返す必要はない。
【0013】
ファイルにコンテンツベースのインデックスを付ける実用的な方法を、分散型インデックス生成、および分散型インデックス生成の結果を共有することによって提供する。コンテンツベースのインデックス情報を、様々な方法で変更することができる。異なる種類のコンテンツ分析を行うこと、コンテンツ分析に多くのパラメータ設定を使用すること、およびファイルの異なる部分に対してコンテンツ分析を行ったものを集めることが、コンテンツベースのインデックス情報の変更例として挙げられる。
【0014】
最初に、様々な実施形態のためのインデックスソース環境について記述し、その後、分散型コンテンツベースインデックス付け技術について記述する。
【0015】
インデックスソース環境
様々な実施形態によると、コンテンツベースのインデックス情報を生成するにあたっての時間および計算の負担は、任意の種類の多くの装置に分散される。コンテンツベースのインデックス情報とは、ファイルのコンテンツを分析することによって生成されたインデックス情報を指す。さらに、1つの装置によって生成されたコンテンツベースのインデックス情報を、他の装置と共有する。第1の装置が既にファイルに対してコンテンツ分析を行ってそのファイルに関するコンテンツベースのインデックス情報を生成した場合、第1の装置が生成したコンテンツベースのインデックス情報を第2の装置は入手可能かつ共有できるので、第2の装置がそのファイルに対して同じコンテンツ分析を繰り返す必要はない。すなわち、外部ソースが、ファイルに関するコンテンツベースのインデックス情報を提供することによって、ファイルのコンテンツ分析を行ってコンテンツベースのインデックス情報を生成する時間および計算の負担を回避することができる。コンテンツベースのインデックス情報の生成という負担の重複をなくすために協働が行われる。
【0016】
外部ソースは任意の種類のものでよい。外部ソースの例としては、コンピュータ、サーバ、記憶媒体、メディアプレーヤー、および電話が挙げられる。ある実施形態においては、外部ソースは、集中インデックスソースとして実装される。すなわち、ファイルに関するコンテンツベースのインデックス情報は、集中インデックスソースで収集され、集中インデックスソースは、ファイルに関するコンテンツベースのインデックス情報のリクエストを受信し、リクエストされたコンテンツベースのインデックス情報が、入手可能であれば、そのインデックス情報を送信することによって、このリクエストに応える。この集中インデックスソース環境を図1に示し、以下に記述する。ある実施形態においては、外部ソースは非集中インデックスソースとして実装される。すなわち、ファイルに関するコンテンツベースのインデックス情報は、多くの非集中インデックスソースの間で分散された様態で記憶される。各非集中インデックスソースは、各コンテンツベースのインデックス情報を必要に応じて共有する。この非集中インデックスソース環境を図2に示し、以下に記述する。
【0017】
図1は、様々な実施形態による、集中インデックスソース環境100のブロック図である。図1に示すように、集中インデックスソース環境100は、中央インデックスソース50、ならびに複数の装置10、20、30、および40を含む。中央インデックスソース50、ならびに複数の装置10、20、30、および40は、ネットワーク80に接続される。ネットワーク80はインターネットであってよい。装置10、20、30、および40は、任意の種類の装置であってよい。コンピュータ、サーバ、記憶媒体、メディアプレーヤー、電話が、装置の種類の例として挙げられる。当然のことながら、集中インデックスソース環境100は他の構成を有してもよい。
【0018】
装置A10、装置B20、装置C30、および装置D40の各装置は、プロセッサ(例えば、それぞれ、プロセッサ14A、14B、14C、14D)、インデックス付け部(例えば、それぞれ、インデックス部17A、17B、17C、17D)、記憶部(例えば、それぞれ、記憶部12A、12B、12C、12D)、およびネットワーク通信部(例えば、それぞれ、ネットワーク通信部16A、16B、16C、16D)を含む。さらに、装置A10、装置B20、装置C30、および装置D40は、それぞれ、接続15、接続25、接続35、および接続45を介してネットワーク80に接続される。接続15、接続25、接続35、および接続45は、有線であってもよく、無線であってもよい。
【0019】
各インデックス部17A、17B、17C、17Dは、それぞれ、各プロセッサ14A、14B、14C、14Dを利用して、ファイルに関するコンテンツベースのインデックス情報を、中央インデックスソース50にリクエストして受信するように動作可能である。中央インデックスソース50は、コンテンツベースのインデックス情報の外部ソースである。受信したコンテンツベースのインデックス情報を、各記憶部12A、12B、12C、12Dに記憶することができる。さらに、各インデックス付け部17A、17B、17C、17Dは、各プロセッサ14A、14B、14C、14Dを利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。生成したコンテンツベースのインデックス情報を、各記憶部12A、12B、12C、12Dに記憶することができる。さらに、生成したコンテンツベースのインデックス情報を、中央インデックスソース50と共有する。結果として、生成したコンテンツベースのインデックス情報を、装置10、20、30、および40のいずれとも、中央インデックスソース50を介して共有することができる。また、各インデックス付け部17A、17B、17C、17Dは、各プロセッサ14A、14B、14C、14Dを利用して、中央インデックスソース50から受信したコンテンツベースのインデックス情報、および生成したコンテンツベースのインデックス情報を含むインデックスを作成するように動作可能である。
【0020】
ある実施形態においては、コンテンツベースのインデックス情報が中央インデックスソース50からリクエストされているファイル、または、コンテンツベースのインデックス情報が生成されたファイルを、中央インデックスソース50に送信する代わりに、ファイルに固有の識別子を送信する。特に、ファイルが大量のコンテンツを有する場合、ファイルを送信することは実行不可能または不便な場合がある。固有の識別子は、ファイルよりも小さい。ファイルのコンテンツを内密にしておくために、固有の識別子は、ファイルのコンテンツを公開することなしにファイルを識別する。ある実施形態においては、各インデックス付け部17A、17B、17C、17Dは、各プロセッサ14A、14B、14C、14Dを利用して、ファイルの固有のハッシュ(例えば、MD(Message−Digest algorithm 5)ハッシュ)を作成するように動作可能であり、その場合、ハッシュは固有の識別子である。ハッシュは、通常、同一のコンテンツを有する任意の2つのファイルに対して同一である。速度、便利さ、およびプライバシーのために、ファイルに関する受信したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられている。同様に、ファイルに関する生成したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられている。
【0021】
ある実施形態においては、セキュリティ機能がファイルに関するコンテンツベースのインデックス情報に追加されている。セキュリティ機能は、デジタル署名であってよい。中央インデックスソース50から受信したコンテンツベースのインデックス情報のセキュリティ機能を評価して、それが信用できるか否かを判断する。その評価に基づいて、受信したコンテンツベースのインデックス情報を記憶および使用するか否かの決定が行われる。ある実施形態においては、各インデックス付け部17A、17B、17C、17Dは、各プロセッサ14A、14B、14C、14Dを利用して、セキュリティ機能を評価し、かつ生成されるコンテンツベースのインデックス情報にセキュリティ機能を追加するように、動作可能である。
【0022】
ある実施形態においては、装置A10、装置B20、装置C30、および装置D40の各装置は、中央インデックスソース50と共有するコンテンツベースのインデックス情報を生成するために使用されるインデックス付けツール(例えば、ソフトウェア)のデジタル署名を、コンテンツベースのインデックス情報に行うように、動作可能である。これによって、中央インデックスソース50は、コンテンツベースのインデックス情報の質および信頼性を判断できる。
【0023】
ある実施形態においては、各インデックス付け部17A、17B、17C、17Dは、コンテンツアナライザ(例えば、それぞれ、コンテンツアナライザ11A、11B、11C、11D)、および検索部13(例えば、それぞれ、検索部13A、13B、13C、13D)を含む。各検索部13A、13B、13C、13Dは、各プロセッサ14A、14B、14C、14Dを利用して、中央インデックスソース50から受信したコンテンツベースのインデックス情報、および生成したコンテンツベースのインデックス情報を含むインデックスを検索するように動作可能である。
【0024】
続いて、各コンテンツアナライザ11A、11B、11C、11Dは、各プロセッサ14A、14B、14C、14Dを利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。ファイルは、テキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。各コンテンツアナライザ11A、11B、11C、11Dは、ファイルのコンテンツに対してコンテンツ分析を行う。コンテンツ分析は、任意の種類のコンテンツ分析であってよい。文字分析、音声分析、ビデオ分析、および音響分析が、コンテンツ分析の種類の例として挙げられる。英数字、話し言葉、視覚要素、および楽曲特徴の検出および認識が、コンテンツ分析によって生成されるコンテンツベースのインデックス情報の例として挙げられる。
【0025】
上述のように、特に、非テキストファイルのコンテンツベースのインデックス情報の生成には、膨大な計算資源および多大な時間を必要とする。各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dは、ファイルの全コンテンツに対してコンテンツ分析を実行することができる。しかしながら、ファイルコンテンツの量が多ければ多いほど、各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dが、ファイルの全コンテンツに対してコンテンツ分析を行うことができるというのは、より実用的でなくなる。特に、コンテンツベースのインデックス付けをバックグラウンド操作で行う場合は、そうである。ある実施形態においては、各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dは、ファイルのコンテンツの一部のみに対してコンテンツ分析を実行する。すなわち、コンテンツ分析は、各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dが行うのにより実用的な多くのコンテンツ分析タスクに分割される。各コンテンツ分析タスクは、ファイルコンテンツの異なる部分に対してコンテンツ分析を行うことに対応しており、コンテンツベースのインデックス情報の部分群を生成する。例えば、1時間のオーディオファイルの5分ずつの異なるセグメントに対応する12のコンテンツ分析タスクを行って、コンテンツベースのインデックス情報を12の別個の部分群として生成してもよい。別々に生成されたコンテンツベースのインデックス情報の部分群を組み合わせ、または統合して、そのファイルに関する完全なコンテンツベースのインデックス情報を形成する。
【0026】
この部分的インデックス付けを、協調的な方法で達成してもよく、非協調的な方法で達成してもよい。ある実施形態においては、協調的な方法においては、中央インデックスソース50が、ファイルコンテンツの複数の部分への分割を管理および制御する。この場合、ファイルコンテンツの各部分に対してコンテンツ分析を行った結果は、コンテンツベースのインデックス情報の部分群となる。従って、中央インデックスソース50は、装置からのリクエストに応答して、ファイルコンテンツ部分の1つを選択し、装置(例えば、装置A10、装置B20、装置C30、または装置D40)に割り当てるので、同じファイルコンテンツ部分に対するコンテンツ分析の重複を避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置(例えば、装置A10、装置B20、装置C30、または装置D40)が、ファイルコンテンツの部分を無作為に取り出して、無作為に取り出した部分に対してコンテンツ分析を行って、コンテンツベースのインデックス情報の部分群を生成し、生成したコンテンツベースのインデックス情報の部分群を中央インデックスソース50(または、以下に図2に関して記述するピアツーピアネットワーク)と共有する。従って、生成したコンテンツベースのインデックス情報の部分群を、他の装置が生成したコンテンツベースのインデックス情報の任意の他の部分群と統合するのは、各装置が行う。
【0027】
コンテンツ分析には多くの種類があるので、1つのファイルに対して異なった種類のコンテンツ分析を行うと有利である。ある実施形態においては、各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dは、1つのファイルに対して数種類のコンテンツ分析を行うようにコンテンツ分析を実行する。すなわち、コンテンツベースのインデックス付けは、様々なインデックスモードを含み、各インデックスモードはコンテンツ分析の異なる種類に対応している。各インデックスモードに関して、それに対応する種類のコンテンツ分析をファイルに対して行うことに対応する1群のコンテンツベースのインデックス情報が存在する。例として、ファイルに関する多モードのコンテンツベースインデックスのうち、音声分析は第1インデックスモードに対応してよく、ビデオ分析は第2インデックスモードに対応してよく、音響分析は第3のインデックスモードに対応してよい。従って、多様なインデックス検索の需要を満たすことができる。
【0028】
この多モードのインデックス付けは、協調的な方法で達成してもよく、非強調的な方法で達成してもよい。ある実施形態によると、協調的な方法においては、中央インデックスソース50が、装置からのリクエストに応答して、生成および共有するインデックスモードを選択し、装置(例えば、装置A10、装置B20、装置C30、または装置D40)に割り当てることによって、労力が重複するのを避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置(例えば、装置A10、装置B20、装置C30、または装置D40)が、コンテンツベースのインデックス情報が現在入手できないインデックスモードを無作為に1つ選択する。無作為に選択されたインデックスモードに対応するコンテンツベースのインデックス情報を生成し、中央インデックスソース50(または、以下に図2に関して記述するピアツーピアネットワーク)と共有する。
【0029】
特に、非テキストファイルに関して、コンテンツベースのインデックス情報の正確さに非常に幅があることを考えると、正確さの向上が望ましい。ある実施形態においては、各装置10、20、30、および40の各コンテンツアナライザ11A、11B、11C、11Dおよびプロセッサ14A、14B、14C、14Dは、1つのファイルに対して異なるパラメータ設定を用いてコンテンツ分析を行うようにコンテンツ分析を実行する。すなわち、コンテンツベースのインデックス付けは、様々なインデックス表示(manifestations)を含み、各インデックス表示(manifestation)は、異なるパラメータ設定を用いてコンテンツ分析を行うことに対応する。各インデックス表示(manifestation)に対して、対応するパラメータ設定を用いてファイルに対してコンテンツ分析を行うことに対応する1群のコンテンツベースのインデックス情報が存在する。様々なコンテンツベースのインデックス情報群を統合し、個々のコンテンツベースのインデックス情報群よりも正確な、統合したコンテンツベースのインデックス情報を形成する。例として、ファイルに関する多表示(manifestation)のコンテンツベースのインデックスのうち、会話音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第1のインデックス表示(manifestation)に対応してよく、放送ニュース音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第2のインデックス表示(manifestation)に対応してよく、朗読音声に基づいた隠れマルコフモデルパラメータ設定を用いた音声認識分析は第3のインデックス表示(manifestation)に基づいてよい。第1、第2、および第3のインデックス表示(manifestations)のコンテンツベースのインデックス情報群を、ROVER(Recognizer Output Voting Error Reduction)等の技術を用いて統合し、第1、第2、および第3のインデックス表示(manifestations)の個々のコンテンツベースのインデックス情報群より正確な統合したコンテンツベースのインデックス情報を形成してもよい。
【0030】
この多表示(manifestation)インデックス付けは、協調的な方法で達成してもよく、非協調的な方法で達成してもよい。ある実施形態によると、協調的な方法においては、中央インデックスソース50が、装置からのリクエストに応答して、生成および共有するインデックス表示(manifestation)を選択し、装置(例えば、装置A10、装置B20、装置C30、または装置D40)に割り当てることによって、労力が重複するのを避けることができる。ある実施形態によると、非協調的な方法においては、任意の装置(例えば、装置A10、装置B20、装置C30、または装置D40)が、コンテンツベースのインデックス情報を現在入手できないインデックス表示(manifestations)の1つを無作為に取り出す。無作為に選択されたインデックス表示(manifestation)に対応するコンテンツベースのインデックス情報を生成し、中央インデックスソース50(または、以下に図2に関して記述するピアツーピアネットワーク)と共有する。
【0031】
上述の部分的インデックス付け、多モードインデックス付け、および多表示(manifestation)インデックス付けを、様々な方法で組み合わせてもよい。部分的インデックス付けを用いてインデックスモードを完成させること、部分的インデックス付けを用いてインデックス表示(manifestation)を完成させること、および個々のインデックスモードが様々なインデックス表示(manifestations)を有することが、部分的インデックス付け、多モードインデックス付け、および多表示(manifestation)インデックス付けを組み合わせる例として挙げられる。さらに、部分的インデックス付け、多モードインデックス付け、および多表示(manifestation)インデックス付けの実現は、コンテンツ分析の分散、および分散したコンテンツ分析の結果の共有による。
【0032】
図1に戻ると、中央インデックスソース50は、プロセッサ51、インデックス付け部54、記憶部52、およびネットワーク通信部56を含む。さらに、中央インデックスソース50は、接続55を介してネットワーク80に接続される。接続55は、有線であってもよく、無線であってもよい。ある実施形態においては、中央インデックスソース50は、サーバである。
【0033】
記憶部52は、ファイルに関するコンテンツベースのインデックス情報を記憶する。ある実施形態においては、ファイルに関するコンテンツベースのインデックス情報を、装置10、20、30、および40から受信する。ある実施形態においては、中央インデックスソース50は、ファイルに関するコンテンツベースのインデックス情報を生成して、それを記憶部52に記憶してもよい。速度、便利さ、およびプライバシーのために、ファイルに関する受信したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。同様に、ファイルに関する生成したコンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。ある実施形態においては、中央インデックスソース50は、上述の部分的インデックス付け、多モードインデックス付け、および多表示(manifestation)インデックス付けを協調させるのを助ける。
【0034】
インデックス付け部54は、プロセッサ51を利用して、ファイルに関するコンテンツベースのインデックス情報のリクエストを受信し、ファイルに関するコンテンツベースのインデックス情報を装置10、20、30、および40に送信するように、動作可能である。さらに、ある実施形態においては、インデックス付け部54は、プロセッサ51を利用して、ファイルに関するコンテンツベースのインデックス情報を生成するように動作可能である。
【0035】
ある実施形態においては、中央インデックスソース50は、記憶部52に記憶されたコンテンツベースのインデックス情報に基づいてインデックスを維持するように構成され、そのインデックスに対する検索を行えるように構成される。インデックス付け部54は、さらに、プロセッサ51を利用して、ネットワーク80(例えばインターネット)を検索し、そのインデックスの範囲に含まれるファイル発見するように動作可能である。また、インデックス付け部54は、プロセッサ51を利用して、装置10、20、30、および40から、受信したコンテンツベースのインデックス情報を受信して処理し、不正を検出し取り除くように動作可能である。不正の例としては、悪意のあるインデックス情報、有害なインデックス情報、および不法なインデックス情報が挙げられる。さらに、インデックス付け部54は、プロセッサ51を利用して、ファイルに関する非コンテンツベースのインデックス情報を生成するように動作可能である。非コンテンツベースのインデックス情報とは、ファイルのコンテンツ以外の、ファイルに関連付けられた任意のデータから生成されるインデックス情報を指す。メタデータ、ファイル名、およびファイル記述が、非コンテンツベースのインデックス情報のソースの例として挙げられる。生成された非コンテンツベースのインデックス情報は、記憶部52に記憶してもよく、かつ、維持されたインデックスの一部であってよい。また、ファイルに関する生成された非コンテンツベースのインデックス情報は、ファイルのハッシュに関連付けられる。従って、維持されたインデックスの範囲に含まれる新しいファイルに関しては、インデックス情報は、装置10、20、30、および40から受信したコンテンツベースのインデックス情報であってよく、インデックス付け部54およびプロセッサ51が生成したコンテンツベースのインデックス情報であってよく、および/または、インデックス付け部54およびプロセッサ51が生成した非コンテンツベースのインデックス情報であってよい。
【0036】
図2は、様々な実施形態による、非集中インデックスソース環境200のブロック図である。図1に関して述べたことは、下記の点を除いては図2にあてはまる。図2に示すように、非集中インデックスソース環境200は、ネットワーク80に接続された複数の装置10、20、30、および40を含む。ネットワーク80は、インターネットであってよい。装置10、20、30、および40は、任意の種類の装置であってよい。コンピュータ、サーバ、記憶媒体、メディアプレーヤー、および電話が、装置の種類の例として挙げられる。当然のことながら、非集中インデックスソース環境200は他の構成を有してもよい。
【0037】
装置10、20、30、および40は、ピアツーピアネットワークとして構成されている。各装置10、20、30、および40は局所的に生成したコンテンツベースのインデックス情報をピアツーピアネットワークに公開する。ピアツーピアネットワーク内においては、ピアツーピアネットワークの他の装置は、局所的に生成したコンテンツベースのインデックス情報の検索を通して、局所的に生成したコンテンツベースのインデックス情報を見つけることができる。次いで、所望のコンテンツベースのインデックス情報は、ピアツーピアネットワークの適切な装置(単数または複数)10、20、30、および40からリクエストおよび受信される。この場合、ピアツーピアネットワークの適切な装置(単数または複数)10、20、30、および40は、ピアツーピアネットワークのリクエストを行っている装置に対して、コンテンツベースのインデックス情報の外部ソースである。すなわち、図1に関して記述した中央インデックスソース50へのコンテンツベースのインデックス情報のリクエストが、図2に示すピアツーピアネットワークにおいては、局所的に生成したコンテンツベースのインデックス情報の検索に替えられる。さらに、図1に関して記述した中央インデックスソース50へのコンテンツベースのインデックス情報の送信は、局所的に生成したコンテンツベースのインデックス情報を図2に示すピアツーピアネットワークに公開する公開操作に替えられる。従って、コンテンツベースのインデックス情報は、ピアツーピアネットワークを介して共有される。
【0038】
分散型コンテンツベースインデックス付け技術
次に、分散型コンテンツベースインデックス付け技術の操作を、詳細に論述する。図3〜図6を参照すると、フローチャート300、400、500、および600は、それぞれ、分散型コンテンツベースインデックス付けの様々な実施形態によって使用されるステップの例を示す。フローチャート300、400、500、および600は、任意の種類のコンピュータ可読媒体に記憶されるコンピュータ可読命令およびコンピュータ実行可能命令によって制御されるプロセッサが様々な実施形態において行うプロセスを含む。具体的なステップを、フローチャート300、400、500、および600に開示するが、それらのステップは一例である。すなわち、実施形態は、フローチャート300、400、500、および600に記載される以外の様々なステップや記載されるステップを変形したステップを行うのに適している。当然のことながら、フローチャート300、400、500、および600のステップを、記載とは異なった順序で行ってもよく、フローチャート300、400、500、および600のステップの全てを行う必要はない。
【0039】
図3は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート300を示す。この論述に関して、コンテンツベースのインデックス付けは、図1に関して記述した集中インデックスソース環境100で行われる。
【0040】
装置A10において、インデックス付けのためのファイルを選択する(ブロック310)。ファイルは、テキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。ある実施形態においては、装置A10のインデックス付け部17Aがファイルを選択する。
【0041】
続いて、装置A10は、選択したファイルの固有のハッシュ (例えば、MD5(Message−Digest algorithm 5)ハッシュ)を作成する、ここで、ハッシュは、固有の識別子である(ブロック320)。ある実施形態においては、インデックス付け部17Aが固有のハッシュを作成する。
【0042】
装置A10は、中央インデックスソース50に対して、選択したファイルに関するコンテンツベースのインデックス情報をリクエストする(ブロック330)。ある実施形態においては、インデックス付け部17Aが、コンテンツベースのインデックス情報をリクエストする。リクエストには、選択したファイルの代わりに選択したファイルのハッシュが含まれる。このように、選択したファイルが中央インデックスソース50に送られないので、プライバシーおよび速度が維持される。
【0043】
中央インデックスソース50が、選択したファイルに関するコンテンツベースのインデックス情報を有する場合、装置A10は、中央インデックスソース50から、選択したファイルに関するコンテンツベースのインデックス情報を受信し、記憶する(ブロック340、ブロック350、およびブロック360)。そうすると、選択したファイルは、受信したコンテンツベースのインデックス情報を用いて、装置A10において検索可能となる。ある実施形態においては、受信したコンテンツベースのインデックス情報のセキュリティ機能(例えばデジタル署名)の評価に基づいて、装置A10は、受信したコンテンツベースのインデックス情報を記憶および使用するか否かを決定する。
【0044】
中央インデックスソース50が、選択したファイルに関するコンテンツベースのインデックス情報を有しない場合、装置A10は、選択したファイルに関するコンテンツベースのインデックス情報を生成して記憶し、生成したコンテンツベースのインデックス情報を中央インデックスソース50と共有する(ブロック370、ブロック380、およびブロック390)。ある実施形態においては、コンテンツアナライザ11Aが、選択したファイルに対してコンテンツ分析を行って、コンテンツベースのインデックス情報を生成する。コンテンツ分析は、選択したファイルの全コンテンツに対して行ってもよい。そうすると、生成したコンテンツベースのインデックス情報を用いることによって、選択したファイルは、装置A10において検索可能となる。ある実施形態においては、装置A10は、選択したファイルの固有のハッシュ、および選択したファイルに関する生成したコンテンツベースのインデックス情報を、中央インデックスソース50に送信する。このようにして、選択したファイルに関する生成したコンテンツベースのインデックス情報は、中央インデックスソース50がリクエストすれば、装置B20、装置C30、および装置D40で入手可能である。
【0045】
図4は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート400を示す、ここでは、ファイルの異なる部分に別々にインデックスを付ける。すなわち、上述の部分的インデックス付け技術を図4に示す。この論述に関して、コンテンツベースのインデック付けは、図1に関して記述した集中インデックスソース環境100で行われる。
【0046】
インデックス付けのためのファイルを装置A10で選択する(ブロック410)。ファイルはテキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。ある実施形態においては、装置A10のインデックス付け部17Aが、ファイルを選択する。
【0047】
続いて、装置A10は、選択したファイルの固有のハッシュ(例えば、MD5(Message−Digest algorithm 5)ハッシュ)を作成する。ここで、ハッシュは、固有の識別子である(ブロック420)。ある実施形態においては、インデックス付け部17Aが、固有のハッシュを作成する。
【0048】
装置A10は、中央インデックスソース50に対して、選択したファイルに関するコンテンツベースのインデックス情報をリクエストする(ブロック430)。ある実施形態においては、インデックス付け部17Aが、コンテンツベースのインデックス情報をリクエストする。リクエストには、選択したファイルの代わりに選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース50に送信されないので、プライバシーおよび速度が維持される。
【0049】
中央インデックスソース50が、選択したファイルに関するコンテンツベースのインデックス情報を有し、そのコンテンツベースのインデックス情報が完全である場合、装置A10は、選択したファイルに関するコンテンツベースのインデックス情報を中央インデックスソース50から受信し、記憶する(ブロック440、ブロック450、ブロック455、およびブロック460)。そうすると、受信したコンテンツベースのインデックス情報を用いることによって、選択したファイルは装置A10において検索可能となる。ある実施形態においては、図3に関して論述したのと同様に、装置A10は、受信したコンテンツベースのインデックス情報のセキュリティ機能(例えば、デジタル署名)の評価に基づいて、受信したコンテンツベースのインデックス情報を記憶および使用するか否かを決定する。
【0050】
中央インデックスソース50が、選択したファイルに関するコンテンツベースのインデックス情報を有しない場合、または、選択したファイルに関するコンテンツベースのインデックス情報が完全でない場合、中央インデックスソース50は、選択したファイルの一部分を選択し、その選択した部分のファイルコンテンツに対するコンテンツ分析を行うことに対応するコンテンツ分析タスクを、装置A10に割り当てて、コンテンツベースのインデックス情報の部分群を生成し、既に行われたコンテンツ分析タスクからコンテンツベースのインデックス情報の入手可能な任意の部分群を送信する(ブロック440、ブロック450、ブロック465、およびブロック470)。例えば、その部分は、非テキストファイル(例えば、オーディオファイル、ビデオファイルなど)の有限のセグメント(例えば、5分間のセグメント)であってよい。
【0051】
図4の部分的インデックス付け技術の1つの利点は、既に行ったコンテンツ分析タスクからコンテンツベースのインデックス情報の任意の入手可能な部分群が装置A10に送信された範囲まで、選択したファイルが装置A10において検索可能になることである。すなわち、選択したファイル全体にインデックスを付けるのを待つことなしに、選択したファイルに対する検索を行うことが可能になる。これによって、選択したファイルが入手可能になる時刻と、選択したファイルが検索可能になる時刻との間の時間差を減らすことができる。
【0052】
装置A10は、ファイルコンテンツの選択した部分(例えば、5分間のセグメント)に対してコンテンツ分析を行い、コンテンツベースのインデックス情報の部分群を生成する(ブロック475)。さらに、装置A10は、生成したコンテンツベースのインデックス情報の部分群を、中央インデックスソース50から受信したコンテンツベースのインデックス情報の任意の部分群と統合して記憶し、その生成したコンテンツベースのインデックス情報の部分群を中央インデックスソース50と共有する(ブロック480、ブロック485)。ある実施形態においては、コンテンツアナライザ11Aが、ファイルコンテンツの選択した部分に対してコンテンツ分析を行う。そうすると、選択したファイルは、装置A10において、生成したコンテンツベースのインデックス情報の部分群の範囲まで、更に検索可能となる。ある実施形態においては、装置A10は、選択したファイルの固有のハッシュ、および選択したファイルに関する生成したコンテンツベースのインデックス情報の部分群を、中央インデックスソース50に送信する。中央インデックスソース50は、生成したコンテンツベースのインデックス情報の部分群を、既に行ったコンテンツ分析タスクからのコンテンツベースのインデックス情報の任意の入手可能な部分群と組み合わせる。組合せによって、選択したファイルに関するコンテンツベースのインデックス情報が完成する場合、中央インデックスソース50は、選択したファイルを、コンテンツベースのインデックス情報が完成したファイルと指定する。また、選択したファイルに関する生成したコンテンツベースのインデックス情報の部分群は、中央インデックスソース50からのリクエストがあれば、装置B20、装置C30、装置D40において入手可能となる。ある実施形態においては、選択したファイルに関するコンテンツベースのインデックス情報が完成していない場合、装置A10は、中央インデックスソース50内のコンテンツベースのインデックス情報の新しい部分群(単数または複数)の定期的なチェックをスケジュールする。
【0053】
図5は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート500を示す。ここでは、コンテンツベースのインデックス付けは様々なインデックスモードを含み、各インデックスモードは異なる種類のコンテンツ分析に対応している。すなわち、上述の多モードインデックス付け技術を図5に示す。この論述に関して、コンテンツベースのインデックス付けは、図1に関して記述した集中インデックスソース環境100で行われる。インデックスモードを規定する。すなわち、インデックスモードの数(例えば、3)、および各モードのコンテンツ分析の種類(例えば、音声分析、ビデオ分析、および音響分析)を特定する。
【0054】
インデックス付けのためのファイルを装置A10において選択する(ブロック510)。ファイルは、テキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。ある実施形態においては、装置A10のインデックス付け部17Aが、ファイルを選択する。
【0055】
続いて、装置A10は、選択したファイルの固有のハッシュ(例えば、MD5(Message−Digest algorithm 5)ハッシュ)を作成する。ここでは、ハッシュは固有の識別子である(ブロック520)。ある実施形態においては、インデックス付け部17Aが固有のハッシュを作成する。
【0056】
装置Al0は、中央インデックスソース50に対して、選択したファイルに関する各インデックスモードをリクエストする(ブロック530)、ここでは、各インデックスモードに関して選択したファイルに対して対応する種類のコンテンツ分析を行うことに対応している一群のコンテンツベースのインデックス情報が存在する。ある実施形態においては、インデックス付け部17Aが選択したファイルに関する各インデックスモードをリクエストする。リクエストには、選択したファイルの代りに、選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース50に送信されないので、プライバシーおよび速度が維持される。
【0057】
中央インデックスソース50が、選択したファイルに関するインデックスモードを有し、そのインデックスモードが完全な場合、装置A10は、そのインデックスモードに関するコンテンツベースのインデックス情報群を中央インデックスソース50から受信して記憶する(ブロック540、ブロック550、ブロック555、およびブロック560)。そうすると、選択したファイルは、中央インデックスソース50が送信したインデックスモードに関するコンテンツベースのインデックス情報群の範囲まで、装置A10において検索可能になる。ある実施形態においては、図3、図4に関して論述したのと同様に、装置A10は、受信したコンテンツベースのインデックス情報群のセキュリティ機能(例えば、デジタル署名)の評価に基づいて、そのインデックスモードに関する受信したコンテンツベースのインデックス情報群を記憶および使用するか否かを決定する。
【0058】
中央インデックスソース50が選択したファイルに関するインデックスモードを有しない場合、または、インデックスモードが完全でない場合、中央インデックスソース50は、選択したファイルに関するインデックスモードを選択し、選択したインデックスモードに対応する種類のコンテンツ分析を選択したファイルに行うことを装置A10に割り当てて、選択したインデックスモードに関するコンテンツベースのインデックス情報群を生成し、任意の入手可能なインデックスモードに関するコンテンツベースのインデックス情報群を送信する(ブロック540、ブロック550、ブロック565、およびブロック570)。そうすると、選択したファイルは、中央インデックスソース50が送信した任意の入手可能なインデックスモードに関する任意のコンテンツベースのインデックス情報群の範囲まで、装置A10において検索可能となる。
【0059】
装置A10は、ファイルコンテンツに対して、選択したインデックスモードに対応するコンテンツ分析(例えば、音声分析)を行って、選択したインデックスモードに関する1群のコンテンツベースのインデックス情報を生成して記憶し、その選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を中央インデックスソース50と共有する(ブロック575、ブロック580、およびブロック585)。ある実施形態においては、コンテンツアナライザ11Aが、選択したインデックスモードに対応するコンテンツ分析を行う。そうすると、選択したファイルは、さらに、選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群の範囲まで、装置A10において検索可能となる。ある実施形態においては、装置Al0は、選択したインデックスモードの固有のハッシュ、および選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース50に送信する。中央インデックスソース50は、選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群を、選択したファイルに関する任意の入手可能なインデックスモードに関する任意のコンテンツベースのインデックス情報群と共に集める。集めることによって、選択したファイルに関するインデックスモードが完成する場合、中央インデックスソース50は、選択したファイルを、インデックスモードが完成したファイルと指定する。また、選択したファイルの選択したインデックスモードに関する生成したコンテンツベースのインデックス情報群は、中央インデックスソース50からのリクエストがあれば、装置B20、装置C30、および装置D40において入手可能となる。ある実施形態において、選択したファイルに関するインデックスモードが完成していない場合、装置A10は、中央インデックスソース50内の選択したファイルのインデックスモードに関するコンテンツベースのインデックス情報の新しい群(単数または複数)の定期的なチェックをスケジュールする。
【0060】
図6は、様々な実施形態による、ファイルにコンテンツベースのインデックスを付けるためのフローチャート600を示す。ここでは、コンテンツベースのインデックス付けは様々なインデックス表示(manifestation)を含み、各インデックス表示(manifestation)は異なるパラメータ設定を用いてコンテンツ分析を行うことに対応している。すなわち、上述の多表示(manifestation)インデックス付け技術を図6に示す。この論述に関しては、コンテンツベースのインデックス付けは、図1に関して記述した集中インデックスソース環境100で行われる。インデックス表示(manifestations)を規定する。すなわち、各インデックス表示(manifestations)に関して、インデックス表示(manifestations)の数(例えば、3)、コンテンツ分析の種類(例えば、音声認識分析)、およびパラメータ設定(例えば、会話音声に基づいた隠れマルコフモデルパラメータ設定、放送ニュース音声に基づいた隠れマルコフモデルパラメータ設定、および朗読音声に基づいた隠れマルコフモデルパラメータ設定)を特定する。
【0061】
インデックス付けのためのファイルを装置A10において選択する。(ブロック610)。ファイルはテキストファイルであってもよく、非テキストファイル(例えば、オーディオファイル、ビデオファイル、画像ファイル、グラフィックファイルなど)であってもよい。ある実施形態においては、装置A10のインデックス付け部17Aがファイルを選択する。
【0062】
続いて、装置A10は、選択したファイルの固有のハッシュ(例えば、MD5(Message−Digest algorithm 5)ハッシュ)を作成する。ここでは、ハッシュは固有の識別子である(ブロック620)。ある実施形態においては、インデックス付け部17Aが固有のハッシュを作成する。
【0063】
装置A10は、中央インデックスソース50に対して、選択したファイルの各インデックス表示(manifestation)をリクエストする(ブロック630)。ここでは、各インデックス表示(manifestation)に関して、選択したファイルに対して対応するパラメータ設定を用いてコンテンツ分析を行うことに対応している1群のコンテンツベースのインデックス情報が存在する。様々なコンテンツベースのインデックス情報群は統合されて、個々のコンテンツベースのインデックス情報群より正確な統合されたコンテンツベースのインデックス情報を形成する。ある実施形態においては、インデックス付け部17Aが、選択したファイルに関する各インデックス表示(manifestation)をリクエストする。リクエストには、選択したファイルの代わりに、選択したファイルのハッシュが含まれる。このように、選択したファイルは中央インデックスソース50に送信されないので、プライバシーおよび速度が維持される。
【0064】
中央インデックスソース50が選択したファイルに関するインデックス表示(manifestations)を有し、そのインデックス表示(manifestations)が完全な場合、装置A10は、中央インデックスソース50からインデックス表示(manifestations)に関するコンテンツベースのインデックス情報群を受信して統合し、統合したコンテンツベースのインデックス情報を形成し、その統合したコンテンツベースのインデックス情報を記憶する(ブロック640、ブロック650、ブロック655、ブロック657、およびブロック660)。そうすると、選択したファイルは、統合したコンテンツベースのインデックス情報の範囲まで、装置A10において検索可能となる。ある実施形態においては、図3、4、5に関して論述したのと同様に、装置A10が、インデックス表示(manifestations)に関する受信したコンテンツベースのインデックス情報群のセキュリティ機能(例えば、デジタル署名)の評価に基づいて、インデックス表示(manifestations)に関する受信したコンテンツベースのインデックス情報群を記憶および使用するか否かを決定する。
【0065】
中央インデックスソース50が選択したファイルに関するインデックス表示(manifestations)を有しない場合、またはインデックス表示(manifestations)が完全でない場合、中央インデックスソース50は、選択したファイルに関するインデックス表示(manifestation)を選択して、選択したインデックス表示(manifestation)に対応するパラメータ設定を用いてコンテンツ分析を行うことを装置A10に割り当て、選択したインデックス表示(manifestation)に関する1群のコンテンツベースのインデックス情報を生成し、任意の入手可能なインデックス表示(manifestations)に関するコンテンツベースのインデックス情報群を送信する(ブロック640、ブロック650、ブロック665、およびブロック670)。そうすると、選択したファイルは中央インデックスソースが送信した任意の入手可能なインデックス表示(manifestations)に関する任意のコンテンツベースのインデックス情報群の範囲まで、装置A10において検索可能となる。
【0066】
装置A10は、選択したインデックス表示(manifestation)に対応するパラメータ設定 (例えば、会話音声に基づいた隠れマルコフモデルパラメータ設定)を用いて、ファイルコンテンツに対してコンテンツ分析を行い、選択したインデックス表示(manifestation)に関する1群のコンテンツベースのインデックス情報を生成し、選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群を、任意の入手可能なインデックス表示(manifestations)に関する任意の受信したコンテンツベースのインデックス情報群と統合して、統合したコンテンツベースのインデックス情報を形成し、その統合したコンテンツベースのインデックス情報を記憶し、選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース50と共有する(ブロック675、ブロック677、ブロック680、およびブロック685)。ある実施形態においては、コンテンツアナライザ11Aが、インデックスモードに対応するパラメータ設定を用いて、コンテンツ分析を行う。そうすると、選択したファイルは、さらに、選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群の範囲まで、装置A10において検索可能となる。ある実施形態において、装置Al0は、選択したインデックス表示(manifestation)の固有のハッシュ、および選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群を、中央インデックスソース50に送信する。中央インデックスソース50は、選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群を、選択したファイルに関する任意の入手可能なインデックス表示(manifestation)に関する任意のコンテンツベースのインデックス情報群と共に集める。集めることによって、選択したファイルに関するインデックス表示(manifestations)が完成する場合、中央インデックスソース50は、選択したファイルを、インデックス表示(manifestations)が完成したファイルと指定する。また、選択したファイルの選択したインデックス表示(manifestation)に関する生成したコンテンツベースのインデックス情報群は、中央インデックスソース50からのリクエストがあれば、装置B20、装置C30、装置D40において入手可能となる。ある実施形態においては、選択したファイルに関するインデックス表示(manifestations)が完成してない場合、装置A10は、中央インデックスソース50内で、選択したファイルのインデックス表示(manifestation)に関する新しいコンテンツベースのインデックス情報群(単数または複数)の定期的なチェックをスケジュールする。
【0067】
ある実施形態においては、あるファイルに関する様々なインデックス表示(manifestations)を中央インデックスソース50が統合することも可能である。従って、中央インデックスソース50は、個々のインデックス表示(manifestations)を送信する代わりに、あるファイルに関する統合したインデックス表示(manifestation)を装置A10に送信してもよい。さらに、中央インデックスソース50は、装置A10から受信したインデックス表示(manifestation)をそのファイルに関する任意の他のインデックス表示(manifestation)、またはそのファイルに関する任意の他の統合したインデックス表示(manifestation)と統合してもよい。
【0068】
様々な実施形態は、多くの利点を提供する。テキストファイルおよび非テキストファイルのコンテンツベースのインデック付けは、実行可能および実用的である。時間および計算の負担は、柔軟に分散されて、正確で多様な目的に合わせてコンテンツベースのインデックス情報を変更することが可能になる。複数の装置が協働することによって、大掛かりなインデックス付け専用の計算資源への投資を回避することができる。装置の協働は、上述のように、協調的であってもよく、非協調的であってもよい。
【0069】
開示した実施形態に関するこれまでの記述は、当業者が本開示内容を実行または使用できるようにするためのものである。これら実施形態への様々な変更は当業者にとっては明らかであり、本明細書で規定した一般的な原理は、本開示内容の精神と範囲を逸脱することなく、他の実施形態に適用可能である。従って、本開示内容は、本明細書に示す実施形態に限定することを意図するものではなく、本明細書に開示した原理および新規な特徴と矛盾しない最大の範囲に合致するものとする。

【特許請求の範囲】
【請求項1】
ファイルにコンテンツベースのインデックスを付ける方法(300)であって、
前記ファイルに関するコンテンツベースのインデックス情報を外部ソースから入手可能か否かを判断するステップ(340)と、
前記ファイルに関する前記コンテンツベースのインデックス情報が前記外部ソースから入手可能な場合、前記コンテンツベースのインデックス情報を前記外部ソースから受信し、記憶するステップ(350、360)と、
前記ファイルに関する前記コンテンツベースのインデックス情報の任意の1つが前記外部ソースから入手不可能、および前記ファイルに関する前記コンテンツベースのインデックス情報が完全でない場合、前記ファイルに関するコンテンツベースのインデックス情報を生成し、記憶し、前記生成したコンテンツベースのインデックス情報を前記外部ソースと共有するステップ(370、380、390)と、
を含むことを特徴とする方法(300)。
【請求項2】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルの全コンテンツに対してコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項1に記載の方法(300)。
【請求項3】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの一部にのみコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項1に記載の方法(300)。
【請求項4】
前記ファイルに関する前記受信したコンテンツベースのインデックス情報は、第1の種類のコンテンツ分析を行うことによって生成されたコンテンツベースのインデックス情報を含み、前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの少なくとも一部に対して第2の種類のコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップ
を含むことを特徴とする請求項1に記載の方法(300)。
【請求項5】
前記ファイルに関する前記受信したコンテンツベースのインデックス情報は、第1のパラメータ設定を用いてコンテンツ分析を行うことによって生成されるコンテンツベースのインデックス情報を含み、前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記ファイルのコンテンツの少なくとも一部に対して、第2のパラメータ設定を用いてコンテンツ分析を行って、前記コンテンツベースのインデックス情報を生成するステップを含むことを特徴とする請求項1に記載の方法(300)。
【請求項6】
前記ファイルに関する前記コンテンツベースのインデックス情報を生成し、記憶する前記ステップは、
前記受信したコンテンツベースのインデックス情報、および前記生成したコンテンツベースのインデックス情報を統合して、前記受信したコンテンツベースのインデックス情報の正確さ、および前記生成したコンテンツベースのインデックス情報の正確さを超える正確さを有する、統合したコンテンツベースのインデックス情報を形成するステップ
をさらに含むことを特徴とする請求項5に記載の方法(300)。
【請求項7】
前記ファイルのコンテンツを公開しない、前記ファイルに固有の識別子を作成するステップと、
前記受信したコンテンツベースのインデックス情報、および前記生成したコンテンツベースのインデックス情報に、前記固有の識別子を関連付けるステップと
をさらに含むことを特徴とする請求項1に記載の方法(300)。
【請求項8】
前記受信したコンテンツベースのインデックス情報を記憶する前に、前記受信したコンテンツベースのインデックス情報の第1のセキュリティ機能を評価して、前記受信したコンテンツベースのインデックス情報を記憶するか否かを判断するステップと、
前記生成したコンテンツベースのインデックス情報に第2のセキュリティ機能を追加するステップと
をさらに含むことを特徴とする請求項1に記載の方法(300)。
【請求項9】
前記外部ソースは、サーバ(50)を含むことを特徴とする請求項1に記載の方法(300)。
【請求項10】
前記外部ソースは、ピアツーピアネットワーク装置を含むことを特徴とする請求項1に記載の方法(300)。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2011−510422(P2011−510422A)
【公表日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2010−544453(P2010−544453)
【出願日】平成21年1月23日(2009.1.23)
【国際出願番号】PCT/US2009/031913
【国際公開番号】WO2009/094594
【国際公開日】平成21年7月30日(2009.7.30)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】