(57)【要約】マルチメディアやストリーミング・メディアなど、検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索するためのシステムであって、このシステムは、検索照会をフォーマット化するためのアダプタ（１２）と、前の検索結果を含む第１のデータベース（１８）と、現在返送可能なメタデータを記憶するための第２のデータベース（１６）と、検索プロセッサ（１４）と、検索エンジン固有のデータベースを含む少なくとも１つの検索エンジン・カーネル（２０）とを備える。検索エンジン（１４）は、第１のデータベース（１８）および第２のデータベース（１６）の検索を調整し、フォーマット化された検索照会を検索エンジン・カーネル（２０）に供給する。また、検索プロセッサ（１４）は、第１のデータベース（１８）および第２のデータベース（１６）に対して検索結果を供給および受け取り、検索結果をアダプタ（１２）に供給する。このシステムは、現在の検索に対する検索結果が第１のデータベース（１８）から取得されるように、所定量の前の検索結果を第１のデータベース（１８）に記憶しており、従って、検索可能なメタデータを含む検索エンジン・カーネル（２０）を用いた検索が回避される。
2004527812.tif 000002
【特許請求の範囲】
【請求項１】
検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索する方法であって、
前記検索照会を受け取るステップと、
前記検索照会をフォーマット化するステップと、
前記検索照会に関係する前記ネットワークベースのコンテンツを、前の検索結果を含むデータベース中で検索するステップと、
前記検索照会に関係するネットワークベースのコンテンツが前記データベース中で見つからない場合に、前記フォーマット化した検索照会を少なくとも１つの検索エンジンに供給するステップと、
前記データベースと前記少なくとも１つの検索エンジンのうちの一方から検索結果を取得するステップと、
前記取得した検索結果をフォーマット化するステップとを含む方法。
【請求項２】
検索結果を含む履歴ファイルを更新するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記検索照会をフォーマット化するステップが、前記少なくとも１つの検索エンジンに適合するフォーマットに前記検索照会をフォーマット化することを含む、請求項１に記載の方法。
【請求項４】
最も新しい検索結果を含むように前記データベースを更新するステップを更に含み、
前記最も新しい検索結果が最も古い検索結果に取って代わり、
前記データベース中に少なくとも所定の時間量にわたって存在する検索結果が前記データベースから削除される、請求項１に記載の方法。
【請求項５】
前記取得した検索結果をフォーマット化するステップが、前記取得した検索結果を、ユーザから提供されたフォーマットと要求されるフォーマットのうちの一方にフォーマット化することを含む、請求項１に記載の方法。
【請求項６】
前記検索照会がマルチメディアとストリーミング・メディアのうちの少なくとも一方を含む、請求項１に記載の方法。
【請求項７】
検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索するためのシステム（２００）であって、
前記検索照会をフォーマット化するためのアダプタ（１２）と、
検索結果を含む第１のデータベース（１８）と、
検索可能なメタデータから生成された、前記検索結果に関係する返送可能なメタデータを含む第２のデータベース（１６）と、
検索エンジン（１４）とを備え、前記検索エンジン（１４）が、
前記第１のデータベース（１８）の検索を調整し、
前記第２のデータベース（１６）の検索を調整し、
前記第１のデータベース（１８）および前記第２のデータベース（１６）に対して、前記検索照会に関係する前記検索結果を供給および受け取り、
前記検索照会に関係する検索結果を前記アダプタ（１２）に供給するための検索エンジンであるシステム。
【請求項８】
将来の検索照会で使用するために収集されたデータを変更するためのプロモータ（２４）を更に備える、請求項７に記載のシステム。
【請求項９】
前記変更することが、前記検索エンジン（１４）をサポートするために前記収集済みデータのフォーマットを最適化すること、前記検索エンジン（１４）をサポートするために前記収集済みデータの選択を最適化すること、および表示可能なフォーマットに変換されるように前記収集済みデータを生成することのうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１０】
前記検索エンジン（１４）をサポートするための前記収集済みデータの前記フォーマットと、前記表示可能なフォーマットとが異なる、請求項９に記載のシステム。
【請求項１１】
前記検索エンジン（１４）および前記第２のデータベース（１６）によって使用されるようにフォーマット化されたデータを記憶するための検索持続データベース（２２）を更に備える、請求項７に記載のシステム。
【請求項１２】
複数のアダプタ（１２）と、
それぞれの複数の検索エンジン（１４）と、
前記複数のアダプタ（１２）および前記それぞれの検索エンジン（１４）の間に処理負荷をほぼ均等に分配するためのロード・バランサ（２８）とを更に備える、請求項７に記載のシステム。
【請求項１３】
前記アダプタ（１２）、前記検索エンジン（１４）、前記第１のデータベース（１８）、前記第２のデータベース（１６）の間の通信が、システム固有のアプリケーション・プログラミング・インタフェース・プロトコルに従う、請求項７に記載のシステム。
【請求項１４】
前記検索照会がマルチメディアとストリーミング・メディアのうちの少なくとも一方を含む、請求項７に記載のシステム。
【請求項１５】
第３のデータベース（２０）が前記検索可能なメタデータを含む、請求項７に記載のシステム。
【請求項１６】
前記第１のデータベース（１８）が、前記第２のデータベース（１６）中の前記メタデータに対応する前の検索照会から生成されたキーと、前記第２のデータベース（１６）中の前記メタデータに対応する前の検索照会から生成されたスコアとのうちの少なくとも一方を含む、請求項７に記載のシステム。
【請求項１７】
前記検索エンジン（１４）が、前記検索照会に対応する前記検索結果からのデータ・サブセットを、フォーマット化されるように前記アダプタ（１２）に返し、
前記フォーマット化することが、前記検索照会に対応する前記検索結果に対応する複数の表示ページからの表示ページを生成するものである、請求項７に記載のシステム。
【請求項１８】
検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索することをプロセッサに行わせるためのプログラムを記録した読み取り可能な記録媒体であって、
前記検索照会を受け取ることを前記プロセッサに行わせる手段と、
前記検索照会をフォーマット化することを前記プロセッサに行わせる手段と、
検索照会に関係する前記ネットワークベースのコンテンツを、前の検索結果を含むデータベース中で検索することを前記プロセッサに行わせる手段と、
検索照会に関係するネットワークベースのコンテンツが前記データベース中で見つからない場合に、前記フォーマット化した検索照会を少なくとも１つの検索エンジンに供給することを前記プロセッサに行わせる手段と、
前記データベースと前記少なくとも１つの検索エンジンとのうちの一方から検索結果を取得することを前記プロセッサに行わせる手段と、
前記取得した検索結果をフォーマット化することを前記プロセッサに行わせる手段とを備えるプログラムを記録した読み取り可能な記録媒体。
【請求項１９】
検索結果を含む履歴ファイルを更新することを前記プロセッサに行わせる手段を更に備える、請求項１８に記載の読み取り可能な記録媒体。
【請求項２０】
前記検索照会をフォーマット化することを前記プロセッサに行わせる手段が、前記少なくとも１つの検索エンジンに適合するフォーマットに前記検索照会をフォーマット化することを前記プロセッサに行わせる手段を含む、請求項１８に記載の読み取り可能な記録媒体。
【請求項２１】
最も新しい検索結果を含むように前記データベースを更新することを前記プロセッサに行わせる手段を更に備え、
前記最も新しい検索結果が最も古い検索結果に取って代わり、
前記データベース中に少なくとも所定の時間量にわたって存在する検索結果が前記データベースから削除される、請求項１８に記載の読み取り可能な記録媒体。
【請求項２２】
前記取得した検索結果をフォーマット化することを前記プロセッサに行わせる手段が、前記取得した検索結果を、ユーザから提供されたフォーマットおよび要求されるデータ・フォーマットにフォーマット化することを前記プロセッサに行わせる手段を含む、請求項１８に記載の読み取り可能な記録媒体。
【請求項２３】
前記手段が複数の検索エンジンからの前記取得した検索結果をマージする、請求項１８に記載の読み取り可能な記録媒体。
【請求項２４】
前記検索照会がマルチメディアとストリーミング・メディアのうちの少なくとも一方を含む、請求項１８に記載の読み取り可能な記録媒体。
【請求項２５】
搬送波に組み込まれたデータ信号を伝送する伝送媒体であって、
検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索する目的で前記検索照会を受け取るための検索照会受領コード・セグメントと、
前記検索照会をフォーマット化するための検索照会フォーマット・コード・セグメントと、
検索照会に関係する前記ネットワークベースのコンテンツを、前の検索結果を含むデータベース中で検索するためのデータベース検索コード・セグメントと、
検索照会に関係するネットワークベースのコンテンツが前記データベース中で見つからない場合に、前記フォーマット化した検索照会を少なくとも１つの検索エンジンに供給するための、フォーマット済み検索照会供給コード・セグメントと、
前記データベースと前記少なくとも１つの検索エンジンとのうちの一方から検索結果を取得するための検索結果取得コード・セグメントと、
前記取得した検索結果をフォーマット化するための取得済み検索結果フォーマット・コード・セグメントとを備えるデータ信号を伝送する伝送媒体。
【請求項２６】
検索結果を含む履歴ファイルを更新するための履歴ファイル更新コード・セグメントを更に備える、請求項２５に記載のデータ信号を伝送する伝送媒体。
【請求項２７】
前記検索照会をフォーマット化することが、前記少なくとも１つの検索エンジンに適合するフォーマットに前記検索照会をフォーマット化することを含む、請求項２５に記載のデータ信号を伝送する伝送媒体。
【請求項２８】
最も新しい検索結果を含むように前記データベースを更新するためのデータベース更新コード・セグメントを更に備え、
前記最も新しい検索結果が最も古い検索結果に取って代わり、
前記データベース中に少なくとも所定の時間量にわたって存在する検索結果が前記データベースから削除される、請求項２５に記載のデータ信号を伝送する伝送媒体。
【請求項２９】
前記データベースを更新することが、前記検索照会が前記データベース中で位置を見つけ出したときに複数の検索エンジンからの新しい検索結果を追加する、請求項２８に記載のデータ信号を伝送する伝送媒体。
【発明の詳細な説明】
【０００１】
一般に、本発明の分野は、コンピュータに関係する情報の検索（ｓｅａｒｃｈ：サーチ）および取得（ｒｅｔｒｉｅｖａｌ：リトリーバル）に関し、より詳細には、ネットワークベースのコンテンツを検索するためのロバスト（ｒｏｂｕｓｔ：強力な）システムおよびプロセスに関する。
【０００２】
本発明を理解する背景として、インターネット（ワールド・ワイド・ウェブ（ＷＷＷ）またはウェブ（Ｗｅｂ）とも呼ばれる）がその普及に寄与している一面には、非常に多くのマルチメディア・ファイルおよびストリーミング・メディア・ファイルがユーザに利用可能だということがある。しかし、ウェブ上の何百万ものファイルの中に埋もれている特定のマルチメディア・ファイルまたはストリーミング・メディア・ファイルを見つけるのは、極めて困難な作業であることが多い。ウェブ上で利用可能な情報コンテンツのボリューム（量）および多様性は、予想以上のかなりのペースで増加し続ける可能性が高い。この増加は、高度に分散化されたウェブの性質とあいまって、特定の情報コンテンツの位置（場所）を見つけ出す際にかなりの困難を生じる。
【０００３】
ストリーミング（ｓｔｒｅａｍｉｎｇ）メディアは、インターネットまたは他のネットワーク環境を介してユーザのコンピュータに配信され、ファイル全体の配信が完了する前にユーザのコンピュータ上で再生（ｐｌａｙ）が開始される、オーディオ、ビデオ（動画）、マルチメディア、テキスト（文字）、および双方向のデータ・ファイルを指す。ストリーミング・メディアの利点の１つは、ストリーミング・メディア・ファイル全体がダウンロードされる前にファイルの再生が開始し、通常ならファイル全体のダウンロードに付きものであるユーザの長い待ち時間が省かれることである。ディジタル記録された音楽、映画、映画予告編、ニュース・レポート、ラジオ放送、ライブ・イベントはすべて、ウェブ上のストリーミング・コンテンツの増加に寄与している。加えて、ケーブル（ＣＡＴＶ）回線、ＤＳＬ回線、Ｔ１回線（１．５４４Ｍｂｐｓないし２４個の音声チャネルを扱えるＴ−キャリア。Ｔ−１とも書く。）などのより安価な高帯域接続が、報道機関、ハリウッド・スタジオ、独立系プロデューサ、レコード・レーベル、更には家庭ユーザからのストリーミング・メディア・コンテンツへの、より高速で信頼性のあるアクセスをインターネット・ユーザに提供している。
【０００４】
ユーザは通常、検索エンジン（ｓｅａｒｃｈ  ｅｎｇｉｎｅ：サーチ・エンジン）を介してインターネット上の特定の情報を検索する。検索エンジンは、ネットワーク内、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）内やインターネットおよびワールド・ワイド・ウェブ内のネットワーク・サイトにおいてアクセス可能なプログラムのセット（ｓｅｔ：集合）を含んでいる。「ロボット（ｒｏｂｏｔ）」または「スパイダー（ｓｐｉｄｅｒ）」と呼ばれるあるプログラムは、文書（例えば、ウェブ・ページ）およびその他のプログラムを求めてネットワークを事前に横断し、文書中で見つかったキーワードの大規模なインデックス・ファイルを構成する。通常、ユーザが１つまたは複数の検索ターム（ｔｅｒｍ：語）を含む照会（ｑｕｅｒｙ：クエリー）を作り、この照会を検索エンジンの別のプログラムにサブミット（ｓｕｂｍｉｔ：送る）する。これに応答して検索エンジンは、それ自体の索引ファイルを調べ、検索照会に合致する文書のリストを、通常はハイパーリンク（ｈｙｐｅｒｌｉｎｋ）として表示する。次いで、ユーザは、ハイパーリンクの１つをアクティブ化して、その文書に含まれる情報を見ることができる。
【０００５】
しかし、従来の検索エンジンには欠点がある。例えば、多くの代表的な検索エンジンは、テキスト情報だけを見い出すように適応化されている。特に、これらは、構造化データベース（例えば、リレーショナル・データベース）に含まれる情報、音声（ｖｏｉｃｅ）関連情報、オーディオ（ａｕｄｉｏ）関連情報、マルチメディア、ストリーミング・メディアなどを索引付けするのには、余り適さない。また、従来の検索エンジンでは、互換性のないデータ・ソースからのデータが混在する場合も索引付けすることは困難である。
【０００６】
更に、多くの従来の検索エンジン・システムは、検索結果をユーザに提供して検索照会に関係なく、迅速に自体のデータベースを更新できるほど十分なロバスト（耐久）性もなく、十分にスケーラブル（ｓｃａｌａｂｌｅ：拡張性がある）でもない。多くの検索エンジン・システムは、特定のプロセッサ上にあるソフトウェア要素を含み、これらのソフトウェア要素には可搬性がない。即ち、ソフトウェア要素を必要に応じて別の異なるプロセッサ上にダウンロードすることができない。また、ソフトウェア要素の多くは、ソフトウェア・ベンダ（ｖｅｎｄｏｒ：供給メーカー）固有であり、検索エンジン・システムは、別のベンダによる同様の機能を提供するソフトウェアに対応することができない。多量のデータを同時に処理するためにソフトウェア要素を幾つかのプロセッサ上にインストールすることができる場合でも、多くのシステムは、利用されるプロセッサの数を必要に応じて増減することができない点でスケーラブル（ｓｃａｌａｂｌｅ）ではない。従って、前述の欠点および不都合によって制限されない検索システムが必要とされている。
【０００７】
本発明は、検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索するためのシステムについて開示するものであり、このシステムは、検索照会をフォーマット化するためのアダプタ（ａｄａｐｔｅｒ）を備える。また、このシステム、前の検索結果を含む第１のデータベースと、現在の検索結果を記憶するための第２のデータベースも備える。また、検索照会に関係するコンテンツを検索エンジン固有のデータベース中で検索するための少なくとも１つの検索エンジンと、検索プロセッサも備える。検索プロセッサは、第１のデータベースおよび前記少なくとも１つの検索エンジンの検索を調整し、フォーマット化された検索照会を前記少なくとも１つの検索エンジンに供給する。また、検索プロセッサは、第１のデータベースおよび第２のデータベースに対して検索結果を供給および受け取り、検索結果をアダプタに供給する。
【０００８】
検索照会に関係するネットワークベースのコンテンツをネットワーク中で検索する方法は、検索照会を受け取ること、検索照会をフォーマット化すること、および、検索照会に関係するネットワークベースのコンテンツをデータベース中で検索することを含んでいる。データベースは、前の検索結果を含んでいる。検索照会に関係するネットワークベースのコンテンツが、データベース中で見つからない場合は、フォーマット化した検索照会を少なくとも１つの検索エンジンに供給する。データベースまたは少なくとも１つの検索エンジンから検索結果を取得し、取得した検索結果をフォーマット化する。
【０００９】
インターネットは、世界的なコンピュータ・ネットワーク・システムであり、あるコンピュータにおけるユーザが他のコンピュータから情報を得たり、他のコンピュータのユーザと通信したりすることのできる複数のネットワークのネットワークである。インターネットの最も多く利用されている部分は、ワールド・ワイド・ウェブである（しばしば、「ＷＷＷ」と略されるか「ウェブ」と呼ばれる）。ウェブの最も際立った特徴の１つは、相互参照の方法であるハイパーテキスト（ｈｙｐｅｒｔｅｘｔ）を使用する点である。ほとんどのウェブ・サイトでは、幾つかの単語または句が、周囲のテキストと異なる色のテキストで表示される。また、このテキストにはしばしば下線が付される。「クリック可能な」ボタン、画像、または画像の一部がある場合もある。ウェブを使用すると、何百万ページもの情報にアクセスすることができる。ＮＥＴＳＣＡＰＥ  ＮＡＶＩＧＡＴＯＲ（Ｒ）（米国における登録商標）やＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（Ｒ）（米国における登録商標）などのウェブ・ブラウザを使用して、ウェブ「サーフィン（ｓｕｒｆｉｎｇ）」が行われる。使用する特定のブラウザに応じて、特定のウェブ・サイトの見かけ（見た目）は僅かに異なる場合がある。ブラウザの最近のバージョンは「プラグイン（ｐｌｕｇ‐ｉｎ）」を有するが、これは、アニメーション、バーチャル・リアリティ（仮想現実）、音声、および音楽を提供するものである。
【００１０】
本発明は、メディア・ファイルおよびメディア・ファイルに関係するデータを含めたネットワークベースのコンテンツ（ｃｏｎｔｅｎｔ）を、コンピュータ・ネットワーク上でメタデータ（ｍｅｔａｄａｔａ）を利用する検索システムを介して取得するためのシステムおよび方法である。本明細書では、用語「メディア・ファイル」には、オーディオ、ビデオ、テキスト、マルチメディアのデータ・ファイル、およびストリーミング・メディア・ファイルが含まれる。「マルチメディア・ファイル」は、テキスト、画像、ビデオ、オーディオのデータの任意の組合せが含まれる。「ストリーミング・メディア」には、通常はインターネットまたは他の通信ネットワーク環境を介してユーザのコンピュータに配信され、ファイル全体の配信が完了する前にユーザのコンピュータ／装置上で再生が開始する、オーディオ、ビデオ、マルチメディア、テキスト、および双方向のデータ・ファイルが含まれる。ストリーミング・メディアの利点の１つは、ストリーミング・メディア・ファイル全体がダウンロードされる前にファイルの再生が開始し、通常ならファイル全体のダウンロードに付きものであるユーザの長い待ち時間が省かれることである。ディジタル記録された音楽、映画、映画予告編、ニュース・レポート、ラジオ放送、ライブ・イベントはすべて、ウェブ上のストリーミング・コンテンツの増加に寄与している。加えて、ケーブル回線、ＤＳＬ回線、Ｔ１回線、無線ネットワーク（例えば、２．５Ｇや３Ｇベースのセルラー・ネットワーク）などの高帯域接続の使用による通信ネットワークのコストが削減されることで、報道機関、ハリウッド・スタジオ、独立系プロデューサ、レコード・レーベル、更には家庭ユーザ自身からのストリーミング・メディア・コンテンツへのより高速で信頼性のあるアクセスが、インターネット・ユーザに提供されている。
【００１１】
ストリーミング・メディアの例には、歌、政治演説、ニュース放送、映画予告編、ライブ放送、ラジオ放送、金融電話会議、ライブ・コンサート、ウェブカメラ（ｗｅｂ−ｃａｍ）映像、およびその他の特別イベントが含まれる。ストリーミング・メディアは、ＲＥＡＬＡＵＤＩＯ（Ｒ）（米国における登録商標）、ＲＥＡＬＶＩＤＥＯ（Ｒ）（米国における登録商標）、ＲＥＡＬＭＥＤＩＡ（Ｒ）（米国における登録商標）ＡＰＰＬＥ  ＱＵＩＣＫＴＩＭＥ（Ｒ）（米国における登録商標）、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（Ｒ）（米国および日本における登録商標）ＭＥＤＩＡ  ＦＯＲＭＡＴ、ＱＵＩＣＫＴＩＭＥ（Ｒ）（米国における登録商標）、ＭＰＥＧ−２レイヤ（ＬＡＹＥＲ）３オーディオ（Ａｕｄｉｏ）、およびＭＰ３（Ｒ）（米国における登録商標）を含めた様々なフォーマットでエンコード（符号化）される。通常、メディア・ファイルは、特定のフォーマットとの互換性を示す拡張子（接尾部）付きで指定される。例えば、「．ｒａｍ」、「．ｒｍ」、「．ｒｐｍ」のうちの１つで終わるメディア・ファイル（例えば、オーディオおよびビデオ・ファイル）は、ＲＥＡＬＭＥＤＩＡ（Ｒ）（米国における登録商標）フォーマットと互換性がある。次の表に、ファイル拡張子およびそれらの互換フォーマットの例を幾つか列挙する。より網羅したメディア・タイプ、拡張子、および互換フォーマットのリストは、「ｈｔｔｐ：／／ｗｗｗ．ｂｏｗｅｒｓ．ｃｃ／ｅｘｔｅｎｓｉｏｎｓ２．ｈｔｍ」で見ることができる。
【表１】
2004527812.tif 000003
【００１２】
記述データとしてのメタデータ（ｍｅｔａｄａｔａ）は、文字どおりには「データに関するデータ」という意味である。メタデータは、他のデータ（例えば、メディア・ファイル）のコンテンツまたは属性を記述する情報を含むデータである。例えば、「Ｄｕｂｌｉｎ  Ｃｏｒｅ  Ｍｅｔａｄａｔａ  ｆｏｒ  Ｒｅｓｏｕｒｃｅ  Ｄｉｓｃｏｖｅｒｙ（リソース発見のためのダブリン・コア・メタデータ）」という題名の文書（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２４１３．ｔｘｔ）では、メタデータを３つのグループに分けており、これらのグループは、メタデータに含まれる情報のクラスまたは範囲を大まかに示している。この３つのグループは、（１）主にリソースのコンテンツに関する要素、（２）主に知的財産として見たときのリソースに関する要素、および（３）主にリソースのインスタンス化に関する要素である。次の３つの表に、これらのグループに入るメタデータの例を示す。
【表２】
2004527812.tif 000004
【００１３】
メタデータのソース（ｓｏｕｒｃｅ）には、ウェブ・ページ・コンテンツ、ユニフォーム・リソース・ロケータ（ＵＲＬ）、メディア・ファイル、および、メディア・ファイルの送信に使用されるトランスポート・ストリーム（ｔｒａｎｓｐｏｒｔ  ｓｔｒｅａｍ）が含まれる。ウェブ・ページ・コンテンツには、ＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、メタタグ、およびその他ウェブ・ページ上の任意のテキストが含まれる。本明細書でより詳細に説明するが、メタデータは、ウェブ・ページ、メディア・ファイル、および他のメタデータのＵＲＬからも得られる。メディア・ファイル内のメタデータには、例えば、マルチメディア・ファイルまたはストリーミング・ファイルのヘッダ中またはトレーラ中など、メディア・ファイル中の情報を含めることができる。メタデータはまた、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）（例えば、パケット）、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）、フレーム・リレー、セルラーベースのトランスポート方式（例えば、セルラーベースの電話方式、ＰＨＳや携帯電話方式）、ＭＰＥＧトランスポート、ＨＤＴＶ（高品位テレビジョン）放送、無線ベースのトランスポートなど、メディア／メタデータ・トランスポート・ストリームからも得られる。また、メタデータは、並列のストリームで、またはメディア・ファイルの送信に使用されるストリームの一部として送信することもできる（例えば、高品位テレビジョン放送が１つのストリーム上で送信され、電子番組ガイド（ＥＰＧ）の形式をとるメタデータが第２のストリーム上で送信される）。
【００１４】
図１を参照すると、相互接続されたコンピュータ・システム・ネットワーク１０２および１１２のシステム１００を様式化した概要が示されている。各コンピュータ・システム・ネットワーク１０２および１１２は、少なくとも１つの対応するローカル・コンピュータ・プロセッサ・ユニット１０４（例えば、サーバ）を含み、これは、対応するローカル・データ記憶ユニット１０６（例えば、データベース）およびローカル・ネットワーク・ユーザ１０８に結合されている。通信ネットワークとしてのコンピュータ・システム・ネットワークは、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）１０２またはワイド・エリア・ネットワーク（ＷＡＮ）１１２とすることができる。ローカル・コンピュータ・プロセッサ・ユニット１０４は、ネットワーク（例えば、インターネット）１１４を介して複数のメディア装置１１０に選択的に結合される。複数のローカル・コンピュータ・プロセッサ１０４、ネットワーク・ユーザ・プロセッサ１０８、および／またはメディア装置１１０ではそれぞれ、スキャナ、バーコード・リーダ、プリンタ、その他のインタフェース装置など、様々な装置がそのローカル・コンピュータ・システムに接続されている。ローカル・コンピュータ・プロセッサ１０４、ネットワーク・ユーザ・プロセッサ１０８、および／またはメディア装置１１０は、ウェブ・ブラウザでプログラムされ、特定のウェブ・ページのコンテンツにアクセスするために、そのウェブ・ページの位置を見つけ出して選択する（例えば、マウスでクリックすることによって）。このウェブ・ページのコンテンツは、コンピュータ・システム・ネットワーク１０２、１１２のローカル・データ記憶ユニット１０６上にある。ウェブ・ページは、他のコンピュータ・システムおよび他のウェブ・ページへのリンクを含んでいることがある。
【００１５】
ローカル・コンピュータ・プロセッサ１０４、ネットワーク・ユーザ・プロセッサ１０８、および／またはメディア装置１１０は、コンピュータ端末、インターネット・プロトコル（ＩＰ）を使用してインターネットを介して通信することのできるページャ（ポケットベル）、インターネット・アクセスを備えたキオスク端末、接続式の電子手帳（例えば、Ｐａｌｍ，Ｉｎｃ．製のＰＡＬＭデバイス）とすることができ、あるいは電子個人手帳など、ネットワークを介して双方向通信が可能なその他の装置とすることができる。ローカル・コンピュータ・プロセッサ１０４、ネットワーク・ユーザ・プロセッサ１０８、および／またはメディア装置１１０はまた、無線アクセス・プロトコル（Ｗｉｒｅｌｅｓｓ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ：ＷＡＰ）を使用してインターネットを介して接続および通信する携帯型装置（例えば、セルラー、ＰＨＳや携帯電話機）など、無線装置とすることもできる。ネットワーク１０２および１１２は、モデム接続、ローカル・エリア・ネットワーク（ＬＡＮ）、ケーブル・モデム、ディジタル加入者回線（ＤＳＬ）、撚線対、無線ベースのインタフェース（セルラー、赤外線、電波）によって、またはデータ信号を利用する等価な接続によってネットワーク１１４に接続させることができる。データベース１０６は、当該技術分野で知られている任意の手段でローカル・コンピュータ・プロセッサ・ユニット１０４に接続させることができる。データベース１０６は、適当な任意のタイプのメモリ（例えば、磁気、光学など）の形式をとることができる。データベース１０６は、外部メモリとすることもでき、あるいはローカル・コンピュータ・プロセッサ１０４、ネットワーク・ユーザ・プロセッサ１０８、および／またはメディア装置１１０の内部に配置することもできる。
【００１６】
コンピュータには、消費者製品またはその他のコンピュータに組み込まれたコンピュータを含めることもできる。例えば、本発明の一実施形態には、テレビジョン、セット・トップ・ボックス（ＳＴＢ）、オーディオ／ビデオ受信機、ＣＤプレーヤ、ＶＣＲ、ＶＴＲ、ＤＶＤプレーヤ、マルチメディア対応装置（例えば、電話機）、およびインターネット対応装置に、（プロセッサとして）組み込まれたコンピュータを含めることができる。
【００１７】
本発明の例示的な一実施形態では、ネットワーク・ユーザ・プロセッサ１０８および／またはメディア装置１１０は、１つまたは複数のプログラム・モジュールおよび１つまたは複数のデータベースを備え、これらによりユーザ・プロセッサ１０８および／またはメディア装置１１０は、ローカル・プロセッサ１０４と通信し、且つネットワーク１１４を介して相互に通信することができる。プログラム・モジュールは、パール（Ｐｒａｃｔｉｃａｌ  Ｅｘｔｒａｃｔｉｏｎ  ａｎｄ  Ｒｅｐｏｒｔ  Ｌａｎｇｕａｇｅ：ＰＥＲＬ）、拡張可能マークアップ言語（ＸＭＬ）、Ｊａｖａ（登録商標）、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）で書かれたプログラム・コードを含み、あるいはその他、ネットワーク・ユーザ・プロセッサ１０８がそれに記憶されたブラウザ・プログラムを介してローカル・プロセッサ１０４のプログラム・モジュールにアクセスすることを可能にする任意の等価な言語で書かれたプログラム・コードを含んでいる。
【００１８】
ウェブ・サイト（ｗｅｂ  ｓｉｔｅ）およびウェブ・ページ（ｗｅｂ  ｐａｇｅ）は、インターネットなどのネットワーク上で情報（コンテンツ）がある位置（場所）である。１つのウェブ・サイトは、単一または複数のウェブ・ページを含む場合がある。ウェブ・ページは、ネットワーク上のウェブ・ページの位置（アドレス）を含むユニフォーム・リソース識別子（ＵＲＩ）で識別される。ウェブ・サイトおよびウェブ・ページは、ローカル・エリア・ネットワーク１０２、ワイド・エリア・ネットワーク１１２、ネットワーク１１４、プロセッシング・ユニット（例えば、サーバ）１０４、ユーザ・プロセッサ１０８、および／またはメディア装置１１０上にあるものとすることができる。情報またはコンテンツは、例えば、ハード・ドライブ、コンパクト・ディスク、メインフレーム装置など、任意の記憶装置に記憶することができる。コンテンツは、ウェブ・サイトごと、更にはウェブ・ページごとに異なる様々なフォーマット（形式）で記憶されている。
【００１９】
図２は、本発明による、ネットワークを検索するためのロバスト・システムの機能ブロック図２００である。システム２００は、アダプタ１２、検索プロセッサ１４、検索結果用データ記憶域１６、照会キャッシュ１８、検索エンジン・カーネル（ｓｅａｒｃｈ  ｅｎｇｉｎｅ  ｋｅｒｎｅｌ）２０、検索持続記憶域２２、およびプロモータ（ｐｒｏｍｏｔｅｒ）２４を含めた、幾つかの機能要素を備える。本発明の一実施形態では、システム２００の各機能要素は、複数のプロセッサ上で実現され、これらのプロセッサは、システム２００に課される需要（ｄｅｍａｎｄ）に応じて動的に変更することができる。例えば、システム２００中の各機能要素が別々のプロセッシング・ユニット上にあるものとすることができ、何れか特定の機能を処理するのを補助するために追加のプロセッシング・ユニットを稼動状態にし、需要が減少したときには非アクティブにする。別の例示的な実施形態では、システム２００のすべての機能要素は単一のプロセッシング・ユニット上にあり、ソフトウェア・セグメントおよびメモリが各機能要素に関連付けられる。特定の機能要素に利用可能な単一プロセッサ・ユニットのリソース量は動的であり、特定の機能のために単一プロセッシング・ユニットに課される需要に応じて割り振られる。
【００２０】
システム２００は、分離（分割）可能性（ｓｅｐａｒａｂｉｌｉｔｙ）（分断可能性（ｓｅｖｅｒａｂｉｌｉｔｙ））およびスケーラビリティの特性を備える。分離可能性は、システム２００の機能要素が完全に可搬可能であり、置換可能であることをいう。即ち、各機能要素はどんなプロセッシング・ユニット上にあってもよく、任意の機能要素をその更新バージョンまたは別のベンダのバージョンで置換することができる。分離可能性は、要素間固有のインタフェース・プロトコルを実装することにより保証される。要素間インタフェースは、アプリケーション・プログラミング・インタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ：ＡＰＩ）と呼ばれ、機能要素がそのバージョンまたはベンダに関係なく相互に通信できるようにするものである。ＡＰＩは当該技術分野で知られている。ＡＰＩは、所定の再使用可能なプロトコルのセットである。例えば、検索のためのＡＰＩを生み出すには、定義されたパラメータのセット（例えば、照会ストリング、所望のビット・レートのストリング、所望のシステムのストリング）を用いたメソッド検索を伴うインタフェースを提供し、すべてのシステムはこのＡＰＩに従うようにしなければならない。
【００２１】
スケーラビリティは、システム２００が特定の機能要素需要を満たすようにシステム・リソースを再割り振りできることをいう。例えば、システム２００は、照会キャッシュ１８など特定の機能要素が必要とするメモリ量に応じて、その機能要素に利用可能なメモリを増減する。従って、照会キャッシュ１８がより多くのメモリを必要とする場合、システム２００はより多くのメモリを照会キャッシュ１８に利用可能にする。照会キャッシュ１８からデータが削除されたときは、使用されなくなったメモリをシステム２００の別の機能要素に利用可能にする。現在、再割り振りには、前記コンポーネントのうちの１つを構成設定の変更後に再起動することが必要である。
【００２２】
アダプタ（ａｄａｐｔｅｒ）１２は、検索照会をシステム２００により使用可能なシステム・フォーマットに変換およびフォーマット化するための機能要素である。アダプタ１２は、ユーザからサブミット（提供）された検索照会などの照会を、検索エンジン・カーネル２０により必要とされる方式に従って、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）などの標準的なプロトコルから拡張可能マークアップ言語（ＸＭＬ）などのシステム２００固有のフォーマットに変換する。特定の検索エンジンでは、しばしば、その検索エンジン固有のＸＭＬフォーマットでデータを提供する必要がある。従って、アダプタ１２は、検索照会を各検索エンジン固有のフォーマットに変換およびフォーマット化する。また、アダプタ１２は、検索結果をシステム・フォーマットからハイパーテキスト・マークアップ言語（ＨＴＭＬ）や拡張可能なマーク付け言語（ＸＭＬ）など、サブミット（提起）されたフォーマットまたは要求されたフォーマットにフォーマット化することも行う。
【００２３】
ＨＴＴＰは、インターネット上のプロセッサが相互通信するために最も一般的に使用するプロトコルである。ＨＴＴＰトランザクションは通常、あるプロセッサから別のプロセッサに送信される要求を含んでいる。ＨＴＴＰ要求および応答は、メッセージを記述するメッセージ・ヘッダを含んでいる。ＸＭＬは、ＨＴＭＬとは対照的に、ネットワーク（例えば、インターネット）データおよびその構造を記述する言語であり、データをどのように提示すべきかを記述する。ＸＭＬは、情報を記述するためのユーザ自身の語彙を生み出す機能をユーザに提供する。この機能により、ＸＭＬ文書を特定の目的に合うようにすることができる。これはＨＴＭＬでは不可能である。このため、多くの検索エンジンが、提供されるデータのために、検索エンジン固有のＸＭＬコードを作り出すことは珍しいことではない。
【００２４】
検索プロセッサ（ｓｅａｒｃｈ  ｐｒｏｃｅｓｓｏｒ）１４は、システム２００によって実行される検索プロセスを調整するための機能要素である。検索プロセッサ１４は、検索照会が正しくシステム・フォーマットに変換されるようにし、検索結果が正しいフォーマット（例えば、ユーザ提供フォーマット、ユーザ指定フォーマット）に変換されるようにする。また、検索プロセッサ１４は、照会が適切なデータベース中で検索されるようにする。
【００２５】
照会キャッシュ（ｑｕｅｒｙ  ｃａｃｈｅ）１８は、前（昔）の幾つかの検索に関係するデータ識別子やスコア（ｓｃｏｒｅ）、および／または前の幾つかの検索からのデータ識別子やスコアなど、検索エンジンの結果のコピーを含む機能要素である。ただし、照会キャッシュ１８は、前の検索に関係するその他の形式のデータに対応してもよい。照会キャッシュ１８は、検索結果を記憶して、これを検索プロセッサ１４と通信することのできる任意のプロセッサ、コード・セグメント、記憶装置、データベース、またはこれらの組合せを備えることができる。検索照会がシステム２００に供給されたとき、これらの照会に基づく検索の結果が、照会キャッシュ１８に記憶される。現在の検索照会に対する検索結果が、照会キャッシュ１８に記憶されている場合、検索プロセッサ１４は、検索エンジン・カーネル２０にアクセスせずに、この検索結果を照会キャッシュ１８から直接に取得する。次いで、照会キャッシュ１８または検索エンジン・カーネル２０から返された記録識別子を、結果データ記憶域１６からの表示可能データと結合する。次いで、これらの結合した結果を、アダプタ１２を介してユーザまたは要求元システムに提供する。照会キャッシュ１８に記憶された検索結果は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ：最低使用頻度）方式と呼ばれるプロセスに従って更新される。ＬＲＵプロセスによれば、最も新しい検索結果が、照会キャッシュ１８中に最も長く存在した検索結果に取って代わる。即ち、最も新しい検索結果が最も古い（即ち、最近使われていない）検索結果に取って代わる。従って、照会キャッシュ１８に含まれるメモリの量（サイズ）は、限度内でほぼ一定のままである。ただし、照会キャッシュ１８のサイズは、照会キャッシュ１８に課せられる需要に応じて増減させることができる。一実施形態では、このサイズは起動パラメータとして構成可能であり、キャッシュのサイズを変更するには照会キャッシュ１８だけをリブート（ｒｅｂｏｏｔ：再起動）すればよい。システムは、照会キャッシュが再起動されたことを認識し、通常どおり続行する。更に、照会キャッシュ１８に記憶された検索結果は、所定の時間内にアクセスまたは置換されなかった場合は削除される（即ち、照会キャッシュ１８から除去される）。例えば、ニュースなどの項目に対して時宜を得た結果を提供するために、この項目は約３０分後に「古くなって消える」。ただし、このパラメータは構成可能であり、任意の所望の値に設定することができる。
【００２６】
照会キャッシュ１８は、代替実施形態で、結果のページングをサポートする。通常、照会からの結果は、検索照会に対応するすべてのヒットを含んでいる。この実施形態では、検索プロセッサ１４は、データを照会キャッシュ１８から取得するとき、現在要求されているデータ・ページ（例えば、最初の表示ページに対応する）に対する要求を満たすのに必要なデータ・サブセットだけを受け取り、これがアダプタ１２によってフォーマット化される。検索プロセッサ１４が、追加の検索結果ページを要求したときは、追加のデータ・サブセット（例えば、２番目の表示ページに対応する）が照会キャッシュ１８から送信され、アダプタ１２によってフォーマット化される。例えば、照会が実行された直後は、検索結果の最初のページだけが、アダプタ１２に返されてフォーマット化される。ユーザが２番目のページを見たいと思った場合は、再び同じ照会がシステムを介して送られるが、この検索要求は、２番目の表示ページに対応するデータ行だけを求めるものである。
【００２７】
検索エンジン・カーネル（ｋｅｒｎｅｌ）２０は、検索機構を提供するための機能要素であり、この検索機構において、検索照会および検索照会に関係するデータがデータベース中で検索される。検索エンジン・カーネル２０により検索されるデータベースは、ネットワーク（例えば、インターネット）を検索するスパイダーやロボットなどのエージェント（ａｇｅｎｔ）から得られるコンテンツを含んでいる。検索エンジン・カーネル２０は、当該技術分野で知られている適切な任意の検索エンジン・カーネルとすることができる。検索エンジン・カーネルの例には、Ｏｒａｃｌｅ（商標）−ｉＴＭ（商標）、ＡｌｔａＶｉｓｔａ（商標）、およびＩｎｆｏＳｅｅｋ（商標）などが含まれる。ＡＰＩの使用によってシステム２００が分断（分割）可能であることにより、システム２００をディセーブル（ｄｉｓａｂｌｅ）にすることなく、任意の検索エンジン・カーネルをより新しいバージョンに変更すること、別のベンダのバージョンで置換すること、異なる検索エンジン・カーネルで置換すること、またはこれらの組合せを行うことが可能である。従って、システム２００は、１つの特定タイプの検索エンジン・カーネルに依存しない。図２には、システム２００が複数の検索エンジン・カーネル２０を備えるものとして示してあるが、本発明によれば、システム２００は単一の検索エンジン・カーネル２０を備えるものであってもよい。
【００２８】
結果データ記憶域（ｒｅｓｕｌｔ  ｄａｔａ  ｓｔｏｒｅ）１６は、検索エンジン・カーネルおよび検索持続記憶域に記憶されたあらゆる項目（ｉｔｅｍ）に関連するメタデータを記憶するための機能要素である。検索エンジン・カーネル２０を使用することにより見つかった主キーなどのデータ識別子が、後でユーザまたは要求元システムに提供されるように結果データ記憶域１６に記憶される。検索結果は、各ストリームについて分っている任意の返送可能なメタデータを含んでいる。例として、題名（タイトル）、ＵＲＬ、創作者、ビット・レート、およびシステムが挙げられる。表１および表２は、異なる３つの項目（３つの固有ファイル名）についてのメタデータを含んでいる。結果キー（ｒｅｓｕｌｔ  ｋｅｙ）は、結果記憶域に記憶されたメタデータ中に索引付けするための固有識別子である。スコア（ｓｃｏｒｅ）は、特定の結果キーに対する特定の照会について計算された数値重み付けである。この数値重み付けは、ターム（ｔｅｒｍ：語）頻度、日付関連性、および、各行ごとに各照会についての単一の重み付きスコアに達するためのその他の関連性要件に関連するものである。各結果データ記憶域１６は、検索結果を記憶して、これを検索プロセッサ１４と通信することのできる任意のプロセッサ、コード・セグメント、記憶装置、データベース、またはこれらの組合せを備えることができる。図２には、システム２００が複数の結果データ記憶域１６を備えるものとして示してあるが、本発明によれば、システム２００は単一の結果データ記憶域１６を備えるものとしてもよい。
【００２９】
検索持続記憶域（ｓｅａｒｃｈ  ｐｅｒｓｉｓｔｅｎｔ  ｓｔｏｒｅ）２２は、検索エンジン・カーネル２０を更新し、検索メタデータを結果データ記憶域１６に供給する目的で、メタデータの最も新しいビュー（ｖｉｅｗ）を記憶するための機能要素である。検索持続記憶域２２は、検索結果を記憶し、検索結果を結果データ記憶域１６に供給し、検索エンジン・カーネル２０を更新することのできる、任意のプロセッサ、コード・セグメント、記憶装置、データベース、またはこれらの組合せを備えることができる。検索持続記憶域２２は、あらゆるストリームにつき、メタデータの完全バージョン（検索可能と返送可能（ｒｅｔｕｒｎａｂｌｅ）の両方）を記憶する。検索エンジン・カーネル２０は、検索可能なメタデータ（検索持続記憶域から得る）だけを含み、結果データ記憶域１６は、返送可能なメタデータを取得する。検索エンジン・カーネル２０と結果データ記憶域１６は両方とも、検索持続記憶域２２が結果を対応する各システムに配信することにより更新される。
【００３０】
プロモータ（ｐｒｏｍｏｔｅｒ）２４は、検索持続記憶域２２に記憶されている中間メタデータを、所定のファイル／ストリームについて分っているメタデータの最も新しいバージョンで更新するための機能要素である。次いで、この新しいメタデータは、適時に検索エンジン・カーネル２０および結果データ記憶域１６に供給されて、メタデータが発展するのに伴ってそのビューが供給される。この機構は、メタデータを高速レートで更新する手段と、メタデータを定期的なスケジュールで、結果データ記憶域１６および検索エンジン・カーネル２０に供給する手段を、処理負荷が許容するときに供給する。通常、検索持続記憶域／プロモータは、地理的に近い位置にある単一システム（ｍｏｎｏｌｉｔｈ）間で共用される。これらの機構は、検索エンジン・カーネル２０および結果データ記憶域１６からの検索可能ビューを更新するためのメタデータのマスタ・ソースである。従って、信頼性があり維持可能な検索システムを提供する。プロモータ２４は、新しいデータが見い出されて現在のデータが更新されるときに、更新されたメタデータをワークフロー・システムから取得してシステムを更新する。検索エンジン・カーネル２０および結果データ記憶域１６は、更新されたコンテンツを構成可能な間隔で検索持続記憶域２２から取り込んで、表３および表４に示すようなそれらのメタデータ・ビューを更新する。
【表３】
2004527812.tif 000005
【表４】
2004527812.tif 000006
【００３１】
本発明の代替実施形態では、プロモータ２４は、２つのサブシステムと共に機能する。１つはデータ取得のためのサブシステムであり、もう１つはデータベースと検索クライアントとの間でデータを転送するためのサブシステムである。データ取得のための第１のサブシステムは、当該技術分野でスパイダーとして周知であるデータ抽出機構を介して、インターネット上に接続されたソースからメタデータを取得する。次いで、プロモータの第１のサブシステムは、収集されたこのメタデータを検索持続記憶域２２に転送する。「ディストリビュータ」と呼ばれる第２のサブシステムは、データ（収集されたメタデータのいくらかを含む）を、検索持続記憶域２２から、検索エンジン、検索エンジン・カーネル２０、結果データ記憶域１６としてのクライアントに転送し、且つ検索持続記憶域２２から地理的にリモート（遠隔）にあるその他の検索持続記憶域２２としてのクライアントに転送する。
【００３２】
図３は、本発明による、システム３００の機能ブロック図であり、システム３００は、複数の検索プロセッサ１４と、ロード・バランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷均衡器）２８を備える。図３に見られるように、システム３００は、共通の照会キャッシュ１８を共用する２つのサブシステム３２を備える。各サブシステム３２はシステム２００と同様の方式で動作する。システム３００に課される需要に応じて、ロード・バランサ２８は、処理負荷をサブシステム間にほぼ均等に分配する。更に、一方のサブシステムが動作不能になった場合、ロード・バランサ２８は、動作不能になったサブシステムに関するワークフローを他方のサブシステムに動的に割り振る。システム３００が２つのサブシステム３２を有するものとして示してあるが、システム３００は、共通の照会キャッシュ１８を共用する３つ以上のサブシステム３２を備えて、システム３００に課される需要に対応するものとしてもよい。任意選択で、システム３００は、それぞれの検索持続記憶域２２およびプロモータ２４の間でデータを共用する２つのサブシステム３２を有する。
【００３３】
図４は、本発明による、ネットワークベースのコンテンツを検索するプロセスの流れ図である。ステップ４２で、アダプタ１２が検索照会を受け取る。検索照会は、ユーザ、要求元システム、または両方の照会提供側から提供することができる。ステップ４４で、アダプタ１２は、検索照会を標準的なプロトコル（例えば、ＨＴＴＰ）からシステム固有のフォーマット（例えば、ＸＭＬ）に変換および／またはフォーマット化する。ステップ４８で、検索照会に関係するコンテンツを照会キャッシュ１８中で検索する。検索照会に関係するコンテンツが照会キャッシュ１８中で見つかった場合は、ステップ４６で、このコンテンツを含む検索結果を照会キャッシュ１８から取得する。検索結果が照会キャッシュ１８から得られる場合、検索エンジン・カーネル２０は検索しない。従って、検索照会に関係するコンテンツを検索するために検索エンジンを利用しないことにより、このシステムおよびプロセスは、検索結果をユーザおよび／または要求元システムに提供するための非常に迅速で効率的な手段を与える。ステップ５６で、照会キャッシュ１８から取得した検索結果に関連する情報で履歴ファイルを更新する。この履歴ファイル中の情報は、照会キャッシュ１８を更新するために使用される。照会キャッシュ１８および／または検索エンジン・カーネル２０から返された各キー／スコアについてのデータは、結果データ記憶域１６からの返送可能なメタデータと結合される。ステップ６５で、照会キャッシュ１８からの検索結果（キーおよびスコア）と、ステップ５７でフェッチ（ｆｅｔｃｈ）した（取り出した）（結果データ記憶域１６からの）返送可能なメタデータとをマージ（ｍｅｒｇｅ：結合）して、検索エンジン照会結果と関係するデータ記憶域結果との結合を形成する。次いで、ステップ５８で、検索結果をフォーマット化して、検索照会が元々提供されたフォーマット、または具体的に要求されるフォーマットに適合するようにする。次いで、ステップ６０で、フォーマット化した検索結果を、結果データ記憶域１６、検索プロセッサ１４、およびアダプタ１２を介してユーザおよび／またはシステムに提供する。
【００３４】
検索システムの様々な実施形態で、照会キャッシュ１８は、同じ場所に位置するエンティティ（ｅｎｔｉｔｙ）またはシステム間で共用することもでき、あるいは、１つのシステム内に含まれるものとすることもでき、その場合は、各システムが照会キャッシュ１８を備える。このフレキシビリティはまた、結果データ記憶域１６にも適用可能である。即ち、結果データ記憶域１６は、同じ場所に位置するシステム間で共用することもでき、あるいは、１つのシステム内に含まれるものとすることもでき、その場合は各システムが結果データ記憶域１６を備える。
【００３５】
検索照会に関係するコンテンツが照会キャッシュ１８中に見つからない場合は、ステップ５０で、フォーマット化した検索照会を検索エンジン・カーネル２０に供給する。検索エンジン・カーネルは、各検索エンジン固有の、検索可能なメタデータを含むデータベースを検索する。照会は複数の検索エンジンに係わる場合もあり、これらに対応する検索エンジン・カーネル・データベースが検索対象メタデータとなる。これらの固有データベースは、スパイダーやロボットなどのエージェントによって実施されたネットワーク検索の結果を含むことができる。ステップ５２で、検索カーネル２０に知られているサブセット（ｓｕｂｓｅｔ）を検索することにより結果が得られ、結果が複数の検索エンジンからきた場合はマージされて、検索エンジン結果がもたらされる。検索持続記憶域２２は、プロモータ２４からくるすべてのデータの中央キャッシュであり、このデータを使用して検索エンジン・カーネル２０および結果データ記憶域１６を更新する。検索持続記憶域２２は、システムと同じ場所に位置してもよく、あるいは、地理的に離れたシステムがそれ自体の検索持続記憶域２２を有してもよく、プロモータ２４を介して同期がとられる。ステップ５４で、照会キャッシュ１８を、検索エンジンの検索から得られた検索結果に関連する情報で更新（例えば、追加、変更、削除）する。従って、現在の検索照会が再びシステムに供給された場合、システムは、時間の掛かる検索エンジン・カーネル２０を再び利用するのではなく、照会キャッシュ１８から検索結果を取得する。ステップ５６で、検索エンジン・カーネル２０から取得した検索結果に関連する情報で履歴ファイルを更新する。この履歴ファイル中の情報は、照会キャッシュ１８を更新するために使用される。ステップ６５で、照会キャッシュ１８からの検索結果（キーおよびスコア）と、ステップ５７でフェッチ（取り出）した（結果データ記憶域１６からの）返送可能なメタデータとをマージして、検索エンジン照会結果と関係するデータ記憶域結果との融合を形成する。次いで、ステップ５８で、検索結果をフォーマット化して、検索照会が元々提供されたフォーマット、または具体的に要求されるフォーマットに適合するようにする。次いで、ステップ６０で、照会キャッシュ１８から得られた結果を、結果データ記憶域１６、検索プロセッサ１４、およびアダプタ１２を介してユーザおよび／またはシステムに提供する。
【００３６】
ステップ５８で実行する変換およびフォーマット化は、検索照会固有のコンテンツ（例えば、ストリーミング・メディア・ファイル）を検索エンジン・カーネル２０に記憶された中間検索結果から抽出するためにフォーマット化し、ユーザから提供されたフォーマットまたは指定フォーマットに適合するように検索結果をアダプタ１２によってフォーマット化することを含んでいる。
【００３７】
システム２００の幾つかの実施形態は単一のプロセッサで動作するが、また本発明は、図３にシステム３２として示した、共用できる検索サブシステムを有する複数のシステム（それぞれがそれ自体の検索プロセッサ１４を有する）にわたって展開しても効率的に動作することに留意されたい。例えば、２つのシステム３２を結合してシステム３００を形成する。システム３００では検索プロセッサの数は２つだが、本発明のこの代替実施形態では、各システム３２の間で単一の検索持続記憶域２２および単一のプロモータ２４が共用される。このようにサブシステムを２倍にすると、図３のシステム３００の、返送可能なメタデータをもたらす１分あたりの照会数が２倍になるかもしれないが、検索できるメタデータにはほとんど影響しない。本発明はまた、スケーラブルな配置に関するその他の変更にも対応する。例えば、地理的考慮または帯域幅の考慮に基づいて、３つのシステム３２が２つの検索持続記憶域２２を共用することもできる。加えて、システム３２内に複数の検索エンジン・カーネル２０を追加して、検索に対して照会できるデータベース（検索可能なメタデータ）のボリュームを更に増大させることもできる。本質的に、結合するシステム３２が多いほど、また各システム３２内に追加する検索エンジン・カーネル３０が多いほど、説明した本発明のうちで対応できる検索照会、検索可能なメタデータ、および返送可能なメタデータは多くなる。
【００３８】
本発明による、ネットワークを検索するためのシステムおよびプロセッサは、ロバスト性、分離（分割）可能性、スケーラビリティ、効率性、および迅速性をもたらす。これらの特性は、他の各機能要素に対する定義済みアプリケーション・プログラム・インタフェース（ＡＰＩ）を有する機能要素を備えたシステムによってもたらされる。このため、機能要素のバージョンまたはベンダ・ソースが変更されても、システムには最小限の影響しか及ばない。更に、このシステムは、システムに課せられる処理需要およびメモリ需要を満たすように動的に構成可能である。どの機能要素も特定のハードウェア・装置上にある必要はなく、従って、分散アーキテクチャに匹敵する再構成の可能性を与える。このシステムはまた、現在の検索に対する検索結果がキャッシュ・メモリから取得されるように、所定量の前の検索結果をキャッシュ・メモリに記憶しており、従って、検索エンジンを利用してネットワークを検索するという時間の掛かるプロセスが回避される。
【００３９】
本発明は、コンピュータによって実現されるプロセス、およびこれらのプロセスを実施するための装置の形式で具体化することができる。また、本発明は、フロッピー（登録商標）ディスク、読出し専用メモリ（ＲＯＭ）、ＣＤ−ＲＯＭ、ハード・ドライブ、高密度ディスク、その他任意のコンピュータ可読記憶媒体など、有形の媒体（メディア）に組み込まれたコンピュータ・プログラム・コードの形式で具体化することができ、コンピュータ・プログラム・コードがコンピュータにロードされてコンピュータにより実行されたときは、このコンピュータは本発明を実施する装置になる。また、本発明は、例えば、記憶媒体に記憶されようと、コンピュータにロードされ且つ／またはコンピュータにより実行されようと、あるいは電気配線またはケーブル、光ファイバ、電磁放射など何らかの伝送媒体を介して伝送されようと、コンピュータ・プログラム・コードまたは電子信号の形式で具体化することができ、コンピュータ・プログラム・コードがコンピュータにロードされてコンピュータにより実行されたときは、このコンピュータは本発明を実施する装置になる。汎用プロセッサ上に実装されたときは、コンピュータ・プログラム・コード・セグメントは、特定の論理回路を生み出すようにプロセッサを構成する。
【図面の簡単な説明】
【図１】
相互接続されたコンピュータ・システム・ネットワークのシステムを様式化した概要図である。
【図２】
本発明による検索システムの機能ブロック図である。
【図３】
本発明による、複数の検索プロセッサを備える検索システムの機能ブロック図である。
【図４】
本発明による、ネットワークベースのコンテンツを検索するプロセスの流れ図である。
【図１】
2004527812.tif 000007
【図２】
2004527812.tif 000008
【図３】
2004527812.tif 000009
【図４】
2004527812.tif 000010
【国際公開パンフレット】
2004527812.tif 000011
2004527812.tif 000012
2004527812.tif 000013
2004527812.tif 000014
2004527812.tif 000015
2004527812.tif 000016
2004527812.tif 000017
2004527812.tif 000018
2004527812.tif 000019
2004527812.tif 000020
2004527812.tif 000021
2004527812.tif 000022
2004527812.tif 000023
2004527812.tif 000024
2004527812.tif 000025
2004527812.tif 000026
2004527812.tif 000027
2004527812.tif 000028
2004527812.tif 000029
2004527812.tif 000030
2004527812.tif 000031
2004527812.tif 000032
2004527812.tif 000033
2004527812.tif 000034
2004527812.tif 000035
2004527812.tif 000036
2004527812.tif 000037
2004527812.tif 000038
2004527812.tif 000039
2004527812.tif 000040
2004527812.tif 000041
2004527812.tif 000042
【国際調査報告】
2004527812.tif 000043