(57)【要約】【課題】ネットワーク内でオブジェクトを共有する画像を特徴付ける方法、デバイス、およびシステムを提供する。【解決手段】方法ステップは、デバイスのネットワークに接続される第１デバイスでクエリ・オブジェクトの照会を開始するステップを含む。デバイスのネットワークに接続される第２デバイスでクエリ・オブジェクトに似た類似オブジェクトを発見し、類似性はネットワーク上の任意のデバイスで自動的に判定される。第２デバイスから第１デバイスに類似オブジェクトを転送する。【選択図】図３
2008521106.tif 000002
【特許請求の範囲】
【請求項１】
デバイスのネットワークに接続される第１デバイスでクエリ・オブジェクトの照会（ｑｕｅｒｙ）を開始するステップと、
前記デバイスのネットワークに接続される第２デバイスでクエリ・オブジェクトに似た類似オブジェクトを発見するステップで、類似性はネットワーク上の任意のデバイスで自動的に判定される、前記発見するステップと、
類似オブジェクトを前記第２デバイスから前記第１デバイスに転送するステップとを有する、デバイスのネットワーク内でオブジェクトを共有する方法。
【請求項２】
前記クエリ・オブジェクトと前記類似オブジェクトは、それらが所定の程度似ている場合に互いに似ている、請求項１に記載の方法。
【請求項３】
類似性は前記クエリ・オブジェクトと前記類似オブジェクトの一または複数の特徴の比較に基づく、請求項１または２に記載の方法。
【請求項４】
前記特徴の少なくとも１つがメタデータのタイプである、請求項３に記載の方法。
【請求項５】
前記特徴のうち少なくとも１つがオブジェクト固有タイプとアプリケーション固有タイプのうちの少なくとも１つである、請求項３または４に記載の方法。
【請求項６】
前記メタデータのタイプが、オブジェクト・サイズ、オブジェクト名、オブジェクト全体の特色（ｆｉｎｇｅｒｐｒｉｎｔ）、およびオブジェクトの少なくとも一部の少なくとも１つの特色のうちの少なくとも１つである、請求項４または５に記載の方法。
【請求項７】
前記特色がコンテンツ定義タイプ、ハッシュ・タイプ、およびオーディオ・タイプのいずれかである、請求項６に記載の方法。
【請求項８】
前記特色がラビン暗号、ＳＨＡ−１ハッシュ、およびＭＤ５ハッシュのうち少なくとも１つである、請求項６または７に記載の方法。
【請求項９】
前記特徴のうち少なくとも１つが前記クエリ・オブジェクトと前記類似オブジェクトのコンテキストである、請求項３〜８のいずれかに記載の方法。
【請求項１０】
前記コンテキストが記憶デバイスのオブジェクトの少なくとも一部により定義される、請求項９に記載の方法。
【請求項１１】
前記コンテキストを共有する前記オブジェクトが似ていると推定される、請求項１０に記載の方法。
【請求項１２】
ゼロまたは一以上オブジェクトのブラックリストを提供するステップをさらに有する、請求項１〜１１のいずれかに記載の方法。
【請求項１３】
前記ブラックリストが明示タイプと黙示タイプのうちの少なくとも１つである、請求項１２に記載の方法。
【請求項１４】
前記ブラックリストにある前記オブジェクトが前記クエリ・オブジェクトと似ていると認定されない、請求項１２または１３に記載の方法。
【請求項１５】
請求項１〜１４のいずれか１項の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項１６】
デバイスのネットワーク内で類似オブジェクトを共有するシステムが、
相互に通信する一または複数のコントローラーと、
前記一または複数のコントローラーの少なくとも１つと通信して、ゼロまたは一以上オブジェクトを格納する第１記憶デバイスで、各オブジェクトが少なくとも１つの特徴をもつ、前記第１記憶デバイスと、
前記一または複数のコントローラーの少なくとも１つと通信して、前記ゼロまたは一以上オブジェクトを格納する第２記憶デバイスで、各オブジェクトが少なくとも１つの特徴をもつ、前記第２記憶デバイスとを有し、
前記第１および第２記憶デバイスが各々前記記憶デバイスと通信するコントローラーを介して相互に通信し、
照会に応答して、前記記憶デバイス間の前記類似オブジェクトの共有が類似性を判定する前記コントローラーによって促される、システム。
【請求項１７】
前記格納オブジェクトの一または複数の特徴を比較することによって類似性を判定する、請求項１６に記載のシステム。
【請求項１８】
前記コントローラーの少なくとも１つが、前記第２記憶デバイスが前記第１記憶デバイスに格納される一または複数の格納オブジェクトに似た一または複数の格納オブジェクトをすでに包含することを判断し、
さらに前記コントローラーの少なくとも１つが前記第１記憶デバイスの前記類似格納オブジェクトの少なくとも１つを前記第２記憶デバイスに転送する、請求項１６または１７に記載のシステム。
【請求項１９】
前記記憶デバイスの少なくとも１つと通信する前記コントローラーの少なくとも１つがクエリ・オブジェクトの照会を開始することと、
前記記憶デバイスの少なくとも１つと通信する前記コントローラーの少なくとも１つが、前記第２記憶デバイス内の照会オブジェクトに似た類似オブジェクトを発見することと、
前記コントローラーの少なくとも１つが前記第１記憶デバイスに前記類似オブジェクトを転送することをさらに有する、請求項１６、１７、または１８に記載のシステム。
【請求項２０】
前記第２記憶デバイスが帯域幅の閾値を超えている場合、前記第２記憶デバイスによる前記第１記憶デバイスとの転送を拒否する、請求項１６、１７、１８、または１９に記載のシステム。
【請求項２１】
ブラックリストに載るオブジェクトは前記ブラックリストに関連する前記記憶デバイスに転送できない、前記記憶デバイスの少なくとも１つに関連する少なくとも１つのブラックリストを有する、請求項１６〜２０のいずれかに記載のシステム。
【請求項２２】
前記第１記憶デバイスと通信する前記コントローラーの少なくとも１つ（「リクエスタ」）が、クエリ・オブジェクトの照会を開始することと、
前記第２記憶デバイスに通信する前記コントローラーの少なくとも１つ（「レスポンダ」）が、前記照会を受け取り、前記クエリ・オブジェクトに関する少なくとも１つの特徴を前記リクエスタに送ることによって応答することと、
前記リクエスタが前記第１記憶デバイスが類似オブジェクトをもつかどうかを判断し、もつ場合そのオブジェクトのリストを前記レスポンダに送ることと、
前記レスポンダが前記トランザクションを受付するかまたは拒否するかどうかを決定し、前記トランザクションを受付する場合、前記リクエスタと前記レスポンダの間で前記オブジェクトの二重転送が起こり、そこで前記リクエスタが前記レスポンダから要求される前記元のオブジェクトを受け取り、かつ前記レスポンダが前記リクエスタから前記類似オブジェクトの少なくとも１つを受け取ることをさらに有する、請求項１６〜２１のいずれかに記載のシステム。
【請求項２３】
前記開始された照会がさらに、類似性の受入可能な程度の標識を有する、請求項１〜１４のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク・プロセッシングに関し、特にネットワーク接続されたコンピュータ上のファイルなどのオブジェクトを探索および検索することに関する。
【背景技術】
【０００２】
ユーザがネットワーク上の不明な場所（例えば、グヌーテラなどのピア・ツー・ピア・ネットワーク内のクライアント）から共有オブジェクト（例、ファイル）を得たいと思うとき、ユーザはクライアント・ソフトウェア（例えば、ピア・ツー・ピア・クライアント、ファイル・システム等）を介して要求を発行する。要求が生成されるノードはリクエスタとして知られる。要求はネットワーク上の一または複数のパスに沿って送られ、希望のオブジェクトを所有する任意のノードが応答できる。このノードは直接もしくは要求パス経由で要求側のノードにオブジェクトを返す。この既存のメカニズムは、ユーザがオブジェクトの要求を名前（例、ｈａｐｐｙ＿ｂｉｒｔｈｄａｙ．ｍｐ３）によって明示的に発行する必要がある。ユーザがすでに検索したオブジェクトと同様の共有オブジェクトを求める場合、どのオブジェクトが似ているかを判断する手動プロセスを採用して、さらにそのオブジェクトをネットワーク上で探索するのはユーザ側である。
【０００３】
ファイル集合間の類似度を判断する技術が数多くある。ある技術は各ファイルを特色認証し（例、ラビン暗号（Ｒａｂｉｎ  ｆｉｎｇｅｒｐｒｉｎｔｓ）で）、ｎ個のうちｍ個の特色を照合して類似度を判断する。今まで、この作業は静的なファイル集合に関してのみ行われてきた。加えて、符号化を調べることによって２つのオーディオ・ファイルが似ているかどうかを判断する製品が数多くある。これら技術はテンポとスタイルを調べる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
自動的にミュージック・ファイルをダウンロードする手段を提供するシステムがある。例えば、エージェントを使うシステムがあるが、これはファイルが中央サーバーまたはピア・ノードで利用できるようになるのを待つ。このシステムは、ユーザがファイル名を指定する必要があり、ファイル名のバリエーションを考慮に入れられないという制限がある。しかも、類似のオブジェクトを見つける手段は一切含まれていない。
【０００５】
多くの商取引のウエブ・サイトが客に「類似」の商品を提示する。例えば、客が商品Ｙをショッピング・カートに追加すると、ウエブ・ページは「Ｙをご購入になられた方はＸおよびＺも購入されています」というような文を掲載することがある。商品を相関させるプロセスは手動プロセスか、または購買習慣を追跡する自動化プロセスである。これらのどちらも実際には商品の内容を使って比較してはいない。
【課題を解決するための手段】
【０００６】
本発明の例示的な実施例は、デバイスのネットワーク内でオブジェクトを共有する方法を含む。方法ステップは、デバイスのネットワークに接続された第１デバイスでクエリ・オブジェクトに関する照会（ｑｕｅｒｙ）を開始するステップを有する。デバイスのネットワークに接続された第２デバイスでクエリ・オブジェクトに似た類似オブジェクトを探し、その類似性をネットワーク上のいずれかのデバイスで自動的に判定する。第２デバイスから第１デバイスに類似オブジェクトを転送する。
【０００７】
別の例示的な実施例は、クエリ・オブジェクトと類似オブジェクトが指定される程度似ていれば、互いに似ているとすることを含む。
【０００８】
本発明の別の例示的な実施例は、類似性がクエリ・オブジェクトと類似オブジェクトの一または複数の特徴の比較に基づくことを含む。
【０００９】
本発明の別の例示的な実施例は、少なくとも１つの特徴がメタデータのタイプであることを含む。
【００１０】
本発明の別の例示的な実施例は、特徴の少なくとも１つがオブジェクト固有タイプとアプリケーション固有タイプのうちの少なくとも１つであることを含む。
【００１１】
本発明の別の例示的な実施例は、メタデータのタイプがオブジェクト・サイズ、オブジェクト名、オブジェクト全体の特色（ｆｉｎｇｅｒｐｒｉｎｔ）、およびオブジェクトの少なくとも一部の少なくとも１つの特色のうちの少なくとも１つであることを含む。
【００１２】
本発明の別の例示的な実施例は、特色がコンテンツ定義タイプ、ハッシュ・タイプ、およびオーディオ・タイプのうちの１つであることを含む。
【００１３】
本発明の別の例示的な実施例は、特色がラビン暗号、ＳＨＡ−１ハッシュ、およびＭＤ５ハッシュのうちの少なくとも１つであることを含む。
【００１４】
本発明の別の例示的な実施例は、特徴の少なくとも１つがクエリ・オブジェクトおよび類似オブジェクトのコンテキストであることを含む。
【００１５】
本発明の別の例示的な実施例は、コンテキストが記憶デバイス上のオブジェクトの少なくとも一部によって定義されることを含む。
【００１６】
本発明の別の例示的な実施例は、コンテキストを共有するオブジェクトを似ていると推定することを含む。
【００１７】
本発明の別の例示的な実施例は、ゼロまたは一以上オブジェクトのブラックリストを提供することを含む。
【００１８】
本発明の別の例示的な実施例は、ブラックリストが明示タイプと黙示タイプのうちの少なくとも１つであることを含む。
【００１９】
本発明の別の例示的な実施例は、ブラックリストにあるオブジェクトがクエリ・オブジェクトと似ていると認定されないことを含む。
【００２０】
本発明の別の例示的な実施例は、デバイスのネットワーク内でオブジェクトを共有する方法を実施するマシンによって実行可能な命令からなるプログラムを有体として具現する、マシンで読取可能なプログラム記憶デバイスを含む。プログラムステップは、デバイスのネットワークに接続される第１デバイスでクエリ・オブジェクトに関する照会を開始するステップを有する。デバイスのネットワークに接続された第２デバイスでクエリ・オブジェクトに似た類似オブジェクトを見つけ、その類似性をネットワーク上の任意のデバイスで自動的に判定する。第２デバイスから第１デバイスに類似オブジェクトを転送する。
【００２１】
本発明の別の例示的な実施例は、コンピュータのネットワーク内で類似オブジェクトを共有するシステムを含む。このシステムは、相互に通信する一または複数のコントローラーを有する。このシステムはまた、一または複数のコントローラーの少なくとも１つと通信して、ゼロまたは一以上オブジェクトを格納する第１記憶デバイスを有し、各オブジェクトが少なくとも１つの特徴をもつ。一または複数のコントローラーの少なくとも１つと通信し、ゼロまたは一以上オブジェクトを格納する第２記憶デバイスもあり、各オブジェクトは少なくとも１つの特徴をもつ。システムはまた、記憶デバイスに通信するコントローラーを経由して、各々が相互に通信する第１および第２の記憶デバイスを有し、そこで照会に応答して、記憶デバイス間での類似オブジェクトの共有は類似性を判定するコントローラーによって促進される。
【００２２】
本発明の別の例示的な実施例は、コントローラーの少なくとも１つが、第２記憶デバイスが第１記憶デバイスに格納された一または複数の格納オブジェクトに似た一または複数の格納オブジェクトをすでに包含しているかを判断ことを含む。また、コントローラーの少なくとも１つが類似格納オブジェクトの少なくとも１つを第１記憶デバイスから第２記憶デバイスに転送することを含む。
【００２３】
本発明の別の例示的な実施例は、記憶デバイスの少なくとも１つと通信するコントローラーのうち少なくとも１つがクエリ・オブジェクトの照会を開始することを含む。また、記憶デバイスの少なくとも１つと通信するコントローラーのうち少なくとも１つが第２記憶デバイスで照会オブジェクトに似た類似オブジェクトを発見することを含む。コントローラーのうち少なくとも１つが類似オブジェクトを第１記憶デバイスに転送する。
【００２４】
本発明の別の例示的な実施例は、第２記憶デバイスが帯域幅の閾値を超えている場合、第２記憶デバイスによる第１記憶デバイスとの転送を拒否することを含む。
【００２５】
本発明の別の例示的な実施例は、記憶デバイスの少なくとも１つに関連する少なくとも１つのブラックリストを含み、ブラックリストに載っているオブジェクトはブラックリストに関連する記憶デバイスには転送できない。
【００２６】
本発明の別の例示的な実施例は、第１記憶デバイスと通信するコントローラーのうち少なくとも１つ（「リクエスタ」）がクエリ・オブジェクトの照会を開始することを含む。また、第２記憶デバイスと通信するコントローラーのうち少なくとも１つ（「レスポンダ」）が照会を受け取り、リクエスタにクエリ・オブジェクトに関する少なくとも１つの特徴を送って回答することを含む。リクエスタは第１記憶デバイスが類似オブジェクトをもつかどうかを判断し、もしもつならレスポンダにそのオブジェクトのリストを送る。レスポンダはそのトランザクションを受付または拒否するかどうかを判断する。トランザクションが受付されたら、リクエスタとレスポンダとの間にオブジェクトの二重転送が起こって、リクエスタはレスポンダから要求される元のオブジェクトを受け取り、レスポンダはリクエスタから類似オブジェクトの少なくとも１つを受け取る。
【００２７】
本発明の別の例示的な実施例は、開始した照会がさらに許容可能な類似度の標識を有することを含む。
【発明を実施するための最良の形態】
【００２８】
図１を参照すると、本発明のある例示的な実施例に従い、本発明を実装するコンピュータ・システム１０１は中央処理装置（「ＣＰＵ」）１０２と、メモリ１０３と、入出力（「Ｉ／Ｏ」）インターフェース１０４を含む。コンピュータ・システム１０１は一般的に、Ｉ／Ｏインターフェース１０４を通してディスプレイ１０５と、マウス、キーボード、および医用画像デバイスなどの様々な入力デバイス１０６に連結される。サポート回路はキャッシュ、電源、クロック回路、および通信バスなどの回路を含むことができる。メモリ１０３はランダム・アクセス・メモリ（「ＲＡＭ」）、読み取り専用メモリ（「ＲＯＭ」）、ディスク・ドライブ、テープ・ドライブ等、またはその組み合わせを含むことができる。本発明はメモリ１０３に格納され、ＣＰＵ１０２で信号源１０８からの信号の処理を実行できるルーチン１０７として実装できる。このように、コンピュータ・システム１０１は本発明のルーチン１０７を実行するときに特定目的のコンピュータ・システムとなる汎用コンピュータ・システムである。
【００２９】
コンピュータ・システム１０１はオペレーティング・システムとマイクロ命令コードも含む。本明細書で説明する様々なプロセスおよび機能は、マイクロ命令の一部またはアプリケーション・プログラムの一部（もしくはその組み合わせ）でよく、オペレーティング・システムを介して実行される。さらに、追加のデータ記憶デバイスおよび印刷デバイスなど、様々な他の周辺デバイスをコンピュータ・プラットフォームに接続してもよい。
【００３０】
図２は、本発明のある例示的な実施例によりネットワーク接続されたノード２５５の集合を描いており、全体を参照番号２００で示される。この例では、全体を参照番号２５５で示されるノードはネットワーク接続されたコンピュータの集合を表すことができる。ノード２５５は多数の構成の個別のコントローラーおよび記憶デバイスも表すことができる。接続線２３０および２４０で表されるネットワーク２００は、コンピュータ２１０、２５０、２２０、およびその他のデバイス２５５から構成される。ここで、ユーザはネットワーク上の不明な場所から共有オブジェクト（例、ファイル）を取得できる。ユーザはノード２１０でクライアント・ソフトウェア（例えば、ピア・ツー・ピア・クライアント、ファイル・システム等）を介して要求を発行でき、リクエスタとして知られる。要求は一または複数のパス２４０に沿って送られ、所望のオブジェクトを所有する任意のノード２５５、この場合ノード２２０が応答できる。このノード２２０は、パス２６０を介して直接、要求パス２４０を経由して、またはネットワーク経由でどれか他のパスを経由して要求側のノード２１０にオブジェクトを返すことができる。
【００３１】
本発明のある例示的な実施例は、あったとしてもユーザからの介入を最小限にして、ユーザに新たな類似コンテンツを自動的に提供する。ユーザが思いもよらなかったまたは知らなかったオブジェクトが発見できるだけでなく、本発明は無駄なユーザ探索をなくせるためユーザの帯域幅をより効率的に使用することもできる。
【００３２】
本発明のある例示的な実施例では、任意の数の技術を使用して２つのオブジェクトが似ているかどうかを判断できる。１例として、２つのオブジェクト間の類似性は２つ以上のユーザのオブジェクト・セットを比較することによって推定できる。例えば、２つのユーザが同じファイルをｎ％もつ場合、各ユーザは他方のファイルまたはその部分集合の残りに興味をもつと推定できる。
【００３３】
本発明の他の例示的な実施例では、メタデータまたはオブジェクトに関するデータを使用して類似性を判断できる。類似の名前、タイプ等をもつオブジェクトはオブジェクトに従属して似ていると考えられる。算出特色、メタデータの別のタイプ、（例、ラビン暗号、ＳＨＡ−１ハッシュ、またはオーディオ・ファイル用のオーディオ特色）を各オブジェクトについて算出でき、さらにこれら特色を比較できる。例えば、オブジェクトａとオブジェクトｂがオブジェクトａおよびｂのｎ個の部分についてとったｎ個のラビン暗号のうちｍ個が一致する場合、似ていると考えられる。他の特徴も同様に使用できる。
【００３４】
本発明の別の例示的な実施例では、オブジェクトの特徴を種々のタイプに分解できる。これらのタイプのうちの２つがオブジェクト固有とアプリケーション固有である。オブジェクト固有の特徴とは、オブジェクトのタイプに関係なくオブジェクトに適用できるものである。これにはオブジェクト・サイズおよびオブジェクト名が含まれるが、それだけに限定されない。アプリケーション固有の特徴とは、オーディオ・ファイル、ビデオ・ファイル、およびイメージ・ファイル、テキスト・ファイルなどであるが、それだけに限定されない固有のオブジェクトのタイプに適用できる特徴である。アプリケーション固有の特徴の例は、肌色などある特定の色の集合の量であり、これは画像でみられる。
【００３５】
本発明の他の例示的な実施例では、ユーザまたはクライアントは求める類似度を指定できる。ユーザまたはクライアントは、受け取る類似オブジェクトの数が多すぎる場合を含むが、それだけに限定されない何らかの理由で類似度を調整することがある。さらに、他のアプリケーションのサービス品質を保証するために帯域幅の上限を指定できる。この帯域幅の上限を類似度の要因の１つに入れてもよい。あるクライアントにとっての他の例として、クラシック音楽とオペラ音楽を似ていると考えることもできよう。ただし、他の人にとってはこの２つが設定される類似度と使用する類似性アルゴリズムに従属していないかもしれない。
【００３６】
本発明の他の例示的な実施例では、オブジェクトをブラックリストに載せる明示および黙示メカニズムがある。ブラックリストに載せるオブジェクトとはユーザが望まないものである。ユーザはクライアント・プログラムに対して一定のメタデータと一致するオブジェクトを検索しないまたは受け取らない（プッシュの場合）と明示的に伝えることができる（例、特定のオペラ歌手の歌をダウンロードしない）。黙示ブラックリストは、ユーザが受け取ったオブジェクトにアクセスしない場合、またはユーザが受け取ったオブジェクトを削除する場合に生じることができる。このようにクライアント・ソフトウェアは類似性およびそれに応じた類似度もしくは類似性またはそれに応じた類似度を調整できる。
【００３７】
図３は本発明のある例示的な実施例に従うシナリオを描いており、全体を参照番号３００で示す。図面では、中間ノード３１０が共有オブジェクト３５０、３６０、および３７０を他のノード３２０、３３０、および３４０にプッシュする。中間ノード３１０は信用できると分かっているオブジェクト共有ネットワーク内部のノードであり、一定のネットワークで採用される場合、クライアント・ノード３２０、３３０、３４０は中間ノード３１０を介してネットワーク２３０に接続できる。中間ノード３１０は、チャート３１１で表すように、それぞれに接続されるクライアント３２０、３３０、および３４０の各々に位置するオブジェクト・セット３２１、３３１、および３４１の完全な情報をもつ。例えば、ノード１  ３２０はそのオブジェクト・リスト３２１にオブジェクト１  ３２４およびオブジェクト２  ３２３の２つのオブジェクトをもつ。加えて、オブジェクト８  ３２２はユーザまたはクライアント・ソフトウェアによってブラックリストに載せられている。中間ノード３１０はオブジェクト１、４、および６が似ていることを判断する。この類似性はあらゆる数の手段を使って判断でき、その２つの例を以下に述べる。
【００３８】
本発明に従って類似性をどのように判断できるかの１例が、ノード１および２（３２０および３３０）がともにオブジェクト２（３２３および３３４）をもつことである。２つのノード１および２（３２０および３３０）は類似オブジェクトまたは同じオブジェクトを包含するため、この場合ともにオブジェクト２を包含するため、ノード１および２（３２０および３３０）は類似コンテキストをもつオブジェクトを包含すると言える。この類似度は、２つのノードの類似（または同じ）オブジェクトの数が増えるにつれて上げることができる。ノード１および２（３２０および３３０）は類似コンテキストのオブジェクトを包含するため、中間ノード３１０は参照番号３５０で示されるオブジェクト４および６をノード１  ３２０にプッシュでき、参照番号３６０で示されるオブジェクト１をノード２  ３２０にプッシュできる。
【００３９】
本発明に従い類似性をどのように判断できるかの別の例では、中間ノード３１０はオブジェクト２と８が似ていると判断する。この場合、ノード３１０はメタデータ照合アルゴリズムを使って、各オブジェクトに関連する図示していないメタデータを比較する。ただし、この場合、２つのノードのオブジェクトの残りはコンテキストに基づいて似ていると認定されない。このため、参照番号３７０で示されるようにオブジェクト２がノード３  ３４１にプッシュされる。同様に、参照番号３６５で示されるように、オブジェクト８  ３４３がノード２  ３３０にプッシュされる。ただし、ノード１  ３２１はオブジェクト８  ３２２をブラックリストに載せているため、ノード１  ３２０にはどのオブジェクトもプッシュされない。このメカニズムを使って、類似オブジェクトをクライアントにプッシュできる。複数のクライアントがさらに多くのオブジェクトを取得すると、そのオブジェクトはその取得に興味をもつ他のユーザと共有できる。
【００４０】
本発明の別の例示的な実施例では、中間ノードはネイバー・ノードとしても知られる隣接ピア・ノードとなることもできるであろうが、その場合オブジェクト・リストが共有される。
【００４１】
図４は本発明の別の例示的な実施例を描く。中間ノードのないネットワーク構成では、他のクライアント・ノードが表示されるようにオブジェクトをプッシュすることがある。図２のネットワーク２００を使ってこの例を図示し、全体を参照番号４００で示す。ネットワーク２００上のオブジェクトの照会は一または複数のパス２４０を移動するので、照会を送るノード２５５は類似オブジェクトに関しそれ自身のオブジェクト・セットを検査できる。類似の共有オブジェクトが見つかったら、例えばそのノード４１０および４３０は直接パス４２０および４４０を介してその類似共有オブジェクトをクライアント２１０に転送できる。クライアント・ノード２１０がノード４１０または４３０から提供される共有オブジェクトをブラックリストに載せている場合には、クライアント２１０は開始する前に転送を拒否できる。ノード４１０および４３０は自動的にまたは手動の介入を介して、その類似性アルゴリズムを微調整してもよい。例えば、何度も探索を行った後、ノードはオブジェクトをほとんどもしくはまったく転送していなければ、その類似性閾値より低くなることがある。本明細書において類似度としても知られる類似性閾値は、２つのオブジェクトが似ているといえる閾値または程度である。この閾値はノードが使う各アルゴリズムで異なってもよく、またはそのアルゴリズムの一または複数のいくつかの集合体でもよい。
【００４２】
本発明の他の例示的な実施例では、ノード２１０からの照会は求める類似度を含めることができる。パス２４０に沿った各ノードは種々の類似性検査技術を採用できる。さらに、照会はクライアントが求める類似オブジェクトに関し最大数の応答を包含できる。パスに沿ったノードが照会に対し類似オブジェクトを返すので、要求をパス上の次のノードに進める前に、この数を１減らせるだろう。この最大数がゼロの場合、類似オブジェクトをもつオブジェクトがあったとしても返答しないであろう。
【００４３】
図５は本発明に従う類似オブジェクトを検索する別のシナリオを描いており、全体を参照記号５００で示す。オブジェクトの照会５３０がリクエスタ２１０から発行される。この場合レスポンダとして知られるノード２２０が求められる共有オブジェクト（図示せず）を所有する。レスポンダ２２０はそのオブジェクトに関するメタデータ５４０をリクエスタ２１０に送る。リクエスタはそのオブジェクト・セット（図示せず）を自動的に検査して、一または複数の類似オブジェクトをもつかどうか判断する。もっている場合、類似オブジェクトのリスト（図示せず）を包含する応答５５０が生成される。レスポンダ２２０はこの時点でトランザクションを受付５６０または拒否できる。トランザクションが受付５６０されたら、両者はオブジェクトの転送５７０を開始する。リクエスタ２１０は欲しかったオブジェクトを受け取るとともに、レスポンダ２２０は一または複数の類似オブジェクトを受け取る。この種のメカニズムはオブジェクトの共有に関与する者に対するお返しなので、クライアントは提供するものが何もないリクエスタの要求を拒否することができる（当分野でリーチ（ｌｅａｃｈｅｓ）として知られる）。
【００４４】
図６は本発明のある例示的な実施例を描くフローチャートであり、全体を参照番号６００で示す。これはコンピュータのネットワーク内の類似オブジェクトを取得する方法を示す。ブロック６１０は第１コントローラーがオブジェクトの照会を開始するステップを表す。ブロック６２０は第２コントローラーが第２コントローラーと通信する記憶装置に格納される照会オブジェクトに似たオブジェクトを発見するステップを表す。ブロック６３０は第２記憶デバイスから第１記憶デバイスに類似オブジェクトを転送するステップを表す。
【００４５】
本発明の別の例示的な実施例では、クライアント・プログラムはユーザの代わりにメタデータまたは何か他の特徴に基づいて探索を自動的に発行できる。ノードが類似オブジェクトをもつ場合、本明細書で説明するように応答できる。
【００４６】
図７は本発明のいくつかの他の例示的な実施例を描く。ここでは、図４に描かれるノード４００のネットワークが描かれ、全体を参照番号７００で示す。この例では、一般ノード２５５、ノード２１０およびノード４１０はそれぞれコントローラー７１０、２１０’、および４１０’に置き換えられている。記憶デバイス７２０ａ〜７２０ｄは通信手段７３０を介してコントローラー７１０、２１０’、および４１０’と通信している。コントローラー７１０、２１０’、および４１０’は互いに、またネットワークの他のノードと通信している。コントローラーは一または複数の記憶デバイスに接続してもよい。また、記憶デバイス７２０ｃの場合のように、複数のコントローラーを同じ記憶デバイスに接続してもよく、各コントローラー７１０および４１０’は照会に似たオブジェクトを発見するのに異なるサーチ・アルゴリズムを使用できる（ただしそうしなければならならいわけではない）。ハードドライブをネットワークで利用できるようにしたコンピュータの場合のように、コントローラーと記憶デバイスを１つのデバイスにまとめてもよい。コントローラーは別の独立型大容量記憶デバイスに接続するコンピュータとなりうる。他の例にはデジタル・カメラが含まれ、これはネットワークに直接またはコンピュータを介して接続できる。別の例はセル接続を介してネットワークに接続する携帯電話でありうる。この例では、携帯電話はコントローラーと記憶デバイス両方の働きができる。ノードは任意の数のメディア・キャプチャ、記憶および再生デバイス、ｍｐ３プレーヤーなどの同様なデジタル・メディア・プレーヤーを有することもでき、これをコンピュータを介してまたは直接ネットワークに接続できる。コントローラー間の接続およびコントローラーと記憶デバイスの接続は、有線接続または携帯電話の場合のように無線接続を使って実施できる。
【００４７】
本発明の実施例は、様々な形態のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはその組み合わせに実装できることは理解されるべきである。一実施例では、本発明はプログラム記憶デバイスに有体として具現されるアプリケーション・プログラムとしてソフトウェアに実装できる。アプリケーション・プログラムは何らかの適したアーキテクチャを有するマシンにアップロードでき、かつマシンによって実行できる。
【００４８】
上記説明は例証となる実施例を表すにすぎないことも理解されるべきである。読者の便宜を図って、上記説明は考えられる実施例のうち本発明の原理の説明に役立つ代表的な実例を中心に述べてきたが、考えられる変型のすべてを余すところなく挙げようとしたわけではない。本発明の特定の部分についてその代替実施例を提示していないことが、その代替実施例の放棄とみなしてはならない。本発明の精神および範囲を逸脱することなく他のアプリケーションおよび実施例も簡単に実施できる。そのため、本発明は具体的に述べてきた実施例だけに限定するつもりはなく、本発明は以下に続く請求項に従って定義する。記述していない実施例の多くも本請求項の文字通りの範囲内にあり、かつ他のものは同等であると認められる。
【００４９】
本開示の範囲は、本明細書に開示するあらゆる新規な特徴もしくは特徴の組み合わせを含む。出願人はこれにより本出願の手続遂行中またはそれから派生するあらゆる当該その後の出願の手続遂行中新たな請求項を当該特徴もしくは特徴の組み合わせに従って作成することがあることを予告しておく。特に、添付の請求項に関し、従属請求項の特徴は独立請求項の特徴と組み合わせることができ、また各独立請求項の特徴は請求項に列挙する特定の組み合わせだけでなく、あらゆる適切なやり方で組み合わせることができる。
【００５０】
明確にするために、明細書および請求項を通しここで使われる「有する」という用語は、「だけからなる」を意味すると解釈してはならない。
【図面の簡単な説明】
【００５１】
【図１】コンピュータ・システムの例示的な実施例を図示する概略図である。
【図２】本発明の例示的な実施例を実装できるノードのネットワークの例を図示する概略図である。
【図３】本発明の例示的な実施例により中間ノードが他のノードにオブジェクトをプッシュするネットワークを図示する概略図である。
【図４】本発明の例示的な実施例により、オブジェクトが要求パスのノードからプッシュされるデータ処理システムのネットワークを図示する概略図である。
【図５】本発明による二重転送の例示的な実施例を図示するシーケンス図である。
【図６】本発明の例示的な実施例による類似オブジェクトの自動検索方法を示すフロー図である。
【図７】本発明の例示的な実施例によるネットワークを図示する概略図である。
【図１】
2008521106.tif 000003
【図２】
2008521106.tif 000004
【図３】
2008521106.tif 000005
【図４】
2008521106.tif 000006
【図５】
2008521106.tif 000007
【図６】
2008521106.tif 000008
【図７】
2008521106.tif 000009
【国際調査報告】
2008521106.tif 000010
2008521106.tif 000011
2008521106.tif 000012