(57)【要約】【課題】データを転送する方法を実施するシステム、サービス、およびプログラム記憶装置である。【解決手段】当該方法は、コンピュータ・ネットワークに複数のピア・システムを配置するステップと、好ましくはデータを備える少なくとも１つのデータ・サーバを、第１のピア・システムと少なくとも１つの第２のピア・システムとを備える複数のピア・システムに結合するステップと、第１のピア・システムが、少なくとも１つの第２のピア・システムに対して、少なくとも１つのデータ・サーバから第１のピア・システムへデータを協同して転送するように指示するステップと、少なくとも１つの第２のピア・システムが、少なくとも１つのデータ・サーバから第１のピア・システムへデータを転送するステップとを含む。複数のピア・システムは、好ましくはグリッド可能である。【選択図】図４
2009501456.tif 000002
【特許請求の範囲】
【請求項１】
データ転送システムであって、
コンピュータ・ネットワークに配置された複数のピア・システムと、
データを備え、且つ前記複数のピア・システムに結合された少なくとも１つのデータ・サーバとを備え、
前記複数のピア・システムは、第１のピア・システムと、少なくとも１つの第２のピア・システムとを備え、
前記第１のピア・システムは、前記少なくとも１つの第２のピア・システムに対して、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへ前記データを協同して転送するように指示するように適合されており、
前記少なくとも１つの第２のピア・システムは、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへデータを転送するように適合されている、データ転送システム。
【請求項２】
前記複数のピア・システムは、グリッド可能である、請求項１に記載のデータ転送システム。
【請求項３】
前記第１のピア・システムは、データ・リソースを識別して各前記少なくとも１つの第２のピア・システムの帯域幅特性を転送するように適合されたデータ転送プランを作成するように適合されている、請求項１に記載のデータ転送システム。
【請求項４】
前記データ転送プランは、各前記少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備える、請求項３に記載のデータ転送システム。
【請求項５】
前記第１のピア・システムは、転送されるべきデータを識別し、前記データの部分を転送可能な前記少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するようにさらに適合されており、前記少なくとも１つの第２のピア・システムは、前記データ転送プランを前記少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを前記第１のピア・システムへ提供するように適合されている、請求項１に記載のデータ転送システム。
【請求項６】
前記第１のピア・システムと前記少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じる、請求項１に記載のデータ転送システム。
【請求項７】
前記第１のピア・システムは、前記データを再構築するようにさらに適合されている、請求項１に記載のデータ転送システム。
【請求項８】
前記第１のピア・システムは、前記複数のピア・システムを互いに接続するように適合されたピア・ディレクトリをさらに備える、請求項１に記載のデータ転送システム。
【請求項９】
データを転送する方法であって、前記方法は、
コンピュータ・ネットワークに複数のピア・システムを配置するステップと、
データを備える少なくとも１つのデータ・サーバを、第１のピア・システムと少なくとも１つの第２のピア・システムとを備える前記複数のピア・システムに結合するステップと、
前記第１のピア・システムが、前記少なくとも１つの第２のピア・システムに対して、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへ前記データを協同して転送するように指示するステップと、
前記少なくとも１つの第２のピア・システムが、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへデータを転送するステップと
を含む、方法。
【請求項１０】
前記複数のピア・システムは、グリッド可能である、請求項９に記載の方法。
【請求項１１】
前記第１のピア・システムが、データ転送プランを作成し、データ・リソースを識別し、各前記少なくとも１つの第２のピア・システムの帯域幅特性を転送するステップをさらに含む、請求項９に記載の方法。
【請求項１２】
前記データ転送プランは、各前記少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備える、請求項１１に記載の方法。
【請求項１３】
前記第１のピア・システムが、転送されるべきデータを識別し、前記データの部分を転送可能な前記少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するステップをさらに含み、前記方法は、前記少なくとも１つの第２のピア・システムが、前記データ転送プランを前記少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを前記第１のピア・システムへ提供するステップをさらに含む、請求項９に記載の方法。
【請求項１４】
前記第１のピア・システムと前記少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じる、請求項９に記載の方法。
【請求項１５】
前記第１のピア・システムが、前記データを再構築するステップをさらに含む、請求項９に記載の方法。
【請求項１６】
前記複数のピア・システムを互いに接続するためのピア・ディレクトリを使用するステップをさらに含む、請求項９に記載の方法。
【請求項１７】
前記データの再構築は、圧縮を使用して前記データを転送することによって実行される、請求項１５に記載の方法。
【請求項１８】
コンピュータによって読み出し可能なプログラム記憶装置であって、データを転送するための方法を実行するために前記コンピュータによって実行可能な命令のプログラムを具体的に実施するものであって、前記方法は、
コンピュータ・ネットワークに複数のピア・システムを配置するステップと、
データを備える少なくとも１つのデータ・サーバを、第１のピア・システムと少なくとも１つの第２のピア・システムとを備える前記複数のピア・システムに結合するステップと、
前記第１のピア・システムが、前記少なくとも１つの第２のピア・システムに対して、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへ前記データを協同して転送するように指示するステップと、
前記少なくとも１つの第２のピア・システムが、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへデータを転送するステップと
を含む、プログラム記憶装置。
【請求項１９】
前記複数のピア・システムは、グリッド可能である、請求項１８に記載のプログラム記憶装置。
【請求項２０】
前記方法は、前記第１のピア・システムが、データ転送プランを作成し、データ・リソースを識別し、各前記少なくとも１つの第２のピア・システムの帯域幅特性を転送するステップをさらに含む、請求項１８に記載のプログラム記憶装置。
【請求項２１】
前記データ転送プランは、各前記少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備える、請求項２０に記載のプログラム記憶装置。
【請求項２２】
前記方法は、前記第１のピア・システムが、転送されるべきデータを識別し、前記データの部分を転送可能な前記少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するステップをさらに含み、前記方法は、前記少なくとも１つの第２のピア・システムが、前記データ転送プランを前記少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを前記第１のピア・システムへ提供するステップをさらに含む、請求項１８に記載のプログラム記憶装置。
【請求項２３】
前記第１のピア・システムと前記少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じる、請求項１８に記載のプログラム記憶装置。
【請求項２４】
前記方法は、前記第１のピア・システムが、前記データを再構築するステップをさらに含む、請求項１８に記載のプログラム記憶装置。
【請求項２５】
前記方法は、前記複数のピア・システムを互いに接続するためのピア・ディレクトリを使用するステップをさらに含む、請求項１８に記載のプログラム記憶装置。
【請求項２６】
前記データの再構築は、圧縮を使用して前記データを転送することによって実行される、請求項２４に記載のプログラム記憶装置。
【請求項２７】
データを転送するサービスであって、前記サービスは、
コンピュータ・ネットワークに複数のピア・システムを配置するステップと、
データを備える少なくとも１つのデータ・サーバを、第１のピア・システムと少なくとも１つの第２のピア・システムとを備える前記複数のピア・システムに結合するステップと、
前記第１のピア・システムが、前記少なくとも１つの第２のピア・システムに対して、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへ前記データを協同して転送するように指示するステップと、
前記少なくとも１つの第２のピア・システムが、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへデータを転送するステップと
を含む、サービス。
【請求項２８】
前記複数のピア・システムは、グリッド可能である、請求項２７に記載のサービス。
【請求項２９】
前記第１のピア・システムが、データ転送プランを作成し、データ・リソースを識別し、各前記少なくとも１つの第２のピア・システムの帯域幅特性を転送するステップをさらに含む、請求項２７に記載のサービス。
【請求項３０】
前記データ転送プランは、各前記少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備える、請求項２９に記載のサービス。
【請求項３１】
前記第１のピア・システムが、転送されるべきデータを識別し、前記データの部分を転送可能な前記少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するステップをさらに含み、前記少なくとも１つの第２のピア・システムが、前記データ転送プランを前記少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを前記第１のピア・システムへ提供するステップをさらに含む、請求項２７に記載のサービス。
【請求項３２】
前記第１のピア・システムと前記少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じる、請求項２７に記載のサービス。
【請求項３３】
前記第１のピア・システムが、前記データを再構築するステップをさらに含む、請求項２７に記載のサービス。
【請求項３４】
前記複数のピア・システムを互いに接続するためのピア・ディレクトリを使用するステップをさらに含む、請求項２７に記載のサービス。
【請求項３５】
コンピュータ・システムであって、
コンピュータ・ネットワークと、
データを備え、前記コンピュータ・ネットワークに結合された少なくとも１つのデータ・サーバと、
前記コンピュータ・ネットワークに結合されたグリッド可能な第１のピア・システムと、
前記コンピュータ・ネットワークに結合されたグリッド可能な第２のピア・システムと、
前記第１のピア・システムと前記第２のピア・システムとを結合するように適合されたピア・ディレクトリとを備え、
前記第１のピア・システムは、前記少なくとも１つの第２のピア・システムに対して、前記少なくとも１つのデータ・サーバから前記第１のピア・システムへ前記データを協同して転送するように指示するように適合されており、
前記複数の第２のピア・システムは、少なくとも１つのデータ・サーバから前記第１のピア・システムへデータを転送するように適合されており、
前記第１のピア・システムは、転送されるべきデータを識別し、前記データの部分を転送可能な前記少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するようにさらに適合されており、前記少なくとも１つの第２のピア・システムは、前記データ転送プランを前記少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを前記第１のピア・システムへ提供するように適合されている、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ネットワーク・コンピューティングに関し、より詳細には、ネットワークに基づくデータ転送システムに関する。
【背景技術】
【０００２】
あるシステムから他のシステムへデータを転送することは、ネットワーク・コンピューティングの基本的な側面である。ファイル配信のグリッドおよびローカライズされた統合（オーケストレーション（ｏｒｃｈｅｓｔｒａｔｉｏｎ））の出現によって、第１のシステムから第２のシステムへのデータ転送（すなわち、ピア・ツー・ピア転送）が著しく増加している。グリッド・システムにおけるデータ転送要求は、一般的に、数多くのシステムによって行われるサービスである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、データ転送に対するこのような取り組みには、一般的に、２つの主要な問題がある。第１に、ピアは、ネットワークに対する接続の技術または構成によって、帯域幅が制限されている。また、ピアは、ネットワーク化された環境に参加するコンピューティング・システムである。ピアの多くは、ネットワーク（例えば、イーサネット（Ｒ）ポート、無線など）に対する単一の接続によって制限されている。あるピアを複数のピアがある大きなネットワークに接続するルータおよびブリッジは、その接続を仲介することが多い。ピアがたまたま複数のネットワークに対する複数の接続を伴うメインフレームである場合でも、ピアに対して転送可能なデータ量には制限があるのが一般的である。特定的には、各ネットワーク接続は、典型的には、最大転送レートを維持することができるだけであり、これは、ネットワーク・ハブ、スイッチ、およびブリッジにも当てはまる。
【０００４】
第２に、既存のシステムは、典型的には、アドレス統合サーバである。サーバ側の観点から問題に取り組むことによって、１つのサーバから多数のサーバへのデータ転送負荷を最適化する。これにより、データを受信するクライアント・ピアに対して、最適な負荷分散と、より高い転送レートとが提供される。しかしながら、クライアントは、典型的には、１度にどのくらいのデータを引き出すことができるかについて制限を有する。
【０００５】
グリッド技術が一般に新たに活気づいたことによって、セグメント化されたデータ転送の利用が、ピア・ネットワークの活用において中心となってきた。従来の取り組みの欠点には、一般的に、要求システムのデータ転送リソースに限りがあることが含まれる。
【０００６】
図１は、データ供給システム（第２のシステム／クライアント）１００から要求システム（第１のシステム）１０１へデータが転送されるという、基本的なデータ転送の場合を示す。このデータ転送の場合において、例えば、第１のシステム１０１は、クライアント１００に対して１０００ＭＢのファイルを要求し、現在のクライアント１００は、毎秒１ＭＢに制限されている。ファイルは、ローカル・エリア・ネットワーク（ＬＡＮ）１０３を使用して、最良の場合において約１７分で転送することになる。また、データ転送は、データ、位置などを正しく転送するために、第２のシステム１００の機能に依存している。データ転送は、このタスクを遂行するために、第１のシステム１０１から利用可能なほぼ全部の帯域幅を必要とすることになる。最良の場合は、単一の転送の場合と同様であり、オーバヘッドのためさらに悪くなることもある。最良の場合というのは不可能なことが多く、１７分で１０００ＭＢという初期転送は、８３分かかる（毎秒０．２ＭＢで転送）可能性が高く、これは、時間的に８０％の増加である。
【０００７】
当業界は、図２に示すような従来の単一のスレッド化された転送に対して効率性を上げるための一般的なやり方として、セグメント化されたデータ転送を一般的に確立している。セグメント化されたデータ転送は、複数のデータ・ソース１００に対して、セグメント１０１にサービスを提供するように要請する。この取り組みの限界は、所定のサーバについて利用可能な帯域幅が固定的な性質を有するという点である。
【０００８】
図３に示すネットワークのようなピア・ツー・ピア・アプリケーションおよびアーキテクチャは、セグメント化されたファイル転送の利点を達成するために、データを識別して当該データを多くの場合に複数のソース１６０から転送する方法を提供する。またもや、この取り組みも、要求サーバ１６５に割り当てられたネットワーク帯域幅の物理的構成によって、一般的に制限される。したがって、従来の解決策の限界を克服する新規のピア・ツー・ピアのデータ転送手法に対する要求が依然としてある。
【課題を解決するための手段】
【０００９】
以上に鑑み、本発明の一実施形態は、データ転送システムを提供するものであって、データ転送システムは、コンピュータ・ネットワークに配置された複数のピア・システムと、データを備え、複数のピア・システムに結合された少なくとも１つのデータ・サーバとを備え、複数のピア・システムは、第１のピア・システムと、少なくとも１つの第２のピア・システムとを備え、第１のピア・システムは、少なくとも１つの第２のピア・システムに対して、少なくとも１つのデータ・サーバから第１のピア・システムへデータを協同して転送するように指示するように適合されており、少なくとも１つの第２のピア・システムは、少なくとも１つのデータ・サーバから第１のピア・システムへデータを転送するように適合されている。複数のピア・システムは、好ましくはグリッド可能である。さらに、第１のピア・システムは、好ましくは、データ・リソースを識別して各少なくとも１つの第２のピア・システムの帯域幅特性を転送するように適合されたデータ転送プランを作成するように適合されており、データ転送プランは、各少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備えてもよい。さらに、第１のピア・システムは、転送されるべきデータを識別し、データの部分を転送可能な少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するようにさらに適合されていてもよく、少なくとも１つの第２のピア・システムは、データ転送プランを少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを第１のピア・システムへ提供するように適合されている。加えて、第１のピア・システムと少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じてもよい。また、第１のピア・システムは、データを再構築するようにさらに適合されていてもよい。データ転送システムは、好ましくは、複数のピア・システムを互いに接続するように適合されたピア・ディレクトリをさらに備える。
【００１０】
本発明の他の実施形態は、データを転送する方法、データを転送するサービス、およびコンピュータによって読み出し可能なプログラム記憶装置であって、データを転送するための方法を実行するためにコンピュータによって実行可能な命令のプログラムを具体的に実施するプログラム記憶装置を提供するものであって、本方法は、コンピュータ・ネットワークに複数のピア・システムを配置するステップと、好ましくはデータを備える少なくとも１つのデータ・サーバを、第１のピア・システムと少なくとも１つの第２のピア・システムとを備える複数のピア・システムに結合するステップと、第１のピア・システムが、少なくとも１つの第２のピア・システムに対して、少なくとも１つのデータ・サーバから第１のピア・システムへデータを協同して転送するように指示するステップと、少なくとも１つの第２のピア・システムが、少なくとも１つのデータ・サーバから第１のピア・システムへデータを転送するステップとを含む。複数のピア・システムは、好ましくはグリッド可能である。本方法は、好ましくは、第１のピア・システムが、データ転送プランを作成し、データ・リソースを識別し、各少なくとも１つの第２のピア・システムの帯域幅特性を転送するステップをさらに含み、データ転送プランは、各少なくとも１つの第２のピア・システムに関連するユニフォーム・リソース識別子（ＵＲＩ）、ピア識別子、およびバイト範囲を備えてもよい。さらに、本方法は、好ましくは、第１のピア・システムが、転送されるべきデータを識別し、データの部分を転送可能な少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するステップをさらに含み、本方法は、好ましくは、少なくとも１つの第２のピア・システムが、データ転送プランを少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを第１のピア・システムへ提供するステップをさらに含む。加えて、第１のピア・システムと少なくとも１つの第２のピア・システムとの間の通信は、ウェブ・サービスを介して生じてもよい。本方法は、好ましくは、第１のピア・システムが、データを再構築し、複数のピア・システムを互いに接続するためのピア・ディレクトリを使用するステップをさらに含む。好ましくは、データの再構築は、圧縮を使用してデータを転送することによって実行される。
【００１１】
本発明の他の実施形態は、コンピュータ・システムを提供するものであって、本コンピュータ・システムは、コンピュータ・ネットワークと、データを備え、コンピュータ・ネットワークに結合された少なくとも１つのデータ・サーバと、コンピュータ・ネットワークに結合されたグリッド可能な第１のピア・システムと、コンピュータ・ネットワークに結合されたグリッド可能な第２のピア・システムと、第１のピア・システムと第２のピア・システムとを結合するように適合されたピア・ディレクトリとを備え、第１のピア・システムは、少なくとも１つの第２のピア・システムに対して、少なくとも１つのデータ・サーバから第１のピア・システムへデータを協同して転送するように指示するように適合されており、複数の第２のピア・システムは、少なくとも１つのデータ・サーバから第１のピア・システムへデータを転送するように適合されており、第１のピア・システムは、転送されるべきデータを識別し、データの部分を転送可能な少なくとも１つの第２のピア・システムを識別し、データ転送プランを作成するようにさらに適合されており、少なくとも１つの第２のピア・システムは、データ転送プランを少なくとも１つのデータ・サーバへ送信して、ステータス・メッセージを第１のピア・システムへ提供するように適合されている。
【００１２】
本発明の実施形態のこれらおよび他の局面は、以下の説明および添付の図面と共に考慮されることによって、より理解されるだろう。しかしながら、以下の説明は、本発明の好ましい実施形態およびその数多くの具体的な詳細を示すものの、例示のために与えられるものであって、制限するものではないことを理解すべきである。数多くの変更および修正が、本発明の精神から逸脱することなく本発明の実施形態の範囲内で行われてもよく、本発明は、そのような修正をすべて含むものである。
【００１３】
本発明の実施形態は、図面を参照して以下の詳細な説明から、よりよく理解されるだろう。
【発明を実施するための最良の形態】
【００１４】
添付の図面に示しかつ以下の説明において詳述する非限定的な実施形態を参照して、本発明の実施形態ならびにその様々な特徴および利点の詳細をより完全に説明する。図面に示する特徴は、必ずしも一定の縮尺で描かれていないことに注意すべきである。周知の構成要素および処理手法の説明は、本発明の実施形態を不必要に不明瞭にしないために、省略される。本明細書において使用される事例は、本発明の実施形態が実施されるであろう手法を理解するのを単に助けるためだけのものであって、さらに、当業者が本発明の実施形態を実施することができるようにするためだけのものである。したがって、当該事例は、本発明の範囲を制限するものと解釈されるべきではない。
【００１５】
上述のように、従来の解決策の限界を克服する新規のピア・ツー・ピアのデータ転送手法に対する要求が依然としてある。本発明は、単一のピアが１つ以上のノード・ピアのためにデータ転送行為を調整することができるという、ピアがセグメント化されたデータ転送の統合を提供することによって、これを達成するものであって、特定的には、第１のピアが第２のピアのデータ転送動作を第１のピアのために統合することを可能にするためのシステムおよび方法を提供することによって、これを達成する。ここで図面、特に図４から図６を参照すると、同様の参照符号は、対応する特徴を図面全体に渡って一貫して示しており、本発明の好ましい実施形態が示されている。
【００１６】
図４のデータ転送の場合に関して、本発明の実施形態は、ＬＡＮ環境２０３において、第１のピア・システム２００が、協同的かつ統合されたセグメント化データの転送が可能なローカル・ピア（すなわち、第２のピア・システム）２０１ａおよび２０１ｂを識別し、例えば１０００ＭＢのファイルの部分を第１のピア・システム２００へ転送するための一連の命令を送ることができるようにする。図４は、理解を容易にするために、２つの第２のピア・システム２０１ａおよび２０１ｂしか図示していない。しかしながら、本発明の実施形態は、無限数の第２のピア・システムを含んでもよい。例えば、１０個のピアがファイルの１００ＭＢの部分を転送する場合には、ピア２０１ａは、それらの部分をそのデータ供給システム（すなわち、データ・サーバ）２０４（１），２０４（２），…２０４（ｘ）から転送して、トランザクションを完了することができる。１０個のピアを活用して１００ＭＢの断片を並列的に転送すると、１０００ＭＢすべてを転送するのに約８分（毎秒０．２ＭＢ）かかるという結果となる。最初の１７分でローカルに断片を転送すること（従来の手法）を追加することによって、本発明の実施形態によって提供される総時間は、８３分（従来の場合）に対して２５分（８分＋１７分）となり、従来の取り組みに対して性能的に７０％の増加となる。
【００１７】
本発明の実施形態は、マルチ・ソースのセグメント化されたデータ転送の利点をすべて取得する一方で、第１のピア・システム２００上の制限された帯域幅という従来の課題を解決するためのシステムおよび方法を提供する。本発明の実施形態は、ピアがセグメント化されたデータ転送の調和的統合に応えるものであって、ローカル・ピア２０１ａおよび２０１ｂが、図４に示すようなデータ転送の処理に参加するように指示される。
【００１８】
図５は、本発明の一実施形態に係る処理を示し、本処理は、より詳細に以下にさらに説明される以下のステップを含む。すなわち、データの識別３０１と、ピアの識別３０５と、データ転送プランの作成３１０と、命令の割り当てと、データ転送の開始３１５と、応答および生じうるステータスメッセージのピアからの検出３２０と、データの再構築３２５と、オプションとしてのメトリクスおよび発見的処理３３０とを含む。
【００１９】
図４および図５を参照して、データの識別（３０１）は、アセットを決定することと同義であり、当該アセットとは、（図４の）第１のピア２００がダウンロードするために調べているものである。これは、最小限、アセットが存在しかつ所定の大きさであるというアセットについての情報を要求するといった単純な場合もある。グリッドに基づくシステムにおいて、データの識別には、例えばグリッド・ネットワーク上のリソースを管理するマスタ・アセット・サーバ２０４（１）に接続することと、データを引き出すためのグリッド・ノードのリストを取り出すこととが含まれることがある。データの識別（３０１）には、ユニフォーム・リソース識別子（ＵＲＩ）の識別（存在）を所望のアセットに対して許可するコンピュータまたは装置上で実行するソフトウェアを伴う。グリッドの例において、例えばグリッド上のすべてのアセットと、どのコンピュータまたはノードがアセットを含んでいるかを知ることが可能な少なくとも１つの中央サーバ２０４（１）を伴う。リソースの識別は、アセットが取り出されうるサーバ２０４（１），２０４（２），…２０４（ｘ）のリストをグリッドに取得させることができる第２のシステム（図示せず）上で実行するソフトウェアによって行われてもよい。
【００２０】
ピアの識別（３０５）は、数多くのやり方によって実現できる。その１つは、例えば、ピア２０１ａおよび２０１ｂすべてを記録する中央サーバ２０４（１）を有するというものである。ピア・ディレクトリ３０７は、位置および性能などの特定の基準に基づいて、ピア２０１ａおよび２０１ｂのリストで応答可能である。ネットワーク２０３におけるピア２０１ａおよび２０１ｂの識別およびカタログは、ユーザがそのＩＰアドレスをウェブを通じてダウンロード可能なリストに追加することを可能にする第１のピア２００上で実行する基本ウェブ・フォームを含んでもよい。他の例は、例えば、当該アセットのすべてまたは一部をたまたま含むノードとしてピア登録が実施される中央グリッド・サーバ２０４（２）を含んでもよい。
【００２１】
データ転送プラン３１２の作成（３１０）は、大きなファイルをより小さなタスクに分割して、識別されたピア２０１ａおよび２０１ｂへ各タスクを割り当てることを伴う。より小さなタスクは、より大きなファイルのサブセットを転送するためのものである。ピア２０１ａおよび２０１ｂのうちのどちらがどの部分またはいくつの部分（すなわち「チャンク」）を受信するかの決定は、第１のピア２００によって判断される。これは、強制的に行われてもよく（例えば、すべてのピア２０１ａおよび２０１ｂで均等に分割）、または何らかの論理で行われてもよい（例えば、ピア・ディレクトリ３０７が、例えば特定のピア２０１ａを、４つのイーサネット接続を有しかつ複数のネットワークをブリッジするものとして示すので、５倍の作業量が割り当てられる）。データ転送プラン３１２は、好ましくは、他のピア２０１ａおよび２０１ｂが消費する命令を詳述する拡張可能なマーク付け言語（ＸＭＬ）を含むテキスト・ファイルである。第１のピア２００に対して、適切なネットワーク２０３上での接続能力または他のピア２０１ａおよび２０１ｂとの同様の接続を可能にするために、各ピア・システム２０１ａおよび２０１ｂ上ではソフトウェアが必要である。
【００２２】
データ転送プラン３１２が各ピア２０１ａおよび２０１ｂへ送信された後（３１５）、例えば各ピア２０１ａは、例えば他のピア２０１ｂからの命令を検出して（３２０）、可能な限り応答する。この時点で、各ピア２０１ａおよび２０１ｂが多すぎるタスクを与えられていないことを確認するために、メトリクスがピア・ディレクトリ３０７へ戻されてもよい。代わりに、例えばピア２０１ａは、作業項目を拒絶することができ、第１のピア２００は、例えばより多くのピア２０１ｂを要求するか、または作業量を調節する役割を担うことになろう。好ましい一実施において、例えばピア２０１ａは、例えば他のピア２０１ｂからの命令をネットワーク・ソケット上で検出する。ネットワーク・ソケット上での検出処理は、当該技術において周知であり、各ピア２０１ａおよび２０１ｂ上で適切なソフトウェアを必要とする。
【００２３】
第１のピア２００は、タスクの完了を検出する。完了すると、各ピア２０１ａおよび２０１ｂは、第１のピア２００に対して、タスク・ステータスを通知し、第１のピア２００は、データを再構築する（３２５）（ローカルまたは最適なネットワーク２００上で恐らく行われるであろう）処理を開始する。タスクの完了の検出には、第１のピア２００にジョブの完了を通知する他のピア２０１ａおよび２０１ｂのためのポート上で（機器におそらく埋め込み可能な）ソフトウェアを必要とする。加えて、第１のピア２００は、トランザクションの全持続期間中、ソケット接続を保持することもできよう。代わりに、ピア２０１ａおよび２０１ｂは、メッセージを交換するための公開／購読システムを活用してもよいだろう。公開／購読スタイルのメッセージングは、１対他のメッセージの効率的な同報通信を提供することができるが、直接的かつ一般的なやり方で１対１のメッセージングに役立つこともできる。
【００２４】
最後のステップは、ピア・ディレクトリ３０７がピア・リストを返す際に使用するメトリクスおよびアルゴリズムに追加すべき第１のピア２００が見届けた性能を報告し戻すこと（３３０）である。メトリクスおよび発見的処理（３３０）は、ピア・ツー・ピア・システムをより恣意的でないものにするための、本発明の実施形態のオプションの構成要素である。性能を報告し戻すこと（３３０）は、ピア２０１ａおよび２０１ｂ上のソフトウェアと、例えば中央サーバ（ディレクトリ）２０４（１）とを必要とする。ディレクトリ
２０４（１）は、例えば、既知のピア２０１ａおよび２０１ｂに対するフィードバックを検出する。好ましい一実施形態において、第１のピア２００は、ネットワーク２０３上で、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）を使用してディレクトリ・サーバ２０４（１），２０４（２），…，２０４（ｘ）に接続し、相互対話の時間、アセット、ピア、および関連性能メトリクスを記述するＸＭＬ文書形式の性能データを送出する。
【００２５】
ピアの識別（３０５）は、コミュニティ・サーバ、マスタ・ディレクトリ、シードされたリスト、およびピアの発見などのいくつかのソリューションを含む。コミュニティ・サーバによる取り組みは、ピアがピア認識を達成するために主要サーバへ接続するという、サーバ中心のモデルである。同様に、マスタ・ディレクトリは、すべての既知のピアを記憶するが、コミュニティ・サーバが提供するサービスは提供しなくてもよい。シードされたリストとは、ネットワーク２０３の分散化された発見を可能にするランダムなピア識別子のグループである。ピアの発見は、いくつかの手法によって達成され、そのうちの最も単純なものは、ピア２０１ａおよび２０１ｂを発見するサブネットをピング（ｐｉｎｇ）している。ピングは、システム２００，２０１ａ，２０１ｂがネットワーク２０３に接続して、受領確認を要求する特定のメッセージを送信する場合に生じる。サブネットをピングする場合には、第１のシステム２００は、ネットワーク２００上の特定のシステムに対処していない。むしろ、ネットワーク２０３上の任意のシステム２０１ａ，２０１ｂへメッセージを送信して、どのシステムが応答するかを探している。様々な特徴によって、各ピア２０１ａおよび２０１ｂの全体的な重み付けがもたらされる。その例として、ピング応答時間、平均的な過去のタスク完了性能、または配列（ｇｅｏｇｒａｐｈｙ）が含まれる。これらのピアの特徴は、共通のサーバまたはピア・ディレクトリ３０７を通じて、オプションとして提供可能である。
【００２６】
クライアント・ピア２０１ａおよび２０１ｂは、例えば共通サーバ２０４（１）を通じて仲介されるか、または、特定のデータ転送の現在の特徴について、例えば共通サーバ２０４（１）へ報告し戻すことができる。例えば、第１のピア２００が「ｄａｔａ．ｚｉｐ」というファイルを要求ユーザへ転送したい場合には、当該ファイルを有するピア２０１ａおよび２０１ｂは既知であろうが、最良のピアは、典型的にはローカル・ピアであろう。例えば、ピアが米国の北東回廊地帯にある場合には、中国または日本からの転送は、カナダのトロントからの転送よりも最適であるとはいえない。加えて、助けとなる帯域幅を有していないローカル・ピアまたはビジー過ぎるローカル・ピアがある場合がある。その場合には、他のローカル・ピアの方が有利である。当該ファイルを有するピア２０１ａおよび２０１ｂを識別するには、単にファイル名によって行ってもよいが、一般的には、ファイル・サイズ、タイムスタンプ、オーサリング、チェックサム、タイムスタンプ、ＭＤ５ハッシュ、またはデジタル署名などの、一致すべき他の属性を必要とする。
【００２７】
データ転送プラン３１２の作成およびピア２０１ａおよび２０１ｂへの転送（３１０）によって、当該リソースと、各ピア２０１ａおよび２０１ｂによる転送に必要な部分とが識別される。一形式において、データ転送プラン３１２は、ピアが要求するＵＲＩと、ピア識別子と、バイト範囲を伴うリストとして実施される。表１は、本発明の一実施形態に係るデータ転送プランのサンプルを示す。
表１：データ転送プランのサンプル
http://www.server.com/a_big_file.zip,40000
9.45.36.100,0,10000
9.45.36.101,10001,20000
9.45.36.102,20001,10000
【００２８】
表１の１行目は、データに対してＵＲＩを提供するものであって、プロトコルと、サーバ名と、データ名と、リソース・サイズとを識別する。表１の第２、第３、および第４行目は、新たに選択されたピアのＩＰアドレスと、ピアが転送を要求されるデータ範囲とを識別する。例えば、第２行目は、ピア９．４５．３６．１００が、０，１００００バイトの「ａ＿ｂｉｇ＿ｆｉｌｅ．ｚｉｐ」をｗｗｗ．ｓｅｒｖｅｒ．ｃｏｍに対してハイパーテキスト転送プロトコル（ＨＴＴＰ）を使用して要求することを述べている。ファイル転送プロトコル（ＦＴＰ）またはネットワーク・ニュース転送プロトコル（ＮＮＴＰ）などの他の転送プロトコルも可能である。各ピアに割り当てられる範囲を規定する数は、バイト、キロバイト、メガバイトなどで指定可能である。加えて、リソースに対するＵＲＩは、データを転送するのに使用できるグリッド・システムまたは複数のホスト・システムをポイントしてもよいだろう。転送元のホスト・システムは、命令ノード内で指定されるか、または、どのピアから転送するかをグリッド・システムが指示するようなグリッド・システム内のような実施の性質の一部として指定されうるだろう。
【００２９】
オプションとして、データ転送プラン３１２は、表２に示すように、自己記述マーク付け（すなわち、ＸＭＬフォーマット）の形式をとってもよい。第１のノード（“＜ｒｅｓｏｕｒｃｅ…／＞”）は、リソースと転送全体のサイズとを定義する。第２のノード（＜ｉｎｓｔｒｕｃｔｉｏｎ＞…＜／ｉｎｓｔｒｕｃｔｉｏｎ＞）は、命令を定義し、固有の識別子と、当該ピアに対する特定の命令とを含む。この場合には、ピアは、２つの転送を行うように指示されている。
表２：ＸＭＬフォーマットにおけるデータ転送プランのサンプル
<data‐transfer‐plan>
<resource uri=“http://www.server.com/a_big_file.zip” size“40000”/>
<instruction>
<peer uid=“9 45.36 100”/>
<transfer start=“0”end=“10000”/>
<transfer start=“30000”end=“40000”/>
</instruction>
<instruction>
<peer uid=“9.45.36.101”/>
<transfer start=“10001”end=“20000”/>
</instruction>
<instruction>
<peer uid=“9.45.36.102”/>
<transfer start=“20001”end=“30000”/>
</instruction>
</data‐transfer‐plan>
【００３０】
表２に示すデータ転送プランは、ＸＭＬで記述されている。これは、表１のデータ転送プランと同様の内容を含む。親ノードは、ｄａｔａ‐ｔｒａｎｓｆｅｒ‐ｐｌａｎである。これは、少なくとも２つの子ノードと、リソースと、命令とを含む。リソース・ノードは、当該転送プランが参照するデータを記述する。これは、ＵＲＩをデータに提供して、プロトコルと、サーバ名と、データ名とを識別する。また、これは、データサイズも識別する。命令ノードおよび節は、いくつかの子ノードと、ピアと、少なくとも１つの転送ノードを有する。ピア・ノードは、対象ピアのＩＰアドレスに現在マッピングしている固有識別子（ＵＩＤ）と称される特徴を有する。転送ノードは、開始（ｓｔａｒｔ）および終了（ｅｎｄ）という２つの特性を有し、ピアが転送を要求されているデータ範囲を識別する。この第１の命令ノードの場合には、ピア９．４５．３６．１００が関連データの１つ以上のセグメントを転送するように要求されていることを示す２つの転送ノードがある。属性およびノードの値は、交換可能に使用されてもよい。例えば、＜ｐｅｅｒ＞は、属性＜ｐｅｅｒ  ｕｉｄ＝“”＞の代わりに、子ノード＜ｕｉｄ＞を有してもよい。加えて、リソースに対するＵＲＩは、データを転送するのに使用されるであろうグリッド・システムまたは複数のホスト・システムをポイントしてもよい。転送元のホスト・システムは、命令ノード内で指定されるか、または、どのピアから転送するかをグリッド・システムが指示するグリッド・システム内のような実施の性質の一部として指定されうるだろう。ＦＴＰまたはＮＮＴＰなどの他の転送プロトコルも可能である。各ピアに割り当てられる範囲を規定する数は、バイト、キロバイト、メガバイトなどで指定可能である。
【００３１】
再び図４および図５を参照して、ピア２０１ａ、２０１ｂから第１のピア２００への呼び戻し通知は、データ転送プラン３１２に対する代替策を提供する。加えて、データ転送プラン３１２は、各ピア２０１ａおよび２０１ｂに対して全体として送信されない場合もある。個々のピア２０１ａおよび２０１ｂは、実行すべきタスクを要求して、完了すると、実行すべき任意の他のタスクを要求する。タスク・リスト全体を送信することは、ピア２０１ａおよび２０１ｂに対して、タスクの遂行に「協同する」機会を与える。例えば、ピア２０１ａを例に取ると、転送は遅いかもしれないが、より多くのタスクを有している。例えば他のピア２０１ｂは、転送は早いかもしれないが、これ以上タスクは有していない。完全なデータ転送プラン３１２だとすると、第１のピア・システム２００は、ピア・システム２０１ａおよび２０１ｂをクエリして、リンクおよびタスク転送を確立することができる。
【００３２】
他の例において、ピア２０１ａ，２０１ｂは、第１（すなわち、マスタ）ピア２００に対して、割り当てられたデータ転送が完了した旨を示す。また、転送するデータの他のセグメントを要求することも得きる。第１のピア２００は、ローカル・ピア２０１ａおよび２０１ｂからのデータ転送の現在の状態をクエリして、タスクまたはタスクの一部を再割り当てする。第１のピア２００から２次ピア２０１ａおよび２０１ｂへの接続は、ネットワーク２０３上でメッセージを検出およびそれに対して応答可能な各ピア２０１ａおよび２０１ｂ上で実行するソフトウェアを必要とする。例えば、第３のピア（図示せず）が、１００００〜３００００バイトを転送するように要求されていたが、転送可能なのは２００００バイトだけという場合がある。第１のピア２００は、２５０００〜３００００を、例えば、空いているより有利なピア２０１ａへ割り当てることができる。完了すると、第
１のピア・システム２００は、最終のデータ転送プラン３１２を求めてクエリして、ネットワーク２０３上の各ピア２０１ａおよび２０１ｂに接続することによって、データを再構築することができる。代わりに、第１のピア２００は、２方向メッセージ転送（送信および応答）をサポートする適切なプロトコルを使用するネットワーク２０３上の各ピア２０１ａおよび２０１ｂに接続することによって、他のピア２０１ａおよび２０１ｂからのファイルの各部分を要求する。他のピア・システムは、メモリ（ハード・ディスク、ＲＡＭ、ネットワーク・ストレージ）に記憶されるようなデータを読み出して、第１のピア２００が検出しているネットワーク・ポート（図示せず）に書き込むことによって、データ・ストリームまたはデータ・ストリームへのポインタで応答可能である。
【００３３】
上述のように、オプションのステップは、ピア・システム２０１ａおよび２０１ｂの性的な選択を助けるために、性能データを処理すること（３３０）である。本ステップは、データを例えば中央サーバ２０４（１）へ送出することを含んでもよい。代わりに、ピア・システム２０１ａおよび２０１ｂは、近接のシステム・ストレージ、ＲＡＭ、ハード・ドライブなどの上にローカルでデータを記憶することもできる。さらなるアルゴリズムを実行して、既知の各ピア・システム２０１ａおよび２０１ｂの重み付けを決定してもよい。一例として、例えば所定のピア２０１ａの平均転送速度についてのデータを取り込んでもよい。ピア２０１ａは、プログラムされた規則を通じてか、またはエンド・ユーザによる介入を通じて、平均転送レートが重要な旨を示すように決定してもよい。例えば遅い転送レートのピア２０１ｂが新規選択の際に最後に選択されてもよい。
【００３４】
他の追加のステップは、各ピア２０１ａおよび２０１ｂが、信頼できるピア（図示せず）のみによる要求を処理することである。信頼できるピアは、中央サーバ・ポリシーを通じてか、またはエンド・ユーザの相互対話によって一元的に管理されてもよい。エンド・ユーザに対して「Ｘ」ピアが信頼ステータスを要求していると促すことは、信頼できるピアのリストを構築するための１つの方法である。エンド・ユーザは、今回だけ信頼できる「Ｘ」ピアという場合も、または、常に信頼できる「Ｘ」ピアであるという場合もある。加えて、ピア２００、２０１ａおよび２０１ｂ間の通信は、周知の暗号化手法を通じて暗号化されてもよい。
【００３５】
本発明の実施形態は、完全にハードウェアによる実施、完全にソフトウェアによる実施、またはハードウェアおよびソフトウェア要素の両方を含む実施形態の形式を取ることができる。好ましい一実施形態において、本発明は、ソフトウェアで実施され、これはファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されるものではない。
【００３６】
さらに、本発明の実施形態は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用されるプログラム・コードを提供する媒体であって、コンピュータが使用可能なまたはコンピュータが読み出し可能な当該媒体からアクセス可能なコンピュータ・プログラム製品の形式を取ることができる。この説明の目的のために、コンピュータが使用可能なまたはコンピュータが読み出し可能な媒体は、命令実行システムによってまたはそれに関連して使用されるプログラムを備え、記憶し、通信し、伝播し、または搬送することができる任意の装置でありうる。
【００３７】
本媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム（または装置または機器）または伝播媒体であってもよい。コンピュータが読み出し可能な媒体の例としては、半導体またはソリッド・ステート・メモリ、磁気テープ、着脱可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、固定磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例としては、読み出し専用メモリ（ＣＤ‐ＲＯＭ）、コンパクト・ディスク読み出し／書き込み（ＣＤ‐Ｒ／Ｗ）、およびＤＶＤなどのコンパクト・ディスクが含まれる。
【００３８】
プログラム・コードを記憶または実行もしくはその両方を行うのに適切なデータ処理システムは、システム・バスを通じてメモリ要素に直接的または間接的に結合された少なくとも１つのプロセッサを含むことになる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードを取り出さなければならない回数を削減するために、少なくとも何らかのプログラム・コードを一時的に記憶するキャッシュ・メモリとを含むことができる。
【００３９】
入力／出力（Ｉ／Ｏ）装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、それらに限定されない）が、システムに直接か、または介在するＩ／Ｏコントローラを通じてシステムに結合されてもよい。ネットワーク・アダプタがシステムに結合されて、データ処理システムが、他のデータ処理システムまたは遠隔のプリンタまたは記憶装置に対して、介在する専用または公衆ネットワークを通じて接続可能であるようにしてもよい。モデム、ケーブル・モデム、およびイーサネット・カードは、ネットワーク・アダプタの現在利用可能な種類のごく一部にすぎない。
【００４０】
本発明の実施形態を実施するための代表的なハードウェア環境の１つを図６に示す。本概略図は、本発明の実施形態に係る情報ハンドリング／コンピュータ・システムのハードウェア構成を示す。本システムは、少なくとも１つのプロセッサまたは中央処理装置（ＣＰＵ）１０を備える。ＣＰＵ１０は、システム・バス１２を介して、ランダム・アクセス・メモリ（ＲＡＭ）１４、読み出し専用メモリ（ＲＯＭ）１６、入力／出力（Ｉ／Ｏ）アダプタ１８などの様々な装置に相互接続される。Ｉ／Ｏアダプタ１８は、ディスク・ユニット１１およびテープ・ドライブ１３、またはシステムによって読み出し可能な他のプログラム記憶装置などの周辺装置に接続可能である。本システムは、プログラム記憶装置上の本発明の命令を読み出して、これらの命令に従って、本発明の実施形態の手法を実行することができる。本システムは、キーボード１５、マウス１７、スピーカ２４、マイクロフォン２２、または、タッチ・スクリーン装置（図示せず）などの他のユーザ・インターフェース装置もしくはそのすべてを接続してユーザ入力を収集するユーザ・インターフェース・アダプタ１９をさらに含む。加えて、通信アダプタ２０は、バス１２をデータ処理ネットワーク２５に接続し、表示アダプタ２１は、例えばモニタ、プリンタ、または送信器などといった出力装置として実施されてもよい表示装置２３にバス１２を接続する。
【００４１】
クライアント側の統合が可能となることにより、セグメント化されたデータ転送は、データを転送するために、データ転送の障害をネットワークの全帯域幅容量とリソース・サーバのための容量とに移動させる２つ以上のシステムに渡って増大されることが可能となる。結果生じた転送は、単一のシステムからのマルチセグメント転送よりも高速である。ピア同士が協同して同一のアセットを転送する能力は、すべての利用可能なリソースを使用するために、サーバの配列とネットワークの配列との両方を活用する。複数のサーバ２０４（１），２０４（２），…２０４（ｘ）は、同一のアセットおよび同一のアセットの互いに異なる部分に対する複数の要求に応答可能である。本発明の一実施形態によって提供されるピア・ネットワーク２０３は、互いに異なるサーバ２０４（１），２０４（２），…２０４（ｘ）に対して同一のファイルまたはファイルの部分を要求することが可能である。これは、各ピア２０１ａおよび２０１ｂ上のソフトウェアと、サーバ２０４（１），２０４（２），…２０４（ｘ）上のソフトウェアとを利用する。
【００４２】
第１に、サーバ２０４（１），２０４（２），…２０４（ｘ）上のソフトウェアは、要求されたアセットのすべてまたは一部を単に返すために必要である。第２に、ピア２０１ａおよび２０１ｂ上のソフトウェアは、アセットのどの部分または複数の部分を転送するかの指示の送出および受信の両方と、その後、これらの部分の第１のピア２００への転送とのために必要である。中央サーバ（図示せず）は、所定のネットワーク２０３についてのピア２０１ａおよび２０１ｂを追跡するソフトウェアを含んでもよい。ソフトウェアを伴うピア２０１ａおよび２０１ｂを可能とすることによって、より高速の転送を行うことができる。なぜならば、複数である可能性のある場所から同一のアセットを協同してダウンロードするので、最終的な転送は、よりローカルな高性能な転送となる。本発明の実施形態は、マルチ・ソースのセグメント化されたデータ転送のすべての利点をすべて取得する一方で、第１のピア・システム２００上の制限された帯域幅という従来の課題を解決するためのシステムおよび方法を提供する。したがって、本発明の実施形態は、ピアがセグメント化されたデータ転送の調和的統合に対処するものであって、第１のピア２００によって、ローカル・ピア２０１ａおよび２０１ｂは、データ転送の処理に参加するように指示される。
【００４３】
一般的に、本発明の実施形態は、データ転送システムおよび方法を提供するものであって、本システムおよび方法は、コンピュータ・ネットワーク２０３において配置された複数のピア・システム２００，２０１ａ，および２０１ｂと、データを備え、複数のピア・システム２００，２０１ａ，および２０１ｂに結合された少なくとも１つのデータ・サーバ２０４（１），２０４（２），…２０４（ｘ）とを備え、複数のピア・システムは、第１のピア・システム２００と、少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂとを備え、第１のピア・システム２００は、少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂに対して、少なくとも１つのデータ・サーバ２０４（１），２０４（２），…２０４（ｘ）から第１のピア・システム２００へデータを協同して転送するように指示するように適合されており、少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂは、少なくとも１つのデータ・サーバ２０４（１），２０４（２），…２０４（ｘ）から第１のピア・システム２００へデータを転送するように適合されている。好ましくは、複数のピア・システム２００、２０１ａおよび２０１ｂは、グリッド可能である。データ転送システムは、複数のピア・システム２００，２０１ａ，および２０１ｂを互いに接続するように適合されたピア・ディレクトリ３０７をさらに備える。
【００４４】
第１のピアシステム２００は、データ・リソースを識別して各少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂの帯域幅特性を転送するように適合されたデータ転送プラン３１２を作成するように適合されている。加えて、データ転送プラン３１２は、各少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂに関連するＵＲＩ、ピア識別子、およびバイト範囲を備える。第１のピア・システム２００は、転送されるべきデータを識別し、データの部分を転送可能な少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂを識別し、データ転送プラン３１２を作成するようにさらに適合されている。さらに、少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂは、データ転送プラン３１２を少なくとも１つのデータ・サーバ２０４（１），２０４（２），…２０４（ｘ）へ送信して、ステータス・メッセージを第１のピア・システム２００へ提供するように適合されている。好ましくは、第１のピア・システム２００と少なくとも１つの第２のピア・システム２０１ａおよび２０１ｂとの間の通信は、ウェブ・サービスを介して生じる。また、第１のピア・システム２００は、データを再構築するようにさらに適合されており、データの再構築は、圧縮を使用してデータを転送することによって実行される。
【００４５】
以上の特定の実施形態の説明は、本発明の一般的性質を完全に表すことになるので、現在の知識を適用することによって、一般的な概念から逸脱することなく、そのような特定の実施形態を様々な適用のために容易に修正または適合もしくはその両方を行うことができるので、そのような適合および修正は、開示された実施形態の均等物の意味および範囲内で理解されるものとされるべきである。本明細書で使用される語法または専門用語は、説明の目的のためのものであり、制限的でないものと理解されるべきである。したがって、本発明の実施形態を好ましい実施形態の観点から説明してきたが、本発明の実施形態は、添付の請求項の精神および範囲内の修正を伴って実施されうることを、当業者は認識するだろう。
【図面の簡単な説明】
【００４６】
【図１】データ転送システムの概略図を示す。
【図２】マルチシステムのデータ転送システムの概略図を示す。
【図３】ピア・ツー・ピア・ネットワークの概略図を示す。
【図４】本発明の一実施形態に係る、セグメント化されたデータの統合を行うデータ転送システムの概略図を示す。
【図５】本発明の一実施形態に係る、図４のセグメント化されたデータの統合を行うデータ転送システムの処理フローの概略図を示す。
【図６】本発明の一実施形態に係るコンピュータ・システムの概略図を示す。
【図１】
2009501456.tif 000003
【図２】
2009501456.tif 000004
【図３】
2009501456.tif 000005
【図４】
2009501456.tif 000006
【図５】
2009501456.tif 000007
【図６】
2009501456.tif 000008
【国際調査報告】
2009501456.tif 000009