(57)【要約】【課題】Ｐ２Ｐ技術に基づくビデオオンデマンドシステムにおいてサービス品質保証を実現する方法と装置を提供する。【解決手段】Ｐ２Ｐモードとクライアント−サーバモードを結合させることで、システムの性能を向上させる。本発明において、クライアントの間はＰ２Ｐモードによって互いにサービスを提供することで、システムにもっと良好な拡張性を持たせる。Ｐ２Ｐがユーザーの不安定性により満足するサービスを提供できない場合、クライアント−サーバモードはＰ２Ｐモードと協力してユーザーにサービス品質の保証を提供する。【選択図】図９
2010027053.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続するとともに、当該ネットワークを介して他端末及びデータ配信管理を行うサーバと通信を行うネットワークインターフェース部と、
受信データに紛失がないかを検出するデータ検出部と、
サーバから提供された本端末にデータサービスを提供できる他端末情報及び他端末に保存されている対応データ情報に基づいて、本端末装置にサービスを提供する他端末装置を確定し、前記ネットワークインターフェース部を制御して確定された他端末装置と必要なデータ伝送を行う制御部と、を備えることを特徴とする端末装置。
【請求項２】
前記端末装置によって配信されるデータはビデオデータであることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記端末装置は、ビデオコンテンツを保存するビデオコンテンツデータベースをさらに含むことを特徴とする請求項２に記載の端末装置。
【請求項４】
前記端末装置は、サーバから提供された本端末にデータサービスを提供できる他端末情報及び他端末に保存及びバッファリングされた対応データ情報を保存するクライアントストレージ情報データベースをさらに有し、当該情報に基づいてこれらの端末に探索メッセージを送信し、これらの端末のフィードバックによって最適端末を選択して本端末装置にサービスを提供することを特徴とする請求項３に記載の端末装置。
【請求項５】
前記最適端末は、フィードバックした端末のＣＰＵ利用率と利用可能な帯域によって決めることを特徴とする請求項４に記載の端末装置。
【請求項６】
前記端末装置は、選択された最適端末と通信を行う過程において、通信品質が当該端末の需要を満足できない場合、当該端末のストレージ情報データベースに保存されている他端末情報に基づいて、改めて最適端末を確定することを特徴とする請求項５に記載の端末装置。
【請求項７】
前記端末装置は、保存されているコンテンツ情報を定期的に前記サーバに通知することを特徴とする請求項６に記載の端末装置。
【請求項８】
前記端末装置は、再生ポイントで連続的に変化しない場合、制御部を介して現再生ポイント情報を前記サーバに通知することを特徴とする請求項７に記載の端末装置。
【請求項９】
前記サーバは、当該端末にデータサービスを提供できる他端末情報及び他端末に保存されている対応コンテンツ情報を定期的に前記端末装置に送信することで、当該端末装置のクライアントストレージ情報データベースを更新することを特徴とする請求項８に記載の端末装置。
【請求項１０】
前記データ検出部が所定時間内に再現すべきデータの紛失を検出した場合、制御部は当該ネットワークインターフェース部を制御してサーバに接続し、サーバから必要なデータが含まれているデータブロックを取得し、
前記端末装置がサーバから必要なデータが含まれているデータブロックを取得した後に、前記データ検出部が所定時間内にデータの紛失を検出しなかった場合、当該クライアントはサーバとの接続を切断し、新たに他クライアントとの接続を選択することを特徴とする請求項１〜９のいずれかに記載の端末装置。
【請求項１１】
クライアントの利用可能なネットワーク帯域を十分に利用するために複数の端末からデータを並列ダウンロードし、同時に、並列ダウンロードフロー間の協調を行う並列ダウンロードモジュールと、
主に当該端末のアップ/ダウンリンク帯域リソースの配分を管理し、並列ダウンロードモジュールの複数の接続の間でダウンリンク帯域の配分を調整し、さらに、当該端末が所定時間内に再現すべきデータを紛失した場合、同じサーバに対する緊急通信の接続は帯域を用いて配分と優先レベル調整を行い、当該端末とサーバの間の緊急通信帯域を保証する帯域管理モジュールと、をさらに備えることを特徴とする請求項１０に記載の端末装置。
【請求項１２】
複数のクライアントとサーバを有するネットワークシステムであって、
前記クライアントは、ネットワークに接続するとともに、当該ネットワークを介して他のネットワークデバイスと通信を行うネットワークインターフェース部と、
受信データに紛失がないかを検出するデータ検出部と、
前記クライアント装置はサーバから提供された本クライアントにデータサービスを提供できる他クライアント情報及び他クライアントに保存されている対応コンテンツ情報に基づいて、本クライアントにサービスを提供するクライアントを確定し、選択されたクライアントとデータ伝送を行う制御部と、を備えることを特徴とするネットワークシステム。
【請求項１３】
前記クライアントによって配信されるデータはビデオデータであることを特徴とする請求項１２に記載のネットワークシステム。
【請求項１４】
前記クライアントは、ビデオコンテンツを保存するビデオコンテンツデータベースをさらに含むことを特徴とする請求項１３に記載のネットワークシステム。
【請求項１５】
前記クライアントは、サーバから提供された本クライアントにデータサービスを提供できる他クライアント情報及び他クライアントに保存及びバッファリングされている対応データ情報を保存するクライアントストレージ情報データベースをさらに含むことを特徴とする請求項１４に記載のネットワークシステム。
【請求項１６】
当該ネットワークにおいて前記クライアントは、サーバから提供された本クライアント装置にサービスを提供できる他クライアント情報及び他クライアントに保存及びバッファリングされている対応データ情報に基づいて、これらのクライアントに探索メッセージを送信し、これらのクライアントのフィードバックに基づいて最適クライアントを選択して本クライアント装置にサービスを提供することを特徴とする請求項１５に記載のネットワークシステム。
【請求項１７】
前記最適クライアントは、フィードバックしたクライアントのＣＰＵ利用率と利用可能な帯域によって決めることを特徴とする請求項１６に記載のネットワークシステム。
【請求項１８】
前記クライアントは、選択された前記最適クライアントと通信を行う過程において、通信性能の低下を検出した場合、本クライアントのクライアントストレージ情報データベースに保存されている他クライアント情報に基づいて、改めて最適クライアントを確定することを特徴とする請求項１７に記載のネットワークシステム。
【請求項１９】
当該ネットワークにおいて前記クライアントは、保存されているコンテンツ情報を定期的に前記サーバに通知することを特徴とする請求項１８に記載のネットワークシステム。
【請求項２０】
当該ネットワークにおいて前記クライアントは、再生ポイントで連続的に変化しない場合、現再生ポイント情報を前記サーバに通知することを特徴とする請求項１９に記載のネットワークシステム。
【請求項２１】
当該ネットワークにおいて前記サーバは、当該クライアントにデータサービスを提供できる他クライアント情報及び他クライアントに保存されている対応データ情報を各クライアントに定期的に送信することで、各クライアントのクライアントストレージ情報データベースを更新することを特徴とする請求項１２に記載のネットワークシステム。
【請求項２２】
前記クライアントのデータ検出部が所定の時間内に再現すべきデータの紛失を検出した場合、制御部は当該ネットワークインターフェースを制御してサーバに接続し、サーバから必要なデータが含まれているデータブロックを取得し、
前記クライアントがサーバから必要なデータが含まれているデータブロックを取得した後に、前記データ検出部が所定の時間内にデータの紛失を検出しなかった場合、当該クライアントはサーバとの接続を切断し、新たに他クライアントとの接続を選択することを特徴とする請求項１２〜２１のいずれかに記載のネットワークシステム。
【請求項２３】
前記サーバは、各ビデオプログラムの原始データが保存されているビデオコンテンツデータベースと、クライアントストレージビデオコンテンツの情報が記録されているクライアントストレージ情報データベースと、各クライアントの現再生プログラムの情報が記録されているクライアント再生情報データベースと、を有することを特徴とする請求項２２に記載のネットワークシステム。
【請求項２４】
前記サーバは、ネットワークに接続するとともに、当該ネットワークを介して他のネットワークデバイスと通信を行うネットワークインターフェース部と、
一定のポリシに基づいて受信して再生を行っているデータをストレージ装置に記録するようにクライアントに要求し、自らもクライアントの未請求データをクライアントのストレージ装置に配置して、ビデオデータのネットワークにおける分布を最適化するコンテンツ管理/配信モジュールを含む制御部と、
クライアントから送信された情報に基づいてクライアント再生情報データベースの維持管理と更新を行い、プログラムを再生している各クライアントの再生進捗状況を記録するクライアント再生制御モジュールと、をさらに有することを特徴とする請求項２３に記載のネットワークシステム。
【請求項２５】
前記サーバは、サーバの出口帯域リソースを管理し、サーバとの各接続に対して帯域検出と配分を行い、同時に、所定の時間内に再現すべきデータが紛失した際のクライアントとの緊急通信のために一定の帯域を予め保留しておいてサービスの品質を保証する帯域管理モジュールをさらに有することを特徴とする請求項２４に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＰ２Ｐ技術に基づくビデオオンデマンドシステムにおいてサービス品質の保証を実現するデータ配信システムの方法と装置に関する。
【背景技術】
【０００２】
コンテンツ配信はＩＰＴＶシステムのかなめとなる技術の一つであり、主に、従来のクライアント−サーバモードとピアツーピア配信（Ｐ２Ｐ）モードの二種類がある。ＩＰＴＶシステムにおけるビデオオンデマンドコンテンツの配信について、従来のクライアント−サーバモードは拡張性の問題に直面する。オンデマンド機能を実現するために、サーバはクライアントのリクエスト要求を受信するたびに、そのリクエスト要求のためにユニキャスト接続を単独に確立する。そのため、このようなモードはサーバの十分な出口帯域と高い性能が求められ、システムのコストが非常に高くなるとともに大量のユーザーを支持することが難しくなる。
【０００３】
クライアント−サーバモードに比べて、Ｐ２Ｐに基づくモードはもっと優れた拡張性を提供することができる。Ｐ２Ｐシステムにおいて、それぞれのクライアントはすべて一つのピアノードであり、サーバはまたは他クライアントにサービスを要求してコンテンツを受信するだけでなく、同時に自身に保存されているコンテンツを利用して他のピアノードにサービスを提供することもできる。このようにシステム全体のサービス能力はユーザーの増加につれて高くなり、大規模のユーザーを支持することが可能であるため、優れた拡張性を有する。今のクライアント（例えばセットトップボックス）は通常大きいハードディスクを備えており、一定量のビデオコンテンツを保存することができる。Ｐ２Ｐモードでは、これらのコンテンツは他のユーザーにサービスを提供することが可能で、コアネットワーク上の帯域の消耗とサーバの負担を軽減することができる。Ｐ２Ｐモードは生放送型の応用にも、リクエスト型の応用にも使われることができる。生放送型の応用と異なるところは、リクエスト型の応用ではユーザーの要求は非同期で、且つシステムはいくつかのプログラムに対する双方向制御コマンド（例えば、早送り、早戻し、一時停止など）を支持する必要がある。Ｐ２Ｐモードに基づく多くのビデオオンデマンドシステムの解決案がすでに研究者たちによって提出している。［特許文献１］においては、Ｐ２ＰモードＶＯＤに基づく基本プロセスが定義されて、クライアントがどのようにサービスを提供できるピアノードを検索して当該ピアノードからデータを取得するかが記述されており、また、いくつかの「ヒット映画」のコンテンツを予めクライアントに配置しておいてＰ２Ｐシステムのサービス能力を向上させることについても提案されている。［特許文献２］においては、主にＰ２ＰＶＯＤシステムにおけるコンテンツ権限の問題が提案されている。例えば、あるユーザーがサーバに要求を送信してプログラムの再生をリクエストした場合、サーバは先ず当該ユーザーが当該コンテンツの取得権限を持っているかをチェックする。例えば、ユーザーが当該サービスを購入したかどうか、当該コンテンツがロック（Ｐａｒｅｎｔａｌ  Ｃｏｎｔｒｏｌ）されているどうかをチェックする。［特許文献３］においては、Ｐ２ＰＶＯＰシステムにおけるハイレベル特性と最適化方法、例えば安全問題、即ち、どのようにコンテンツを暗号化しどのように暗号化キーを配信するかが提案されている。また、ピアノードを選択してサービスを提供する際にどのように近くのノードを選択してＰ２Ｐ接続の性能を最適化するかも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００５００５５７１８号公報。
【特許文献２】米国特許出願公開第２００６０１０７２８６号公報。
【特許文献３】米国特許出願公開第２００７０２５０８８０号公報。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術案にはどうのようにすれば信頼できるサービスを提供できるかの問題は解決されていない。実際に、Ｐ２Ｐモードはクライアントのサービス提供への参加を必要とするが、クライアントはユーザー端末デバイスに属し、サービス事業者は絶対的な制御権限（例えば、ずっとオンラインにさせる保証）を有することは難しいため、サーバの有する安定性と信頼性を有せず、同時に、クライアントはＰ２Ｐシステムを頻繁に出入りすることがあり、これはシステムの安定なサービス提供に大きい挑戦となる。また、クライアントには、例えば、処理能力、アップリンク帯域などのような性能上の制限もある。そのため、Ｐ２Ｐシステムにとって、サーバの信頼性は大きな問題であり、システムがユーザーにサービス品質の保証を提供することは難しくなる。そのため、従来のＰ２ＰシステムをＩＰＴＶのような電気通信レベルのサービスに直接応用することは困難である。別の角度からいうと、電気通信レベルのサービスにおいて、電気通信事業者はネットワークリソースをコントロールする能力を有し、必要な時にこれらのリソース（例えばサーバリソース）を利用してＰ２Ｐシステムの性能を強化することで、Ｐ２Ｐシステムがある程度のサービス品質の保証を提供できるようにすることは可能である。
【０００６】
本発明は、ビデオオンデマンドシステムにおいてクライアント−サーバモードとＰ２Ｐモードを結びつけることによって、システムが優れた拡張性を有する同時に、一定のサービス品質の保証を提供できるデータ配信システム及び方法を提供することを目的とする。
【０００７】
具体的にいうと、クライアントのストレージ装置はサーバによって作成されたポリシに基づいて一部のビデオコンテンツを保存することができ、同じコンテンツを要求する他のユーザーにサービスを提供する。クライアントがビデオプログラムを受信して再生する際に、バッファエリアに最近受信した一部のデータ（例えば、何分間）をバッファリングすることで、再生ポイントの近い他のユーザーにサービスを提供することが可能である。
【０００８】
クライアントがビデオプログラムをリクエストすると、まずできる限りＰ２Ｐモードを利用して他のユーザーからサービスを取得することで、コアネットワークの帯域の消耗とサーバの負担を軽減し、システムが優れた拡張性を有するようにする。ピアノードの提供したサービスの不確実性によって再生しようとするデータがＰ２Ｐモードに頼って適時に取得できない場合、クライアントはクライアント−サーバモードを利用して直接サーバ端末から緊急データを取得して再生の連続性を保証することで、サービス品質の保証を実現する。本発明において、例えば、Ｐ２ＰＶＯＤ応用が差別化サービス（例えば、Ｄｉｆｆｓｅｒｖ）を提供できるネットワークに配置されると、システムはＰ２ＰＶＯＤ応用のために高優先レベルに一定の帯域（通常はプログラムのビデオフローのコード率より大きい）を配分してサービス品質を向上させると同時に、クライアントはピアノードを選択する際に性能要素を考慮し、十分なリソース（ネットワーク帯域、処理能力など）を有するノードを優先的に選択する。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係わる端末装置は、ネットワークに接続するとともに、当該ネットワークを介して他端末及びデータ配信管理を行うサーバと通信を行うネットワークインターフェース部と、受信したデータブロックのデータに紛失がないかを検出するデータ検出部と、サーバから提供された本端末にデータサービスを提供できる他端末情報及び他端末に保存されている対応データ情報に基づいて、本端末装置にサービスを提供する他端末装置を確定し、前記ネットワークインターフェース部を制御して確定された他端末装置と必要なデータ伝送を行う制御部と、を備え、前記データ検出部が所定の時間内に再現すべきデータブロックのデータの紛失を検出した場合、制御部は当該ネットワークインターフェース部を制御して前記サーバに紛失データを要求する。また、当該端末装置は、クライアントの利用可能なネットワーク帯域を十分に利用するために複数の端末からデータを並列ダウンロードし、同時に、並列ダウンロードフロー間の協調を行う並列ダウンロードモジュールと、主に当該端末のアップ/ダウンリンク帯域リソースの配分を管理し、並列ダウンロードモジュールの複数の接続の間でダウンリンク帯域の配分を調整し、同じサーバに接続する際に利用可能な帯域に対して配分と優先レベル調整を行い、帯域を保証する帯域管理モジュールと、をさらに備える。
【００１０】
上記目的を達成するために、本発明に係わるネットワークシステムは、複数のクライアントとサーバを有するネットワークシステムであって、前記クライアントは、ネットワークに接続するとともに、当該ネットワークを介して他のネットワークデバイスと通信を行うネットワークインターフェース部と、受信したデータブロックのデータに紛失がないかを検出するデータ検出部と、前記クライアント装置はサーバから提供された本クライアントにデータサービスを提供できる他クライアント情報及び他クライアントに保存されている対応コンテンツ情報に基づいて本クライアントにサービスを提供するクライアントを確定し、選択されたクライアントとデータ伝送を行う制御部と、を備える。当該ネットワークにおける前記クライアントのデータ検出部が所定の時間内に再現すべきデータブロックの紛失を検出した場合、当該クライアントはサーバから当該データブロックを取得する。また、当該クライアント装置は、クライアントの利用可能なネットワーク帯域を十分に利用するために複数のクライアントからデータを並列ダウンロードし、同時に、並列ダウンロードフロー間の協調を行う並列ダウンロードモジュールと、主に端末のアップ/ダウンリンク帯域リソースの配分を管理し、並列ダウンロードモジュールの複数の接続の間でダウンリンク帯域の配分を調整し、同じサーバに接続する際に利用可能な帯域に対して配分と優先レベル調整を行い、帯域を保証する帯域管理モジュールと、をさらに備える。前記サーバは、各ビデオプログラムの原始データが保存されているビデオコンテンツデータベースと、クライアントストレージビデオコンテンツの情報が記録しているクライアントストレージ情報データベースと、各クライアントの現再生プログラムの情報が記録されているクライアント再生情報データベースと、ネットワーク接続されるとともに、当該ネットワークを介して他のネットワークデバイスと通信を行うネットワークインターフェース部と、一定のポリシに基づいて受信して再生を行っているデータをストレージ装置に記録するようにクライアントに要求し、自らもクライアントの未請求データをクライアントのストレージ装置に配置して、ビデオデータのネットワークにおける分布を最適化するコンテンツ管理/配信モジュールを含む制御部と、クライアントから送信された情報に基づいてクライアント再生情報データベースの維持管理と更新を行い、プログラムを再生している各クライアントの再生進捗状態を記録するクライアント再生制御モジュールと、を有する。また、前記サーバは、サーバの出口帯域リソースを管理し、サーバとの各接続に対して帯域検出と配分を行い、所定の時間内に再現すべきデータが紛失した後にクライアントとサーバの緊急通信のために一定の帯域を予め保留しておいてサービス品質の保証を提供する。
【発明の効果】
【００１１】
上記の端末装置とネットワークシステムにより、クライアントの間には互いにサービスを提供することで、システムの拡張性を強化することができる。また、ピアノードの提供したサービスの不確実性によりＰ２Ｐモードでは満足するサービス品質が得られない場合、システムはクライアント−サーバモードを利用して直接サーバからユーザーに確実なサービスを提供することができる。従来の技術に比べて、本発明は、システムが優れた拡張性を有するとともに、ユーザーに満足するサービス品質を提供することが可能である。
【図面の簡単な説明】
【００１２】
【図１】ＩＰＴＶシステムの簡略ブロック図である。
【図２】ビデオプログラムコンテンツのデータ構成図である。
【図３】（Ａ）は、コンテンツサーバの構造ブロック図、（Ｂ）は、コンテンツサーバストレージテーブルの構造である。
【図４】コンテンツサーバの機能ブロック図である。
【図５】（Ａ）は、クライアントの構造ブロック図、（Ｂ）は、クライアントストレージテーブルの構造である。
【図６】クライアントの機能ブロック図である。
【図７】Ｐ２Ｐモードに基づくコンテンツ配信過程における基本メッセージ伝達図である。
【図８】サービス品質保証過程における基本メッセージ伝達図である。
【図９】クライアント−サーバモードとピア伝送モードがどのように協力してサービス品質を保証するかを説明する略図である。
【図１０Ａ】クライアントに関する完全なフローチャートである。
【図１０Ｂ】クライアントに関する完全なフローチャートである。
【図１１】複数のサーバの協力場面の略図である。
【図１２】本発明で定義されたメッセージフォーマットである。
【発明を実施するための形態】
【００１３】
本発明は、Ｐ２Ｐ技術に基づくビデオリクエストシステムにおいてサービス品質の保証を実現する方法と装置を提供する。
図１は簡略化したＩＰＴＶシステムを示す。当該システムには、コンテンツサーバ１０２、一つまたは複数のクライアント１０４、及びネットワーク接続１０６が含まれているが、これに限らない。
【００１４】
クライアント１０４は一般的にいずれも一つのストレージ装置を有し、ネットワーク接続１０６を介してコンテンツサーバ１０２及び他クライアントと通信を行う。サーバ１０２は各クライアントの情報（例えば、ストレージコンテンツ、再生進捗状況など）を把握して管理する。当該システムにおけるそれぞれのクライアントはサーバの要求に応じて一定のビデオコンテンツを保存することに同意し、また、ビデオプログラムを受信して再生する際に、他のユーザーにサービスを提供するために最近の一部データをバッファリングする。
【００１５】
クライアント１０４がオンラインである場合、サーバ１０２はコマンドを送信して受信または再生しているプログラムをストレージ装置に保存するようにクライアントに要求し、クライアントの未要求のコンテンツを自らもクライアントのストレージ装置に送ることで、「ヒット映画」のネットワークにおける分布を向上させる。クライアント１０４は保存コンテンツ情報を周期的にサーバに通知し、このようにして、サーバ端末はビデオプログラムコンテンツのネットワークにおける分布状況を精確にコントロールする。同時に、クライアント１０４は受信して再生しているコンテンツをバッファエリアにバッファリングして、同一のプログラムを視聴し再生進捗状況の近い他クライアントにサービスを提供する。サーバ１０２は、各クライアントの再生進捗状況を記録し、他のクライアントが当該プログラムを要求するときに、再生進捗状況とバッファエリアの大きさに基づいて他のクライアントにサービスを提供できるピアノードを選択する。
【００１６】
クライアント１０４があるプログラムの再生を要求したときに、サーバ１０２は先ず、ストレージ装置に保存されているコンテンツまたはバッファエリアにバッファリングされているコンテンツで当該クライアントにサービスを提供できるピアノードを探す。サーバ１０２はこれらのノードのリストをクライアントに送信し、クライアントはその中から最もよい性能を提供できるノードを選択してサービスを要求する。
【００１７】
図２はビデオプログラムコンテンツのデータ構成図である。ビデオプログラム２０２は通常大きさが同じであるいくつかのデータブロック２０４に分割されており、一つのデータブロックには何秒間または何分間のデータが含まれており、クライアントがストレージ装置にデータを保存する最も小さい単位である。一つのデータブロック２０４はいくつかのデータサブブロック２０６から構成されて、クライアントが異なるピアノードから同一のデータブロックをダウンロードすることは可能である。一つのデータサブブロックはいくつかのデータユニット２０８から構成されており、データユニット２０８はネットワーク伝送時の最小単位である。データブロックのヘッダには当該データブロックのプログラムにおけるブロックシリアルナンバーと含まれているデータサブブロックの数とが含まれている。同一のデータブロックのすべてのデータサブブロックにはいずれも統一のシリアルナンバーを有し、当該シリアルナンバーはデータサブブロックのヘッダに含まれており、当該ヘッダには同時に、クライアントが完全なデータサブブロックを受信したどうかを判断できるように当該データサブブロックのサイズも含まれている。同一のデータサブブロックのすべてのデータユニットにも統一のシリアルナンバーがあり、当該シリアルナンバーとデータユニットのサイズはデータユニットのヘッダに含まれている。
【００１８】
図３（Ａ）はコンテンツサーバ１０２の構造ブロック図である。コンテンツサーバ１０２にはネットワークインターフェース３０、中央処理器（ＣＰＵ）３２、ハードディスク３４、メモリ３６、及びバス３８が含まれている。図３（Ｂ）はコンテンツサーバストレージテーブルの構造である。
【００１９】
コンテンツサーバ１０２はビデオコンテンツデータベース３４０、クライアントストレージ情報データベース３４２、クライアント情報データベース３４４、及びクライアント再生情報データベース３４６を有する。ビデオコンテンツデータベース３４０には各ビデオプログラムの原始データが保存されている。クライアントストレージ情報データベース３４２には主にクライアントストレージ情報テーブル３４２０が含まれており、クライアントストレージビデオコンテンツの情報が記録されている。クライアントストレージ情報テーブル３４２０において、「ＩＰアドレス」はクライアントのＩＰアドレスを示し、「プログラム識別子」はクライアントに保存されたプログラムを示し、「データブロック」は保存されたデータブロック２０４のシリアルナンバーを示す。クライアント情報データベース３４４には主にクライアント情報テーブル３４４０が含まれており、クライアントの状態情報など（例えば、ＩＰアドレス、オンライン/オフライン）が記録されている。クライアント情報テーブル３４４０において、「ＩＰアドレス」はクライアントのＩＰアドレスを示し、「サブネットマスク」はクライアントの属するセグメントのサブネットマスクを示し、「ＯＮ/ＯＦＦ」はクライアントが現在オンラインであるかを示す。クライアント再生情報データベース３４６にはクライアント再生情報テーブル３４６０が含まれており、各クライアントの現再生プログラムの情報が記録されている。クライアント再生情報テーブル３４６０において、「ＩＰアドレス」はクライアントのＩＰアドレスを示し、「プログラム識別子」はクライアントの現在再生しているプログラムを示し、「開始時間」はユーザーのプログラムのリクエストを開始した時間を示し、「オフセット」はユーザーの最初に要求したデータの全プログラムにおける位置（ユーザーがプログラムを最初から見ていないことを考慮して時間で評価する）を示し、「バッファサイズ」はクライアントがデータをバッファリングするバッファエリアの大きさ（どのぐらい時間のデータを保存できるかで計算される）を示す。
【００２０】
図４はコンテンツサーバ１０２の機能ブロック図である。コンテンツサーバの制御部３６０はコンテンツ管理/配信モジュール３６００、通信モジュール３６０２、クライアント再生制御モジュール３６０４、及び帯域管理モジュール３６０６を含む。コンテンツ管理/配信モジュール３６００は、一定のポリシに基づいて受信して再生を行っているビデオデータをストレージ装置に記録するようにクライアントに要求し、自らもクライアントが要求していないデータをクライアントのストレージ装置に配置して、ビデオデータのネットワークにおける分布を最適化し、Ｐ２Ｐシステムがもっと良い性能を得るようにする。コンテンツ管理/配信モジュール３６００は、同時に、クライアントストレージ情報データベース３４２を維持管理し、サーバがクライアントのリクエスト要求を受信した場合、クライアントストレージ情報データベース３４２を検索して関連プログラムデータが保存されているピアノードを探し出して当該クライアントにサービスを提供する。クライアント再生制御モジュール３６０４は、クライアントの送信したプログラム要求情報に基づいてクライアント再生情報データベース３４６の維持管理と更新行い、プログラムを再生している各クライアントの再生進捗状況を記録することで、新しいクライアントからリクエスト要求が送信された場合、クライアント再生情報データベース３４６に基づいてバッファリングされたコンテンツでサービスを提供できるピアノードを探し出す。帯域管理モジュール３６０６は、主にサーバの出口帯域リソースを管理し、クライアントとの各接続に対して出口帯域の配分と監視を行う。帯域管理モジュール３６０６はクライアントとの接続を管理する。たとえば、Ｐ２Ｐモードで接続されているクライアントが確実なサービスを提供できないときに、クライアントとサーバ間の緊急接続が作動してクライアントの連続再生を保証する。帯域管理モジュール３６０６はクライアントとの緊急接続のために一定の帯域を予め保留しておいてサービス品質の保障を提供する。
【００２１】
図５（Ａ）はクライアント１０４の構造ブロック図で、図５（Ｂ）はクライアントストレージテーブルの構造である。クライアント１０４はネットワークインターフェース４０、中央処理器（ＣＰＵ）４２、ハードディスク４４、メモリ４６、出力デバイス４８、及びパス５０を含む。ハードディスク４４にはビデオコンテンツデータベース４４０、クライアントストレージ情報データベース４４２が含まれている。ビデオコンテンツデータベース４４０には他クライアントにサービスを提供するために一部のビデオデータが保存されている。クライアントストレージ情報データベース４４２には他クライアントに保存されているコンテンツの情報が記録されているクライアントストレージ情報テーブル４４２０が含まれており、当該情報はサーバ端末から取得することができる。クライアントストレージ情報テーブル４４２０において、「ＩＰアドレス」は他クライアントのＩＰアドレスを示し、「コンテンツ識別子」は他クライアントに保存しているプログラムを示し、「データブロック」は保存されているデータブロック２０４のシリアルナンバーを示す。
【００２２】
図６はクライアント１０４の機能ブロック図である。クライアントの制御部４６０には、コンテンツ管理モジュール４６００、通信モジュール４６０２、並列ダウンロードモジュール４６０４、及び帯域管理モジュール４６０６が含まれている。コンテンツ管理モジュール４６００は、ビデオコンテンツデータベース４４０を維持管理し、サーバの要求に基づいて、受信して再生を行っているデータまたはサーバから送ってきたデータをビデオコンテンツデータベース４４０に保存する。並列ダウンロードモジュール４６０４は主に、複数のピアノードと同時に接続してネットワーク帯域リソースを十分に利用するために並列にデータをダウンロードする。ピアノードのアップ/ダウンリンクの利用可能な帯域はマッチングしない場合の可能性があるため、クライアントの利用可能なダウンリンク帯域はピアノードのアップリンク帯域より高い状況になりやすい。そのため、クライアントが一つのピアノードのみからサービスを得ると、一部のダウンリング帯域は無駄になる。並列ダウンロードモジュール４６０４は複数のピアノードからデータを並列にダウンロードしてクライアントの利用可能なダウンリンク帯域を十分に利用し、同時に、並列ダウンロードフロー間の協調を行う。帯域管理モジュール４６０６は主に、クライアントのアップ/ダウンリンク帯域リソースの配分を管理し、特にシステムがクライアントのＶＯＤ応用のために配分した高優先レベルのダウンリンク帯域の制約に基づいて、並列ダウンロードモジュールの複数の接続の間に如何にダウンリンク帯域を配分してサービス品質を保証するかを管理する。
【００２３】
図７はＰ２Ｐモードに基づくコンテンツ配信過程における基本メッセージの配信図である。クライアント１０４（図７ではＡと記す）がプログラムのリクエストまたはプログラムの再生過程において他の再生ポイントへ移動しようとするときに、先ずサーバ１０２にコンテンツ情報要求メッセージＭ１０２を送信する。メッセージフォーマットは図１２に示すとおりである。当該メッセージはユーザーのリクエストしようとするプログラムと開始再生ポイントを明示する。サーバ１０２はクライアントＡにサービスを提供できるピアノードを探し出し、そのプロセスは次の通りである。先ずクライアント再生情報データベース３４２を検索して目標プログラムが保存されているピアノードを探し、次にクライアント再生情報データベース３４６を検索して再生ポイントが近く、バッファリングされているデータでクライアントＡにサービスを提供できるピアノードを探す。サービスを提供できるかどうかはＡとピアノードの再生ポイントの間の関係及びピアノードのバッファエリアの大きさに基づいて判断する。サーバはピアノードの最適化選択方法を用いてもっと良いサービスを提供できるピアノードを選択することができる。例えば、サーバ１０２は、ＩＰアドレスとサブネットマスクから判断してクライアントＡと同一のサブネットにあるピアノードを優先的に選択することができる。同一のサブネット内のピアノードを選択することで、Ｐ２Ｐ接続の配信遅延を減少させる同時に、フローをローカルサブネット内に限定することができる。そして、サーバ１０２はピアコンテンツストレージメッセージＭ１０４をクライアントＡに送信する。ピアコンテンツストレージメッセージＭ１０４にはサーバの選択したＡにサービスを提供できるノードリスト及びノードの対応ストレージコンテンツの情報と再生進捗状況の情報が含まれている。ピアコンテンツストレージメッセージＭ１０４を受信した後に、クライアントＡはいくつかのノードを選択してピア状態探索メッセージＭ１０６を送信する。ピアノードがメッセージＭ１０６を受信した後に、帯域管理モジュール４６０６を通じて高優先レベルでの現在利用可能なアップリンク帯域を知り、サービスを提供できるかを判断し、自分の状態をピア状態報告メッセージＭ１０８によってクライアントＡに返信する。ピア状態報告メッセージＭ１０８には当該ピアノードがサービスを提供できるかが明示されており、同時に自分の状態情報、例えば、ＣＰＵ利用率、高優先レベルでの利用可能な帯域などのような情報も含まれている。クライアントＡは受信した状態報告に基づいて最適な性能を提供できるピアノードを最適端末として選択しサービスを要求する。図７では当該ピアノードをＢと記す。クライアントＡはコンテンツ要求メッセージＭ１１０をＢに送信してサービスを要求する。クライアントＡにサービスを提供できるような適当なピアノードがない場合、サーバは直接クライアントＡにサービスを提供する。
【００２４】
Ｐ２Ｐ接続が十分な性能を提供できれば、即ちＰ２Ｐ接続が十分な利用可能な帯域を有し、ピアノードも非常に安定しており、データが速やかにクライアントＡに送信されて再生できる場合、再びサーバリソースを使用する必要はなくなる。
【００２５】
図７に示すＰ２Ｐモードは、システムの良好な拡張性を与えることができるが、サービス品質の保証は難しい。これは、ユーザー１０４はクライアンドデバイスに属し、本質上では信頼できず、サーバ１０２が完全にコントロールすることは難しいためである。クライアントＡが他クライアントからデータを受信するときに、これらのクライアントはユーザーにより突然オフにされる可能性や、または他のサービスの要素がＰ２Ｐ接続の性能に影響を及ぼすことで、サービスが強制的に中断されてしまうる可能性がある。ピアノードがバッファエリアを使用してＡにサービスを提供する場合、ピアノードが早送りや早戻りまたは他の再生ポイントへの移動などで、継続してサービスを提供できなくなる可能性がある。このようなピアノードの不安定性はＰ２Ｐシステムの性能に対して非常に大きな影響を及ぼす。本発明において、クライアント−サーバモードはクライアントの不安定性による影響を補ってシステムのサービス品質を保証する。
【００２６】
図８はサービス品質を保証する過程における基本メッセージ配信図である。図８に示すように、Ｂの突然のオフや、または再生ポイントの変化や、またはＡとＢの間のＰ２Ｐ接続のネットワーク状況の変化などがあった場合、クライアントＡは、ピアノードＢとのＰ２Ｐ接続の流量に基づいてＰ２Ｐ接続の性能を監視することで、現在のピアノードＢからデータを得ることが難しくなったことに気付くことができる。この場合、Ａは先ずもっとよいサービスを提供できる他のピアノードを探し、例えば図８のＣからサービスを要求する。しかし、代替ノードを探し始めてから代替ノードからデータを受信するまでは一定の遅延が存在し、また、Ｃを探し出したとしても、Ｃも突然サービスを提供できず、新たなサービスを探す必要がある場合があるため、再生しようとするデータをすぐに得られず、サービスが中断してしまう可能性がある。この場合、クライアントよりもサーバの方が信頼できるため、クライアントＡは直接サーバ１０２にサービスを要求する。
【００２７】
図９に示すように、本発明ではいわゆる「緊急ウィンドウ」を定義し、緊急ウィンドウ内のデータは再生しようとするデータを表す。緊急ウィンドウ内に紛失したデータがあると、Ｐ２Ｐの性能がビデオ連続再生の要求を満足できなくなり、ビデオ再生は中断されてしまう可能性があることを示し、クライアントは直ちにクライアント−サーバモードを起動してサーバから現在のデータブロック中の残りのデータを取得する。図８に示すように、クライアントＡはコンテンツ要求メッセージＭ１１０を送信することで直接サーバに現在のデータブロック中の残りのデータを要求する。「緊急ウィンドウ」の大きさは時間によって計算され、通常Ｎ＊ＲＴＴに設置される。ここでＲＴＴはクライアントＡからサーバ１０２までの往復時間を表し、Ｎは安全閾値（例えば、３または４に設置することができる）である。コンテンツサーバ１０２中の帯域管理モジュール３６０６は一部の帯域リソースを予め保留しておいてクライアントとの緊急通信に利用することで、再生しようとするデータが速やかにクライアントに到着することを保証する。
【００２８】
同様に、クライアント１０４中の帯域管理モジュール４６０６は高優先レベルのダウンリンク利用可能な帯域で十分なリソースをサーバとの緊急接続に配分して再生しようとするデータが速やかにクライアントに到着することを保証する。帯域管理モジュール４６０６はまず高優先レベルダウンリンク帯域の制約で現在利用可能な帯域は緊急通信の要求を満足しているかどうかを検査する。即ち、少なくともビデオフローコード率より高いかを検査する。要求を満足する場合、クライアント１０４は緊急通信に必要な帯域だけでなく利用可能なすべての残りの帯域リソースもサーバとの緊急接続（サーバの出口帯域が許可すれば）に割り当てる。要求を満足さない場合、クライアント１０４はいくつかのＰ２Ｐ接続を低優先レベルに調整するか、または直接切断して、高優先レベルのために緊急接続に必要な帯域を空けておく。クライアント１０４が優先レベルを下げるかまたは接続を切断するＰ２Ｐ接続を選択するときに、原則としてダウンロードされるデータが現再生ポイントから離れたＰ２Ｐ接続を優先的に選択し、ダウンロードされるデータが現再生ポイントに近いＰ２Ｐ接続を保留する。サーバから現データブロック中のデータの取得を完了し且つこの時緊急ウィンドウ内に紛失したデータが存在しなければ、緊急通信は終了し、クライアント１０４はサーバとの接続を切断する。同時に、帯域管理モジュールは高優先レベルでの利用可能な帯域をＰ２Ｐ接続の間で再配分する。現在のＰ２Ｐ接続が高優先レベルでの利用可能な帯域（ピアアップリンク帯域の制限により）を十分に利用できていないことに気がつくと、クライアント１０４は低優先レベルに調整されたＰ２Ｐ接続を高優先レベルに復帰し、或いは並列ダウンロードモジュール４６０６によって他のピアユーザーとのＰ２Ｐ接続を強化してダウンリンク帯域リソースを十分に利用する。
【００２９】
図１０はクライアントの完全なフローチャートである。クライアント１０４がプログラムのリクエストを開始し或いはプログラム再生過程で他の再生ポイントへ移動する場合、先ずサーバ１０２にコンテンツ情報要求メッセージを送信する（１００２）。サーバ１０２はデータベースを検索し、保存またはバッファリングされたデータで当該クライアントにサービスを提供できるピアノードを探し出す。その後、サーバはピアコンテンツストレージメッセージの形式で探し出したピアノード情報をクライアントにフィードバックする（１００４）。ピアコンテンツストレージメッセージを受信した後に、クライアントはデータブロックのダウンロードデータの追跡を始める。次にダウンロードしようとするデータブロックに対して、現ピアノードがサービスを提供できなくなった場合（例えば、バッファリングではなく保存したデータでサービスを提供する際に、対応データを保存していない）（１００８）、クライアントはサービスを提供できる（バッファリングまたはストレージで）良い性能を有するピアノードを新たに選定し、そのピアノードにサービスを要求する（１０１０）。現ピアノードがサービスを提供できる場合、現ピアノードに引き続きサービスを要求する。クライアント帯域管理モジュール４６０６は、高優先レベルでのダウンリンク帯域が十分に利用されたかどうかを検査し（１０１２）、利用可能なダウンリンク帯域リソースがまだ残っている場合、クライアントは（１０３０）で低優先レベルに調整されたＰ２Ｐ接続を高優先レベルに復帰するか、あるいは並列ダウンロードモジュール４６０４によって他のピアユーザーとのＰ２Ｐ接続を強化して、ダウンリンク帯域リソースを十分に利用する（１０１４）。クライアント１０４はＰ２Ｐ接続の性能を監視し（１０１６）、Ｐ２Ｐ接続が満足する性能を提供できる場合、クライアント１０４は引き続き現ピアノードからデータを取得する。Ｐ２Ｐ接続が満足する性能を提供できない場合、クライアントはもっと良い性能を提供できるピアノードを探し出して現ノードを代替する（１０１８）。クライアント１０４は同時に緊急ウィンドウ範囲内に取得されていないデータが含まれていないかも持続して監視する（１０２０）。含まれていなければ、クライアントは、現データブロックのダウンロードを完了するまで（１０２６）、ずっとＰ２Ｐモードでサービスを得る（１０２２）。そして、クライアントはすべてのデータのダウンロードを完了したかどうかチェックし（１００６）、完了していなかったら（１００８）に戻り、完了したらダウンロード全過程は終了する。（１０２４）において現データブロックのダウンロードが完了していないと（１０１６）に戻って引き続き性能を監視しながらダウンロードをする。しかし、（１０２０）において「緊急ウィンドウ」内に取得していないデータが存在していることに気が付くと、クライアント帯域管理モジュール４６０６は先ず高優先レベルのダウンリンク帯域の制約で現在利用可能な帯域が緊急通信の需要を満足できるかどうかをチェックする（１０２８）。即ち、少なくともビデオフローコード率より高いかをチェックする。需要を満足できない場合、クライアント１０４はいくつかのＰ２Ｐ接続を選択して低優先レベルに調整するかまたは直接切断して、高優先レベルのためにサーバとの緊急接続の確立に必要な帯域を空けておく（１０３０）。そして、クライアント１０４はサーバと緊急接続を確立して現データブロック中の残りのデータをダウンロードする（１０３２）。サーバ１０２は当該一部のデータを現データブロックのダウンロードが完了するまで（１０３８）クライアントに配信する（１０３４）。そして、クライアント１０４は現緊急ウィンドウ範囲内に取得していないデータが含まれていないかチェックし（１０４０）、含まれていなければ、サーバとの緊急接続を切断し（１０４２）、（１００６）に戻り、含まれていれば、（１０３２）に戻って、引き続きサーバとの緊急接続を利用して次のデータブロック中のデータをダウンロードしてクライアントのサービス品質を保証する。
【００３０】
図１１は複数のサーバの協力場面の略図である。上記の説明においては、主に一つのローカルエリアサーバが一つのローカルエリアネットワークにサービスを提供する場合について述べたが、実際の大規模ＩＰＴＶサーバの配置おいては、複数のローカルエリアネットワークが存在し、各ローカルエリアネットワークには対応するサーバ管理エリアネットワーク中のすべてのクライアントがあり、これらのクライアントにサービスを提供する。そのため、Ｐ２Ｐ接続は同一のローカルエリアネットワーク内のみに発生する。即ちクライアントは同一のローカルエリアネットワーク内に位置する他クライアントのみにサービスを提供するため、Ｐ２Ｐフローは当然ローカルエリアネットワーク内に制限され、エリアを越えたＰ２Ｐフローは存在せず、ローカルエリアネットワークの大切な出口帯域リソースを節約する。
【００３１】
サーバ１０２は他のエリアのサーバと協力してサービス能力を高めることができる。例えば、一つのサーバは容量の制限ですべてのビデオプログラムを保存することは難しく、複数のサーバが存在する状況でビデオデータは複数のサーバの中に分布することができる。クライアント１０４の要求するビデオプログラムが本エリアサーバに存在しなければ、本エリアサーバ１０２は他のサーバから当該プログラムを探して取得し、当該クライアントにフローサービスを提供する。
【００３２】
図１２は本発明で定義したメッセージフォーマットである。
【００３３】
上記実施形態において、クライアントとサーバのデータベースはハードディスクに保存されているが、本発明はこれに限らず、その他のストレージメディアに保存することもできる。
【００３４】
上記実施形態は本発明を説明するためのものであり、本発明の範囲はこれに限らない。本発明の請求範囲と同じ目的の範囲内で実施された様々な修正については本発明の範囲内であると考える。
【産業上の利用可能性】
【００３５】
上述したように、本発明は、Ｐ２Ｐ技術に基づくビデオオンデマンドシステムにおいて、クライアント−サーバモードとＰ２Ｐモードを結びつけることによって、システムが優れた拡張性を有する同時に、一定のサービス品質の保証を提供できるので、ビデオ通信分野での応用が期待できる。
【符号の説明】
【００３６】
３０  ネットワークインターフェース
３２  ＣＰＵ
３４  ハードディスク
３６  メモリ
３８  バス
４０  ネットワークインターフェース
４２  ＣＰＵ
４４  ハードディスク
４６  メモリ
４８  出力デバイス
５０  バス
１０２  コンテンツサーバ
１０４  クライアント
２０２  プログラム
２０４  データブロック
２０６  データサブブロック
２０８  データユニット
３４０  ビデオコンテンツデータベース
３４２  クライアントストレージ情報データベース
３４４  クライアント情報データベース
３４６  クライアント再生情報データベース
３６０  制御部
４４０  ビデオコンテンツデータベース
４４２  クライアントストレージ情報データベース
４６０  制御部
３４２０  クライアントストレージ情報テーブル
３４４０  クライアント情報テーブル
３４６０  クライアント再生情報テーブル
３６００  コンテンツ管理/配信モジュール
３６０２  通信モジュール
３６０４  クライアント再生制御モジュール
３６０６  帯域管理モジュール
４４２０  クライアントストレージ情報テーブル
４６００  コンテンツ管理モジュール
４６０２  通信モジュール
４６０４  並列ダウンロードモジュール
４６０６  帯域管理モジュール
【図１】
2010027053.tif 000003
【図２】
2010027053.tif 000004
【図３】
2010027053.tif 000005
【図４】
2010027053.tif 000006
【図５】
2010027053.tif 000007
【図６】
2010027053.tif 000008
【図７】
2010027053.tif 000009
【図８】
2010027053.tif 000010
【図９】
2010027053.tif 000011
【図１０Ａ】
2010027053.tif 000012
【図１０Ｂ】
2010027053.tif 000013
【図１１】
2010027053.tif 000014
【図１２】
2010027053.tif 000015