(57)【特許請求の範囲】
【請求項１】
コンテンツを放送することによってピアツーピアネットワークにシーディングを行う方法であって、
ピアツーピア（Ｐ２Ｐ）ネットワークを含んだ第１配信チャネルを提供するステップを有し、前記Ｐ２Ｐネットワークは、当該Ｐ２Ｐネットワークに接続されたいずれのピアデバイスにおいても当該Ｐ２Ｐネットワークを通じてコンテンツを受信可能とするものであり、
前記Ｐ２Ｐネットワークの少なくとも１つのピアデバイスにコンテンツを配信するよう構成された放送システムを含んだ第２配信チャネルを提供するステップを有し、前記放送システムは、前記Ｐ２Ｐネットワーク外にあり、
前記Ｐ２Ｐネットワーク上の、前記放送システムからの放送をリスニングするよう動作可能である第１のピアデバイス及び第２のピアデバイスに配信するコンテンツの放送の予定時間を指定するステップを有し、
前記予定時間に、前記第１のピアデバイス及び第２のピアデバイスによって受信される前記コンテンツを前記放送システムにより放送するステップを有し、
前記第２のピアデバイスが、前記予定され放送されたコンテンツの各パケットが適切に受信されたかを確認するステップを有し、
前記第２のピアデバイスが、前記予定され放送されたパケットが適切に受信されていないかを判断し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスに要求し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスから取得する、方法。
【請求項２】
前記Ｐ２Ｐネットワークを介して前記コンテンツを配信するステップを更に有する請求項１に記載の方法。
【請求項３】
前記Ｐ２Ｐネットワーク上の第３のピアデバイスは、前記コンテンツの一部を、前記放送と、前記Ｐ２Ｐネットワークを介した前記コンテンツの前記配信とから同時に受信することが可能である請求項２に記載の方法。
【請求項４】
前記放送されるコンテンツの不足部分または拒否された部分を、前記Ｐ２Ｐネットワークの前記コンテンツの前記不足部分または拒否された部分を有する別のピアデバイスから受信可能である請求項１に記載の方法。
【請求項５】
前記放送は、無線通信放送、ディジタルテレビジョン（ＤＴＶ）放送、ＡＴＳＣ放送、ディジタル無線放送、ハイデフィニションラジオ放送、衛星ラジオ放送、およびディジタルケーブル放送の１つである請求項１に記載の方法。
【請求項６】
前記Ｐ２Ｐネットワーク上の第３のピアは、前記放送および前記Ｐ２Ｐネットワークの外部の接続を使用して前記第１のピアおよび前記少なくとも１つの第２のピアの一方から前記コンテンツを受信することが可能である請求項１に記載の方法。
【請求項７】
前記Ｐ２Ｐネットワークの複数のピアデバイスの利用可能なリソースを分析するステップと、
発信元ピアデバイスとして動作するピアデバイスの組を選択するステップと、を更に有し、各発信元ピアは、前記Ｐ２Ｐネットワークで前記コンテンツの前記部分を配信するために利用可能なリソースを有するものと決定される請求項１に記載の方法。
【請求項８】
各発信元ピアデバイスを事前シーディングするために各発信元ピアデバイスに前記コンテンツの少なくとも一部を送信するステップを更に有する請求項７に記載の方法。
【請求項９】
各発信元ピアデバイスの前記事前シーディングが成功したかどうかの通知を各発信元ピアデバイスから受信して、これにより、前記コンテンツを、前記放送のほかに、各発信元ピアデバイスから前記Ｐ２Ｐネットワーク経由で配信可能とするステップを更に有する請求項８に記載の方法。
【請求項１０】
コンテンツを放送することによってピアツーピアネットワークにシーディングを行うためのシステムであって、
プロセッサと、
メモリデバイスを有し、前記メモリデバイスは、前記プロセッサによって実行されると、前記プロセッサに、
ピアツーピア（Ｐ２Ｐ）ネットワークに接続された任意のピアデバイスが、前記Ｐ２Ｐネットワークを介してコンテンツを受信可能とする、前記Ｐ２Ｐネットワークを含んだ第１の配信チャネルを提供させ、
前記Ｐ２Ｐネットワークの少なくとも１つのピアデバイスにコンテンツを配信するよう構成された放送システムを含んだ第２配信チャネルを提供し、前記放送システムは、前記Ｐ２Ｐネットワーク外にあり、
前記Ｐ２Ｐネットワーク上の、放送をリスニングするよう動作可能である第１のピアデバイス及び第２のピアデバイスに前記放送システムから配信するコンテンツの放送の予定時間を指定し、
前記予定された時間に、前記第１のピアデバイス及び第２のピアデバイスによって受信される前記コンテンツを前記放送システムによって放送させ、
前記第２のピアデバイスによって、前記予定され放送されたコンテンツの各パケットが適切に受信されたかを確認し、
前記第２のピアデバイスによって、前記予定され放送されたパケットが適切に受信されていないかを判断し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスに要求し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスから取得する命令を含む、システム。
【請求項１１】
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
前記Ｐ２Ｐネットワークを介して前記コンテンツを配信させる命令を更に含む請求項１０に記載のシステム。
【請求項１２】
前記Ｐ２Ｐネットワーク上の第３のピアデバイスは、前記コンテンツの一部を、前記放送と、前記Ｐ２Ｐネットワークを介した前記コンテンツの前記配信とから同時に受信することが可能である請求項１１に記載のシステム。
【請求項１３】
前記放送されるコンテンツの不足部分または拒否された部分を、前記Ｐ２Ｐネットワークの前記コンテンツの前記不足部分または拒否された部分を有する別のピアデバイスから受信可能である請求項１０に記載のシステム。
【請求項１４】
前記Ｐ２Ｐネットワーク上の第３のピアは、前記放送および前記Ｐ２Ｐネットワークの外部の接続を使用して前記第１のピアおよび前記少なくとも１つの第２のピアの一方から前記コンテンツを受信することが可能である請求項１０に記載のシステム。
【請求項１５】
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
前記Ｐ２Ｐネットワークの複数のピアデバイスの利用可能なリソースを分析させ、
発信元ピアデバイスとして動作するピアデバイスの組を選択させる命令を更に含み、各発信元ピアは、前記Ｐ２Ｐネットワークでの前記コンテンツの前記部分を配信するために利用可能な資源を有するように決定される請求項１０に記載のシステム。
【請求項１６】
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
各発信元ピアデバイスを事前シーディングするために各発信元ピアデバイスに前記コンテンツの少なくとも一部を送信させる命令を含む請求項１５に記載のシステム。
【請求項１７】
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
各発信元ピアデバイスの前記事前シーディングが成功したかどうかの通知を各発信元ピアデバイスから受信させ、これにより、前記コンテンツを、前記放送のほかに、各発信元ピアデバイスから前記Ｐ２Ｐネットワーク経由で配信可能とさせる命令を含む請求項１６に記載のシステム。
【請求項１８】
コンピュータ可読媒体に内蔵され、コンテンツを放送することによってピアツーピアネットワークをシーディングするための命令を含むコンピュータプログラムであって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
ピアツーピア（Ｐ２Ｐ）ネットワークに接続された任意のピアデバイスが、前記Ｐ２Ｐネットワークを介してコンテンツを受信可能とする前記Ｐ２Ｐネットワークを含んだ第１配信チャネルを提供させ、
前記Ｐ２Ｐネットワークの少なくとも１つのピアデバイスにコンテンツを配信するよう構成された放送システムを含んだ第２配信チャネルを提供し、前記放送システムは、前記Ｐ２Ｐネットワーク外にあり、
前記Ｐ２Ｐネットワーク上の、前記放送をリスニングするように動作可能である第１のピアデバイス及び第２のピアデバイスに前記放送システムから配信するコンテンツの放送の予定時間を指定し、
前記予定された時間に、前記第１のピアデバイス及び前記第２のピアデバイスにによって受信される前記コンテンツを放送させ、
前記第２のピアデバイスによって、前記予定され放送されたコンテンツの各パケットが適切に受信されたかを確認し、
前記第２のピアデバイスによって、前記予定され放送されたパケットが適切に受信されていないかを判断し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスに要求し、
前記第２のピアデバイスが、予定され放送されて適切に受信されなかったパケットを前記第１のピアデバイスから取得する命令を含む、コンピュータプログラム。
【請求項１９】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記Ｐ２Ｐネットワークを介して前記コンテンツを配信させる請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記Ｐ２Ｐネットワーク上の第３のピアデバイスは、前記コンテンツの一部を、前記放送と、前記Ｐ２Ｐネットワークを介した前記コンテンツの前記配信とから同時に受信することが可能である請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記放送されるコンテンツの不足部分または拒否された部分を、前記Ｐ２Ｐネットワークの前記コンテンツの前記不足部分または拒否された部分を有する別のピアデバイスから受信可能である請求項１８に記載のコンピュータプログラム。
【請求項２２】
前記Ｐ２Ｐネットワーク上の第３のピアは、前記放送および前記Ｐ２Ｐネットワークの外部の接続を使用して前記第１のピアおよび前記少なくとも１つの第２のピアの一方から前記コンテンツを受信することが可能である請求項１８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本願は２００８年５月１４日出願の米国仮特許出願第６１／０５３，１６１号（「ピアツーピアネットワークのための放送シーディング」）に対する優先度を主張し、同出願を参照によりここに援用する。
【０００２】
本開示は、ピアツーピアネットワークに関し、より詳細には、ピアツーピアネットワークを介したコンテンツの効率的な配信の管理に関する。
【背景技術】
【０００３】
今日、消費者やその他のユーザが、従来の物理媒体の代わりに電子配信を介して、映画、音楽およびゲームなどのコンテンツをますます取得するようになっている。更に、ポータブルマルチメディアデバイスと、コンテンツを記録するためのより大容量で安価なメモリとが広く行き渡るのに伴い、ユーザが、携帯電話、個人情報端末（ＰＤＡ）、ケーブルボックス、コンソール型ゲームシステムおよびポータブルゲームシステムなどのデバイスや他のこのようなデバイスで、このコンテンツをますます求めるようになっている。このようなデバイスの容量は多様なものとなっており、単一の手法ではコンテンツを伝達するには通常、不十分となっている。例えば、ＰＣはインターネットに接続され、ケーブルボックスはディジタルケーブルサービスに接続され、個人情報端末は、ドッキングステーションとのドッキング時にのみＰＣと同期され、個人用ゲームデバイスは、無線接続を介して他のデバイスと、デバイス同士が所定の範囲（例えば１０〜２０フィート）内に存在するときにのみ通信することになるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この問題に対処する従来の手法においては、ピアツーピア（Ｐ２Ｐ）ネットワークを介したコンテンツの配信が行なわれていた。Ｐ２Ｐネットワークは、中央の階層構造または組織のない分散型データネットワークである。Ｐ２Ｐデータネットワークは、一般に「ノード」と呼ばれる多数のコンピュータまたはその他の情報デバイスに情報を伝達するための堅固かつ柔軟な手段となる。インターネットプロトコル（ＩＰ）ベースのＰ２Ｐネットワークでは、例えば、一般にサーバを使用して、ピアツーピアＩＰ接続が設定される。この手法は、サーバがＩＰアドレスをトラッキングして、接続を有効にしなければならないため、時間がかかり、面倒なことがある。サーバは事実上、可能なあらゆる相手先から接触される可能性があり、このため、サーバは全ての相手先に関連するＩＰアドレスを保持している。あるデバイスがコンテンツを取得するために第２のデバイスを呼び出そうとする場合、第１のデバイスはサーバにコンタクトする。サーバは、第２のデバイスに関連する現在のＩＰアドレスを見つけ、接続がサーバを介してルーティングされる。当業界で公知のように、他のＰ２Ｐネットワークも同様にして接続を確立する。あるピアがコンテンツを受信すると、そのピアは、良くても断続的なインターネット接続しか持たないが別の通信プロトコルを介してそのピアと通信することができる他のピアに対して、当該コンテンツを配信することができる。。
【０００５】
しかし、Ｐ２Ｐネットワークを介したコンテンツ配信の問題は、大量のコンテンツを、多数のユーザから、実質的に同時に利用可能とすることが望ましい場合には、特に問題となる。例えば、夏の大作映画または人気のアーティストの新しいアルバムを、予定された時間にダウンロード可能とする場合がある。その場合、コンテンツのリリース直後に、何百万人ものユーザがそのコンテンツをダウンロードしようとしたり、ユーザによっては、このコンテンツを複数のデバイスにダウンロードしようとすることが考えられる。何百万ものダウンロードを処理するのに十分なピアに、コンテンツを配信するのに時間がかかるため、ディジタル配信システム（特にＰ２Ｐシステム）は、一般に、需要の高いコンテンツの大きなファイルの初回リリース時におけるパフォーマンスが低いものとなる。既存のピアツーピアまたはサーバベースのダウンロードシステムでは、コンテンツの新しい部分は、通常、インターネットを介した直接の１対１接続を使用して配信される。コンテンツの一部に対する要求が極めて高い場合、このような手法は、多くのダウンロードサーバにコンテンツを配信するために、あるいは、Ｐ２Ｐネットワークの場合は、コンテンツをまだ受け取っていないピアに提供するために、十分に多くのピアグループにコンテンツを取得するために、大量の帯域幅を必要とする。更に、ＩＰベースの接続を使用する場合、ユーザのアップロード速度は、通常、ダウンロード速度よりも約１０倍遅く、このため、ネットワークが最高速度で稼働するためには、Ｐ２Ｐネットワークにコンテンツを有するピアが、コンテンツを要求しているピアの少なくとも１０倍存在しなければならない。
【課題を解決するための手段】
【０００６】
このため、Ｐ２Ｐネットワークのための、デバイスにコンテンツを配信するための改良された手法を提供することが求められている。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に従って使用されうるＰ２Ｐネットワークにおいてコンテンツを配信するためのシステムの構成要素を示す。
【図２】一実施形態に従って使用されうるプロセスのステップを示す。
【図３】（ａ）〜（ｃ）は、一実施形態に従って使用されうるＰ２Ｐネットワークを介して配信されるコンテンツの一部分を取得するためのプロセスを示す。
【図４】一実施形態に従って使用されうるコンテンツを配信するためのプロセスのステップを示す。
【図５】一実施形態による、ダウンロードを事前シーディングするために使用されうる構成要素の例を示す。
【図６】一実施形態に従って使用されうる、ダウンロードを事前シーディングするためのプロセスの例を示す。
【図７】一実施形態に従って使用されうるＰ２Ｐネットワークのピア間でコンテンツを配信するためのプロセスフローの例を示す。
【図８】一実施形態に従って使用されうるコンピューティングデバイスの構成要素を示す。
【発明を実施するための形態】
【０００８】
各種実施形態に係るシステムおよび方法は、電子環境においてコンテンツを配信するための既存の手法の上記の不具合やその他の不具合を解消することができる。一実施形態に係る手法は、無線通信（ＯＴＡ）ディジタルテレビジョン（ＴＶ）またはラジオ、ディジタルケーブル、衛星ラジオ、あるいは別のこのような放送システムなどの、少なくとも１つの放送システムを使用する。少なくとも１つの放送システムまたはサービスを使用することにより、この放送を受信可能な、より多くのピアに、迅速かつ同時にコンテンツを配信することが可能となる。このような手法により、多数のピアデバイスが、リリース後できるだけ迅速にコンテンツを取得できるようになるのみならず、これらのピアのそれぞれが、Ｐ２Ｐネットワークを介して、他のピアへのコンテンツの配信を迅速に開始することが可能となる。コンテンツを有するピアの台数が増加するため、システムが、ピアのダウンロード速度に匹敵するパフォーマンスを発揮できるように、アップロードとダウンロードの比率が改善される。その後、放送されたメディアの使用は、Ｐ２Ｐネットワークのための高速起動型のシーディングメカニズムとして機能する。コンテンツは、要求の負荷を処理するのに十分広い範囲に、かなり迅速に配信することができ、地理的に分散したピアにコンテンツを配信することにより、Ｐ２Ｐまたは配信サーバへのネットワークリンクの局所的な過負荷を回避することができる。
【０００９】
各種実施形態のシステムおよび方法は、相互に通信するように相互接続された複数のコンピューティングデバイス、処理デバイスまたは他のこのようなデバイスによって画定されうる非集中型コンピューティング環境で実装されうる。これらのデバイスの少なくとも一部は、クライアントの機能とサーバの機能の両方を実行することが可能である。つまり、各ピアデバイスが、他のピアデバイスからコンテンツをダウンロードできるほか、他のピアデバイスにコンテンツをアップロードすることもできる。ピアツーピア（Ｐ２Ｐ）ネットワーク内の各デバイスは、ネットワーク内の他のどのデバイスのピアとして定めることができる。説明の便宜上、Ｐ２Ｐネットワーク内の各ピアデバイスを「ノード」と呼ぶ。また、Ｐ２Ｐネットワーク内の各ノードは、最小量の実質的に等しい機能を有するソフトウェアを実行するように構成されうる。このため、ノードは、データ、コンテンツおよびサービスのユーザとして少なくとも機能できるほか、有利にも、Ｐ２Ｐネットワークでデータ、コンテンツおよびサービスのプロバイダとしても機能するようにすることもできる。しかし、デバイスによっては、コンテンツを供給するための十分なリソースを有していないこともある。
【００１０】
図１は、一実施形態に係るピアツーピア（Ｐ２Ｐ）ネットワークを介したコンテンツの配信に使用されうるシステム１００の構成要素を示す。この例では、ネットワークで配信されるコンテンツが、適切なデータストア１０２に記録されている。データストアは、当業界で公知のように、コンテンツを記録して取得するのに適した数のデバイスを備えうる。少なくとも１つの配信サーバ１０４がデータストア１０２と通信しており、データストアからコンテンツを取得し、Ｐ２Ｐネットワーク上の１台のデバイスからの少なくとも１つの要求に応えてコンテンツを供給することが可能である。この要求は、例えば、ウェブブラウザを使用して送信され、インターネット１０６で受信されるＨＴＴＰまたは同様の要求を介して、Ｐ２Ｐネットワーク上の１台以上のコンピュータ１０８，１１８から到着する。
【００１１】
しかし、上述のように、配信されるコンテンツが多数のピアによって要求されたり、あるいは既に要求されている場合がある。この場合、ネットワーク上のできるだけ多数のピアにコンテンツを配信することが望ましい。図１のシステムは、無線通信（ＯＴＡ）ディジタルテレビジョン（ＴＶ）またはハイデフィニションラジオ、ディジタルケーブル、あるいは衛星ラジオ放送サービスなどの、少なくとも１つの放送サービス１１０を使用する。配信されるコンテンツが、配信サーバ１０４によって放送サービス１１０に送信され、適切な時点で、適切な放送装置１１２（ＯＴＡ放送の場合は放送塔、衛星放送の場合は衛星、ディジタルテレビジョンの場合はディジタル放送サーバ、無線放送送信の場合は基地局など）を使用して放送されうる。コンテンツが放送装置１１２によって放送されると、放送をリスニングしている放送圏内の任意のピアデバイスが、放送されたコンテンツの記録を開始しうる。例えば、図中の携帯電話１１４は受信器を有すると共に放送圏内に存在しており、このため、携帯電話１１４はコンテンツを迅速に受信することが可能である。この携帯電話が完全なピアとして機能するように設定されている場合、コンテンツの一部分が受信されると直ちに、携帯電話も、コンテンツの一部分の供給を開始しうる。
【００１２】
例えば、個人情報端末（ＰＤＡ）１１６が図示されており、このＰＤＡが放送を受信可能な受信器を備えていなかったり、受信器が放送中にオフになっていたり、ＰＤＡが放送圏外に存在するなどの場合がある。この場合、ＰＤＡは放送を受信できず、コンテンツをダウンロードするためのＰ２Ｐネットワークとの接続をまだ確立していない可能性がある。携帯電話１１４とＰＤＡ１１６とが無線接続によって通信できる場合、例えば、携帯電話が、送信機能が有効な圏内に入ると直ちに、ＰＤＡは携帯電話からコンテンツをダウンロードすることができる。このようにして、ＰＤＡは、本技術を使用しない場合に比べて、コンテンツをより高速に取得することができる。更に、ＰＤＡは、ＩＰベースのＰ２Ｐネットワークを介してコンテンツを事前に受信できなくても、コンテンツを取得することができる。
【００１３】
別の利点は、携帯電話などのピアノードを、放送の受信と送信とを同時に行なうように構成できるという点にある。このため、あるノードがパケットを受信して記録すると直ちに、そのノードはそのパケットを他のノードに送信することができる。このため、この例では、ＰＤＡは、携帯電話とほぼ同時にコンテンツ全体を受信することができる。
【００１４】
図に示すように、インターネットに接続されているコンピュータ１０８などのピアデバイスは、放送から、無線接続または他の接続を介して別のピアデバイスから、あるいはＰ２Ｐネットワーク１０６からコンテンツを受信することができる。コンピュータが放送を受信できない場合であっても、コンピュータはコンテンツを受信したＰＤＡ１１６からコンテンツをダウンロードすることができる。コンピュータがコンテンツの受信を開始した直後に、コンピュータはＰ２Ｐネットワーク１０６を介して、コンピューティングデバイス１１８などへのコンテンツの送信を開始することができる。また、コンピュータは、その構成に応じて、無線を使用するかあるいはほかの方法で他のデバイスに情報を送信することもできる。
【００１５】
コンテンツを受信するためのこのような柔軟な手法の利点として、コンテンツの一部分が利用可能となると直ちに、ノードがさまざまなソースからこのコンテンツの一部分を取得できるようになるという点が挙げられる。例えば、配信サーバ１０４は、コンテンツの放送と同時に、あるいはこれとほぼ同時に、Ｐ２Ｐネットワークでのコンテンツのシーディングを開始しうる。ノードがネットワークで別のノードからダウンロードしている間も、そのノードは放送のリスニングを続けることができる。ノードが別のノードからダウンロードの途中で、コンテンツの残りの部分が、放送によってもうすぐ送信されることが検知された場合、ノードは、放送を介してコンテンツの残りの部分を受信するように切り替えることができる。同様に、ノードが無線を介して別のノードからダウンロード中に、高速なインターネット接続が利用可能となった場合、ノードは高速な接続に切り替えることができる。一部の実施形態では、ノードは、２つ（あるいは３以上）のソースからファイルの異なる部分の並列ダウンロードを試みうる。
【００１６】
放送システムおよびサービスを使用する別の利点は、データ伝送速度が絶えず上がっているという点にある。例えば、幾つかの国が、地上波（ＯＴＡ）ディジタル伝送用の高度テレビジョンシステム委員会（ＡＴＳＣ）ディジタルテレビジョン（ＤＴＶ）規格を採用している。この規格の１つの版では、チャネル当たり１９．３９メガビット（Ｍｂｐｓ）のデータ速度でのＯＴＡデータ伝送が可能となる。また、放送が、２以上のチャネルを使用してもよく（デバイスがファイルの異なる部分を取得することができるように、これらのチャネルが、それぞれファイルの異なる部分をそれぞれ放送するか、あるいは、同じファイルを所定の時間遅延で放送する（すなわち、放送時間の半分））、これにより、少なくとも３８Ｍｂｐｓのデータ伝送速度が提供される。また、ディジタルケーブル放送では、その時点でチャネルを合せているどの受信契約者にも、約３６Ｍｂｐｓでコンテンツを送信することができる。いずれの方法も、ネットワークが最大容量で稼働中の場合であっても、一般に１０Ｍｂｐｓ以下に制約されるインターネットを介した接続やより一層制約されうる直接無線接続のように、一般に、接続の速度によって制約されるピアからのダウンロードよりも大幅に高速となりうる。更に、Ｐ２Ｐネットワークでは、ダウンロードを行なう全ピア（ダウンローダ）の合計速度が、アップロードを行なう全ピア（アップローダ）の合計速度を超えることができない。アップロード速度は、通常はダウンロード速度よりも低いため、コンテンツをダウンロードするピアよりも、コンテンツをシーディングするピアのほうが多くなるまで、Ｐ２Ｐユーザが最高速度を得ることができないということになる。
【００１７】
しかし、コンテンツの放送に関する１つの潜在的な問題は、放送が、通常は一方向の転送メカニズムであるという点にある。ディジタルケーブルは双方向通信に対応しており、放送メカニズムが、双方向通信用のバックチャネルまたは他の手法を有するものの、この双方向通信は、ユーザが、例えばインターネットの使用時に期待するような高速の双方向接続でない。例えば、あるピアがビデオゲームをダウンロード中に、パケットの１つが正常に受信されない場合を考える。このことは、テレビジョン放送では大きな問題とならないが、ビデオゲームでは、欠落データによって適切に機能しなくなることがある。放送による方法では、ユーザがこの欠落パケットを復旧するための迅速な方法が存在しない。このようなエラーは一般にランダムであるため、一般に、パケットが欠落しているピアは、欠落したパケットがそれぞれ異なる。このため、ユーザが多数存在する場合、データの特定のパケットの再送を求める要求が膨大に発生しうる。大きなファイルの場合、それぞれの欠落パケットを送信するにはかなりの時間を要する場合がある。更に、特定の技術分野では放送が高コストであることもあり、実用面から放送の頻度あるいはその期間が限られることがある。多くのエリアあるいは１日の特定の時刻に、放送帯域幅の要求が、利用可能な帯域幅の量を超えることがある。このため、欠落パケットを再放送するための帯域幅の追加購入が高額になり過ぎることがある。また、放送事業者が設定するスケジュールによって、エラーパケットが再送されるまでの時間が制約されうる。このため、ユーザは、コンテンツを実際に使用できるようになるには、次に予定されている放送まで待たされることになる。
【００１８】
しかし、各種実施形態に係るシステムおよび方法は、ノードが、欠落パケットを先に受信している他のノードからそのパケットを取得することができるため、このような問題を解消する。図２は、一実施形態による放送を提供および訂正するための手法２００のステップを示す。この例では、特定の時点（２０２）で、コンテンツが放送されるようにスケジュールされる。コンテンツを受信したいユーザは、少なくとも１つのデバイスに放送をリスニングさせる（２０４）。場合によっては、例えば、ユーザが、最初にダウンロードされる特定のファイルを要求するか、スケジュールからファイルを選択するか、あるいは、コンテンツが利用可能となったときに配信されるようにコンテンツを事前に予約してもよい。また、デバイスは、他のチャネル（例えばＰ２Ｐネットワーク）でもコンテンツをリスニングするようにも構成されうる。放送が行なわれると、リスニング中のデバイスは、コンテンツを受信して記録しうる（２０６）。デバイスが、他のピアにコンテンツを提供する完全なピアとして動作可能な場合、デバイスは、要求を受け取った他のピアに、受信したコンテンツの送信を開始しうる（２０８）。放送中に、デバイスは、ここに記載するような方法を使用して、各パケットが正常に受信されたかどうかを確認しうる（２１０）。パケットが正常に受信されていない場合、デバイスは、このパケットを拒否して、パケットの再受信を要求しうる（２１２）。デバイスは、このパケットを別のピアから取得するように要求するか、コンテンツの少なくとも欠落しているパケットの再放送を求める要求を送信するか、この両方を行ないうる。放送が完了すると、デバイスは全パケットを受信したかどうかを判定しうる（２１４）。全パケットを受信していない場合、デバイスは、不足パケットを別のピアから取得するように要求するか、コンテンツの少なくとも欠落しているパケットの再放送を求める要求を送信するか、この両方を行ないうる。ファイル全体が正常に受信される（２１８）まで、デバイスは不足パケットまたは拒否されたパケットの要求を続ける。
【００１９】
また、全てのコンテンツを有するノードが存在しない場合であっても、ノード間でコンテンツのパケットを相互に送信することが可能である。２つのノードが放送経由でコンテンツを受信した場合、このような方法により、ノードが、Ｐ２Ｐネットワークを介して相互に、すなわち他のピアから、必要なときにコンテンツを受信したり、迅速にエラーを訂正することができ、このため、コンテンツがほぼ必要なときに利用でき、その際の遅延量はデバイスのユーザが気付かないほど短い。放送のみのシステムでは、各ノードは、次回の放送を待機する必要がある。従来のＰ２Ｐシステムでは、各ノードは、コンテンツが別のノードで利用可能となるまで待機しなければならず、上で説明した問題のためにダウンロード時間が極めて長くなることがある。
【００２０】
図３（ａ）〜（ｃ）は、一実施形態による、ノードがコンテンツ３０２のファイルの一部をどのように受信するかの例３００を示す。この例は、説明の便宜上、単純化されており誇張されている。ファイルをダウンロードしたいピアデバイスは、ネットワークまたは放送を介して、ファイルがいつ放送されるかを示すスケジュールを受信しうる。ほぼこの時点で、デバイスは、放送のリスニングを開始しうる。また、このデバイスは、同時に他のソースから（例えばＰ２Ｐネットワークの他のピアから）もコンテンツを受信しようと試みてもよい。図３（ａ）では、放送が既に進んでしまった後に、デバイスが放送のリスニングを開始している。この状況は、デバイスの電源がオフとなっていたか、あるいは、何らかの理由で放送を最初から受信できない場合に発生しうる。この場合、デバイスは残りの放送をダウンロードすることができ、この例では、放送（Ｂ）からファイルの最後の６つの部分をダウンロードする。図からわかるように、この部分の１つが正常に受信できていない。エラーの判定は、当業界で知られているか使用されている多くの方法のいずれかを使用して行なうことができ、例えば、パケットと共にチェックサムまたは誤り訂正コードを使用して、パケットが正常に受信されたかどうかを判定する方法などがある。放送から受信したファイルの一部にエラーが含まれる場合、その部分は単に拒否されるか、あるいは削除されうる。
【００２１】
図３（ｂ）に示すように、放送が終わると、デバイスは、Ｐ２Ｐネットワークまたは別のデバイスから残りのコンテンツを要求し続けると共に、不足部分の次回の放送をリスニングしうる。場合によっては、デバイスは、不足部分の再放送を求める要求を送信しうる。放送網を介してデータを受信しているピアは、（すなわち、放送の開始後にピアがリスニングを開始したため）Ｐ２Ｐネットワークから、エラーパケットあるいは不足している他のパケットのみを要求する。近いうちに放送されることが予想されるパケットはＰ２Ｐ経由で要求されず、Ｐ２Ｐネットワークへの不要な負荷が低減される。図３（ｂ）において、デバイスは、エラーを含むため拒否された部分を、別のピア（Ｐ）から取得することができる。このピアは、例えば、無線接続を介してこの部分を直接送信可能なピア、あるいはＰ２Ｐネットワークのピアであってもよい。図３（ｃ）に示すように、デバイスは、放送のリスニングを続けるか、または予定された時間にリスニングし、別のピアから残りの情報をダウンロードしようと試みる。この例では、デバイスは、第２のピア（Ｐ２）から不足部分の１つをダウンロードすることができ、先頭部分の再放送（Ｂ２）によって先頭部分を最終的に取得することができた。本明細書の教示および示唆を考慮すれば、コンテンツの部分を受信するための数多くの変形例および均等例も存在しうることが明らかである。
【００２２】
図４は、一実施形態に従って使用されうる、Ｐ２Ｐネットワークに迅速にシーディングを行うために使用されうる別のプロセスの例４００を示す。この例では、コンテンツが放送され（４０２）、放送を受信するための受信器を有するデバイスによって受信される（４０４）。放送を受信中のデバイスが、Ｐ２Ｐネットワークを介してコンテンツを送信できる満足な接続を有さないことがある。しかし、ある時点で、デバイスが、Ｐ２Ｐネットワークのピアの圏内に入りうる（４０６）。受信中のデバイスとピアとが有線接続または無線接続を使用して通信可能な場合、受信中のデバイスは、ピアデバイスにコンテンツを送信することができる（４０８）。ピアデバイスはＰ２Ｐネットワークに接続されているため、受信中のデバイスからコンテンツ部分が受信されると直ちに、ピアデバイスは、当該ネットワークのピアにコンテンツの送信を開始しうる（４１０）。このようにして、放送を受信しなかったピアデバイスは、コンテンツを早く入手できるのみならず、本技術を使用しない場合よりも早く、ネットワークの他のピアへのコンテンツの供給を開始することが可能となる。
【００２３】
場合によっては、特定のエリアにシーディングするために放送が選択されうる。例えば、特定のコンテンツに国営放送を使用することができるが、これは極めて高コストとなりうる。他のコンテンツでは、多くの要求が受信されると予想されるエリアまたはアクセスネットワークなどにおいて、放送が局所的に行なわれうる。放送は、例えば、需要や、放送を受信可能な人数などの要因に基づいて、異なるエリアでは、異なって選択されスケジュールされうる。一部のＰ２Ｐネットワークでは、最も高速な接続または最も高いサービス品質を有するピアではなく、最も近いピアを使用してコンテンツを入手するように構成されることがあるため、特定のエリアにより迅速にシーディング可能となり、ネットワークの全体的なトラフィック量および混雑を低減することができる。更に、異なる企業が異なるエリアでアクセスを提供する場合、そのような企業が、可能な限り、トラフィックを自社のネットワーク内に納めて、他のネットワークから購入する必要のある帯域幅の量を減らし、これらのネットワークの相互接続点でのネットワークの輻輳を低減させることが望ましい。
【００２４】
一般に、特定のエリアに存在するデバイスの集合の一部分しか、受信器を備えていない。更に、受信器を有するデバイスの全てが、最初の放送を受信するとは限らない。このため、一実施形態では、例えば、多数のピアがシーディングするまで、ネットワーク速度が特定のレベルに達するまで、要求の数が特定のレベルに低下するまで、事前選択された回数または他の適切な回数までなど、放送が複数回繰り返される。一部の実施形態では、特定のエリアへのシーディングを補助するために、その特定のエリアにおいて、専用のダウンロードサーバによって放送が受信されてもよい。
【００２５】
一部の放送の方法では、デバイスが、適切なチャネルを選択するためのチューナまたはインタフェースを必要とせずに、特定チャンネルを常時リスニングすることができるように、専用チャネルが使用されてもよい。別の実施形態では、特定の局が所定のチャネルで放送を行なっていないとき（例えば深夜など）に、任意の空きチャネルを使用して、放送がスケジュールされてもよい。ピアデバイスは、このスケジュールを取得して、適切な時間が近づくとこのチャネルにチューニングして、コンテンツをリスニングするためのソフトウェアを有しうる。また、デバイスは、同時に複数のチャネルからダウンロードするために複数のチューナを有してもよい。デバイスがこのような組み込みの機能を備えない場合、デバイスはＯＴＡ  ＴＶおよびラジオ放送を受信可能なＵＳＢチューナ等のアクセサリを使用してもよい。
【００２６】
更に、一部のピアデバイスは、当該デバイスが、他のデバイスにコンテンツを直接送信できるようにする内部または外部のコンポーネントを備えうる。このようなコンポーネントには、例えば、Ｗｉ−Ｆｉ接続などの無線、あるいはＵＳＢケーブルによって形成されるような有線の接続を使用するなどによって伝送を行なうためのコンポーネントが含まれてもよい。デバイスがＡＴＳＣ送信器／受信器を有する場合、デバイスはＡＴＳＣバックチャネルでリスニング可能な他のデバイスと通信するために、当該バックチャネルを使用するように構成されてもよい。一実施形態では、バックチャネルはＡＴＳＣ送信の速度を提供するが、送信範囲が狭い。また、別の実施形態では、デバイスは、周波数の一部を使用したり、空間次元または時間次元の多重化を使用するなど、元の放送に干渉しない方法を使用して、共通チャネルを利用して情報を放送してもよい。
【００２７】
一実施形態では、第１のピアが、インターネット経由か、またはＡＴＳＣバックチャネルを使用するなどにより、複数タイプの伝送を使用して第２のピアにコンテンツを送信できる場合、第１のデバイスは、最も高速であるか、あるいは最も高いサービス品質を提供する伝送のタイプを選択することができる。第１のピアがインターネットを介して第２のピアに送信中に、第２のピアが、ＡＴＳＣバックチャネルの放送圏内に入った場合、第１のピアは、高速のＡＴＳＣバックチャネルに切り替えうる。また、両デバイスが可能な場合には、コンテンツ全体をより迅速に送信するために、この２つのチャネルにより送信が同時に行なわれてもよい。
【００２８】
ユーザが複数のデバイスを有しうる実施形態では、ユーザは、各デバイスを、コンテンツをリスニングし、コンテンツが利用可能になったときにこれをダウンロードするように設定しうる。その後、ユーザのデバイスが、できるだけ迅速に同期されうる。このような手法により、ユーザは、受信器を備えたデバイスを使用して放送を取得し、このコンテンツを、好きなデバイス（例えばゲームコンソールまたはディジタルビデオレコーダ）にローカルに送信することができる。
【００２９】
一実施形態では、放送は、ユーザが異なる時点でリスニングをして、コンテンツへのアクセスをより迅速に開始できるようにする高速起動型の手法を使用することができる。例えば、時分割を使用して、コンテンツの先頭パケットまたは一部を高い頻度で（例えば１分に１回）送信し、その後、後続の部分をこれより低い頻度で送信してもよい。このような方法により、更に多くのユーザが、要求後すぐに映画のダウンロードの視聴を開始できるなど、コンテンツに即時にアクセスできるようになる。例えば、放送用のコンテンツ配信を迅速に開始する手法は、同時係属中の米国特許出願公開第２００２／０１４７９７号明細書「即時開始マルチメディアコンテンツを提供するための方法およびシステム」に記載されており、その内容を参照によりここに援用する。
【００３０】
別の実施形態では、不足または欠落しているパケットまたは部分を、他のピアから要求することによって、放送のエラーを訂正することができるように、音声またはビデオファイル等のコンテンツが十分な時間バッファされうる。ビデオなどの特定のタイプのコンテンツでは、小さなエラーは、あまり目立たなかったり、あるいは問題とならないことがある。この場合、ユーザは、小さなエラーを含んだままでコンテンツをすぐに視聴し、システムが、繰り返し視聴するために、エラーを後で訂正できるようにしてもよい（例えば、長期使用／再生のためにユーザのシステムに保存される映画を購入する場合など）。
【００３１】
Ｐ２Ｐネットワークでのコンテンツの入手しやすさを更に向上させる別の方法として、ネットワークに事前シーディングする方法が挙げられる。例えば、あるコンテンツが使用可能に設定される前に、コンテンツがさまざまなデバイスにリリースまたは放送されうる。予定されたリリース時間前には、コンテンツへの実際のアクセス、使用、視聴、聴取などを禁止するコンテンツアクセス制御のパラメータが設定されたり、または他の手法が設定されうる。
【００３２】
一実施形態では、システムは、１つ以上の配信チャネルを使用する配信のための「事前シーディング」を使用することができる。例えば、コンテンツが使用可能に設定される前に、コンテンツのコピーまたは最初の断片（「シード」と呼ばれる）が、各種デバイスにリリース、転送または放送されうる。一実施形態では、これらのシードが、ハードウェアおよび／またはソフトウェアの各種組み合せによって提供される特定の機能または所定の機能を備えたピアデバイスに配信される。このようなデバイスは、配信時にＰ２Ｐシステムの動作が極端に低下する可能性を低減させるために、コンテンツの配信を支援する「高速なピア」シーダーとなる。一実施形態では、事前シーディングを行なう「マスタ」デバイスを使用して、「高速なピア」として機能するクライアントデバイスが選択され、選択されたクライアントデバイスにシードが提供される。Ｐ２Ｐ配信に関する問題を回避するために、事前シーディングが不十分な場合に備えて、マスタデバイスはフォールバックメカニズムとしても機能しうる。
【００３３】
図５は、一実施形態による、Ｐ２Ｐネットワークにおいて事前シーディングするために使用されうる構成の例５００を示す。この例では、配信用の情報を含む少なくとも１つのコンテンツサーバ５０４が提供され、シードおよび／または配信対象のコンテンツを提供することが可能である。コンテンツサーバ５０４は、ファイル情報、配信に使用するチャネル、放送のスケジュールまたは他の情報などの情報を含む、事前シーディング候補の情報を含むデータストアを有するか、またはこれにアクセスすることができる。コンテンツサーバは、コンテンツの配信に必要な任意の数のデバイスおよびアプリケーションが含まれうる配信サービス５０２と通信しうる。このサービスは、ネットワーク（例えばインターネットまたはＰ２Ｐネットワーク）上で利用可能なウェブサービスまたはソフトウエアサービスなどの任意の適切な形式をとることができる。配信サービスは、ユーザおよび／またはピアデバイスのリストのほか、そのユーザまたはデバイスに関する情報などの情報を有しうるデータストアにアクセスするクライアント選択サービスを備えうる。ユーザ／デバイス情報には、ユーザ／デバイスがオンラインあるいはほかの状態でネットワーク上で利用可能であるかどうか、特定のピアが、配信などの機能に使用できるどのようなリソースを有するか、デバイスが配信用の適切なインタフェースを有するかどうかなどが含まれうる。また、データストアには、ユーザが事前シーディングピアデバイスとして機能するように選択されているかどうか、ユーザが、特定のリソースを利用可能として許可したかどうかなどの他の適切な情報も含まれうる。また、配信サービスは、サービススイッチングポイント（ＳＳＰ）ベースのアーキテクチャを使用するシグナリングコンポーネントなどの他の各種コンポーネントも備えうる。また、このサービスは、サービスの各種態様を管理するためのアドミニストレーションツール、ローカルファイルサーバおよびファイル情報（「Ｆｉｌｅｌｎｆｏ」）サーバなどの１つ以上のファイルサーバも有しうる。また、サービスは、本明細書で後述するように、配信の各種態様を監視可能な少なくとも１つのトラッキングコンポーネントも有しうる。
【００３４】
配信サービスは、事前シーディングに使用する候補ピアのリストを生成するために、コンテンツサーバおよびクライアント選択サービスからの情報を使用しうる。このリストは、候補ピアデバイス５０６とコンタクトし、これらのピアが現在、事前シーディングピアとして動作可能であるかどうかを判定して、所望の機能を実行可能な各候補に、事前シーディングコンテンツすなわち「シード」を提供するために、配信サービス５０２によって使用されうる。選択された各ピア５０６は、Ｐ２Ｐと事前シーディング機能の両方のためのロジックを備え、このロジックは、受信、配信されるコンテンツの断片をトラッキング可能な共有ファイルリストに、適切な情報を記録することができる。また、各ピアは、ディジタル権利管理、通信および認証用のアプリケーションなど、Ｐ２Ｐ配信に有用な他の各種アプリケーションも備えうる。また、これらのピアは、例えば、事前シーディング、Ｐ２Ｐクライアント機能、およびＰ２Ｐ接続機能のためのライブラリも有しうる。ピアが放送の発信元またはソースとして動作する場合、当該ピアは、放送をサポートするピアアプリケーションも備える。
【００３５】
ダウンロードをＰ２Ｐネットワークに追加する際に、ダウンロード対象のコンテンツが、１つ以上の発信元ピアデバイスに提供または「シーディング」されうる。一部の実施形態では、一部のコンテンツのみが、発信元ピアデバイスに（例えば異なるデバイスに同じ部分または異なる部分が）提供される。また、コンテンツが、コンテンツのダウンロードまたは配信を拡張および／または補足するために使用されうる１つ以上の放送サーバに提供されてもよい。放送サーバが使用される場合、放送されるコンテンツに関する情報と放送スケジュールとが、放送に対応するための調整を行なうために、選択された各ピアクライアントの事前シーディングロジックに提供されうる。発信元ピアは、ローカルに取得したファイルのＦｉｌｅｌｎｆｏメタデータファイル等のファイルを作成しうる。事前シーディングの場合、このファイルは、スケジュールと共に送信され、例えば、Ｆｉｌｅｌｎｆｏサーバによってクライアントに提供されうる。
【００３６】
アドミニストレーション（「管理」）ツールまたは他のこのようなコンポーネントが、さまざまな工程でこのプロセスを制御または管理しうる。例えば、管理ツールは、データ放送（すなわち「データキャスト」）に対するＦｉｌｅｌｎｆｏファイルおよびスケジュールを作成するように、発信元ピアに対して指示しうる。また、管理ツールは、シーディングプロセスを開始するように発信元ピアに対して指示しうる。また、管理ツールはＦｉｌｅｌｎｆｏサーバにＦｉｌｅｌｎｆｏファイルを送信するなどの、他の機能も実行しうる。
【００３７】
図６は、このようなコンポーネントを使用して、配信用のダウンロードを追加するために使用されうるプロセスフローの例６００を示す。この例では、管理ツールは、ここではユニフォームリソースロケータ（ＵＲＬ）を使用して、Ｆｉｌｅｌｎｆｏファイルを作成するように、発信元ピアに対して指示する。発信元ピアは、必要な情報を取得するために、「ＨＴＴＰ  ＧＥＴ」またはファイル読み出しコマンドを使用するなどにより、ローカルファイルサーバにコンタクトしうる。ローカルファイルサーバは、要求されたデータを返し、発信元ピアは、このデータを使用してＦｉｌｅｌｎｆｏファイルを作成し、Ｆｉｌｅｌｎｆｏメタデータファイルを管理ツールに転送する。次に、管理ツールは、ファイルのシーディングを開始して、放送をセットアップするように、発信元ピアに対して指示しうる。発信元ピアは、トラッキングコンポーネントおよび各放送サーバに、シーディングの「開始」メッセージを送信し、これに対して、各コンポーネントが、発信元ピアに応答を返信しうる。次に、発信元ピアは、ファイルのシーディングプロセスが成功したかどうか等のステータスメッセージを、管理ツールに返信しうる。成功した場合、ＦｉｌｅｌｎｆｏファイルがＦｉｌｅｌｎｆｏサーバに渡され、Ｆｉｌｅｌｎｆｏサーバは、Ｆｉｌｅｌｎｆｏメタデータファイルがダウンロード／配信プロセスに利用可能であることを示すメッセージを返信しうる。
【００３８】
事前シーディングロジックが利用可能であり、起動されている場合、「ダウンローダ」ピアデバイスは、放送チャネルにチャネルを合わせるか、あるいは他の方法で放送を受信するように設定し、予定された時間に、購読しているデータキャストをリスニングするか、あるいはほかの方法で受信しうる。データのストリームが準備できており取得された場合、ピアはデータキャストを使用してダウンロードプロセスを補助しうる。ファイルをダウンロードするために、ダウンローダピアは、ＦｉｌｅｌｎｆｏサーバからＦｉｌｅｌｎｆｏメタデータファイルを取得する。次に、ピアデバイスは、ピアがダウンロードを開始した、あるいは「開始済み」または同様の状態にあることを示すために、適切なトラッカーサーバに接続しうる。トラッカーサーバは、既にダウンロードプロセスを行なっているピアのリストを返送しうる。次に、ファイルまたはその一部が、任意選択による放送チャネルからの補足ダウンロードと共に、ピア間を転送されうる。ピアは、ファイルダウンロード終了時に、適切なトラッカーサーバまたはコンポーネントに通知しうる。
【００３９】
図７は、ここに記載の事前シーディングプロセス後に、コンテンツのダウンロードまたは配信に使用されうるプロセスフローの例７００を示す。この例では、第１のダウンロードピア（「ダウンローダ」）が、Ｆｉｌｅｌｎｆｏサーバに、Ｆｉｌｅｌｎｆｏメタデータファイルを取得するための要求を送信する。第１のダウンローダが、Ｆｉｌｅｌｎｆｏサーバからファイルを受信すると、第１のダウンローダは、ダウンロードプロセスを開始した旨を、適切なトラッキングコンポーネントに通知しうる。トラッキングコンポーネントは、ダウンロード対象のコンテンツのための適切な発信元ピアを通知する。第１のダウンローダは、特定された発信元ピアに、コンテンツのブロックまたは他の部分を取得するための要求（例えば「ＧＥＴ  ＢＬＯＣＫＳ」または同様の要求）を送信しうる。また、第１のダウンローダが、発信元ピアからブロックを受信している間、あるいは任意の他の適切な時点で、第１のダウンローダ、第２のダウンローダや任意の他のダウンローダが、予定された放送を介して放送サーバからもブロックを受信しうる。ダウンローダが、全ブロック、すなわちコンテンツの全ファイルまたは断片を受信すると、ダウンローダは、トラッキングコンポーネントに、ダウンロードが正常に終了し、ピアのステータスが例えば「シーディング」などの状態に変更された旨のメッセージを送信しうる。ダウンローダの少なくとも１つが、コンテンツを有するようになると、追加のダウンローダが、相互にダウンロードを「スウォーミング」しつつ、放送ベースのダウンロードが、このデータ収集プロセスを補助しうる。例えば、第２のダウンローダが、ＦｉｌｅｌｎｆｏサーバからＦｉｌｅｌｎｆｏメタデータファイルを取得するための要求を送信し、Ｆｉｌｅｌｎｆｏサーバは、Ｆｉｌｅｌｎｆｏメタデータファイルを返して、これにより、第２のダウンローダは、トラッキングコンポーネントに開始通知を送信しうる。トラッキングコンポーネントは、発信元ピアのほか、第１のダウンローダおよびこのコンテンツのための任意の他のダウンローダを特定する応答を送信しうる。そして、第２のダウンローダは、第１のダウンローダ、発信元ピアおよび／またはコンテンツを有する任意の他のダウンローダに、ブロックを求める要求を送信しうる。第２のダウンローダは、これらのソースの一部または全部からブロックを受信しうる。第２のダウンローダが全ブロックを受信すると、第２のダウンローダは、適切なトラッキングコンポーネントに、ダウンロードが正常に終了し、ピアのステータスが「シーディング」または同様の状態に変更された旨を通知しうる。他のダウンローダも、同様のプロセスを使用して、ダウンロード対象のコンテンツの全ての部分を取得しうる。
【００４０】
図８は、パーソナルコンピュータ、ビデオゲームコンソール、個人情報端末または他のディジタルデバイスなど、さまざまな実施形態と使用するのに適したピアデバイスの例８００の各種コンポーネントを示す。ピアデバイス８００は、ソフトウェアアプリケーションおよび任意選択でオペレーティングシステムを実行するための中央処理装置（ＣＰＵ）８０２を備える。ＣＰＵ８０２は、１つ以上の同種または異種の処理コアから構成されうる。メモリ８０４は、ＣＰＵ８０２が使用するためのアプリケーションおよびデータを記録する。ストレージデバイスまたはメディア８０６は、アプリケーションおよびデータのための不揮発性ストレージとなり、固定ディスク装置、リムーバブルディスクドライブ、フラッシュメモリデバイスおよびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ブルーレイまたは他のこのようなストレージデバイスが含まれうる。ユーザ入力デバイス８０８は、１人以上のユーザからのユーザ入力をピアデバイス８００に伝達し、この例としては、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画カメラまたはビデオカメラおよび／またはマイクロフォンなどが挙げられる。ネットワークインタフェース８１０は、ピアデバイス８００が、電子通信ネットワークを介して他のデバイスと通信できるようにし、これには、ローカルエリアネットワークおよびインターネット等のワイドエリアネットワークを介した有線通信または無線通信が含まれうる。ＣＰＵ８０２、メモリ８０４および／またはストレージ８０６によって提供される命令および／またはデータからアナログまたはディジタル音声出力を生成するために適合された音声プロセッサ８１２が使用されうる。ピアデバイス８００の各種コンポーネントは、１つ以上のデータバス５１４を介して接続されうる。
【００４１】
一部のデバイスでは、グラフィックサブシステム８１６が、ピアデバイス８００のデータバス８１４および各種コンポーネントに更に接続されうる。グラフィックサブシステム８１６は、グラフィック処理装置（ＧＰＵ）８１８とグラフィックメモリ８２０とを備えうる。グラフィックメモリ８２０は、出力画像の各ピクセルのピクセルデータを記録するために使用されるディスプレイメモリ（例えば、フレームバッファ）を備えうる。グラフィックメモリ８２０は、ＧＰＵ８１８と同じデバイスに組み込まれても、別個のデバイスとしてＧＰＵ８１８に接続されても、および／またはメモリ８０４内に実装されてもよい。ピクセルデータは、ＣＰＵ８０２からグラフィックメモリ８２０に直接提供されうる。あるいは、ＣＰＵ８０２が、所望の出力画像を定義するデータおよび／または命令をＧＰＵ８１８に提供し、このデータおよび／または命令から、ＧＰＵ８１８が、１つ以上の出力画像のピクセルデータを生成してもよい。所望の出力画像を定義するデータまたは命令は、メモリ８０４および／またはグラフィックメモリ８２０に記録されうる。一実施形態では、ＧＰＵ８１８は、シーンの形状、照明、陰影、テクスチャ、動きおよび／またはカメラパラメータを定義する命令およびデータから、出力画像のピクセルデータを生成するための３Ｄレンダリング機能を備える。ＧＰＵ８１８は、シェーダープログラムを実行することができる１つ以上のプログラム可能な実行ユニットを更に備えうる。
【００４２】
グラフィックサブシステム８１６は、ディスプレイデバイス８２２に表示させる画像のピクセルデータをグラフィックメモリ８２０から定期的に出力しうる。ディスプレイデバイス８２２は、ピアデバイス８００からの信号に応答して視覚情報を表示することができるどのようなデバイスでもよく、ＣＲＴ、ＬＣＤ、プラズマディスプレイおよびＯＬＥＤディスプレイなどである。ピアデバイス８００は、ディスプレイデバイス８２２にアナログ信号またはディジタル信号を提供しうる。
【００４３】
一部の実施形態では、ＣＰＵは、１つ以上の処理コアを有する１つ以上の汎用マイクロプロセッサである。本発明の更に別の実施形態は、メディアアプリケーションおよびインタラクティブエンタテインメントアプリケーションなどの高度にパラレルであり、演算量の多いアプリケーションに特に適合されたマイクロプロセッサアーキテクチャを備えた１つ以上のＣＰＵを使用して実装することができる。
【００４４】
特定のデバイスは、少なくとも１つのタイプの放送を送信および／または受信可能な放送用送信器および／または受信器８２４を更に備えうる。送信器／受信器は、無線通信（ＯＴＡ）ディジタルテレビジョン（ＴＶ）またはラジオ放送、ディジタルケーブル放送、衛星ラジオ放送、および他のこのような放送などの放送伝送を受信可能なデバイスを備えうる。必要な場合、送信器／受信器は、適切なチャネルに合わせるのに適したチューナを備えるか、またはこれと通信しうる。一部のデバイスでは、ソフトウェアは、メモリまたはストレージに記録され、受信器が特定の放送をリスニングできるようにしうる。一部のデバイスでは、送信器／受信器は、ピアデバイスが、別のデバイスとの無線接続、赤外線接続、または他の接続を介してコンテンツを転送できるようにする。
【００４５】
ピアネットワークおよびデバイスは、さまざまな動作環境で実装することができ、複数のアプリケーションのいずれかを実行し、複数のサービスのいずれかを利用するように構成されうる。ピアデバイスについて記載したが、Ｐ２Ｐネットワーク、放送網および関連するネットワークは、多数の汎用コンピューティングデバイスのいずれかを使用してもよく、このようなデバイスには、各種オペレーティングシステムを実行しているノートブックまたはパーソナルコンピュータなどのほか、多数のネットワークおよびメッセージングプロトコルをサポートしている携帯電話、無線デバイスおよびハンドへルドデバイスが挙げられる。ネットワークには、コンテンツおよびデータベース管理などのためにアプリケーションを実行しているデバイスが含まれうる。ネットワークには、ネットワークを介して通信可能な他の各種の電子デバイスが含まれうる。ネットワークは、例えば、ローカルエリアネットワークまたはワイドエリアネットワークなどであってもよく、インターネット、一般加入電話網、赤外線ネットワーク、無線ネットワークおよびその任意の組合せなどの他のネットワークを含むか、またはこれにアクセスすることができる。
【００４６】
ネットワーク上の任意のデバイスは、ローカル、リモート、固定および／またはリムーバブルストレージデバイスを表わすコンピュータ可読ストレージメディアのほか、コンピュータ可読情報を記録、送信および／または管理するためのストレージメディアに接続されているか、またはこれを受け容れるように構成されたコンピュータ可読ストレージメディアリーダを備えうる。コードを格納するためのストレージメディアおよびコンピュータ可読媒体は、例えばコンピュータ可読命令およびコンテンツなどの情報の記録および／または送信のための任意の方法または技術を使用して実装された、任意の適切なメディアを有しうる。これには、ＥＥＰＲＯＭ、フラッシュメモリ、ＲＡＭ、ＲＯＭ、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、ブルーレイまたは他の光ストレージ、磁気ディスクストレージ、磁気カセット、磁気テープ、あるいは、情報を記録するために使用され、ピアまたはネットワークデバイスによってアクセス可能な任意の他のメディアなどが挙げられるが、これらに限定されない。当業者は、ここに提供した開示および教示に基づいて、さまざまな実施形態を実装するための他の方法および／または方法を認めるであろう。
【００４７】
本明細書および図面から、別の実施形態が当業者に想到されうる。別の実施形態では、上に開示した発明のコンビネーションまたはサブコンビネーションを有利に構成することができる。アーキテクチャおよびフローチャートのブロック図を、理解しやすいようにグループ化した。本発明の代替の実施形態では、ブロックの組合せ、新しいブロックの追加、ブロックの再編成などが想到できることを理解すべきである。
【００４８】
このため、本明細書および図面は、限定するものではなく、例示としてみなすべきである。しかし、請求の範囲に記載した広い本発明の趣旨および範囲を逸脱することなく、さまざまに変形および変更を行なうことができることが明らかである。
【図１】
0005580302.tif 000002
【図２】
0005580302.tif 000003
【図３】
0005580302.tif 000004
【図４】
0005580302.tif 000005
【図５】
0005580302.tif 000006
【図６】
0005580302.tif 000007
【図７】
0005580302.tif 000008
【図８】
0005580302.tif 000009