(57)【要約】【課題】クライアント計算機がピアツーピア・コンピュータ・ネットワークにリソースを寄贈することへのインセンティブを提供する方法、プログラム、およびシステムを提供すること。【解決手段】サーバは、複数のクライアント計算機から情報の要求を受信する時に、クライアント計算機がピアツーピア共用にリソースを提供しているかどうか判定する。要求に答える時に、ピアツーピア共用にリソースを提供するクライアントに、提供しないクライアントに対する優先度が与えられる。本発明のもう１つの実施形態では、提供されるリソースのレベルに比例して高くなる優先度をクライアント要求に与えることによって、ピアツーピア共用に提供するクライアントにさらなるインセンティブが与えられる。
2005519351.tif 000002
【特許請求の範囲】
【請求項１】
クライアント計算機がピアツーピア・コンピュータ・ネットワークにリソースを提供することへのインセンティブを与えるための方法であって、
複数のクライアント計算機から情報に関する要求を受信し、
前記クライアント計算機がピアツーピア共用にリソースを提供しているかどうかを判定し、
前記クライアント計算機に前記要求された情報を送信し、ピアツーピア共用にリソースを提供しているクライアントからの要求に優先度が与えられる、
前記方法。
【請求項２】
ピアツーピア共用にリソースを提供しているクライアント計算機に優先度を与えるステップが、さらに、提供されるリソースのレベルに比例して高い優先度を与える、請求項１に記載の方法。
【請求項３】
クライアント計算機がピアツーピア共用に提供することができるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項１に記載の方法。
【請求項４】
ピアツーピア・コンピュータ・ネットワークで情報にアクセスする方法であって、
ピアツーピア共用技術にコンピュータ・リソースを提供し、
ネットワーク・サーバに情報を要求し、前記要求が、ピアツーピア共用に寄贈されるリソースのレベルに比例して優先度を与えられ、
前記要求された情報を受信する、
前記方法。
【請求項５】
ピアツーピア共用に提供されるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項４に記載の方法。
【請求項６】
クライアント計算機がピアツーピア・コンピュータ・ネットワークにリソースを提供することへのインセンティブを提供する、データ処理システムで使用されるコンピュータ可読媒体内のコンピュータ・プログラムであって、
複数のクライアント計算機から情報に関する要求を受信する命令と、
前記クライアント計算機がピアツーピア共用にリソースを提供しているかどうかを判定する命令と、
前記クライアント計算機に前記要求された情報を送信する命令であって、ピアツーピア共用にリソースを提供しているクライアントからの要求に優先度が与えられる、送信する命令と
を含むコンピュータ・プログラム。
【請求項７】
ピアツーピア共用にリソースを寄贈しているクライアント計算機に優先度を与える命令が、さらに、提供されるリソースのレベルに比例して高い優先度を与える命令を含む、請求項６に記載のコンピュータ・プログラム。
【請求項８】
クライアント計算機がピアツーピア共用に寄贈することができるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項６に記載のコンピュータ・プログラム。
【請求項９】
ピアツーピア・コンピュータ・ネットワークで情報にアクセスする、データ処理システムで使用されるコンピュータ可読媒体内のコンピュータ・プログラムであって、
ピアツーピア共用技術にコンピュータ・リソースを提供する命令と、
ネットワーク・サーバに情報を要求する命令であって、前記要求が、ピアツーピア共用に提供されるリソースのレベルに比例して優先度を与えられる、要求する命令と、
前記要求された情報を受信する命令と
を含むコンピュータ・プログラム。
【請求項１０】
ピアツーピア共用に寄贈されるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項９に記載のコンピュータ・プログラム。
【請求項１１】
クライアント計算機がピアツーピア・コンピュータ・ネットワークにリソースを寄贈することへのインセンティブを提供するシステムであって、
複数のクライアント計算機から情報に関する要求を受信する受信部と、
前記クライアント計算機がピアツーピア共用にリソースを提供しているかどうかを判定する処理部と、
キューを維持するレジスタであって、ピアツーピア共用にリソースを提供しているクライアントからの要求に優先度が与えられる、レジスタと、
前記要求された情報を前記クライアント計算機に送信する通信部と
を含むシステム。
【請求項１２】
前記キューを維持する前記レジスタが、さらに、リソースを提供するクライアントからの要求の第２キューを含み、提供されるリソースのレベルに比例して高い優先度が与えられる、請求項１１に記載のシステム。
【請求項１３】
クライアント計算機がピアツーピア共用に提供することができるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項１１に記載のシステム。
【請求項１４】
ピアツーピア・コンピュータ・ネットワークで情報にアクセスするシステムであって、
コンピュータ・リソースをピアツーピア共用技術に提供するピアツーピア共用部と、
ネットワーク・サーバに情報を要求する通信部であって、前記要求が、ピアツーピア共用に提供されるリソースのレベルに比例して優先度を与えられる、通信部と、
前記要求された情報を受信する受信部と
を含むシステム。
【請求項１５】
ピアツーピア共用に提供されるリソースが、
ディスク・スペースと、
帯域幅と、
ＣＰＵリソースと、
メモリと、
指定された数の接続されるユーザと
を含む、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本願と同一の日付に出願した同時係属の米国特許出願番号０９／８８８４７３号、表題「Method and Apparatus for Wide-Spread Distribution of ElectronicContent in a Non-Linear Peer to Peer Fashion」に関する。上述の本願と同一の譲受人に譲渡される同時係属の米国特許出願は、参照によってそのすべてを本明細書に組み込まれる。
【０００２】
本発明は、全般的にはコンピュータ・ネットワーク環境に関し、具体的にはデータの大量配布に関する。
【背景技術】
【０００３】
インターネットを介するデータの大量配布の現在の技術は、コンテンツを入手できる１つまたは複数の「マスタ」サーバと、同一のデータが保管される、より多数の「ミラー」サイトからなる。これらのミラー・サイトは、そのデータ自体を実際には使用しない。通常、マスタ・サーバは、非常に簡単に動作不能になるなどし、エンド・ユーザは、ミラー・サイトのリストに従って、ミラー・サイトを手動で試してゆくことを余儀なくされる。これらのミラー・サイトのそれぞれは、通常は時間ベースの自動化（通常は夜間にスケジューリングされるcronジョブ）によって駆動されるので、更新されたコンテンツを実際に有する場合とそうでない場合がある。この配布方式は、特定のデータへ最初にアクセスする際に、信じられないほど問題があり、不経済である。
【０００４】
これらの問題の多くを、ピアツーピア技術を使用して、マスタ・サーバから、自身が使用するために同一の内容をダウンロードしている近くの他の複数のクライアントに要求をオフロードすることによって軽減することができる。マスタ・サーバによって、大きいファイルが複数の小さい断片に分割され、これらのファイル断片が、ファイルを要求する第１クライアント計算機にダウンロードされる。たとえば、５０メガバイト（ＭＢ）のファイルを、５０個の１ＭＢ断片に分解することができ、この断片が、５０台の異なるクライアントにダウンロードされる。これらのクライアントは、ピアツーピア・サーバとして機能する。新しいクライアント計算機からの後続の要求は、マスタ・サーバによって、要求されたファイル断片を既に有するクライアントにリダイレクトされる。
【０００５】
クライアント計算機は、エンド・ユーザによって所有されるので、ピアツーピア接続の獲得は、人々が自分の帯域幅およびコンピュータ・リソースを共用することを望まない場合に、大きな問題になる可能性がある。
【特許文献１】米国特許出願番号第０９／８８８４７３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、エンド・ユーザが自分のクライアント計算機をピアツーピア・サーバとして働かせることへのインセンティブを提供する方法を有することが望ましい。
【課題を解決するための手段】
【０００７】
本発明は、クライアント計算機がピアツーピア・コンピュータ・ネットワークにリソースを提供することへのインセンティブを与える方法、プログラム、およびシステムを提供する。サーバは、複数のクライアント計算機から情報の要求を受信する時に、クライアント計算機がピアツーピア共用にリソースを提供しているかどうか判定する。要求に答える時に、ピアツーピア共用にリソースを提供するクライアントに、提供しないクライアントに対する優先度が与えられる。本発明のもう１つの実施形態では、提供されるリソースのレベルに比例して高くなる優先度をクライアント要求に与えることによって、ピアツーピア共用に提供するクライアントにさらなるインセンティブが与えられる。
【０００８】
本発明の特性と思われる新規の特徴を、請求項に示す。しかし、本発明自体ならびにその使用の好ましい態様、本発明のさらなる目的および長所は、添付図面と共に読まれる時に、例示的実施形態の以下の詳細な説明を参照することによって最もよく理解される。
【発明を実施するための最良の形態】
【０００９】
図面を参照すると、図１は、本発明を実施することができるデータ処理システムのネットワークの絵図表現を示す図である。ネットワーク・データ処理システム１００は、本発明を実施できるコンピュータのネットワークである。ネットワーク・データ処理システム１００には、ネットワーク１０２が含まれ、このネットワーク１０２は、ネットワーク・データ処理システム１００内で一緒に接続されるさまざまな装置およびコンピュータの間で通信リンクを提供するのに使用される媒体である。ネットワーク１０２には、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続を含めることができる。
【００１０】
図示の例では、サーバ１０４が、記憶装置１０６と共にネットワーク１０２に接続される。さらに、クライアント１０８、１１０、および１１２も、ネットワーク１０２に接続される。これらのクライアント１０８、１１０、および１１２は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。図示の例では、サーバ１０４が、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータを、クライアント１０８、１１０、および１１２に供給する。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００に、図示されていない、追加のサーバ、クライアント、および他の装置を含めることができる。図示の例では、ネットワーク・データ処理システム１００が、インターネットであり、ネットワーク１０２が、互いに通信するのにＴＣＰ／ＩＰスイートのプロトコルを使用するネットワークおよびゲートウェイの全世界の集合を表す。インターネットの心臓部には、データおよびメッセージをルーティングする、数千台の商業、政府、教育、および他のコンピュータ・システムからなる主要なノードまたはホスト・コンピュータの間の高速データ通信回線のバックボーンがある。もちろん、ネットワーク・データ処理システム１００を、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）などの複数の異なるタイプのネットワークとして実施することもできる。図１は、例として意図されたものであり、本発明に関するアーキテクチャ的制限として意図されたものではない。
【００１１】
図２を参照すると、本発明の好ましい実施形態による、図１のサーバ１０４などのサーバとして実施することができるデータ処理システムのブロック図が示されている。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。代替案では、単一プロセッサ・システムを使用することができる。システム・バス２０６には、メモリ・コントローラ／キャッシュ２０８も接続され、このメモリ・コントローラ／キャッシュ２０８によって、ローカル・メモリ２０９へのインターフェースが提供される。入出力バス・ブリッジ２１０が、システム・バス２０６に接続され、これによって、入出力バス２１２へのインターフェースが提供される。メモリ・コントローラ／キャッシュ２０８および入出力バス・ブリッジ２１０は、図示のように一体化することができる。
【００１２】
入出力バス２１２に接続されたPeripheral ComponentInterconnect（ＰＣＩ）バス・ブリッジ２１４によって、ＰＣＩローカル・バス２１６へのインターフェースが提供される。複数のモデムを、ＰＣＩバス２１６に接続することができる。通常のＰＣＩバス実施形態では、４つのＰＣＩ拡張スロットまたはアドイン・コネクタがサポートされる。図１のネットワーク・コンピュータ１０８から１１２への通信リンクを、モデム２１８と、アドイン・ボードを介してＰＣＩローカル・バス２１６に接続されるネットワーク・アダプタ２２０を介して設けることができる。
【００１３】
追加のＰＣＩバス・ブリッジ２２２および２２４によって、追加のＰＣＩバス２２６および２２８へのインターフェースが提供され、この追加のＰＣＩバスから、追加のモデムまたはネットワーク・アダプタをサポートすることができる。この形で、データ処理システム２００を用いて、複数のネットワーク・コンピュータに接続できるようになる。メモリ・マップド・グラフィックス・アダプタ２３０およびハード・ディスク２３２も、図示のように、直接にまたは間接的にのいずれかで、入出力バス２１２に接続することができる。
【００１４】
当業者は、図２に示されたハードウェアを変更できることを諒解するであろう。たとえば、光ディスク・ドライブおよび類似物などの他の周辺装置を、図示のハードウェアに加えてまたはその代わりに使用することもできる。図示の例は、本発明に関するアーキテクチャ的制限を暗示することを意図されたものではない。
【００１５】
図２に示されたデータ処理システムは、たとえば、アドバンスド・インターラクティブ・エグゼクティブ（ＡＩＸ）オペレーティング・システムを実行する、米国ニューヨーク州アーモンクのInternational Business Machines Corporation社の製品であるＩＢＭ  ＲＩＳＣ／Ｓｙｓｔｅｍ  ６０００システムとすることができる。
【００１６】
図３を参照すると、本発明を実施することができるデータ処理システムを示すブロック図が示されている。データ処理システム３００は、クライアント・コンピュータの例である。データ処理システム３００では、Peripheral Component Interconnect（ＰＣＩ）ローカル・バス・アーキテクチャが使用される。図示の例ではＰＣＩバスが使用されるが、AcceleratedGraphics Port（ＡＧＰ）およびIndustry Standard Architecture（ＩＳＡ）などの他のバス・アーキテクチャを使用することができる。プロセッサ３０２およびメイン・メモリ３０４が、ＰＣＩブリッジ３０８を介してＰＣＩローカル・バス３０６に接続される。ＰＣＩブリッジ３０８に、プロセッサ３０２用の一体化されたメモリ・コントローラおよびキャッシュ・メモリも含めることができる。ＰＣＩローカル・バス３０６への追加接続は、直接構成要素相互接続またはアドイン・ボードを介して行うことができる。図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１０、ＳＣＳＩホスト・バス・アダプタ３１２、および拡張バス・インターフェース３１４が、直接構成要素接続によってＰＣＩローカル・バス３０６に接続される。対照的に、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、およびオーディオ／ビデオ・アダプタ３１９は、拡張スロットに挿入されるアドイン・ボードによってＰＣＩローカル・バス３０６に接続される。拡張バス・インターフェース３１４によって、キーボードおよびマウス・アダプタ３２０、モデム３２２、および追加メモリ３２４の接続が提供される。SmallComputer System Interface（ＳＣＳＩ）ホスト・バス・アダプタ３１２によって、ハード・ディスク・ドライブ３２６、テープ・ドライブ３２８、ＣＤ−ＲＯＭドライブ３３０、およびＤＶＤドライブ３３２の接続が提供される。通常のＰＣＩローカル・バス実施形態では、３つまたは４つのＰＣＩ拡張スロットまたはアドイン・コネクタがサポートされる。
【００１７】
オペレーティング・システムが、プロセッサ３０２で動作し、図３のデータ処理システム３００内のさまざまな構成要素を調整し、その制御を提供するのに使用される。オペレーティング・システムは、Microsoft Corporation社から入手できるＷｉｎｄｏｗｓ（Ｒ）２０００などの市販オペレーティング・システムとすることができる。Ｊａｖａ（Ｒ）などのオブジェクト指向プログラミング・システムを、オペレーティング・システムと共に実行することができ、これによって、データ処理システム３００で実行されるＪａｖａ（Ｒ）プログラムまたはアプリケーションからオペレーティング・システムへの呼出しが提供される。「Ｊａｖａ（Ｒ）」は、SunMicrosystems,Inc.社の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システム、およびアプリケーションまたはプログラムの命令は、ハード・ディスク・ドライブ３２６などの記憶装置に配置され、プロセッサ３０２による実行のためにメイン・メモリ３０４にロードすることができる。
【００１８】
当業者は、図３のハードウェアを、実施形態に応じて変更できることを諒解するであろう。フラッシュＲＯＭ（または同等の不揮発性メモリ）、または光ディスク・ドライブおよび類似物などの他の内部ハードウェアまたは周辺装置を、図３に示されたハードウェアに追加してまたはその代わりに使用することができる。また、本発明の処理を、マルチプロセッサ・データ処理システムに適用することができる。
【００１９】
もう１つの例として、データ処理システム３００を、あるタイプのネットワーク通信インターフェースがデータ処理システム３００に含まれるか否かに無関係に、あるタイプのネットワーク通信インターフェースに頼らずにブート可能になるように構成された独立型システムとすることができる。もう１つの例として、データ処理システム３００を、携帯情報端末（ＰＤＡ）装置とすることができ、このＰＤＡは、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を保管する不揮発性メモリを提供するために、ＲＯＭまたはフラッシュＲＯＭあるいはその両方を有するように構成される。
【００２０】
図３に示された例および上で説明した例は、アーキテクチャ的制限を暗示することを意図されたものではない。たとえば、データ処理システム３００を、ＰＤＡの形をとるほかに、ノートブック・コンピュータまたはハンド・ヘルド・コンピュータとすることもできる。データ処理システム３００を、キオスクまたはウェブ機器とすることもできる。
【００２１】
ピアツーピア・データ配布では、エンド・ユーザが自分の帯域幅およびコンピュータ・リソースを共用することを望まない場合に、ピアツーピア接続の獲得が大きな問題になる可能性がある。本発明は、クライアント計算機の所有者がピアツーピア共用技術に自分のリソースを提供することへのインセンティブを与える。
【００２２】
図４を参照すると、本発明による、クライアントがピアツーピア共用にリソースを提供するように奨励する方法を示す流れ図が示されている。マスタ・サーバにおいて、ファイルに対する要求は、まず最初に、ピアツーピア・サーバに対して応答され、第２に、現在使用される通常の形のクライアントに対し応答される。マスタ・サーバは、クライアントからファイル要求を受信する（ステップ４０１）時に、そのクライアントが、ピアツーピア共用技術を採用したかどうかを判定する（ステップ４０２）。クライアントが、ピアツーピア共用にリソースを提供していない場合には、そのファイル要求は、それでも許可されるが、その要求は、保留中のファイル転送の「低速レーン」に置かれる（ステップ４０３）。クライアントが、ピアツーピア共用にリソースを提供している場合には、マスタ・サーバは、その要求を「高速レーン」に置く（ステップ４０４）。高速レーン・ステータスを与えられるクライアント要求は、必ず、低速レーン・ステータスを有する要求より高い優先度を有する。
【００２３】
ピアツーピア共用に提供する際に、クライアントが、使用するプロトコルに対して「サンドボックス」を決めるようにしても良いだろう。これには、特定のディスク・スペース制限、帯域幅制限、ＣＰＵ制限、メモリ制限、および接続されるユーザの数に対する制限が含まれる。
【００２４】
本発明において注意すべきは、一部のユーザが、ピアツーピア・サーバの高速レーンに入るために必要な最小限のリソースを選択する可能性があることである。この問題に対処するために、マスタ・サーバは、高速レーンにある要求の優先度キューを維持する。この優先度キューによって、ピアツーピア・クライアントが共用技術に提供するリソースのレベルが評価される（ステップ４０５）。優先度キューでは、クライアントのリソースおよびそのクライアントによる他のクライアントへのサービスの過去のヒストリなどの要因を考慮する。キュー内の優先度が、ピアツーピア共用技術に提供するリソースの総量に比例して割り当てられる（ステップ４０６）。この優先度キューでは、上で説明した高速レーン／低速レーンの区別の上に、クライアント・リソースの優先度のもう１つの層が追加される。したがって、エンド・ユーザは、ファイルをより高速に受信するために、共用に向けてより多くのリソース（帯域幅、ディスク・スペース、ＣＰＵ、メモリなど）を提供することへのインセンティブを有する。
【００２５】
本発明を、完全に機能するデータ処理システムに関して説明したが、本発明の処理を、命令のコンピュータ可読媒体の形およびさまざまな形で配布することができることと、配布の実行に実際に使用される信号担持媒体の特定のタイプに無関係に本発明が同等に適用されることとを当業者が諒解するであろうことに留意することが重要である。コンピュータ可読媒体の例には、フロッピ・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録型媒体と、ディジタル通信リンク、アナログ通信リンク、たとえばラジオ周波数伝送および光波伝送などの伝送形を使用する有線または無線の通信リンクなどの伝送型媒体が含まれる。コンピュータ可読媒体は、特定のデータ処理システムでの実際の使用のためにデコードされるコード化されたフォーマットの形とすることができる。
【００２６】
本発明の説明は、例示および説明のために提示されたものであって、網羅的であることまたは本発明を開示された形態に制限することを意図されたものではない。多数の修正形態および変形形態が、当業者には明白である。この実施形態は、本発明の原理、実用的な応用例を最もよく説明し、当業者が、企図される特定の用途に適するさまざまな修正を加えてさまざまな実施形態のために本発明を理解できるようにするために選択され、説明された。
【図面の簡単な説明】
【００２７】
【図１】本発明を実施することができるデータ処理システムのネットワークの絵図表現を示す図である。
【図２】本発明の好ましい実施形態に従って、サーバとして実施することができるデータ処理システムのブロック図である。
【図３】本発明を実施することができるデータ処理システムを示すブロック図である。
【図４】本発明による、ピアツーピア共用にリソースを提供するようにクライアントを奨励する方法を示す流れ図である。
【図１】
2005519351.tif 000003
【図２】
2005519351.tif 000004
【図３】
2005519351.tif 000005
【図４】
2005519351.tif 000006
【国際調査報告】
2005519351.tif 000007
2005519351.tif 000008
2005519351.tif 000009