(57)【特許請求の範囲】
【請求項１】
トラッカーノードに動作可能なようにリンクされた複数のピアノードを含み、ピアノードが、送信するノードおよび受信するノードを含む、ピアツーピアコンテンツ配信システムにおいて、トラッカーノードによって実行される方法であって、
受信ノードから、受信されたコンテンツアイテムに関連する検証トークンの要求を受信するステップであって、受信されたコンテンツアイテムが、アドバタイズされたコンテンツアイテムの要求に応答して送信ノードから受信済みであり、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、受信するステップと、
アドバタイズされたコンテンツアイテムの単一のランダムな部分に基づく検証トークンを取得するステップであって、単一のランダムな部分が指定されたビットで始まる、取得するステップと、
受信ノードに、検証トークン、アドバタイズされたコンテンツアイテムの標識、およびトークンが生成されたアドバタイズされたコンテンツアイテムのランダムな部分の標識を含む応答を送信するステップであって、受信ノードが、その後、（ａ）受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成し、（ｂ）第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認するように動作可能である、送信するステップとを含む、方法。
【請求項２】
検証トークンを取得するステップが、
アドバタイズされたコンテンツアイテムを取得するステップと、
アドバタイズされたコンテンツアイテムの単一のランダムな部分を選択するステップと、
ランダムな部分のハッシュを実行して、検証トークンを生成するステップとを含む、請求項１に記載の方法。
【請求項３】
検証トークンを取得するステップが、
アドバタイズされたコンテンツアイテムを取得するステップと、
アドバタイズされたコンテンツアイテムの単一のランダムな部分を選択するステップと、
ランダムなシード値を生成するステップと、
ランダムな部分およびランダムなシード値のハッシュを実行して、検証トークンを生成するステップとを含む、請求項１に記載の方法。
【請求項４】
トラッカーノードに動作可能なようにリンクされた複数のピアノードを含むピアツーピアコンテンツ配信システムに従って受信ノードで受信されたコンテンツの完全性を確認するための、トラッカーノードの装置であって、
ピアノードインターフェースと、
コンテンツストレージノードインターフェースと、
メモリと、
ピアノードインターフェース、コンテンツストレージノードインターフェース、およびメモリに動作可能なように結合され、
（ａ）受信ノードから、受信されたコンテンツアイテムに関連する検証トークンの要求を受信することであって、受信されたコンテンツアイテムが、アドバタイズされたコンテンツアイテムの要求に応答して送信ノードから受信済みであり、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、受信すること、
（ｂ）アドバタイズされたコンテンツアイテムの単一のランダムな部分に基づく検証トークンを取得することであって、単一のランダムな部分が指定されたビットで始まる、取得すること、ならびに
（ｃ）受信ノードに、検証トークン、アドバタイズされたコンテンツアイテムの標識、およびトークンが生成されたアドバタイズされたコンテンツアイテムのランダムな部分の標識を含む応答を送信することであって、受信ノードが、その後、（１）受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成し、（２）第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認するように動作可能である、送信することを行うように構成された、少なくとも１つのプロセッサとを含む、装置。
【請求項５】
プロセッサが、（ｂ）の部分で、
アドバタイズされたコンテンツアイテムを取得し、
アドバタイズされたコンテンツアイテムの単一のランダムな部分を選択し、
ランダムな部分のハッシュを実行して、検証トークンを生成するように構成される、請求項４に記載の装置。
【請求項６】
プロセッサが、（ｂ）の部分で、
アドバタイズされたコンテンツアイテムを取得し、
アドバタイズされたコンテンツアイテムの単一のランダムな部分を選択し、
ランダムなシード値を生成し、
ランダムな部分およびランダムなシード値のハッシュを実行して、検証トークンを生成するように構成される、請求項４に記載の装置。
【請求項７】
トラッカーノードに動作可能なようにリンクされた複数のピアノードを含み、ピアノードが、送信するノードおよび受信するノードを含む、ピアツーピアコンテンツ配信システムにおいて、受信ノードによって実行される方法であって、
送信ノードから、アドバタイズされたコンテンツアイテムを要求することに応答して受信されるコンテンツアイテムを受信するステップと、
トラッカーノードに、受信されたコンテンツアイテムに関連する検証トークンの要求を送信するステップであって、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、送信するステップと、
要求に応答して、アドバタイズされたコンテンツアイテムの単一のランダムな部分に基づく検証トークンとトークンが生成されたアドバタイズされたコンテンツアイテムの単一のランダムな部分の標識を受信するステップであって、単一のランダムな部分が指定されたビットで始まる、受信するステップと、
受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成するステップと、
第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認するステップとを含む、方法。
【請求項８】
トラッカーノードに動作可能なようにリンクされた複数のピアノードを含むピアツーピアコンテンツ配信システムによって受信ノードで受信されたコンテンツの完全性を確認するための、受信ノードの装置であって、
メモリと、
メモリに動作可能なように結合され、
（ａ）送信ノードから、アドバタイズされたコンテンツアイテムを要求することに応答して受信されるコンテンツアイテムを受信すること、
（ｂ）トラッカーノードに、受信されたコンテンツアイテムに関連する検証トークンの要求を送信することであって、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、送信すること、
（ｃ）要求に応答して、アドバタイズされたコンテンツアイテムの単一のランダムな部分に基づく検証トークンとトークンが生成されたアドバタイズされたコンテンツアイテムの単一のランダムな部分の標識を受信することであって、単一のランダムな部分が指定されたビットで始まる、受信すること、
（ｄ）受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成すること、および
（ｅ）第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認することを行うように構成された少なくとも１つのプロセッサとを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１１年１０月２５日に出願された、「Ｓｅｃｕｒｉｔｙ  Ｆｅａｔｕｒｅｓ  ｆｏｒ  ＩＭＳ−Ｂａｓｅｄ  Ｃｏｎｔｅｎｔ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｉｃｅｓ」と題された、出願番号第６１／５５１，０５６号として特定される米国特許仮出願の優先権を主張するものであり、この仮出願の開示は、参照によりその全体が本明細書に援用される。
【０００２】
本出願は、本出願と同時に出願され、本発明の譲受人に譲渡された、「Ｖｅｒｉｆｉｃａｔｉｏｎ  ｏｆ  Ｃｏｎｔｅｎｔ  Ｐｏｓｓｅｓｓｉｏｎ  ｂｙ  ａｎ  Ａｎｎｏｕｎｃｉｎｇ  Ｐｅｅｒ  ｉｎ  ａ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｃｏｎｔｅｎｔ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｙｓｔｅｍ」と題された米国特許出願第１３／３４４，８２６号に関連する。
【０００３】
本発明は、一般に、マルチメディアデータのセキュリティに関し、より詳細には、（例えば、ＩＭＳに基づくネットワークを含む）マルチメディアデータネットワークにおけるピアツーピアのコンテンツ配信サービスを改良するための技術に関する。
【背景技術】
【０００４】
近年、固定およびモバイルブロードバンド技術の発達と性能がますます向上しているモバイルハンドセットとを背景として、マルチメディアコンテンツ配信サービス（例えば、ライブストリーミングおよびコンテンツオンデマンド）に対する需要が、極めて大きく増加した。この爆発的な需要を満たし、集中型のメディアサーバの使用に関連する帯域幅および品質の限界を打ち破るために、エンドユーザの近くにますます多くのエッジサーバを展開する必要がある。この必要性に対処するための１つの方法は、ピアツーピア（Ｐ２Ｐ）技術を使用することである。
【０００５】
概して、ピアツーピア技術は、互いにインタラクションし、集中型のリソースの需要を減らすように何らかのタスクまたは目的を実行するためのリソースを共有する分散された１組の（ピアと呼ばれる）エンドノードを利用する。例えば、マルチメディアコンテンツ配信の場合、ピアツーピア技術は、ストレージおよび帯域幅の需要を集中型のサーバからエッジサーバと、エンドユーザ機器の能力が許容する範囲でユーザ機器（ＵＥ）とにオフロードするために利用され得る。一例において、エッジサーバは、ローカルでサービスを提供されるＵＥからのメディアコンテンツ要求と、近隣のエッジサーバからの要求とを処理することができる。同様に、ＵＥの能力が許容する場合、ＵＥは、その他のピアＵＥに余っているアップリンクの帯域幅、ストレージ空間、およびその他のリソースを提供することができる。加えて、コンテンツは、セグメント分けされるようにして送信される可能性があり、トラフィックのほとんどが、ネットワークのエッジに散らされる可能性がある。これらすべてが、集中型のサーバに対するストレージおよび帯域幅の需要の削減と、エッジサーバおよびＵＥの数の増加にうまく対応するシステムの能力の向上とに寄与する。
【０００６】
しかし、Ｐ２Ｐはマルチメディアコンテンツ配信サービスのための有望なモデルであるが、まだ対処が必要なセキュリティの問題がある。一態様では、エンドユーザによるコンテンツの所持を確認する（つまり、コンテンツの供給側になる見込みのあるピアによってアドバタイズ（ａｄｖｅｒｔｉｓｅ）されるコンテンツがアドバタイズするピアによって確かに所持されていることを確認する）必要がある。この脅威は、関連する米国特許出願第ＸＸＸＸ号によって対処される。別の態様では、コンテンツのアドバタイズメント（ａｄｖｅｒｔｉｓｅｍｅｎｔ）が成功した後に、アナウンス（ａｎｎｏｕｎｃｅ）するピアが、受信ピアと、アドバタイズされたまたは要求されたコンテンツとどこかが異なるコンテンツを悪意を持って（またはおそらく誤って）共有する可能性があるという脅威が存在する。したがって、ピアによって供給されるコンテンツの完全性を確認する、例えば、送信ピアから受信ピアに供給されたコンテンツが受信ピアによって要求されたコンテンツに対応することを確認する必要がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
当技術分野においては、ピアツーピアコンテンツ配信システムが、送信ノードおよび受信ノードを含む複数のピアノードに論理的に接続されたトラッカーノードを組み込むことによってこの問題は対処され、技術的な進歩が実現される。
【０００８】
一実施形態において、受信ノードにおいて受信されたピアによって受信されたコンテンツであって、アドバタイズされたコンテンツアイテムの要求に応答して送信ノードから受信ノードによって受信済みである、受信されたコンテンツの完全性を確認するためにトラッカーノードによって実行される方法が、提供される。方法は、受信ノードから、受信されたコンテンツアイテムに関連する検証トークンの要求を受信するステップであって、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識（ｉｎｄｉｃｉａ）を含む、受信するステップを含む。トラッカーノードが、アドバタイズされたコンテンツアイテムのランダムな部分に基づく検証トークンを取得する。トラッカーノードは、例えば、アドバタイズされたコンテンツアイテムを取得し、アドバタイズされたコンテンツアイテムのランダムな部分を選択し、ランダムな部分のハッシュを実行して、検証トークンを生成することによってそれ自体で検証トークンを生成する可能性があり、または代替的に、アドバタイズされたコンテンツアイテムを所持するコンテンツストレージノードによって生成された検証トークンを要求する可能性がある。検証トークン取得すると、トラッカーノードは、トークンを受信ノードに送信し、受信ノードは、その後、受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成し、第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを送信ノードに知られずに確認するように動作可能である。
【０００９】
さらに別の実施形態において、トラッカーノードに動作可能なようにリンクされた複数のピアノードを含むピアツーピアコンテンツ配信システムに従って受信ノードで受信されたピアによって受信されたコンテンツの完全性を確認するための装置が、提供される。トラッカーノードの装置は、ピアノードインターフェースと、コンテンツストレージノードインターフェースと、メモリと、ピアノードインターフェース、コンテンツストレージノードインターフェース、およびメモリに動作可能なように結合された少なくとも１つのプロセッサとを含む。プロセッサは、（ａ）受信ノードから、受信されたコンテンツアイテムに関連する検証トークンの要求を受信することであって、受信されたコンテンツアイテムが、アドバタイズされたコンテンツアイテムの要求に応答して送信ノードから受信済みであり、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、受信すること、（ｂ）アドバタイズされたコンテンツアイテムのランダムな部分に基づく検証トークンを取得すること、ならびに（ｃ）受信ノードに、検証トークン、アドバタイズされたコンテンツアイテムの標識、およびトークンが生成されたアドバタイズされたコンテンツアイテムのランダムな部分の標識を含む応答を送信することであって、受信ノードが、その後、（１）受信されたコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成し、（２）第２のトークンが検証トークンに一致する場合に、受信されたコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認するように動作可能である、送信することを行うように構成される。プロセッサは、（ｂ）の部分で、例えば、アドバタイズされたコンテンツアイテムを取得し、アドバタイズされたコンテンツアイテムのランダムな部分を選択し、ランダムな部分のハッシュを実行して、検証トークンを生成することによってそれ自体で検証トークンを生成する可能性があり、または代替的に、アドバタイズされたコンテンツアイテムを所持するコンテンツストレージノードによって生成された検証トークンを取得する可能性がある。
【００１０】
さらに別の実施形態において、受信ノードにおいて受信されるピアによって受信されるコンテンツの完全性を確認するために受信ノードによって実行される方法が、提供される。方法は、送信ノードから、アドバタイズされたコンテンツアイテムを要求することに応答して受信されるコンテンツアイテムを受信するステップと、トラッカーノードに、受信されるコンテンツアイテムに関連する検証トークンの要求を送信するステップであって、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、送信するステップと、要求に応答して、アドバタイズされたコンテンツアイテムのランダムな部分に基づく検証トークンを受信するステップと、受信されるコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成するステップと、第２のトークンが検証トークンに一致する場合に、受信されるコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを送信ノードに知られずに確認するステップとを含む。
【００１１】
さらに別の実施形態において、トラッカーノードに動作可能なようにリンクされた複数のピアノードを含むピアツーピアコンテンツ配信システムに従って受信ノードで受信されたピアによって受信されたコンテンツの完全性を確認するための装置が、提供される。受信ノードの装置は、メモリと、メモリに動作可能なように結合された少なくとも１つのプロセッサとを含む。プロセッサは、（ａ）送信ノードから、アドバタイズされたコンテンツアイテムを要求することに応答して受信されるコンテンツアイテムを受信すること、（ｂ）トラッカーノードに、受信されるコンテンツアイテムに関連する検証トークンの要求を送信することであって、検証トークンの要求が、アドバタイズされたコンテンツアイテムの標識を含む、送信すること、（ｃ）要求に応答して、アドバタイズされたコンテンツアイテムのランダムな部分に基づく検証トークンを受信すること、（ｄ）受信されるコンテンツアイテムの対応するランダムな部分に基づく第２のトークンを生成すること、および（ｅ）第２のトークンが検証トークンに一致する場合に、受信されるコンテンツアイテムがアドバタイズされたコンテンツアイテムに一致することを確認することを行うように構成される。
【００１２】
本発明の上述のおよびその他の利点は、以下の詳細な説明を読み、図面を参照すると明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態が実装され得る例示的なＩＭＳに基づく通信ネットワークを示す図である。
【図２】複数のオンラインユーザにコンテンツのライブストリーミングを行うためのＩＭＳに基づくＰ２Ｐコンテンツ配信システムの例示的な使用を示す図である。
【図３】複数のオンラインユーザにコンテンツオンデマンドサービスを行うためのＩＭＳに基づくＰ２Ｐコンテンツ配信システムの例示的な使用を示す図である。
【図４】本発明の実施形態による、ピアによって供給されるコンテンツの完全性の確認のためのメッセージシーケンスを示す図である。
【図５】本発明の別の実施形態によるピアによって供給されるコンテンツの完全性の確認のためのメッセージシーケンスを示す図である。
【発明を実施するための形態】
【００１４】
参照しやすくするために、詳細な説明は以下のように分割される。第Ｉ節は、ＩＭＳに基づくピアツーピアコンテンツ配信システムの概要を与える。第ＩＩ節は、本発明の原理が適用され得るＩＭＳに基づくピアツーピアコンテンツ配信システムの例示的な使用事例を説明する。第ＩＩＩ節は、ＩＭＳに基づくＰ２Ｐコンテンツ配信システムにおいてピアによって供給されるコンテンツの完全性を確認するための解決策を説明する。
【００１５】
Ｉ．ＩＭＳに基づくＰ２Ｐコンテンツ配信システムの概要
第３世代パートナーシッププロジェクト（３ＧＰＰまたは３ＧＰＰ２）によって標準化されたインターネットマルチメディアサブシステム（ＩＭＳ）は、集約されたネットワーク（つまり、モバイルユーザと固定アクセスユーザとを有する）にマルチメディアサービスを提供するための次世代アーキテクチャを全体的に定義する。ＩＭＳは、ＩＰ（インターネットプロトコル）を使用し、より詳細には、通信プロトコルとしてセッション開始プロトコル（ＳＩＰ）を使用する。最近、３ＧＰＰは、ＩＭＳインフラストラクチャを使用してＩＭＳに基づくピアツーピア（Ｐ２Ｐ）コンテンツ配信サービスを提供する方法の研究を開始した。
【００１６】
図１は、Ｐ２Ｐコンテンツ配信サービスを提供するための例示的なＩＭＳに基づく通信ネットワーク１００を示す。通信ネットワーク１００は、ＩＰデータネットワーク１１０の１つまたは複数のコンテンツサーバ１０８にアクセスネットワーク１０４、１０６によって相互接続される１つまたは複数のユーザプラットフォーム１０２を含む。例示的な通信ネットワーク１００において、コンテンツサーバ１０８は、集中型のコンテンツソースサーバ１１２に対する需要を削減しながらエンドユーザにマルチメディアコンテンツを提供するように、集中型のコンテンツソースサーバ１１２とは対照的に、ＩＰネットワークの端（つまり、ユーザプラットフォーム１０２の近く）にコンテンツキャッシュサーバを含む。
【００１７】
ユーザプラットフォーム１０２（「ＩＭＳ  ＵＥ」）は、例えば、コンテンツサーバ１０８にマルチメディアコンテンツを要求し、ＵＥの能力が許容する場合にはマルチメディアコンテンツを記憶し、および／またはマルチメディアコンテンツをその他のユーザプラットフォームに提供するためにユーザによって操作されるラップトップコンピュータ、デスクトップコンピュータ、またはモバイルコンピューティングデバイスを含む。
【００１８】
アクセスネットワーク１０４、１０６は、概して、ワイヤレスまたは固定アクセスネットワークを含む任意の種類のアクセスネットワークを含む。例示的な通信ネットワーク１００において、アクセスネットワーク１０４、１０６は、パケット交換／無線アクセスネットワーク（ＰＳコア／ＲＡＮ）１０４と、固定ブロードバンド／ＷＬＡＮアクセスネットワーク１０６とを含む。
【００１９】
集中型のコンテンツソースサーバ１１２は、概して、主コンテンツアイテム（ｐｒｉｍａｒｙ  ｃｏｎｔｅｎｔ  ｉｔｅｍ）を生成、記憶、および配信するように構成される、名目上は主コンテンツプロバイダによって運用され、ユーザプラットフォーム１０２に対して集中的な位置に置かれる任意のサーバ、プラットフォーム、システム、アプリケーション、または機能を含む。コンテンツプロバイダの例は、例えば、映画またはテレビ制作または配信会社を含み、主コンテンツアイテムは、限定することなく、映画、ライブストリーミングイベントなどを含む可能性がある。通常、主コンテンツアイテムがより小さなセグメントに分割され得る範囲で、集中型のソースサーバは、主コンテンツ（ｐｒｉｍａｒｙ  ｃｏｎｔｅｎｔ）の全体（すなわち、すべてのセグメント）を保有するか、または主コンテンツの全体（すなわち、すべてのセグメント）にアクセスすることができる。
【００２０】
コンテンツキャッシュサーバ１０８は、概して、その他のコンテンツキャッシュサーバまたはユーザプラットフォームに配信するために集中型のコンテンツソースサーバ１１２から生じるマルチメディアコンテンツを受信するように構成された、名目的にネットワークの端に（つまり、ユーザプラットフォーム１０２の近くに）置かれる任意のサーバ、プラットフォーム、システム、アプリケーション、または機能を含む。コンテンツアイテムが部分にセグメント分けされ得る範囲で、個々のコンテンツキャッシュサーバ１０８は、集中型のコンテンツサーバで保有される主コンテンツアイテムの一部を受信および配信する可能性がある。
【００２１】
ＩＰデータネットワーク１１０は、コンテンツキャッシュサーバ１０８および集中型のコンテンツソースサーバ１１２とユーザプラットフォーム１０２との間、ならびにコンテンツキャッシュサーバ１０８と、集中型のコンテンツソースサーバ１１２と、ユーザプラットフォーム１０２との間のコンテンツ配信をサポートするように構成された任意のパケットに基づくネットワークを含む。例示的な通信ネットワーク１００において、ＩＰデータネットワーク１１０は、ＩＭＳに基づくネットワークであり、ネットワークの一部は、ＩＭＳコア１１４と呼ばれる。概して、ＩＭＳに基づく通信ネットワーク１００内のメッセージトラフィックは、２つの機能プレーン：シグナリングトラフィックのための制御プレーンと、マルチメディアコンテンツなどのベアラトラフィックのためのベアラプレーンとのうちのどちらかに特徴付けられ得る。概念的に、ＩＭＳコア１１４は、制御トラフィックを管理するためのネットワークの部分であり、ＩＰデータネットワーク１１０は、ベアラトラフィックを伝達するためのネットワーク１００の部分である。
【００２２】
ユーザプラットフォーム１０２は、限定することなく、ＳＩＰ登録、ＳＩＰセッション要求、ユーザ認証を遂行し、妥当ならばコンテンツ配信サービスを開始するためにＩＭＳコア１１４と通信する。ＵＥの能力が許容する範囲で、個々のユーザプラットフォーム１０２は、その他のユーザプラットフォームからコンテンツを受信し、および／またはその他のユーザプラットフォームにコンテンツを配信するためにピアツーピアモデルに参加することができる。この文脈において、コンテンツを受信および／または配信するために参加するユーザプラットフォームは、「ピア」と呼ばれる。
【００２３】
一実施形態において、ＩＭＳコア１１４は、限定することなく、クライアントの登録、コンテンツのインデックス付け、ブラウジング、および検索機能を遂行するための、コンテンツ配信サービスに関連する機能要素を含む。一態様において、ＩＭＳコアは、それぞれのプラットフォームによって所持されるコンテンツアイテムまたはセグメントのリストなどを保有することによって、さまざまなユーザプラットフォーム１０２により所持されるコンテンツアイテムを「追跡する」トラッカーノード１１６を含む。トラッカーノードは、キャッシュサーバ１０８によって所持されるコンテンツアイテムも追跡する可能性がある。
【００２４】
概して、トラッカーノード１１６は、ユーザプラットフォーム１０２によって所持されるコンテンツアイテムを追跡し、本発明の実施形態によれば、ユーザプラットフォーム１０８によって所持されていると宣言されるコンテンツを確認するように動作可能である、ユーザプラットフォーム１０２、キャッシュサーバ１０８、およびコンテンツソースサーバ１１２に論理的に接続された任意のハードウェアデバイス、サーバ、アプリケーション、または機能として定義される。トラッカーノード１１６は、単一のデバイスもしくはプラットフォームに存在する可能性があり、または複数のデバイスもしくはプラットフォームの間に分散される可能性がある。トラッカーノードの論理的なハードウェア構成（図示せず）は、プロセッサおよびメモリ、論理的に接続されたノードとの通信を行い、追跡および確認機能を実行するためのピアノードインターフェースおよびコンテンツストレージノードインターフェースを含む。追跡および確認機能は、例えば、限定することなく、メモリに記憶された（例えば、オペレーティングシステムのファームウェア／ソフトウェアおよびアプリケーションのソフトウェアを含むがこれらに限定されない）プログラムコードをプロセッサが実行するによって実行され得る。
【００２５】
ＩＩ．ＩＭＳに基づくＰ２Ｐコンテンツ配信システムの例示的な使用事例
Ａ．使用事例１：複数のオンラインユーザのためのライブストリーミングサービス
図２は、複数のオンラインユーザへのコンテンツのライブストリーミングのためのＩＭＳに基づくＰ２Ｐコンテンツ配信システム２００の使用の図である。便宜的に、図１と比較して同様である図２の要素は、同様の参照番号によって特定される。
【００２６】
複数のユーザの絵１０２は、論理的な領域２０２（「領域１」）内で動作している複数のオンラインユーザ（およびＵＥ）を表す。ユーザの絵１０２は、４人のＩＭＳ加入者、Ｊｅｓｓｉｃａ、Ｂｏｂ、Ｊａｓｏｎ、およびＡｌｉｃｅを特定する。領域２０２は、例えば、ＩＭＳサービスプロバイダの地理的領域を含む可能性がある。ユーザ１０２は、ＩＰデータネットワーク１１０およびＩＭＳコア１１４と通信することによってマルチメディアサービスおよびコンテンツにアクセスする。図１に関連して概説されたように、ＩＰデータネットワークは、マルチメディアコンテンツを配信するためのコンテンツキャッシュサーバ１０８およびコンテンツソースサーバ１１２を含み、ＩＭＳコア１１４は、クライアントの登録、コンテンツのインデックス付け、ブラウジング、および検索機能などの機能を実行するための、限定することなくトラッカー１１６を含むさまざまな機能要素を含む。ベアラトラフィック２０４は、実線によって表され、制御トラフィック２０６は、破線によって表される。
【００２７】
例示的な使用事例においては、Ｊｅｓｓｉｃａが、午後８時に始まるバスケットボールの試合を見たいと望んでおり、自身のＩＭＳストリーミングクライアント（ＵＥ）上のプッシュされたアドバタイズメントから、「ＩＭＳライブチャネル」が試合を放送することができることを知るものとする。Ｊｅｓｓｉｃａは、ＩＭＳライブチャネルで試合を見ると決定する。
【００２８】
（１）午後８時頃、Ｊｅｓｓｉｃａは、自身のＩＭＳストリーミングクライアントを起動し、ＩＭＳ登録プロセスを開始する。Ｊｅｓｓｉｃａが自身の登録を終えた後、ＩＭＳストリーミングサービスが、ＩＭＳライブ放送チャネルの情報をクライアントに届ける。Ｊｅｓｓｉｃａは、ＩＭＳライブ放送チャネルのリストから見たいバスケットの試合に関連するＩＭＳライブ放送チャネルを検索および選択し、それによって、バスケットボールの試合を見始めたいことをＩＭＳストリーミングクライアントに示す。
【００２９】
（２）Ｊｅｓｓｉｃａの要求を受信した後、ＩＭＳストリーミングサービスは、何らかの理由（例えば、容量のボトルネック、またはアクセスルータがＩＰマルチキャスト機能をサポートしない）でＩＰマルチキャストサービスへのアクセスを提供できず、したがって、少ない遅延でバスケットボールの試合を提供するためにピアツーピアモデルに基づくアプリケーションレベルのマルチキャストに切り替える。マルチキャストピアツーピアサービスは、バスケットボールの試合のチャネルリソースの位置を問い合わせ、リソースの位置のリストをＪｅｓｓｉｃａに送信する。例示を目的として、初めは、コンテンツキャッシュサーバ１０８のみがバスケットボールの試合をキャッシュ済みであり、したがって、ＩＭＳストリーミングサービスは、Ｊｅｓｓｉｃａがコンテンツキャッシュサーバ１０８からバスケットボールの試合をストリーミングし得ることをＪｅｓｓｉｃａに伝える。ストリーミングのバスケットボールの試合のコンテンツは固定長の部分に絶えずセグメント分けされていることに留意されたい。
【００３０】
（３）ＪｅｓｓｉｃａのＵＥは、コンテンツキャッシュサーバ１０８から（例えば、ＵＥのキャッシュメモリに）バスケットボールの試合の１つまたは部分（すなわち、セグメント）をダウンロードし、Ｊｅｓｓｉｃａは、バスケットボールの試合を見始める。
【００３１】
（４）ＪｅｓｓｉｃａのＵＥは、バスケットボールの試合のどの部分がそのＵＥのキャッシュされたメモリに現在保有されているかをトラッカー１１６に周期的にアナウンスする。コンテンツの所持をアナウンスするＵＥの態様は、以降、コンテンツの「アドバタイズ」と呼ばれる。妥当な場合、コンテンツキャッシュサーバおよび／またはその他のＵＥも、トラッカー１１６にコンテンツの所持をアドバタイズし、したがって、トラッカーは、どのリソースがコンテンツのどのセグメントを保有しているかを絶えず（またはほぼ途切ることなく）「追跡する」。Ｊｅｓｓｉｃａのコンテンツのアドバタイズメントと同時に、ＪｅｓｓｉｃａのＵＥは、バスケットボールの試合の一部を受信したコンテンツキャッシュサーバおよび／またはその他のピアＵＥの更新されたリストを受信する。
【００３２】
（５）時間が経つにつれて、領域１内のますます多くのユーザが、バスケットボールの試合の視聴キューに加わり、コンテンツキャッシュサーバ１０８が、過負荷になり始める。例示を目的として、最後のトラッカーの更新（ステップ４）以後、ＪｅｓｓｉｃａのＵＥは、Ｊａｓｏｎ、Ａｌｉｃｅ、およびＢｏｂのＵＥがバスケットボールの試合のいくつかのキャッシュされた部分を有することを知っているものとする。したがって、ＪｅｓｓｉｃａのＵＥは、より効率的なコンテンツ配信のためにＪａｓｏｎ、Ａｌｉｃｅ、および／またはＢｏｂのＵＥからバスケットボールの試合のいくつかの部分をダウンロードし、コンテンツキャッシュサーバ１０８の処理負荷を減らすように試みることができる。
【００３３】
Ｂ．使用事例２：複数のオンラインユーザのためのコンテンツオンデマンドサービス
図３は、複数のオンラインユーザにコンテンツオンデマンドサービスを行うためのＩＭＳに基づくＰ２Ｐコンテンツ配信システム３００の使用の図である。便宜的に、図１および図２と比較して同様である図３の要素は、同様の参照番号によって特定される。
【００３４】
複数のユーザの絵１０２は、複数の論理的な領域２０２（示されているように、「領域１」および「領域２」）内で動作している複数のオンラインユーザ（およびＵＥ）を表す。ユーザの絵１０２は、各領域２０２内の４人のＩＭＳ加入者（領域１では名前がなく、領域２ではＪｅｓｓｉｃａ、Ｂｏｂ、Ｊａｓｏｎ、およびＡｌｉｃｅと名前が付けられている）を特定する。領域２０２は、例えば、２つの異なるＩＭＳサービスプロバイダの別々の論理的な領域、または単一のサービスプロバイダの別々の地理的な領域を含む可能性がある。ユーザ１０２は、ＩＰデータネットワーク１１０およびＩＭＳコア１１４と通信することによってマルチメディアサービスおよびコンテンツにアクセスする。図３に示されたように、ＩＰデータネットワークは、マルチメディアコンテンツを配信するための２つのコンテンツキャッシュサーバ１０８（「コンテンツキャッシュサーバ１」および「コンテンツキャッシュサーバ２」）ならびにコンテンツソースサーバ１１２を含み、ＩＭＳコア１１４は、クライアントの登録、コンテンツのインデックス付け、ブラウジング、および検索機能などの機能を実行するための、限定することなくトラッカー１１６を含むさまざまな機能要素を含む。ベアラトラフィック３０４は、実線によって表され、制御トラフィック３０６は、破線によって表される。
【００３５】
例示的な使用事例においては、Ｊｅｓｓｉｃａが領域２内のＩＭＳ加入者であり、自身のＵＥ１０２で（例えば、「ＩＭＳオンライン映画館」からの）オンデマンドの映画を見たいと望んでいるものとする。
【００３６】
（１）Ｊｅｓｓｉｃａは、自身のＩＭＳ  Ｐ２Ｐアプリケーションを起動し、ＩＭＳ登録プロセスを開始する。Ｊｅｓｓｉｃａが自身の登録を終えた後、ＩＭＳ  Ｐ２Ｐアプリケーションは、クライアントに番組情報（例えば、オンデマンド番組のリスト／メニュー）を届ける。Ｊｅｓｓｉｃａは、番組リストから映画を探し、選択して、その映画を見始めたいことをＰ２Ｐアプリケーションに示す。
【００３７】
（２）Ｊｅｓｓｉｃａの要求を受信した後、Ｐ２Ｐアプリケーションは、選択された映画の映画ストレージリソースの位置を問い合わせ、リソースの位置のリストをＪｅｓｓｉｃａに送り返す。例示を目的として、選択された映画が１０個の部分（例えば、部分１、部分２など）にセグメント分けされ、コンテンツソースサーバ１１２が１０個の部分のすべてを有し、コンテンツキャッシュサーバ１０８が１０個の部分の初めの部分（例えば、部分１および部分２）を有するものとする。Ｊｅｓｓｉｃａの要求に応答して、Ｐ２Ｐアプリケーションは、Ｊｅｓｓｉｃａがコンテンツキャッシュサーバ２から映画をダウンロードし得ることをＪｅｓｓｉｃａに伝えるものとする。
【００３８】
（３）ＪｅｓｓｉｃａのＵＥは、映画のどの部分がコンテンツキャッシュサーバ２からダウンロード可能であるかを判定するためにコンテンツキャッシュサーバ２に問い合わせる。コンテンツキャッシュサーバ２は、部分１および２がダウンロード可能であることをＪｅｓｓｉｃａのＵＥに知らせる。
【００３９】
（４）ＪｅｓｓｉｃａのＵＥは、コンテンツキャッシュサーバ２から（例えば、ＵＥのキャッシュメモリに）部分１および２をダウンロードし、Ｊｅｓｓｉｃａは、映画を見始める。
【００４０】
（５）ＪｅｓｓｉｃａのＵＥは、映画のどの部分がそのＵＥのキャッシュされたメモリに現在保有されているかをトラッカー１１６に周期的にアナウンス（またはアドバタイズ）し、映画のその他の部分がどこに配信されたか（例えば、コンテンツキャッシュサーバまたはピアＵＥ）を特定する更新された情報をトラッカー１１６から受信する。Ｊｅｓｓｉｃａが部分１および２（すなわち、コンテンツキャッシュサーバ２から取得された）を見終わるとき、ＪｅｓｓｉｃａのＵＥは、コンテンツソースサーバ１１２、またはトラッカー１１６によって示された場所から部分の残りを取得し得る。
【００４１】
（６）時間が経つにつれて、Ｊｅｓｓｉｃａの周りの（つまり、領域２内の）ますます多くのユーザが、映画の視聴キューに加わり、コンテンツキャッシュサーバ２から部分１および２を受信し、コンテンツソースサーバ１１２からさらなる部分を受信し、少なくとも最初は、コンテンツソースサーバを混雑させる。幸いなことに、ステップ（５）から、ユーザは、トラッカー１１６によって示される映画の代替的なストレージリソースを周期的に知ることができ、コンテンツソースサーバ１１２の処理負荷を軽減するためにそれらのリソースにアクセスすることができる。例示を目的として、最後のトラッカーの更新以後、Ｊｅｓｓｉｃａの領域内のユーザは、映画のさらなる部分が今やコンテンツキャッシュサーバ１から取得され得ることを知っており、映画の部分をコンテンツキャッシュサーバ１からダウンロードし始めるものとする。
【００４２】
（７）さらに時間が経ち、領域１および２内の一層多くのユーザが映画の視聴キューに加わり、今や、コンテンツキャッシュサーバ１および２が過負荷になり始めている。ここで、最後のトラッカーの更新以後、ＪｅｓｓｉｃａのＵＥは、映画のさらなる部分がＪｅｓｓｉｃａの３つの近隣のＵＥ、Ｊａｓｏｎ、Ｂｏｂ、およびＡｌｉｃｅから取得され得ることを知っており、したがって、ＪｅｓｓｉｃａのＵＥは、近隣のＵＥのうちの１つまたは複数から映画の部分をダウンロードしようとするものとする。
【００４３】
ＩＩＩ．問題の提示および解決策
上記の使用事例の説明から、Ｐ２Ｐコンテンツ配信サービスの重要な態様が、ＵＥおよび／または妥当な場合にはコンテンツキャッシュサーバから、任意の所与の時点でコンテンツを所持しているＵＥおよび／またはコンテンツキャッシュサーバのリストを保有するトラッカーへのコンテンツ所持のアドバタイズメントであることは明らかである。１つの大きなセキュリティ上の脅威は、トラッカーにより誤った情報が保有されることと、クライアントピア側でのリソースおよび時間の無駄とにつながる可能性がある、（例えば、アドバタイズされるコンテンツを所持していない悪意のあるピアによる）コンテンツのあり得る誤ったアドバタイズメントに存する。この脅威は、Ｐ２Ｐコンテンツ配信システムにおけるアナウンスするピアによるコンテンツ所持の確認（つまり、アドバタイズされたコンテンツ所持の真または偽の判定）を対象とする関連する米国特許出願第ＸＸＸＸ号によって対処される。
【００４４】
さらに、コンテンツの正常なアドバタイズメント（アナウンスするピアがアドバタイズされたコンテンツアイテムを所持していると確認された）に続き、アナウンスするピアが、受信ピアと、アドバタイズされたまたは要求されたコンテンツとどこかが異なるコンテンツを悪意を持って（またはおそらく誤って）共有する可能性があるという脅威が存在する。例えば、アドバタイズするピアは、何らかの方法で改ざんされたか、もしくは悪意のあるソフトウェアを含むコンテンツ、または他の点はおかしくないが、受信ピアによって要求されていないコンテンツを共有する可能性がある。この場合、受信ピアは、トラッカーから正しいピアのリストを取得するが、要求されたコンテンツを取得しない。やはり、これは、ピアＵＥに対する潜在的な損害は言うまでもなく、クライアントピア側のリソースおよび時間の無駄につながる可能性がある。この脅威に対処するために、本発明の実施形態は、Ｐ２Ｐコンテンツ配信システムにおけるピアにより供給されるコンテンツの完全性の確認を対象とする。
【００４５】
ここで図４を参照すると、本発明の実施形態による、ピアによって供給されるコンテンツの完全性の確認のためのメッセージシーケンスが示されている。図４のステップは、妥当な場合、図１、図２、または図３に示されたようなＰ２Ｐコンテンツ配信システムの送信ピア１０２、受信ピア１０２、トラッカー１１６、およびコンテンツソースサーバ１１２によって実行される。
【００４６】
ブロック４０２において、送信ピア（例えば、「Ｊａｓｏｎ」）がコンテンツの正常なアナウンスメント（ａｎｎｏｕｎｃｅｍｅｎｔ）を行った、つまり、いかなるコンテンツを送信するよりも前に、ＪａｓｏｎのＵＥが、コンテンツアイテムの所持をアドバタイズし、アドバタイズされたコンテンツアイテムを所持しているとトラッカーによって確認されたものとする。例えば、図３に関連して説明された使用事例を参照すると、トラッカーは、ＪａｓｏｎのＵＥからのアドバタイズメントの後、ＪａｓｏｎがＪｅｓｓｉｃａの選択された映画の部分３を所持していることを確かめる可能性がある。正常なアナウンスメントと同時に、トラッカー１１６は、アナウンスするピアがアドバタイズされたコンテンツを所持していると確かめられていることを示すためにそのトラッカー１１６のピアのリストを更新する。ブロック４０４において、受信ピア（例えば、「Ｊｅｓｓｉｃａ」）が、どのコンテンツアイテムが送信ピアによって所持されているかを知るためにピアのリストを取得する。
【００４７】
ステップ４０６において、受信ピアが、送信ピアによって所持されるコンテンツの１つのアイテム（または複数のアイテム）を要求する。要求は、コンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識を含む。要求に応じて、ステップ４０８において、送信ピアが、受信ピアに１つのコンテンツアイテム（または複数のコンテンツアイテム）を送信し、（１つまたは複数の）コンテンツアイテムが、受信ピアによって受信される。上述のように、ピアによって供給されるコンテンツは、アドバタイズされたまたは要求されたコンテンツと少なくとも部分的に異なる可能性があることがあり得る。ステップ４１０において、ピアによって供給されるコンテンツの完全性を確認するために、受信ピアが、トラッカーに検証トークンを要求する。要求は、要求されたコンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識を含む。例えば、図３に関連して説明された使用事例を参照して、ＪｅｓｓｉｃａがＪａｓｏｎのＵＥに選択された映画の部分３を要求するが、ＪｅｓｓｉｃａのＵＥが、部分３の改ざんされたバージョンまたは完全に異なるコンテンツのセグメントを受信すると想定する。ＪｅｓｓｉｃａのＵＥは、受信されたコンテンツが要求されたコンテンツと異なるかどうかを突き止めるのに役立つように、（例えば、「Ｔｒａｎｓｆｏｒｍｅｒ」の部分３に関連する）検証トークンをトラッカーに要求することができる。
【００４８】
一実施形態においては、トラッカー自体がトークンを生成し、そうするために、トラッカーは、アドバタイズされたコンテンツ自体を所持しなければならないか、またはコンテンツソースサーバ１１２からコンテンツを取得する可能性がある。したがって、図４のメッセージシーケンスにおいては、トラッカー自体は、アドバタイズされたコンテンツを所持しておらず、ステップ４１２、４１４において、アドバタイズされたコンテンツをコンテンツソースサーバ１１２に要求し、取得するものとする。
【００４９】
アドバタイズされたコンテンツが取得されると、トラッカーは、ピアによって供給されるコンテンツの完全性を確認するために受信ピアによって使用され得るトークンを生成する。トークンは、例えば、アドバタイズされたコンテンツ（例えば、コンテンツ全体）のハッシュであるか、または好ましい実施形態においては、アドバタイズされたコンテンツのランダムな部分のハッシュである可能性がある。よく知られているように、ハッシュは、データの任意のブロックを入力に取り、ハッシュ値を出力として生成する暗号化関数であり、２つの入力は、同一でない限り同じハッシュ値を生じない。
【００５０】
コンテンツのランダムな部分に基づくトークンは、コンテンツの名目的な所持者が信頼できるコンテンツを有する場合にのみ正しく答えられ得るコンテンツ自体についてのランダムな質問を生成することと同じであると考えられ得る。例えば、本の類似性を使用して、チャレンジャー（ｃｈａｌｌｅｎｇｅｒ）は、特定の本の名目的な所持者に、本の７２ページの２０番目の単語の７番目の文字を尋ねることができる。本を実際に有していないか、本の異なるバージョンを有していれば、名目的な所持者は、質問に答えることができない。デジタルマルチメディアコンテンツの場合、チャレンジャーは、信頼できるコンテンツの特定のブロックの所持を確かめるために名目的な所持者に尋ねることができ、ブロックの始まりおよびブロックの長さは、ランダムに選択される。答えの的確な表現は、このブロックのハッシュであり、質問のランダム性を考慮すると、ハッシュは安全である必要がない。
【００５１】
ステップ４１６において、好ましい実施形態によれば、トラッカーが、アドバタイズされたコンテンツのブロック（例えば、指定されたビットで始まり、指定された長さを有するブロック）をランダムに選択し、信頼できるアドバタイズされたコンテンツの選択されたブロックに基づくトークンを生成する。一実施形態において、トークンは、ランダムに選択されたブロックのハッシュを実行することによって導出される。上述のように、ブロックのランダム性を考慮すると、ハッシュは安全である必要がない。例えば、Ｊｅｓｓｉｃａが選択された映画の部分３に対応する検証トークンを要求した場合、（部分３の信頼できるコピーを取得済みの）トラッカーが、指定されたビットで始まり、指定された長さを有するランダムなブロックを部分３から選択し、選択されたブロックのハッシュを含むトークンを生成する。ステップ４１８において、トラッカーが、トークンを含む応答を受信ピアに送信する。一実施形態において、応答は、要求されたコンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識と、（例えば、開始ビット番号およびブロックの長さを示すことによる）ランダムなブロックの標識と、トークンが導出されたハッシュ関数とを含む。
【００５２】
代替的に、ステップ４１６において、セキュリティの追加のレイヤを実現し、反射攻撃を防止するために、トラッカーが、ランダムなシード値を生成し、ランダムに選択されたブロックとランダムなトークンとの組み合わせに基づくトークンを生成する可能性がある。例えば、限定することなく、トラッカーは、ランダムなシード値と組み合わされた、ランダムに選択されたブロックのハッシュを実行することによってトークンを生成する可能性がある。妥当な場合、ステップ４１８において、トラッカーが、受信ピアへの応答にランダムなシード値を含める。
【００５３】
ステップ４２０において、受信ピアが、例えば、トラッカーから受信された（つまり、信頼できるコピーから得られたランダムなサンプルに基づく）トークンを、受信ピア自体によって対応する方法で生成された（つまり、ピアによって受信されたコンテンツから得られた対応するランダムなサンプルと、妥当な場合にはランダムなシード値とに基づく）トークンと比較することによって、送信ピアから受信されたコンテンツの完全性を確認する。トークンが同じである場合、受信ピアは、ピアによって受信されたコンテンツの完全性を確かめられ、ステップ４２２において、送信ピアに正常な確認について知らせる。しかし、トークンが同じでない場合、確認は失敗し、受信ピアがコンテンツを破棄する。任意で、受信ピアは、失敗した確認について送信ピアおよびトラッカーに知らせる可能性がある。
【００５４】
図５は、本発明の代替的な実施形態による、ピアによって供給されるコンテンツの完全性の確認のためのメッセージシーケンスを示す。図５のステップは、妥当な場合、図１、図２、または図３に示されたようなＰ２Ｐコンテンツ配信システムの送信ピア１０２、受信ピア１０２、トラッカー１１６、およびコンテンツソースサーバ１１２によって実行される。
【００５５】
ブロック５０２において、送信ピア（例えば、「Ｊａｓｏｎ」）はコンテンツの正常なアナウンスメントを行った、つまり、いかなるコンテンツを送信するよりも前に、ＪａｓｏｎのＵＥは、コンテンツアイテムの所持をアドバタイズし、アドバタイズされたコンテンツアイテムを所持しているとトラッカーによって確認されたものとする。正常なアナウンスメントと同時に、トラッカー１１６は、アナウンスするピアがアドバタイズされたコンテンツを所持していると確かめられていることを示すためにそのトラッカー１１６のピアのリストを更新する。ブロック５０４において、受信ピア（例えば、「Ｊｅｓｓｉｃａ」）が、どのコンテンツアイテムが送信ピアによって所持されているかを知るためにピアのリストを取得する。
【００５６】
ステップ５０６において、受信ピアが、送信ピアによって所持されるコンテンツの１つのアイテム（または複数のアイテム）を要求する。要求は、コンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識を含む。要求に応じて、ステップ５０８において、送信ピアが、受信ピアに１つのコンテンツアイテム（または複数のコンテンツアイテム）を送信し、（１つまたは複数の）コンテンツアイテムが、受信ピアによって受信される。上述のように、ピアによって供給されるコンテンツは、アドバタイズされたまたは要求されたコンテンツと少なくとも部分的に異なる可能性があることがあり得る。ステップ５１０において、ピアによって供給されるコンテンツの完全性を確認するために、受信ピアが、トラッカーに検証トークンを要求する。要求は、要求されたコンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識を含む。例えば、図３に関連して説明された使用事例を参照して、ＪｅｓｓｉｃａがＪａｓｏｎのＵＥに選択された映画の部分３を要求するが、ＪｅｓｓｉｃａのＵＥが、部分３の改ざんされたバージョンまたは完全に異なるコンテンツのセグメントを受信すると想定する。ＪｅｓｓｉｃａのＵＥは、受信されたコンテンツが要求されたアドバタイズされたコンテンツと異なるかどうかを突き止めるのに役立つように、（例えば、部分３の信頼できるコピーに関連する）検証トークンをトラッカーに要求すればよい。
【００５７】
図５の実施形態において、トラッカーは、アドバタイズされたコンテンツを所持または所持せず、トークンも生成しない。そうではなく、トラッカーは、ステップ５１２において、信頼できるアドバタイズされたコンテンツを所持していることをそのトラッカーが知っているコンテンツソースサーバ１１２に検証トークンの要求を転送する。トークンは、例えば、アドバタイズされたコンテンツ（例えば、コンテンツ全体）のハッシュであるか、または好ましい実施形態においては、アドバタイズされたコンテンツのランダムな部分のハッシュである可能性がある。
【００５８】
ステップ５１４において、好ましい実施形態によれば、コンテンツソースサーバが、アドバタイズされたコンテンツのブロック（例えば、指定されたビットで始まり、指定された長さを有するブロック）をランダムに選択し、信頼できるアドバタイズされたコンテンツの選択されたブロックに基づくトークンを生成する。一実施形態において、トークンは、ランダムに選択されたブロックのハッシュを実行することによって導出される。例えば、Ｊｅｓｓｉｃａが選択された映画の部分３に対応する検証トークンを要求し、この要求がトラッカーからコンテンツソースサーバに転送される場合、（部分３の信頼できるコピーを所持する）コンテンツソースサーバが、指定されたビットで始まり、指定された長さを有するランダムなブロックを部分３から選択し、選択されたブロックのハッシュを含むトークンを生成する。ステップ５１６において、コンテンツソースサーバが、トークンを含む応答をトラッカーに送信し、ステップ５１８において、トラッカーが、受信ピアに応答を転送する。一実施形態において、応答は、アドバタイズされたコンテンツの「ＣｏｎｔｅｎｔＩＤ」またはその他の標識と、コンテンツのランダムなブロックの標識と、トークンが導出されたハッシュ関数とを含む。
【００５９】
代替的に、ステップ５１４において、セキュリティの追加のレイヤを実現し、反射攻撃を防止するために、コンテンツソースサーバが、ランダムなシード値を生成し、ランダムに選択されたブロックとランダムなトークンとの組み合わせに基づくトークンを生成する可能性がある。例えば、限定することなく、コンテンツソースサーバは、ランダムなシード値と組み合わされた、ランダムに選択されたブロックのハッシュを実行することによってトークンを生成する可能性がある。妥当な場合、ステップ５１６において、コンテンツソースサーバが、トラッカーへの応答にランダムなシード値を含め、このランダムなシード値は、ステップ５１８において、トークンと一緒に受信ピアに転送される。
【００６０】
ステップ５２０において、受信ピアが、例えば、コンテンツソースサーバによって生成され、トラッカーから転送された（つまり、信頼できるコピーから得られたランダムなサンプルに基づく）トークンを、受信ピア自体によって対応する方法で生成された（つまり、ピアによって受信されたコンテンツから得られた対応するランダムなサンプルに基づく）トークンと比較することによって、送信ピアから受信されたコンテンツの完全性を確認する。トークンが同じである場合、受信ピアは、ピアによって受信されたコンテンツの完全性を確かめられ、ステップ５２２において、送信ピアに正常な確認を知らせる。しかし、トークンが同じでない場合、確認は失敗し、受信ピアがコンテンツを破棄する。任意で、受信ピアは、失敗した確認について送信ピアおよびトラッカーに知らせる可能性がある。
【００６１】
図１−５および上述の説明は、本発明を実施し、使用する方法を当業者に教示するために本発明の特定の例示的な実施形態を示した。説明された実施形態はすべての点において例示的とだけ考えられるべきであり、限定的と考えられるべきではない。本発明は、添付の特許請求の範囲によって示される本発明の範囲を逸脱することなくその他の特定の形態で具現化され得る。特許請求の範囲と均等な意味および範囲内に入るすべての変更は、特許請求の範囲に包含されるべきである。
【００６２】
例えば、実施形態は、ＩＭＳに基づくネットワークトポロジーに関連して本明細書において説明されている。しかし、本発明の原理は、ＩＭＳに基づくネットワークに適用可能であるが、そのように限定されるように意図されていないことを理解されたい。それどころか、本発明の実施形態は、マルチメディアコンテンツ配信を容易にするためにＰ２Ｐ技術を利用する任意の種類の通信ネットワークまたはハイブリッドネットワークに広く適用可能である。
【図１】
0005902820.tif 000002
【図２】
0005902820.tif 000003
【図３】
0005902820.tif 000004
【図４】
0005902820.tif 000005
【図５】
0005902820.tif 000006