(57)【要約】【課題】Ｐ２Ｐのリレー方式の配信網を適切な状態に維持可能にするサーバシステム、クライアント装置、プログラム及び情報記憶媒体等の提供。【解決手段】サーバシステムは、配信網の各ノードから情報を受信する受信部と、各ノードに対して情報を送信する送信部と、ノード管理処理を行うノード管理部とを含む。コンテンツの配信元ノードから配信先ノードに対してＰ２Ｐのリレー方式でコンテンツのデータが先頭データから順に配信される。受信部は、コンテンツ配信を要求して来た新規参加ノードから新規参加ノードでの要求コンテンツの受信開始タイミング特定情報を受信する。ノード管理部は、受信開始タイミング特定情報に基づき新規参加ノードでの要求コンテンツの想定受信開始タイミングを求め、想定受信開始タイミングに基づいて配信網の参加ノードの中から新規参加ノードの接続先候補ノードを検索する。送信部は、接続先候補ノードを要求コンテンツの配信元ノードとして斡旋する通知情報を新規参加ノードに送信する。【選択図】図６
2011150618.tif 000002
【特許請求の範囲】
【請求項１】
配信網の各ノードから情報を受信する受信部と、
前記配信網の前記各ノードに対して情報を送信する送信部と、
前記配信網のノード管理処理を行うノード管理部とを含み、
前記配信網のコンテンツの配信元ノードからコンテンツの配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記受信部は、
コンテンツ配信を要求して来た新規参加ノードから、前記新規参加ノードでの要求コンテンツの受信開始タイミング特定情報を受信し、
前記ノード管理部は、
受信した前記受信開始タイミング特定情報に基づいて前記新規参加ノードでの前記要求コンテンツの想定受信開始タイミングを求め、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記新規参加ノードの接続先候補ノードを検索し、
前記送信部は、
検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を、前記新規参加ノードに送信することを特徴とするサーバシステム。
【請求項２】
請求項１において、
前記配信網の複数の参加ノードに対応する複数の想定受信開始タイミングを記憶する記憶部を含み、
前記ノード管理部は、
前記記憶部に記憶されている前記複数の想定受信開始タイミングの中から、前記新規参加ノードの想定受信開始タイミングよりもタイミングが早く、且つ、前記新規参加ノードの想定受信開始タイミングにタイミングが最も近い想定受信開始タイミングを検索し、検索された想定受信開始タイミングに対応する参加ノードを、前記接続先候補ノードとして決定することを特徴とするサーバシステム。
【請求項３】
請求項１又は２において、
前記受信部は、
前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量を、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、
前記ノード管理部は、
受信した前記データ保持量と、前記配信網の設定通信速度とに基づいて、前記新規参加ノードの前記想定受信開始タイミングを求めることを特徴とするサーバシステム。
【請求項４】
請求項１又は２において、
前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度とに基づいて、前記要求コンテンツの想定受信経過時間が求められ、
前記受信部は、
前記要求コンテンツの前記想定受信経過時間を、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、
前記ノード管理部は、
前記想定受信経過時間に基づいて、前記新規参加ノードの前記想定受信開始タイミングを求めることを特徴とするサーバシステム。
【請求項５】
請求項１又は２において、
前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度と、現在時刻とに基づいて、前記要求コンテンツの想定受信開始タイミングが求められ、
前記受信部は、
前記要求コンテンツの前記想定受信開始タイミングを、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、
前記ノード管理部は、
前記想定受信開始タイミングに基づいて、前記新規参加ノードの接続先候補ノードを検索することを特徴とするサーバシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記ノード管理部は、
前記配信網の設定通信速度よりも通信速度が遅いと判断されたノードを、前記配信網から除外する処理を行うことを特徴とするサーバシステム。
【請求項７】
請求項６において、
前記受信部は、
前記配信網の前記各ノードから、前記各ノードでの回線品質の測定結果情報を受信し、
前記ノード管理部は、
受信した前記測定結果情報に基づいて、前記配信網の前記各ノードでの通信速度が前記設定通信速度に達しているか否かを判断することを特徴とするサーバシステム。
【請求項８】
請求項７において、
前記ノード管理部は、
前記回線品質の測定に協力可能な協力ノードを検索し、
前記送信部は、
検索された前記協力ノードを前記各ノードに斡旋する通知情報を、前記各ノードに送信し、
前記受信部は、
前記各ノードが前記協力ノードと通信接続して前記回線品質の測定を行い、前記回線品質の測定結果情報を前記各ノードが送信した場合に、送信された前記測定結果情報を受信し、
前記ノード管理部は、
受信した前記測定結果情報に基づいて、前記配信網の前記各ノードでの通信速度が前記設定通信速度に達しているか否かを判断することを特徴とするサーバシステム。
【請求項９】
請求項８において、
前記ノード管理部は、
配信元ノードと配信先ノードの両方に前記各ノードが通信接続して前記回線品質の測定が行われるように、前記協力ノードとして、配信元ノードである第１の協力ノードと、配信先ノードである第２の協力ノードを検索し、
前記送信部は、
検索された前記第１、第２の協力ノードの両方を前記各ノードに斡旋する通知情報を、前記各ノードに送信することを特徴とするサーバシステム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記ノード管理部は、
前記要求コンテンツが配信される配信網の参加ノードを抽出し、前記参加ノードの中から前記接続先候補ノードを検索することを特徴とするサーバシステム。
【請求項１１】
配信網の各ノードから情報を受信する受信部と、
前記配信網の前記各ノードに対して情報を送信する送信部と、
前記配信網のノード管理処理を行うノード管理部とを含み、
前記配信網のコンテンツの配信元ノードからコンテンツの配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記受信部は、
コンテンツ配信を要求して来た新規参加ノードから、前記新規参加ノードでの要求コンテンツの想定データ保持量特定情報を受信し、
前記ノード管理部は、
受信した前記想定データ保持量特定情報に基づき特定される前記新規参加ノードでの想定データ保持量と、前記配信網の参加ノードの想定データ保持量とを比較し、比較結果に基づいて、前記配信網の前記参加ノードの中から前記新規参加ノードの接続先候補ノードを検索し、
前記送信部は、
検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を、前記新規参加ノードに送信することを特徴とするサーバシステム。
【請求項１２】
サーバシステムから情報を受信する受信部と、
前記サーバシステムに対して情報を送信する送信部と、
通信管理部とを含み、
前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記送信部は、
コンテンツ配信を要求する場合に、要求コンテンツの受信開始タイミング特定情報を前記サーバシステムに送信し、
前記受信部は、
前記サーバシステムが、前記受信開始タイミング特定情報に基づいて前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、
前記通信管理部は、
前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うことを特徴とするクライアント装置。
【請求項１３】
請求項１２において、
前記送信部は、
クライアント装置が過去に受信して保持している前記要求コンテンツのデータ保持量を、前記受信開始タイミング特定情報として前記サーバシステムに送信し、
前記データ保持量と前記配信網の設定通信速度に基づいて、前記要求コンテンツの想定受信開始タイミングが求められ、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されることを特徴とするクライアント装置。
【請求項１４】
請求項１２において、
前記通信管理部は、
前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度とに基づいて、前記要求コンテンツの想定受信経過時間を求め、
前記送信部は、
求められた前記想定受信経過時間を、前記受信開始タイミング特定情報として前記サーバシステムに送信し、
前記想定受信経過時間に基づいて、前記新規参加ノードの前記想定受信開始タイミングが求められ、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されることを特徴とするクライアント装置。
【請求項１５】
請求項１２において、
前記通信管理部は、
前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度と、現在時刻に基づいて、前記要求コンテンツの想定受信開始タイミングを求め、
前記送信部は、
求められた前記想定受信開始タイミングを、前記受信開始タイミング特定情報として前記サーバシステムに送信し、
前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されることを特徴とするクライアント装置。
【請求項１６】
請求項１３乃至１５のいずれかにおいて、
配信されたコンテンツの再生処理を行うコンテンツ再生部を含み、
前記コンテンツ再生部は、
前記想定受信開始タイミングと前記設定通信速度とにより決まる想定データ保持量までのコンテンツ再生を許可することを特徴とするクライアント装置。
【請求項１７】
サーバシステムから情報を受信する受信部と、
前記サーバシステムに対して情報を送信する送信部と、
通信管理部とを含み、
前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記送信部は、
コンテンツ配信を要求する場合に、要求コンテンツの想定データ保持量特定情報を前記サーバシステムに送信し、
前記受信部は、
前記サーバシステムが、前記想定データ保持量特定情報に基づいて各ノードの想定データ保持量を求め、求められた前記想定データ保持量に基づいて、前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、
前記通信管理部は、
前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うことを特徴とするクライアント装置。
【請求項１８】
サーバシステムから情報を受信する受信部と、
前記サーバシステムに対して情報を送信する送信部と、
通信管理部として、
コンピュータを機能させ、
前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記送信部は、
コンテンツ配信を要求する場合に、要求コンテンツの受信開始タイミング特定情報を前記サーバシステムに送信し、
前記受信部は、
前記サーバシステムが、前記受信開始タイミング特定情報に基づいて前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、
前記通信管理部は、
前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うことを特徴とするプログラム。
【請求項１９】
サーバシステムから情報を受信する受信部と、
前記サーバシステムに対して情報を送信する送信部と、
通信管理部として、
コンピュータを機能させ、
前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、
前記送信部は、
コンテンツ配信を要求する場合に、要求コンテンツの想定データ保持量特定情報を前記サーバシステムに送信し、
前記受信部は、
前記サーバシステムが、前記想定データ保持量特定情報に基づいて各ノードの想定データ保持量を求め、求められた前記想定データ保持量に基づいて、前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、
前記通信管理部は、
前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うことを特徴とするプログラム。
【請求項２０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１８又は１９に記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム、クライアント装置、プログラム、及び情報記憶媒体等に関する。
【背景技術】
【０００２】
近年、インターネット等の配信網を介して、映像、音声等のコンテンツのストリームデータを配信するサービスが増加している。このようなコンテンツの配信サービスでは、配信網のより一層の広帯域化が望まれているが、サーバを管理する配信業者のコスト負担が重く、例えばフルハイビジョン対応の高品質な映像コンテンツを視聴者に対して提供することが難しかった。
【０００３】
このような問題を解決するために、例えば特許文献１に開示されるように、いわゆるＰ２Ｐ（Peer to Peer）のリレー方式（バケツリレー方式、キャッシュ・アンド・トス方式）でコンテンツを配信するシステムが提案されている。この特許文献１の技術では、配信網の各ノード間でストリームデータの送受信を行うために、各ノードは、上流ノードと下流ノードの接続関係を示すトポロジー情報を交換して、上流ノードから下流ノードへストリームデータを中継している。
【０００４】
このようなＰ２Ｐのリレー方式では、配信網に参加しているノードが、コンテンツの受信途中で配信網から離脱する場合がある。例えば映像コンテンツの視聴の途中で、ユーザが所用により視聴を中断する場合などである。
【０００５】
このような場合に、そのノードのクライアント装置の記憶部（ＨＤＤ等）には、視聴の中断時までの映像コンテンツのデータが蓄積されている。従って、映像コンテンツの配信をＰ２Ｐのリレー方式で実現する場合、映像コンテンツのどの辺りのデータまでを受信しているのかを示す情報は、適切なコンテンツ配信元ノードを検索するためには、重要な情報になる。
【０００６】
しかしながら、当該ノードが、映像コンテンツのデータをどれくらいキャッシュして保持しているかは、当該ノードに適宜問い合わせをしなければ、サーバは知ることができない。ところが、そのような問い合わせを行うと、サーバは、候補となる全てのノードに対して、常時、そのような問い合わせを行わなければならなくなり、配信網の通信帯域を圧迫する。即ち、コンテンツ配信のための配信網の通信帯域が、このような問い合わせの通信のために圧迫されて、コンテンツ配信に対して悪影響を及ぼしてしまう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１６９０８９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の幾つかの態様によれば、Ｐ２Ｐのリレー方式の配信網を適切な状態に維持可能にするサーバシステム、クライアント装置、プログラム及び情報記憶媒体等を提供できる。
【課題を解決するための手段】
【０００９】
本発明の一態様は、配信網の各ノードから情報を受信する受信部と、前記配信網の前記各ノードに対して情報を送信する送信部と、前記配信網のノード管理処理を行うノード管理部とを含み、前記配信網のコンテンツの配信元ノードからコンテンツの配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、前記受信部は、コンテンツ配信を要求して来た新規参加ノードから、前記新規参加ノードでの要求コンテンツの受信開始タイミング特定情報を受信し、前記ノード管理部は、受信した前記受信開始タイミング特定情報に基づいて前記新規参加ノードでの前記要求コンテンツの想定受信開始タイミングを求め、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記新規参加ノードの接続先候補ノードを検索し、前記送信部は、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を、前記新規参加ノードに送信するサーバシステムに関係する。
【００１０】
本発明の一態様によれば、コンテンツのデータは、配信元ノードから配信先ノードに対してＰ２Ｐのリレー方式で先頭データから順に配信され、各ノードに蓄積される。サーバシステムは、新規参加ノードから受信開始タイミング特定情報を受信し、受信した受信開始タイミング特定情報に基づいて、新規参加ノードでの要求コンテンツの想定受信開始タイミングを特定し、新規参加ノードの接続先候補ノードを検索する。そして検索された接続先候補ノードを斡旋する通知情報を新規参加ノードに送信する。このようにすれば、新規参加ノードに対して、想定受信開始タイミングに応じた適切な接続先候補ノードを斡旋することができ、配信網を適切な状態に維持することが可能になる。
【００１１】
また本発明の一態様では、前記配信網の複数の参加ノードに対応する複数の想定受信開始タイミングを記憶する記憶部を含み、前記ノード管理部は、前記記憶部に記憶されている前記複数の想定受信開始タイミングの中から、前記新規参加ノードの想定受信開始タイミングよりもタイミングが早く、且つ、前記新規参加ノードの想定受信開始タイミングにタイミングが最も近い想定受信開始タイミングを検索し、検索された想定受信開始タイミングに対応する参加ノードを、前記接続先候補ノードとして決定してもよい。
【００１２】
このようにすれば、サーバシステムの記憶部に複数の参加ノードに対応する複数の想定受信開始タイミングを記憶し、これらの想定受信開始タイミングを管理することで、接続先候補ノードを新規参加ノードに斡旋するノード管理処理を実現できるようになる。
【００１３】
また本発明の一態様では、前記受信部は、前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量を、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、前記ノード管理部は、受信した前記データ保持量と、前記配信網の設定通信速度とに基づいて、前記新規参加ノードの前記想定受信開始タイミングを求めてもよい。
【００１４】
このようにすれば、新規参加ノードから受信開始タイミング特定情報として受信したデータ保持量と、配信網の設定通信速度とに基づいて想定受信開始タイミングを特定し、特定された想定受信開始タイミングに基づいて、新規参加ノードの接続先候補ノードを検索することが可能になる。
【００１５】
また本発明の一態様では、前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度とに基づいて、前記要求コンテンツの想定受信経過時間が求められ、前記受信部は、前記要求コンテンツの前記想定受信経過時間を、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、前記ノード管理部は、前記想定受信経過時間に基づいて、前記新規参加ノードの前記想定受信開始タイミングを求めてもよい。
【００１６】
このようにすれば、新規参加ノードから受信開始タイミング特定情報として受信した想定受信経過時間に基づいて想定受信開始タイミングを特定し、特定された想定受信開始タイミングに基づいて、新規参加ノードの接続先候補ノードを検索することが可能になる。
【００１７】
また本発明の一態様では、前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度と、現在時刻とに基づいて、前記要求コンテンツの想定受信開始タイミングが求められ、前記受信部は、前記要求コンテンツの前記想定受信開始タイミングを、前記受信開始タイミング特定情報として前記新規参加ノードから受信し、前記ノード管理部は、前記想定受信開始タイミングに基づいて、前記新規参加ノードの接続先候補ノードを検索してもよい。
【００１８】
このようにすれば、新規参加ノードから受信開始タイミング特定情報として受信した想定受信開始タイミングに基づいて、新規参加ノードの接続先候補ノードを検索することが可能になる。
【００１９】
また本発明の一態様では、前記ノード管理部は、前記配信網の前記設定通信速度よりも通信速度が遅いと判断されたノードを、前記配信網から除外する処理を行ってもよい。
【００２０】
このようにすれば、配信網に参加するノードの通信速度が設定通信速度以上になるように維持することが可能になり、想定受信開始タイミングに基づくノード接続管理を適正に実現できるようになる。
【００２１】
また本発明の一態様では、前記受信部は、前記配信網の前記各ノードから、前記各ノードでの回線品質の測定結果情報を受信し、前記ノード管理部は、受信した前記測定結果情報に基づいて、前記配信網の前記各ノードでの通信速度が前記設定通信速度に達しているか否かを判断してもよい。
【００２２】
このようにすれば、各ノードにおいて回線品質の測定を行い、サーバシステムは、その測定結果情報に基づいて、各ノードでの通信速度が設定通信速度に達しているか否かを判断できるようになる。
【００２３】
また本発明の一態様では、前記ノード管理部は、前記回線品質の測定に協力可能な協力ノードを検索し、前記送信部は、検索された前記協力ノードを前記各ノードに斡旋する通知情報を、前記各ノードに送信し、前記受信部は、前記各ノードが前記協力ノードと通信接続して前記回線品質の測定を行い、前記回線品質の測定結果情報を前記各ノードが送信した場合に、送信された前記測定結果情報を受信し、前記ノード管理部は、受信した前記測定結果情報に基づいて、前記配信網の前記各ノードでの通信速度が前記設定通信速度に達しているか否かを判断してもよい。
【００２４】
このようにすれば、各ノードは、サーバシステムから斡旋された協力ノードと通信接続して、回線品質を測定できるようになるため、回線品質の測定精度を向上できる。なお協力ノードは、例えば、コンテンツのデータの受信は完了しているが、電源等は投入されており、配信網との通信接続が可能なノードである。
【００２５】
また本発明の一態様では、前記ノード管理部は、配信元ノードと配信先ノードの両方に前記各ノードが通信接続して前記回線品質の測定が行われるように、前記協力ノードとして、配信元ノードである第１の協力ノードと、配信先ノードである第２の協力ノードを検索し、前記送信部は、検索された前記第１、第２の協力ノードの両方を前記各ノードに斡旋する通知情報を、前記各ノードに送信してもよい。
【００２６】
このようにすれば、コンテンツ配信時と同様の通信環境を再現して、回線品質を測定できるようになる。
【００２７】
また本発明の一態様では、前記ノード管理部は、前記要求コンテンツが配信される配信網の参加ノードを抽出し、前記参加ノードの中から前記接続先候補ノードを検索してもよい。
【００２８】
このようにすれば、新規参加ノードが要求するコンテンツが配信される配信網の参加ノードの中から、要求コンテンツの配信元ノードを接続先候補ノードとして検索できるようになる。
【００２９】
また本発明の他の態様は、配信網の各ノードから情報を受信する受信部と、前記配信網の前記各ノードに対して情報を送信する送信部と、前記配信網のノード管理処理を行うノード管理部とを含み、前記配信網のコンテンツの配信元ノードからコンテンツの配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、前記受信部は、コンテンツ配信を要求して来た新規参加ノードから、前記新規参加ノードでの要求コンテンツの想定データ保持量特定情報を受信し、前記ノード管理部は、受信した前記想定データ保持量特定情報に基づき特定される前記新規参加ノードでの想定データ保持量と、前記配信網の参加ノードの想定データ保持量とを比較し、比較結果に基づいて、前記配信網の前記参加ノードの中から前記新規参加ノードの接続先候補ノードを検索し、前記送信部は、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を、前記新規参加ノードに送信してもよい。
【００３０】
本発明の他の態様によれば、サーバシステムは、新規参加ノードから想定データ保持量特定情報を受信し、受信した想定データ保持量特定情報に基づいて想定データ保持量を特定する。そして特定された想定データ保持量と、配信網の参加ノードの想定データ保持量とを比較することで、新規参加ノードの接続先候補ノードを検索する。そして検索された接続先候補ノードを斡旋する通知情報を新規参加ノードに送信する。このようにすれば、新規参加ノードに対して、想定データ保持量に応じた適切な接続先候補ノードを斡旋することができ、配信網を適切な状態に維持することが可能になる。
【００３１】
また本発明の他の態様は、サーバシステムから情報を受信する受信部と、前記サーバシステムに対して情報を送信する送信部と、通信管理部とを含み、前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、前記送信部は、コンテンツ配信を要求する場合に、要求コンテンツの受信開始タイミング特定情報を前記サーバシステムに送信し、前記受信部は、前記サーバシステムが、前記受信開始タイミング特定情報に基づいて前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、前記通信管理部は、前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うクライアント装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３２】
本発明の他の態様によれば、クライアント装置は、要求コンテンツの受信開始タイミング特定情報をサーバシステムに送信する。そしてサーバシステムがこの受信開始タイミング特定情報を用いて接続先候補ノードを検索し、検索された接続先候補ノードを斡旋する通知情報を送信すると、その通知情報を受信する。そして斡旋された接続先候補ノードに対して、コンテンツ配信元ノードとして通信接続する。このようにすればクライアント装置は、想定受信開始タイミングに応じた適切な接続先候補ノードの斡旋をサーバシステムから受け、この接続先候補ノードに通信接続して要求コンテンツを受信することが可能になる。
【００３３】
また本発明の他の態様では、前記送信部は、クライアント装置が過去に受信して保持している前記要求コンテンツのデータ保持量を、前記受信開始タイミング特定情報として前記サーバシステムに送信し、前記データ保持量と設定通信速度に基づいて、前記要求コンテンツの想定受信開始タイミングが求められ、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されてもよい。
【００３４】
このようにすればクライアント装置は、受信開始タイミング特定情報としてデータ保持量をサーバシステムに送信し、このデータ保持量に基づき特定された想定受信開始タイミングにより、接続先候補ノードが検索され、検索された接続先候補ノードの斡旋をサーバシステムから受けることが可能になる。
【００３５】
また本発明の他の態様では、前記通信管理部は、前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度とに基づいて、前記要求コンテンツの想定受信経過時間を求め、前記送信部は、求められた前記想定受信経過時間を、前記受信開始タイミング特定情報として前記サーバシステムに送信し、前記想定受信経過時間に基づいて、前記新規参加ノードの前記想定受信開始タイミングが求められ、求められた前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されてもよい。
【００３６】
このようにすればクライアント装置は、受信開始タイミング特定情報として想定受信経過時間をサーバシステムに送信し、この想定受信経過時間に基づき特定された想定受信開始タイミングにより、接続先候補ノードが検索され、検索された接続先候補ノードの斡旋をサーバシステムから受けることが可能になる。
【００３７】
また本発明の他の態様では、前記通信管理部は、前記新規参加ノードが過去に受信して保持している前記要求コンテンツのデータ保持量と、前記配信網の設定通信速度と、現在タイミングに基づいて、前記要求コンテンツの想定受信開始タイミングを求め、前記送信部は、求められた前記想定受信開始タイミングを、前記受信開始タイミング特定情報として前記サーバシステムに送信し、前記想定受信開始タイミングに基づいて、前記配信網の参加ノードの中から前記接続先候補ノードが検索されてもよい。
【００３８】
このようにすればクライアント装置は、受信開始タイミング特定情報として想定受信開始タイミングをサーバシステムに送信し、この想定受信開始タイミングにより接続先候補ノードが検索され、検索された接続先候補ノードの斡旋をサーバシステムから受けることが可能になる。
【００３９】
また本発明の他の態様では、配信されたコンテンツの再生処理を行うコンテンツ再生部を含み、前記コンテンツ再生部は、前記想定受信開始タイミングと前記設定通信速度とにより決まる想定データ保持量までのコンテンツ再生を許可してもよい。
【００４０】
このようにすれば、新規参加ノードが接続先候補ノードに接続されることにより、例えば新規参加ノードのコンテンツ配信先となるノードに対して不利益が及ぶ事態等を防止することが可能になる。
【００４１】
また本発明の他の態様は、サーバシステムから情報を受信する受信部と、前記サーバシステムに対して情報を送信する送信部と、通信管理部とを含み、前記配信網のコンテンツ配信元ノードからコンテンツ配信先ノードに対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信され、前記送信部は、コンテンツ配信を要求する場合に、要求コンテンツの想定データ保持量特定情報を前記サーバシステムに送信し、前記受信部は、前記サーバシステムが、前記想定データ保持量特定情報に基づいて各ノードの想定データ保持量を求め、求められた前記想定データ保持量に基づいて、前記配信網の参加ノードの中から接続先候補ノードを検索して、検索された前記接続先候補ノードを前記要求コンテンツの配信元ノードとして斡旋する通知情報を送信した場合に、送信された前記通知情報を受信し、前記通信管理部は、前記通知情報によって斡旋された前記接続先候補ノードに対して通信接続する処理を行うクライアント装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００４２】
本発明の他の態様によれば、クライアント装置は、要求コンテンツの想定データ保持量特定情報をサーバシステムに送信する。そしてサーバシステムが、この想定データ保持量特定情報を用いて接続先候補ノードを検索し、検索された接続先候補ノードを斡旋する通知情報を送信すると、その通知情報を受信する。そして斡旋された接続先候補ノードに対して、コンテンツ配信元ノードとして通信接続する。このようにすればクライアント装置は、想定データ保持量に応じた適切な接続先候補ノードの斡旋をサーバシステムから受け、この接続先候補ノードに通信接続して要求コンテンツを受信することが可能になる。
【図面の簡単な説明】
【００４３】
【図１】本実施形態のサーバシステムの構成例。
【図２】図２（Ａ）、図２（Ｂ）は、配信網のトポロジーの他の例。
【図３】本実施形態のクライアント装置の構成例。
【図４】図４（Ａ）、図４（Ｂ）はＰ２Ｐのリレー方式の配信網において新規参加ノードが参加した場合の課題についての説明図。
【図５】図５（Ａ）〜図５（Ｃ）は本実施形態のノード接続管理手法の説明図。
【図６】図６（Ａ）、図６（Ｂ）は想定受信開始時刻（想定受信開始タイミング）を用いたノード接続管理手法の説明図。
【図７】図７（Ａ）、図７（Ｂ）は受信開始時刻特定情報（受信開始タイミング特定情報）がデータ保持量である場合のノード接続管理手法の説明図。
【図８】受信開始時刻特定情報（受信開始タイミング特定情報）が想定受信経過時間である場合のノード接続管理手法の説明図。
【図９】想定データ保持量を用いたノード接続管理手法の説明図。
【図１０】本実施形態の処理を説明するためのフローチャート。
【図１１】本実施形態の処理を説明するためのデータフロー図。
【図１２】図１２（Ａ）〜図１２（Ｃ）は配信網からのノードの除外処理の説明図。
【図１３】図１３（Ａ）〜図１３（Ｅ）は協力ノードを用いて回線品質の測定処理を行う手法の説明図。
【図１４】本実施形態の回線品質の測定処理を説明するためのフローチャート。
【図１５】本実施形態の回線品質の測定処理を説明するためのデータフロー図。
【図１６】本実施形態のノード除外処理を説明するためのフローチャート。
【図１７】本実施形態のノード除外処理を説明するためのデータフロー図。
【図１８】図１８（Ａ）〜図１８（Ｃ）は想定データ保持量までのコンテンツ再生を許可する手法の説明図。
【発明を実施するための形態】
【００４４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４５】
１．サーバシステム
図１に本実施形態により実現されるサーバシステムの構成例を示す。このサーバシステムは、クライアントとなる複数のノードＮ１〜Ｎ１０を有する配信網１０に接続される。
【００４６】
配信網１０（ネットワーク、通信回線）は、例えばインターネットを利用した通信路であり、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網等の通信網を含むことができる。また通信方法については有線／無線を問わない。配信網１０は、相互に通信接続される複数のノードＮ１〜Ｎ１０を含み、各ノードは、インターネット等への接続機能を有するクライアント装置により構成される。
【００４７】
図１の配信網１０は、コンテンツ配信元（サーバシステム、コンテンツ配信部）から直列接続（接続）される基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０の列である基幹ノード列ＫＮＬを含む。即ち、これらの基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０は、サーバシステムから下方向（第１の方向）に一列に直列接続される。
【００４８】
また配信網１０は、基幹ノード列ＫＮＬの各基幹ノード（起点ノード）に直列接続（接続）される分岐ノードの列ＢＮＬ１、ＢＮＬ２、ＢＮＬ３を含む。具体的には、分岐ノード列ＢＮＬ１を構成する分岐ノードＮ２、Ｎ４、Ｎ７は、基幹ノードＮ１に対して直列接続される。即ち、分岐ノードＮ２、Ｎ４、Ｎ７は、基幹ノードＮ１から、横方向（第１の方向に直交する第２の方向）に分岐することなく一列に直列接続される。分岐ノード列ＢＮＬ２を構成する分岐ノードＮ５、Ｎ８や、分岐ノード列ＢＮＬ３を構成する分岐ノードＮ９も、同様である。
【００４９】
なおＮ１〜Ｎ１０の各ノードの番号は、コンテンツの配信順番号（ノードの追加順番）を表している。具体的には、起点となるノードＮ１（上位ノード）は、そのコンテンツ配信元であるサーバ（サーバシステム、コンテンツ配信部）からコンテンツを受信する。そして受信したコンテンツを中継して、そのコンテンツ配信先ノードＮ２、Ｎ３（下位ノード）に送信（再送）する。ノードＮ２（上位ノード）は、そのコンテンツ配信元ノードＮ１からコンテンツを受信すると、そのコンテンツを中継して、そのコンテンツ配信先ノードＮ４（下位ノード）に送信する。同様にノードＮ３（上位ノード）も、そのコンテンツ配信元ノードＮ１からコンテンツを受信すると、そのコンテンツを中継して、そのコンテンツ配信先ノードＮ５、Ｎ６（下位ノード）に送信する。
【００５０】
なお本実施形態が適用される配信網は図１のトポロジーに限定されない。例えば図２（Ａ）に、本実施形態が適用される配信網として、順序型配信網の例を示す。
【００５１】
図２（Ａ）では、コンテンツ配信元であるサーバに対してノードＮ１、Ｎ２、Ｎ３が配信順（ノードの追加順番）に直列接続されている。即ち図２（Ａ）では、ノードＮ１は、サーバからコンテンツを受信すると、受信したコンテンツを中継してノードＮ２に送信する。ノードＮ２は、ノードＮ１からコンテンツを受信すると、受信したコンテンツを中継してノードＮ３に送信する。そして図２（Ａ）の順序型配信網では、ノードＮ２であるクライアントが、視聴終了や回線切断により配信網から除外されると、その前後のノードであるＮ１とＮ３とを接続することで、配信網を維持する。
【００５２】
図２（Ｂ）に、本実施形態が適用される配信網として、二分木型配信網の例を示す。図２（Ｂ）の二分木構造の配信網によれば、ノードが分岐されているため、図２（Ａ）の配信網に比べて、末端のノードでの配信時間のタイムラグを短縮できるという利点がある。但し、視聴終了や回線切断により配信網から特定のノードが除外された場合に、配信順を崩さないようにするノードのトポロジーの再構築処理の負荷が大きいという不利点もある。
【００５３】
この点、図１の配信網のトポロジーによれば、末端のノードＮ７、Ｎ８、Ｎ９、Ｎ１０での配信開始のタイムラグを、同じノード数で比較した場合に図２（Ａ）に比べて小さくできる。また、配信順の維持のためのトポロジー再構築の処理負荷を、図２（Ｂ）に比べて軽くできるという利点がある。
【００５４】
本実施形態のサーバシステムは、コンテンツ配信部１１０、受信部１２０、送信部１３０、ノード管理部１４０、記憶部１７０を含む。なお、サーバシステムは図１の構成に限定されず、これらの一部の構成要素（例えばコンテンツ配信部）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５５】
記憶部１７０は、コンテンツ配信やサーバ管理やノード管理に必要な様々な情報を記憶するものであり、例えばＭｙＳＱＬなどのリレーショナルデータベース（データベースサーバ）などにより実現できる。記憶部１７０は、例えば配信管理情報、サーバ管理情報、ノード管理情報、ユーザ情報などを記憶する。具体的には記憶部１７０は、コンテンツ記憶部１７２、管理情報記憶部１７４を含む。コンテンツ記憶部１７２は、配信対象となる映像、音声等のコンテンツを記憶する。管理情報記憶部１７４は、ノード管理処理のためのノード管理情報（ノード情報、配信網情報等）を記憶する。
【００５６】
コンテンツ配信部１１０（コンテンツサーバ、コンテンツ配信元）は、記憶部１７０のコンテンツ記憶部１７２（コンテンツデータベース）に記憶される映像（映画）、音声（音楽）、静止画、テキスト、ゲームプログラム、ゲームデータ等のコンテンツの配信処理（ストリーム配信）を行う。具体的には、配信網１０のコンテンツ配信元の各ノードからコンテンツ配信先の各ノードに対してＰ２Ｐ（Peer to Peer）のリレー方式で配信されるコンテンツを、基幹ノード列ＫＮＬの起点の基幹ノードＮ１に対して送信する。すると、コンテンツ配信部１１０からコンテンツを受信した基幹ノードＮ１は、コンテンツ配信元として、そのコンテンツ配信先のノードＮ２、Ｎ３に対してリレー方式でコンテンツを配信（ストリーム転送）する。この場合にコンテンツ配信部１１０は、必要であれば、ＤＥＳ、ＡＥＳ等の共通鍵暗号化方式や、公開鍵暗号化方式などで、コンテンツの暗号化処理を行う。そしてクライアントである各ノードは、暗号化されたコンテンツの復号化処理を行う。また各ノードは、コンテンツの復号化処理や再生処理を行うと共に、後段の下位のノードに対してコンテンツを再配信する中継処理を行う。
【００５７】
受信部１２０は、情報の受信処理を行う。例えば配信網１０の各ノード（或いはサーバ）から情報を受信する処理を行う。送信部１３０は、情報の送信処理を行う。例えば配信網１０の各ノードに対して情報を送信する処理を行う。これらの受信部１２０、送信部１３０は、インターネット等のプロトコルに従った通信に必要な各種処理を行う。
【００５８】
ノード管理部１４０（ノード管理サーバ、斡旋サーバ）は、配信網１０のノード管理処理を行う。例えば配信網１０への新規参加ノードの追加処理や、視聴終了や回線切断されたノードを配信網１０から除外する処理や、ノード列の接続を組み替える処理や、ノードからの各種要求に応答する処理や、ノードに対して各種要求を発行する処理などを行う。例えばノード管理部１４０は、配信網１０に新規参加ノードが追加された場合に、コンテンツ配信先ノードの接続が可能なノードのうち、配信網１０への追加順番（配信順）が最も古いノードを検索し、検索されたノードに対して新規参加ノードを接続してもよい。またノード管理部１４０は、視聴終了や回線切断により配信網１０から分岐ノードが除外され、除外された分岐ノードのコンテンツ配信先ノードとして下位の分岐ノードが存在する場合には、除外された分岐ノードの上位のノードを、その下位の分岐ノードに接続する。一方、視聴終了や回線切断により配信網１０から基幹ノードが除外され、除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在する場合には、その分岐ノードを繰り上げて、新たな基幹ノードに設定する。
【００５９】
そして本実施形態では、配信網１０のコンテンツの配信元ノード（例えばＮ１）からコンテンツの配信先ノード（例えばＮ２やＮ３）に対して、Ｐ２Ｐ（Peer to Peer）のリレー方式で、コンテンツのデータが先頭データから順に配信される。例えばサーバシステムは、コンテンツの先頭データから順に最終データまで、ノードＮ１に対してコンテンツのデータを順次配信する。そしてノードＮ１は、サーバシステムから受信したコンテンツの先頭データから順に最終データまで、配信先ノードＮ２やＮ３に対してコンテンツのデータを順次配信する。するとノードＮ２は、ノードＮ１から受信したコンテンツの先頭データから順に最終データまで、配信先ノードＮ４に対してコンテンツのデータを順次配信する。
【００６０】
受信部１２０は、コンテンツ配信を要求して来た新規参加ノードから、新規参加ノードでの要求コンテンツの受信開始タイミング特定情報（狭義には受信開始時刻特定情報）を受信する。即ち、配信網１０への新規参加ノードは、所望のコンテンツの配信をサーバシステムに要求する。新規参加ノードは、当該要求コンテンツのデータの一部を、前回のコンテンツ配信により既に保持しているノードであってもよいし、当該要求コンテンツのデータを未だ保持していないノードであってもよい。この新規参加ノードは、例えばコンテンツの配信要求と共に要求コンテンツの受信開始タイミング特定情報を送信し、サーバシステムが、これを受信する。
【００６１】
するとノード管理部１４０は、新規参加ノードから受信した受信開始タイミング特定情報に基づいて、新規参加ノードでの要求コンテンツの想定受信開始タイミング（狭義には想定受信開始時刻）を求める。そして求められた想定受信開始タイミング（仮想的な受信開始タイミング、受信開始時刻）に基づいて、配信網１０の参加ノードの中から新規参加ノードの接続先候補ノード（斡旋ノード）を検索（特定）する。
【００６２】
ここで想定受信開始タイミング（想定受信開始時刻）は、例えば配信網１０の設定通信速度（狭義には最低保証通信速度）や現在時刻から特定される、当該ノードでの仮想的なコンテンツの受信開始タイミング（受信開始時刻）である。また設定通信速度は、配信網１０に設定される通信速度である。具体的には、例えば当該配信網１０に参加するノードに要求される最低限の通信速度であり、例えば後述する回線品質の測定処理により、配信網１０に参加するノードでの通信速度は、この設定通信速度以上（最低保証通信速度以上）であることが保証されている。
【００６３】
そして送信部１３０は、ノード管理部１４０により検索された接続先候補ノードを、要求コンテンツの配信元ノードとして斡旋する通知情報を、新規参加ノードに送信する。即ち、検索された接続先候補ノードを特定する情報を含む通知情報を、新規参加ノードに送信する。
【００６４】
また記憶部１７０（管理情報記憶部）は、配信網１０に参加する複数の参加ノードに対応する複数の想定受信開始タイミングを記憶する。即ち図１において配信網１０に参加（通信接続）しているＮ１〜Ｎ１０の各ノードの想定受信開始タイミングを記憶する。
【００６５】
ノード管理部１４０は、記憶部１７０に記憶されている複数の想定受信開始タイミング（Ｎ１〜Ｎ１０の想定受信開始タイミング）の中から、新規参加ノードの想定受信開始タイミング（想定受信開始時刻）よりもタイミング（時刻）が早く、且つ、新規参加ノードの想定受信開始タイミングにタイミング（時刻）が最も近い想定受信開始タイミングを検索する。そして検索された想定受信開始タイミングに対応する参加ノードを、接続先候補ノードとして決定する。そして送信部１３０は、決定された当該接続先候補ノードを配信元ノードとして斡旋する通知情報を、新規参加ノードに送信する。
【００６６】
なお、受信開始タイミング特定情報としては種々の情報を想定できる。例えば受信部１２０は、新規参加ノードが過去に受信して保持している要求コンテンツのデータ保持量（データ蓄積量、データ保持率）を、受信開始タイミング特定情報として新規参加ノードから受信してもよい。この場合にはノード管理部１４０は、受信したデータ保持量（データ保持量と等価な情報を含む）と、配信網１０の設定通信速度とに基づいて、新規参加ノードの想定受信開始タイミングを求める。例えば、新規参加ノードのデータ保持量（ビット）をＤＱとし、現在時刻をＴＣとし、設定通信速度（ｂｐｓ）をＶＬとした場合に、想定受信開始タイミングＴＳは、例えばＴＳ＝ＴＣ−ＤＱ／ＶＬの関係式により求めることができる。
【００６７】
或いは、新規参加ノードが過去に受信して保持している要求コンテンツのデータ保持量と、配信網１０の設定通信速度とに基づいて、要求コンテンツの想定受信経過時間を、各ノード（クライアント装置）において求めてもよい。この場合には受信部１２０は、要求コンテンツの想定受信経過時間を、受信開始タイミング特定情報として新規参加ノードから受信する。例えば想定受信経過時間として、ＤＱ／ＶＬを新規参加ノードから受信する。そしてノード管理部１４０は、受信した想定受信経過時間（ＤＱ／ＶＬ）に基づいて、新規参加ノードの想定受信開始タイミング（例えばＴＳ＝ＴＣ−ＤＱ／ＶＬ）を求める。
【００６８】
或いは、データ保持量と設定通信速度と現在時刻に基づいて、要求コンテンツの想定受信開始タイミングを、各ノード（クライアント装置）において求めてもよい。この場合には受信部１２０は、要求コンテンツの想定受信開始タイミングを、受信開始タイミング特定情報として新規参加ノードから受信する。例えば想定受信開始タイミングとして、ＴＳ＝ＴＣ−ＤＱ／ＶＬを新規参加ノードから受信する。そしてノード管理部１４０は、受信した想定受信開始タイミングに基づいて、新規参加ノードの接続先候補ノードを検索する。
【００６９】
また受信部１２０は、新規参加ノードでの要求コンテンツの想定データ保持量特定情報（データ保持量）を新規参加ノードから受信してもよい。この場合には、ノード管理部１４０は、受信した想定データ保持量特定情報に基づき特定される新規参加ノードでの想定データ保持量と、配信網１０の参加ノードの想定データ保持量とを比較する。そして比較結果に基づいて、配信網１０の参加ノードの中から新規参加ノードの接続先候補ノードを検索する。具体的には、新規参加ノードの想定データ保持量よりもその想定データ保持量が多く、且つ、新規参加ノードの想定データ保持量に最も近い想定データ保持量を有するノードを、接続先候補ノードとして検索する。そして送信部１３０は、このようにして検索された接続先候補ノードを斡旋する通知情報を送信する。
【００７０】
またノード管理部１４０は、配信網１０の設定通信速度よりも通信速度が遅いと判断（評価）されたノードを、配信網１０から除外（排除）する処理を行ってもよい。例えば、配信網１０の参加時においては通信速度が設定通信速度以上であったノードであっても、通信環境の変化等により通信速度が設定通信速度に達しなくなったノードについては、配信網１０から除外して、配信網１０に通信接続できないようにする。この場合に、例えば、当該配信網１０よりも設定通信速度が低い配信網に参加できるように、設定通信速度が低い配信網のコンテンツの配信元ノードを、斡旋（紹介）してもよい。
【００７１】
配信網１０に参加している各ノードの通信速度の評価手法としては種々の手法が考えられる。例えば本実施形態では、受信部１２０は、配信網１０の各ノードから、各ノードでの回線品質（通信速度等の品質）の測定結果情報（測定通信速度情報）を受信する。そしてノード管理部１４０は、受信した測定結果情報に基づいて、配信網１０の各ノードでの通信速度が設定通信速度に達しているか否かを判断する。そして設定通信速度に達していなかった場合には、当該ノードを配信網１０から除外する決定を行う。
【００７２】
更に具体的にはノード管理部１４０は、回線品質の測定に協力可能な協力ノードを検索する。ここで回線品質の測定に協力可能な協力ノードとは、例えば、既にコンテンツのデータの受信が完了しているノードである。例えばコンテンツのデータの受信を完了しており、配信網１０との通信接続は終了しているが、電源等が投入されており、配信網１０との通信接続が可能なノード（クライアント装置）の中から、協力ノードを検索する。このような協力ノードは、コンテンツのデータの送受信は行っていない。従って、このような協力ノードと各ノードが通信接続して回線品質の測定を行えば、適正な回線品質測定結果を得ることが可能になる。また配信網１０の通信の安定性を維持しながら、各ノードの回線品質の測定に協力するノードを選び出すことが可能になる。
【００７３】
そして送信部１３０は、検索された協力ノードを各ノードに斡旋（紹介）する通知情報を、各ノードに送信する。そして各ノードは、当該協力ノードと通信接続して回線品質の測定を行い、回線品質の測定結果情報を送信する。すると受信部１２０は、送信された測定結果情報を受信する。そしてノード管理部１４０は、受信した測定結果情報（各ノードの通信速度や通信速度の測定結果）に基づいて、配信網１０の各ノードでの通信速度が設定通信速度に達しているか否かを判断する。即ち通信速度が設定通信速度以上か否かを判断する。そして設定通信速度よりも遅い場合には、当該ノードを除外対象の候補とする。
【００７４】
またノード管理部１４０は、コンテンツの配信元ノードと配信先ノードの両方に各ノードが通信接続して回線品質の測定が行われるように、協力ノードとして、配信元ノードである第１の協力ノードと、配信先ノードである第２の協力ノードを検索する。そして送信部１３０は、検索された第１、第２の協力ノードの両方を各ノードに斡旋（紹介）する通知情報を、各ノードに送信する。即ち、これらの第１、第２の協力ノードを特定するための情報を各ノードに送信する。
【００７５】
なお、ノード管理部１４０は、要求コンテンツが配信される配信網１０の参加ノードを抽出し、抽出された参加ノードの中から接続先候補ノードを検索することが望ましい。このようにすれば、要求コンテンツ毎に配信網が形成される場合に、適切な配信網の参加ノードの中から、接続先候補ノードを検索して斡旋することが可能になる。
【００７６】
２．クライアント装置
図３に、配信網１０の各ノードに設けられるクライアント装置（ゲーム装置、携帯端末、情報処理装置等）の構成例を示す。このクライアント装置は、処理部２００、操作部２６０、記憶部２７０、情報記憶媒体２８０、表示部２９０、音出力部２９２、通信部２９６を含む。なお本実施形態のクライアント装置は図３の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００７７】
処理部２００は種々の処理を行う。具体的には、暗号化されたコンテンツの復号化処理、映像や音声の再生処理等を行う。また、コンテンツ配信元のノードから受信したコンテンツのデータを記憶部２７０にバッファリング（キャッシュイング）し、バッファリングしたコンテンツのデータをリレー方式（バケツリレー方式）でコンテンツ配信先のノードに再送する処理等を行う。この処理部２００の機能は、ＣＰＵ等のプロセッサや、プロセッサ上で動作するプログラムなどにより実現できる。
【００７８】
操作部２６０は、視聴者がコンテンツ視聴のために必要な各種の入力を行うためのものであり、例えばキーボード、マウス、ゲームコントローラなどにより実現できる。
【００７９】
記憶部２７０は、処理部２００や通信部２９６のワーク領域として機能するものであり、その機能はＲＡＭやＨＤＤ等により実現できる。この記憶部２７０は、コンテンツ記憶部２７２、管理情報記憶部２７４を含む。
【００８０】
コンテンツ記憶部２７２は、コンテンツ配信元のノードから受信したコンテンツのデータのキャッシュメモリとして機能する。管理情報記憶部２７４は、自身のノードの情報や他のノードの情報などの管理情報を記憶する。
【００８１】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部２００は、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体２８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００８２】
表示部２９０は、コンテンツの映像等を表示するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部２９２は、コンテンツの音声等を出力するものであり、その機能は、スピーカやヘッドホーン等により実現できる。
【００８３】
通信部２９６は、他のノードやサーバとの間でのデータの送受信のための各種の通信制御処理を行うものである。具体的にはインターネット等のプロトコルに従った通信に必要な各種処理を行う。通信部２９６の機能は、通信用のＡＳＩＣやファームウェアにより実現できる。
【００８４】
処理部２００は、受信部２２０、送信部２３０、通信管理部２４０、コンテンツ再生部２５０を含む。
【００８５】
受信部２２０は、情報の受信処理を行うものであり、例えばサーバシステムから情報を受信する処理を行う。また他のノードから情報を受信する処理も行う。送信部２３０は、情報の送信処理を行うものであり、例えばサーバシステムに対して情報を送信する処理を行う。また他のノードに対して情報を送信する処理も行う。
【００８６】
通信管理部２４０は、通信に関する各種の管理処理を行う。例えば、他のノードやサーバシステムへの通信接続の管理処理などを行う。
【００８７】
コンテンツ再生部２５０は、配信されたコンテンツの再生処理を行う。例えば他のノード（或いはサーバシステム）から受信した暗号化コンテンツの復号化処理を行い、復号化されたコンテンツの映像を表示部２９０に表示するための処理や、復号化されたコンテンツの音声を音出力部２９２により出力するための処理を行う。
【００８８】
そして本実施形態では送信部２３０は、クライアント装置がコンテンツ配信を要求する場合に、要求コンテンツの受信開始タイミング特定情報（受信開始時刻特定情報）をサーバシステムに送信する。
【００８９】
そしてサーバシステムは、この受信開始タイミング特定情報に基づいて配信網１０の参加ノードの中から接続先候補ノードを検索して、検索された接続先候補ノードを要求コンテンツの配信元ノードとして斡旋する通知情報を送信する。すると受信部２２０は、サーバシステムから送信された通知情報を受信する。そして通信管理部２４０は、通知情報によって斡旋された接続先候補ノードに対して通信接続する処理を行う。即ち、通信部２９６を制御して、当該クライアント装置に対応するノードを、サーバシステムから斡旋された接続先候補ノードに通信接続するための各種のプロトコル処理を実行する。
【００９０】
具体的には送信部２３０は、クライアント装置が過去に受信して保持している要求コンテンツのデータ保持量を、受信開始タイミング特定情報としてサーバシステムに送信する。即ち、過去のコンテンツ配信により、要求コンテンツのデータがコンテンツ記憶部２７２に記憶されて保持されている場合に、その要求コンテンツのデータ保持量（データ保持量と等価な情報を含む）をサーバシステムに送信する。そして、送信された受信開始タイミング特定情報に基づいて、要求コンテンツの想定受信開始タイミング（想定受信開始時刻）が求められ、求められた想定受信開始タイミングに基づいて、配信網１０の参加ノードの中から接続先候補ノードが検索される。すると通信管理部２４０は、検索された接続先候補ノードに通信接続するための処理を行う。
【００９１】
或いは通信管理部２４０は、新規参加ノードが過去に受信して保持している要求コンテンツのデータ保持量と、配信網１０の設定通信速度とに基づいて、要求コンテンツの想定受信経過時間を求めてもよい。この場合には、送信部２３０は、求められた想定受信経過時間を、受信開始タイミング特定情報としてサーバシステムに送信する。そして、送信された想定受信経過時間に基づいて、新規参加ノードの想定受信開始タイミングが求められ、求められた想定受信開始タイミングに基づいて、配信網１０の参加ノードの中から接続先候補ノードが検索され、この接続先候補ノードへの通信接続処理が行われる。
【００９２】
或いは、通信管理部２４０は、データ保持量と設定通信速度と現在時刻に基づいて、要求コンテンツの想定受信開始タイミングを求めてもよい。この場合には、送信部２３０は、求められた想定受信開始タイミングを、受信開始タイミング特定情報としてサーバシステムに送信する。そして送信された想定受信開始タイミングに基づいて接続先候補ノードが検索される。
【００９３】
また送信部２３０は、コンテンツ配信を要求する場合に、要求コンテンツの想定データ保持量特定情報をサーバシステムに送信してもよい。そしてサーバシステムが、この想定データ保持量特定情報に基づいて各ノードの想定データ保持量を求め、求められた想定データ保持量に基づいて、配信網１０の参加ノードの中から接続先候補ノードを検索し、検索された接続先候補ノードを斡旋する通知情報を送信する。すると受信部２２０が、この通知情報を受信し、通信管理部２４０が、通知情報によって斡旋された接続先候補ノードに対して通信接続する処理を行う。
【００９４】
またコンテンツ再生部２５０は、コンテンツの再生処理の際に、想定受信開始タイミングと設定通信速度とにより決まる想定データ保持量までのコンテンツ再生を許可してもよい。
【００９５】
即ち、コンテンツ記憶部２７２に、要求コンテンツのデータが記憶されて保持されている場合には、コンテンツ記憶部２７２での実際のデータ保持量まで、コンテンツを再生できるのが原則である。しかしながら、このような実際のデータ保持量までのコンテンツの再生を許可すると、後述する図１８（Ａ）、図１８（Ｂ）で説明するような不具合が生じるおそれがある。そこで、本実施形態では、実際のデータ保持量までのコンテンツ再生は許可せずに、想定受信開始タイミングと設定通信速度とにより決まる想定データ保持量までのコンテンツ再生を許可する。こうすることで図１８（Ａ）、図１８（Ｂ）で説明する不具合の発生を防止できる。
【００９６】
３．本実施形態の手法
３．１  想定受信開始時刻に基づくノード接続管理
次に本実施形態のノード接続管理手法について詳細に説明する。なお以下では、サーバシステム、クライアント装置を、適宜、サーバ、クライアントと呼ぶ。また、以下では、受信開始タイミング特定情報が受信開始時刻特定情報であり、受信開始タイミング（想定受信開始タイミング）が受信開始時刻（想定受信開始時刻）であり、配信網の設定通信速度が最低保証通信速度である場合を例にとり説明するが、本実施形態はこれに限定されない。例えば受信開始タイミング特定情報、受信開始タイミング、設定通信速度は、受信開始時刻特定情報、受信開始時刻、最低保証通信速度と等価な情報（これらの情報を実質的に表し同等の効果を得ることができる情報）であればよい。また本実施形態における通信速度とは、例えば時間あたりの通信量のような通信速度そのものであってもよいし、例えば通信速度をレベル分けした場合の通信速度レベルや通信量などのように、通信速度を実質的に表す、通信速度と等価な情報であってもよい。
【００９７】
図４（Ａ）に示すように本実施形態では、Ｐ２Ｐのリレー方式（バケツリレー方式、キャッシュ・アンド・トス方式）にて、直列に接続されたノード（クライアント）間で順番にコンテンツのデータを受け渡して行く。このため図４（Ｂ）に示すように、コンテンツのデータの受信を開始してから時間が経過するにつれて、各ノードにはコンテンツのデータが蓄積されて行く。そしてこの方式では、サーバに近い上位（上流）のノードの方が下位（下流）のノードよりも蓄積データの保持量が多くなる。即ち、上位ノードであるコンテンツ配信元ノードの方が、下位ノードであるコンテンツ配信先ノードに比べてデータ保持量が多くなる。例えば図４（Ｂ）では、ノードＮ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５のデータ保持量（データ保持率）は、コンテンツの全データに対して８０％、７０％、６０％、５２％、４０％になっている。
【００９８】
一方、Ｐ２Ｐのコンテンツ配信では、全てのコンテンツのデータが蓄積される前に、ユーザがコンテンツの視聴を中断して、配信網から離脱する場合がある。或いは、何らかの事情による回線切断などにより、視聴の途中で配信網から外れる場合もある。この場合には、そのユーザに対応するノードは、その配信網から除外されることになる。
【００９９】
そして、このようなユーザが、中断したコンテンツの視聴を再開するために、再度、配信網に新規参加する場合には、そのユーザのノードのクライアント装置には、視聴途中までのコンテンツデータが蓄積されている。例えば図４（Ｂ）では、新規参加ノードＮＸには、要求コンテンツのデータの５０％が既に蓄積されている。
【０１００】
このようにデータ保持量が５０％である新規参加ノードＮＸを、例えばデータ保持量（データ保持率）が４０％であるノードＮ５に対して接続してしまうと、ノードＮ５のデータ保持量が５０％になるまで、ノードＮＸはコンテンツのデータを受信できない。従って、新規参加ノードＮＸは、ノードＮ５のデータ保持量が５０％になるまで配信サービスを受けることができず、待ち時間が発生してしまう。
【０１０１】
このような問題を解決する比較例の手法として、サーバが、配信網に参加している全てのノードに対して各ノードでのデータ保持量を問い合わせる手法や、配信網に参加している各ノードが、自身のノードでの実際のデータ保持量を一定時間毎にサーバに報告する手法が考えられる。
【０１０２】
しかしながら、これらの比較例の手法では、配信網に参加している多数のノードとサーバとの間で、コンテンツのデータ以外の情報を頻繁に通信する必要が生じ、通信帯域を圧迫してしまう。このため、当該情報の通信のために、肝心なコンテンツデータの配信に悪影響を及ぼすおそれがある。
【０１０３】
このような課題を解決するために本実施形態では、各ノードから受信した受信開始時刻特定情報により、各ノードでの受信開始時刻を想定し、その想定受信開始時刻を用いてＰ２Ｐのノード接続管理を行う。別の言い方をすれば、配信網の最低保証通信速度と想定受信経過時間から、各ノードが最低限蓄積しているはずのデータ保持量を想定してＰ２Ｐのノード接続管理を行う。
【０１０４】
例えば配信網に参加するためには、そのクライアント（ノード）での通信回線の通信速度が、当該配信網に設定されている最低保証通信速度以上であることを必要とする。その上で、新規参加するクライアントは、受信開始時刻を特定するための情報をサーバに報告し、サーバは、その情報により想定される受信開始時刻を記録しておく。すると、各クライアントが最低限蓄積しているはずのデータ保持量は、現在時刻と受信開始時刻の差と、最低保証通信速度から求めることが可能になる。
【０１０５】
そして、以前にコンテンツの受信を中断したクライアントが、再度、そのコンテンツの続きを視聴するためにコンテンツを受信する場合には、そのクライアントでのデータ保持量と最低保証通信速度に基づいて、そのクライアントの仮想的な受信開始時刻を求める。そして、その受信開始時刻よりも以前からコンテンツを受信中のクライアントを、サーバから斡旋（紹介）して貰い、そのクライアントからコンテンツを受信するようにする。
【０１０６】
このようにすることで、配信網全体としての最適な状態を維持することが可能になる。即ちサーバは、情報を常に更新しなくても、各クライアントの蓄積データ量を把握することができる。従って、通信帯域を圧迫せずに、最適な配信元クライアントを斡旋することができ、配信網全体としての最適な状態を維持できる。
【０１０７】
例えば図４（Ｂ）では、新規参加ノードＮＸの想定データ保持量は５０％である。従って、サーバは、ノードＮＸよりも想定データ保持量が多いノードを、ノードＮＸの接続先候補ノードとして斡旋する。
【０１０８】
具体的には図５（Ａ）に示すように、ノードＮＸの想定データ保持量（５０％）に、その想定データ保持量が最も近いノードＮ４（５２％）を、接続先候補ノードとして斡旋する。即ち、ノードＮＸの想定受信開始時刻よりも早く、且つ、ノードＮＸの想定受信開始時刻に最も近い想定受信開始時刻を有するノードＮ４を紹介する。
【０１０９】
また図５（Ｂ）では、新規参加ノードＮＸの想定データ保持量は６８％である。従って、ノードＮＸの想定データ保持量（６８％）に、その想定データ保持量が最も近いノードＮ２（７０％）を接続先候補ノードとして斡旋する。即ち、ノードＮＸの想定受信開始時刻よりも早く、且つ、ノードＮＸの想定受信開始時刻に最も近い想定受信開始時刻を有するノードＮ２を紹介する。
【０１１０】
これにより図５（Ｃ）に示すように、ノードＮＸはノードＮ２とＮ４の間に配置される。即ち、ノードＮＸの配信元ノードはＮ２になり、配信先ノードはＮ４になる。こうすることで、ノードＮ２からＮＸへのＰ２Ｐ方式のコンテンツ配信と、ノードＮＸからＮ４へのＰ２Ｐ方式のコンテンツ配信を実現できる。
【０１１１】
また図６（Ａ）に示すようにサーバは、配信網の複数の参加ノードＮ１〜Ｎ５に対応する複数の想定受信開始時刻ＴＳ１〜ＴＳ５を、記憶部１７０に記憶している。例えばＴＳ１はノードＮ１の想定受信開始時刻であり、ＴＳ２はノードＮ２の想定受信開始時刻である。ＴＳ３〜ＴＳ５も同様である。
【０１１２】
そしてサーバは、コンテンツ配信を要求して来た新規参加ノードＮＸから要求コンテンツの受信開始時刻特定情報を受信する。次に、この受信開始時刻特定情報に基づいてノードＮＸでの想定受信開始時刻ＴＳＸを求め、求められた想定受信開始時刻ＴＳＸに基づいて、ノードＮＸの接続先候補ノードを検索する。そして検索された接続先候補ノードを配信元ノードとして斡旋する通知情報を、ノードＮＸに送信する。
【０１１３】
具体的には、記憶部１７０に記憶されている想定受信開始時刻ＴＳ１〜ＴＳ５の中から、ノードＮＸの想定受信開始時刻ＴＳＸよりも時刻が早く、且つ、ＴＳＸに時刻が最も近い想定受信開始時刻を検索し、検索された想定受信開始時刻に対応するノードを、接続先候補ノードとして決定する。
【０１１４】
例えば図６（Ｂ）では、ノードＮ４の想定受信開始時刻ＴＳ４は、新規参加ノードＮＸの想定受信開始時刻ＴＳＸよりも早く、且つ、ＴＳＸに最も近い。従って、この場合にはサーバは、接続先としてノードＮ４を新規参加ノードＮＸに紹介する。なお図６（Ｂ）や後述する図７（Ｂ）では、図面に向かって右方向が時刻の進む方向となっている。
【０１１５】
以上の本実施形態の手法によれば、各ノードは、例えば配信網への参加時等に受信開始時刻特定情報をサーバに報告するだけで済む。またサーバは、新規参加ノードの参加時に、配信網の全てのノードのデータ保持量等を調べなくても済む。そして、新規参加ノードよりもデータ保持量が多いノードを、接続先として新規参加ノードに紹介することが可能になる。従って、受信を中断していたノードが続きを受信する際にコンテンツの再生が待たされてしまう事態を、サーバの処理負荷をそれほど増加させることなく、解消することが可能になる。従って、通信帯域を不必要に圧迫することなく、最適な接続相手を新規参加ノードに紹介することができ、配信網全体として最適な状態を維持できるようになる。
【０１１６】
なお、サーバがノードＮＸから受信する受信開始時刻特定情報としては種々の情報が考えられる。例えば図７（Ａ）では、新規参加ノードＮＸは、ノードＮＸでのデータ保持量ＤＱＸを受信開始時刻特定情報として送信している。このデータ保持量ＤＱＸは、ノードＮＸのクライアントが、過去に受信してその記憶部に蓄積して保持しているコンテンツの実際のデータ保持量である。
【０１１７】
サーバは、このデータ保持量ＤＱＸを受信すると、受信したデータ保持量ＤＱＸと配信網の最低保証通信速度ＶＬに基づいて、新規参加ノードＮＸの想定受信開始時刻ＴＳＸを求める。具体的には現時時刻をＴＣとした場合に、例えばＴＳＸ＝ＴＣ−ＤＱＸ／ＶＬの関係式によりノードＮＸの想定受信開始時刻ＴＳＸを求めることができる。
【０１１８】
この場合に、既に参加しているノードＮ１の想定受信開始時刻もＴＳ１＝ＴＣ−ＤＱ１／ＶＬの関係式で求められている。他のノードＮ２〜Ｎ５の想定受信開始時刻ＴＳ２〜ＴＳ５も同様である。そしてこれらの想定受信開始時刻ＴＳ２〜ＴＳ５は、サーバの記憶部１７０に記録されている。
【０１１９】
なお、例えばノードＮ１の配信網への参加時に、ノードＮ１が過去に受信したコンテンツのデータを保持しておらず、ＤＱ１＝０であった場合には、ＴＳ１＝ＴＣとなり、現在時刻ＴＣが想定受信開始時刻ＴＳ１として記録されることになる。
【０１２０】
そして図７（Ｂ）に示すように、ノードＮＸの想定受信開始時刻ＴＳＸよりも時間的に早く、且つ、ＴＳＸに最も近い想定受信開始時刻はＴＳ４である。従って、この場合にはノードＮ４が検索されて、ノードＮＸの接続先候補ノードとして斡旋される。
【０１２１】
また図８では、新規参加ノードＮＸは、ノードＮＸでの想定受信経過時間ＤＱＸ／ＶＬを受信開始時刻特定情報として送信している。この想定受信経過時間ＤＱＸ／ＶＬは、最低保証通信速度ＶＬから特定される仮想的な受信経過時間である。
【０１２２】
サーバは、この想定受信経過時間ＤＱＸ／ＶＬを受信すると、現在時刻ＴＣと、受信した想定受信経過時間ＤＱＸ／ＶＬに基づいて、ノードＮＸの想定受信開始時刻ＴＳＸ＝ＴＣ−ＤＱＸ／ＶＬを求める。そしてノードＮＸの想定受信開始時刻ＴＳＸよりも早く、且つ、ＴＳＸに最も近い想定受信開始時刻を検索し、検索された想定受信開始時刻に対応するノードをノードＮＸに紹介する。
【０１２３】
なお、新規参加ノードＮＸがサーバに送信する受信開始時刻特定情報は、データ保持量や想定受信経過時間には限定されず、例えばノードＮＸにおいて、想定受信開始時刻ＴＳＸそのものを求めて、求められた想定受信開始時刻ＴＳＸをサーバに送信してもよい。この場合には、サーバは、受信した想定受信開始時刻ＴＳＸに基づいて、新規参加ノードＮＸの接続先候補ノードを検索する。
【０１２４】
また図６（Ａ）〜図８ではサーバが各ノードの想定受信開始時刻を管理して、ノード接続管理を実現しているが、サーバが各ノードの想定データ保持量を管理して、ノード接続管理を実現してもよい。具体的には図９に示すように、新規参加ノードＮＸが想定データ保持量特定情報をサーバに送信する。そしてサーバが、この想定データ保持量特定情報に基づいて、ノードＮＸの想定データ保持量ＤＱＸ’を特定する。この想定データ保持量ＤＱＸ’は、例えばノードＮＸの参加時においてノードＮＸに蓄積されているデータ保持量である。
【０１２５】
そして、サーバは、他の参加ノードＮ１〜Ｎ５の想定データ保持量ＤＱ１’〜ＤＱ５’と、新規参加ノードＮＸの想定データ保持量ＤＱＸを比較し、想定データ保持量がＤＱＸに最も近い参加ノードを検索する。具体的には、想定データ保持量ＤＱＸよりも多いデータ量であって、且つ、ＤＱＸに最も近いデータ量の想定データ保持量を有する参加ノードを検索する。例えば図５（Ａ）では、ノードＮＸの想定データ保持量（５０％）にその想定データ保持量（５２％）が最も近いノードＮ４が検索されて、接続先候補ノードとして斡旋される。また図５（Ｂ）では、ノードＮＸの想定データ保持量（６８％）にその想定データ保持量（７０％）が最も近いノードＮ２が検索されて、接続先候補ノードとして斡旋される。
【０１２６】
図９のような想定データ保持量を用いたノード接続管理手法によっても、データ保持量が少ないノードに新規参加ノードが接続されて新規参加ノードでのコンテンツ受信が待たされてしまう事態を防止できる。但し、サーバの処理負荷軽減のためには、図６（Ａ）〜図８のように想定受信開始時刻を用いたノード接続管理手法を採用することが望ましい。
【０１２７】
即ち図９の想定データ保持量を用いる手法では、サーバは、時刻が経過する毎に各ノードの想定データ保持量を更新する必要がある。このため、この更新処理の分だけサーバの処理負荷が増加する。
【０１２８】
これに対して図６（Ａ）〜図８の想定受信開始時刻を用いる手法によれば、例えば配信網への参加時にその参加ノードの想定受信開始時刻をサーバに記録しておけば、その後に、記録された想定受信開始時刻を更新しなくても済む。即ち、新規にノードが参加して来た時に、既に記録してある参加ノードの想定受信開始時刻と、新規参加ノードの想定受信開始時刻とを比較するだけで、その新規参加ノードに斡旋すべきノードを検索できる。従って、想定受信開始時刻の更新処理を不要にすることができるため、想定データ保持量を用いる手法に比べて、サーバの処理負荷を軽減できる。
【０１２９】
次に本実施形態の処理の詳細について図１０のフローチャートを用いて説明する。
【０１３０】
まず、クライアント（新規参加ノード）がサーバに対してコンテンツ配信元ノードの斡旋を要求する（ステップＳ１）。この際にクライアントが、受信開始時刻特定情報をサーバに送信する（ステップＳ２）。
【０１３１】
次に、サーバが受信開始時刻特定情報を、想定受信開始時刻に変換する（ステップＳ３）。例えば前述のように、ＴＳ＝ＴＣ−ＤＱ／ＶＬの関係式を用いて、受信開始時刻特定情報であるＤＱ（或いはＤＱ／ＶＬ）を、想定受信開始時刻ＴＳに変換する。そして、変換した想定受信開始時刻をサーバに記録する（ステップＳ４）。
【０１３２】
次に、サーバは、クライアントが要求しているコンテンツの配信網に対して参加中のノードを抽出する（ステップＳ５）。そして、ステップＳ４で得られた想定受信開始時刻に基づいて、ステップＳ５で抽出したノードの中から最適な接続先候補ノードを検索する（ステップＳ６）。例えば、新規参加したクライアントの想定受信開始時刻に最も近いノードを検索する。そして、検索の結果得られた接続先候補ノードをクライアントに通知する（ステップＳ７）。
【０１３３】
図１１は、クライアントとサーバの処理の分担を示すデータフロー図である。ステップＳ１１で、クライアントがコンテンツ配信元ノードの斡旋要求と受信開始時刻特定情報の送信を行うと、ステップＳ１２、Ｓ１３でサーバが、受信開始時刻特定情報を想定受信開始時刻に変換して、記憶部に記録する。そしてサーバが、ステップＳ１４、Ｓ１５で、想定受信開始時刻に基づき接続先候補ノードを検索し、ステップＳ１６で、コンテンツを要求していたクライアントに対して接続先候補ノードを通知する。
【０１３４】
３．２  回線品質の測定
さて、以上のような想定受信開始時刻（想定データ保持量）に基づくノード接続制御を行う場合には、配信網の通信速度レベルが維持されている必要がある。即ち配信網の参加ノードの通信速度が最低保証通信速度以上に維持されている必要がある。
【０１３５】
そこで本実施形態では、配信網の最低保証通信速度よりも通信速度が遅いと判断されたノードを、配信網から除外するようにしている。
【０１３６】
例えば図１２（Ａ）の配信網の最低保証通信速度はＶＬであるため、この配信網の参加ノードＮ１〜Ｎ５の通信速度ＶＮ１〜ＶＮ５は、ＶＬ以上になるように維持する必要がある。そして、例えば図１２（Ａ）のように、ノードＮ３の通信速度ＶＮ３が、ＶＮ３＜ＶＬであると判断された場合には、図１２（Ｂ）に示すように、このノードＮ３を配信網から除外する。そして例えば図１２（Ｃ）に示すように、ノードＮ４をノードＮ３の位置に移動するなどの配信網のトポロジーの組み替え処理を行う。このようにすることで、配信網の最低保証通信速度ＶＬを維持できるようになる。
【０１３７】
次に、通信速度等の各ノードでの回線品質の測定手法について説明する。本実施形態では、サーバが、配信網の各ノードから各ノードでの回線品質の測定結果情報を受信する。この測定結果情報は、例えば各ノードでの回線の通信速度を示す情報であってもよいし、通信速度が最低保証通信速度に達しているか否かを示す結果情報であってもよい。
【０１３８】
そしてサーバは、受信した測定結果情報に基づいて、配信網の各ノードでの通信速度が最低保証通信速度に達しているか否かを判断する。例えば測定結果情報が各ノードでの通信速度の情報を含む場合には、この通信速度と最低保証通信速度とを比較することで、最低保証通信速度に達しているか否かを判断する。或いは、各ノードのクライアントにおいて通信速度と最低保証通信速度を比較する測定を行い、その測定の結果情報に基づいて、サーバが通信速度が最低保証通信速度に達しているか否かを判断してもよい。
【０１３９】
例えば図１３（Ａ）に示すように、ノードＮＸのクライアントは、回線品質測定の協力ノードの斡旋をサーバに要求する。するとサーバが、回線品質の測定に協力可能な協力ノードを検索し、図１３（Ｂ）に示すように、検索された協力ノードを斡旋する通知情報を、ノードＮＸに送信する。
【０１４０】
ここで協力ノードは、例えばコンテンツの受信が既に完了しているノードの中から選出される。例えばゲーム装置等のクライアントに電源は投入されており、配信網に通信接続可能であるが、コンテンツの受信自体は完了しているノードの中から選出される。このようなノードを協力ノードとして選出すれば、回線品質の測定のためにサーバの通信帯域が圧迫されてしまう事態を最小限に抑えることができる。なお協力ノードには任意のノードがなることができ、自身のノードも協力ノードになることができる。  そして図１３（Ｃ）に示すように、協力ノードが斡旋されたノードＮＸは、協力ノードと通信接続して回線品質の測定を行い、回線品質の測定結果情報をサーバに送信する。そしてサーバは、受信した測定結果情報に基づいて、ノードＮＸでの通信速度ＶＮＸが最低保証通信速度ＶＬに達しているか否かを判断する。
【０１４１】
具体的には図１３（Ｄ）では、サーバは、配信元ノードと配信先ノードの両方にノードＮＸが通信接続して回線品質の測定が行われるように、配信元ノードである第１の協力ノードＮＣ１と、配信先ノードである第２の協力ノードＮＣ２を検索し、これらの協力ノードＮＣ１、ＮＣ２の両方をノードＮＸに斡旋する。
【０１４２】
すると、ノードＮＸは、配信元ノードとして協力ノードＮＣ１に通信接続し、配信先ノードとして協力ノードＮＣ２に通信接続する。そしてＰ２Ｐのリレー方式で、協力ノードＮＣ１から測定用データを受信し、受信した測定用データを、記憶部に蓄積すると共に協力ノードＮＣ２に送信する。
【０１４３】
このようにすれば、Ｐ２Ｐのリレー方式によるコンテンツ配信時と同じ接続状態で、ノードＮＸでの回線品質を測定できるため、回線品質の測定精度を向上できる。
【０１４４】
例えば比較例の手法として、ノードＮＸに１つの協力ノードだけを接続して回線品質を測定する手法も考えられる。しかしながら、例えばゲーム装置などのクライアントが半二重等の無線ＬＡＮによりルータに接続されているような通信環境では、このような比較例の手法では、測定される通信速度がコンテンツ配信時の実際の通信速度よりも速くなってしまい、回線品質の正確な測定を実現できない。
【０１４５】
この点、図１３（Ｄ）のように、ノードＮＸの配信元側と配信先側の両方に協力ノードＮＣ１、ＮＣ２を接続すれば、コンテンツ配信時と同様の通信環境を再現して、より正確な回線品質の測定を実現できる。
【０１４６】
なお、図１のようなトポロジーの配信網において、回線品質の測定精度を更に向上するためには、図１３（Ｅ）に示すように配信先として２つの協力ノードＮＣ２１、ＮＣ２２を接続することが望ましい。例えば図１において、基幹ノードＮ１には、コンテンツの配信先として２つのノードＮ２、Ｎ３が接続されている。基幹ノードＮ３、Ｎ６も同様である。
【０１４７】
そして配信網の参加時に、各ノードが配信網のどの位置に配置されるかは任意であり、このような基幹ノードＮ１、Ｎ３、Ｎ６の位置にノードが配置される場合もある。従って、配信網の最低保証通信速度を適正に維持するためには、このような基幹ノードの位置にノードが配置された場合にも、そのノードでの通信速度が最低保証通信速度以上になるようにする必要がある。従って、回線品質の測定の際には、図１３（Ｅ）に示すように、ノードＮＸに対して、配信元のノードＮＣ１を接続すると共に配信先の２つのノードＮＣ２１、ＮＣ２２を接続することが望ましい。このようにすることで、図１のようなトポロジーの配信網においても、回線品質の測定精度を向上でき、配信網の最低保証通信速度を適正に維持できるようになる。
【０１４８】
なお、以上では協力ノードを用いて各ノードでの回線の通信速度を測定する手法について説明したが、回線の通信速度の測定は協力ノードを用いる手法に限定されない。例えば実際のコンテンツの配信時に、各ノードでのコンテンツのデータの通信状況（データの受信や送信等の状況）から各ノードでの通信速度の低下等を監視してもよい。このようにすれば、実際のコンテンツの配信時に、通信速度が低下してＰ２Ｐの配信に悪影響を及ぼすようなノードを、配信網から除外することが可能になる。
【０１４９】
図１４は、回線品質の測定処理を説明するフローチャートである。まずクライアントが回線品質の協力ノードの斡旋を要求する（ステップＳ２１）。するとサーバが、協力可能なノードを検索する（ステップＳ２２）。この協力ノードは、コンテンツ配信のサービスには入会しているが、検索の時点ではコンテンツの受信を行っていないノードの中から検索される。そしてサーバは、検索された協力ノードの斡旋情報をクライアントに通知する（ステップＳ２３）。
【０１５０】
次に、クライアントが協力ノードとの間で回線品質測定を実行する（ステップＳ２４）。するとサーバが、測定結果に基づいて通信速度レベルを決定し、決定された通信速度レベルを各クライアントに対応づけて記憶部に記録する（ステップＳ２５、Ｓ２６）。
【０１５１】
図１５は、回線品質の測定処理を説明するデータフロー図である。ステップＳ３１でクライアントが協力ノードの斡旋を要求すると、ステップＳ３２でサーバが協力ノードを検索して、ステップＳ３３でクライアントに斡旋する。そしてステップＳ３４で、クライアントと協力ノードの間で回線品質測定が実行される。
【０１５２】
次にステップＳ３５でクライアントが回線品質測定の結果をサーバに報告する。するとステップＳ３６でサーバが回線品質の測定結果に基づきクライアントの通信速度レベルを決定し、ステップＳ３７で各クライアントに対応づけて記録する。
【０１５３】
以上の本実施形態の回線品質の測定手法によれば、各ノードに対して複数の協力ノードを接続して回線速度を測定することで、より実際の使用状況に近い状況での回線速度を計測することが可能になる。また回線速度の測定の際に送信と受信を同時に行うことで、無線ＬＡＮなどの半二重通信の評価を正確に行うことができ、回線品質の正当な評価を得ることが可能になる。またＰ２Ｐを用いて回線速度を計測することで、サーバクライアント方式におけるサーバへの負荷集中という問題点を回避できる。またサーバがノードを管理して、ノードの能力を把握した上で協力ノード（協力相手）を選ぶことで、協力ノードの性能不足を原因とする不当な評価が行われることを防止できる。
【０１５４】
３．３  ノードの除外処理
次にノードの除外処理について詳細に説明する。
【０１５５】
図１６は、ノードの除外処理を説明するフローチャートである。まず、配信網に参加中のノードがサーバにエラーを報告する（ステップＳ４１）。例えば図１３（Ａ）〜図１５で説明した手法により、そのクライアントのノードでの通信速度が最低保証通信速度に達しているか否かを判断し、達していなかった場合には、エラーとしてサーバに報告する。
【０１５６】
サーバは、エラーを報告して来た報告対象ノードのエラー報告回数をカウントする（ステップＳ４２）。そしてエラー報告回数が規定回数以上（例えば３回以上）であるか否かを判断し（ステップＳ４３）、規定回数以上であれば、当該報告対象ノードを配信網から除外する（ステップＳ４４）。
【０１５７】
このようにエラー報告回数が規定回数以上であることを条件にノードを配信網から除外する手法によれば、一時的な通信障害が原因でノードが配信網から除外されてしまう事態を防止できる。
【０１５８】
図１７は、ノードの除外処理を説明するデータフロー図である。ステップＳ５１でコンテンツ配信元ノードが受信クライアントに対してコンテンツを配信している最中に、ステップＳ５２で通信帯域不足によるエラーが発生すると、ステップＳ５３で受信クライアントはサーバに通信帯域不足によるエラー発生を報告する。するとステップＳ５４でサーバは報告対象ノードのエラー報告回数をカウントし、ステップＳ５５でエラー報告回数が規定回数に達したノードを配信網から除外する。
【０１５９】
３．４  コンテンツ再生の許可
図１８（Ａ）に示すように本実施形態では、新規参加ノードＮＸは、コンテンツの想定データ保持量が最も近いノードに接続される。図１８（Ａ）では、新規参加ノードＮＸの想定データ保持量はＤＱＸ’＝５０％であり、ノードＮＪの想定データ保持量はＤＱＪ’＝５４％であるため、ノードＮＸはノードＮＪに接続される。
【０１６０】
しかしながら、想定データ保持量ＤＱ’は、最低保証通信速度ＶＬに基づき決まるものであり、各ノードの通信速度は、実際には最低保証通信速度ＶＬ以上になると考えられる。従って、図１８（Ｂ）に示すように、各ノードの実際のデータ保持量ＤＱ（クライアントの記憶部に実際に蓄積されているデータ量）は、想定データ保持量ＤＱ’よりも大きくなる。
【０１６１】
例えばノードＮＪの想定データ保持量ＤＱＪ’は図１８（Ａ）では５４％であるが、実際のデータ保持量ＤＱＪはＤＱＪ’よりも大きく、例えば図１８（Ｂ）のように６４％であることが考えられる。なお新規参加ノードＮＸについては、想定データ保持量ＤＱＸ’と実際のデータ保持量ＤＱＸは等しくなる。
【０１６２】
そしてノードＮＪの下位のノードＮＫの想定データ保持量ＤＱＫ’も、図１８（Ａ）では４５％であるが、実際のデータ保持量ＤＱＫはＤＱＫ’よりも大きく、例えば図１８（Ｂ）のように５５％であることが考えられる。
【０１６３】
従って、このような場合に、ノードＮＪとノードＮＫの間に新規参加ノードＮＸが接続されると、ノードＮＫに不利益が及ぶおそれがある。即ち、ノードＮＫは、ノードＮＫ（５５％）よりも実際のデータ保持量が大きいノードＮＪ（６４％）が配信元ノードとして接続されていれば、待ち時間が無いスムーズなコンテンツ受信が可能になる。しかしながら、実際のデータ保持量がノードＮＫ（５５％）よりも小さい新規参加ノードＮＸ（５０％）が配信元ノードとして接続されてしまうと、ノードＮＸのデータ保持量が５５％に達するまで、コンテンツ受信が待たされる可能性がある。
【０１６４】
このような課題を解決するためには、コンテンツの再生の際に、想定受信開始時刻と最低保証通信速度とにより決まる想定データ保持量までのコンテンツ再生を許可する手法を採用すればよい。
【０１６５】
例えば図１８（Ｃ）のコンテンツ再生画面において、そのノード（クライアント）の実際のデータ保持量がＤＱであり、想定データ保持量がＤＱ’であったとする。この場合に、現在時刻をＴＣ、最低保証通信速度をＶＬ、想定受信開始時刻をＴＳとすると、想定データ保持量はＤＱ’＝ＶＬ（ＴＣ−ＴＳ）と表される。そして各ノードでの通信速度は最低保証速度ＶＬ以上であるため、想定データ保持量ＤＱ’よりも実際のデータ保持量ＤＱは大きくなる。
【０１６６】
このような場合にも図１８（Ｃ）では、実際のデータ保持量ＤＱまでのコンテンツ再生については許可せずに、想定データ保持量ＤＱ’までのコンテンツ再生を許可する。例えばコンテンツ再生時にユーザが図１８（Ｃ）の再生バーのＡ１の部分をクリック（指定）しても、Ａ１の位置までのコンテンツ再生は許可されず、Ａ２の位置までのコンテンツ再生のみが許可される。
【０１６７】
従って、実際のデータ保持量ＤＱの関係が図１８（Ｂ）のような関係になったとしても、新規参加ノードＮＸの参加がノードＮＫに不利益を及ぼす事態を効果的に防止することが可能になる。
【０１６８】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、配信網のトポロジー、接続ノードの斡旋手法、回線品質の測定手法等も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【符号の説明】
【０１６９】
Ｎ１〜Ｎ６、ＮＸ  ノード、ＴＳ１〜ＴＳ５、ＴＳＸ、ＴＳ  想定受信開始時刻、
ＤＱ１〜ＤＱ５、ＤＱＸ、ＤＱ  データ保持量、ＴＣ  現在時刻、
ＶＬ  最低保証通信速度、
１０  配信網、１１０  コンテンツ配信部、１２０  受信部、１３０  送信部、
１７０  記憶部、１７２  コンテンツ記憶部、１７４  管理情報記憶部、
２００  処理部、２２０  受信部、２３０  送信部、２４０  通信管理部、
２５０  コンテンツ再生部、２６０  操作部、２７０  記憶部、
２７２  コンテンツ記憶部、２７４  管理情報記憶部、２８０  情報記憶媒体、
２９０  表示部、２９２  音出力部、２９６  通信部
【図１】
2011150618.tif 000003
【図２】
2011150618.tif 000004
【図３】
2011150618.tif 000005
【図４】
2011150618.tif 000006
【図５】
2011150618.tif 000007
【図６】
2011150618.tif 000008
【図７】
2011150618.tif 000009
【図８】
2011150618.tif 000010
【図９】
2011150618.tif 000011
【図１０】
2011150618.tif 000012
【図１１】
2011150618.tif 000013
【図１２】
2011150618.tif 000014
【図１３】
2011150618.tif 000015
【図１４】
2011150618.tif 000016
【図１５】
2011150618.tif 000017
【図１６】
2011150618.tif 000018
【図１７】
2011150618.tif 000019
【図１８】
2011150618.tif 000020