(57)【要約】【課題】システムの安定化を実現できるサーバシステム及び配信システムの提供。【解決手段】サーバシステム１００は、配信網の第ｊのノードが上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋのノードに送信した場合に、コンテンツ配信の報告情報を受信する情報受信部１３２と、受信された報告情報に基づいて、第ｊのノードから第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを第ｊのノードに対して付与する処理を行う評価ポイント演算部１３６と、評価ポイントを第ｊのノードに関連づけて記憶する評価ポイント記憶部１７３を含む。【選択図】図４
2009246817.tif 000002
【特許請求の範囲】
【請求項１】
配信網を用いたコンテンツ配信のためのサーバシステムであって、
前記配信網の第ｊのノードが、上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋのノードに送信した場合に、前記第ｊのノードから前記第ｋのノードへのコンテンツ配信の報告情報を受信する情報受信部と、
受信された前記報告情報に基づいて、前記第ｊのノードから前記第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを前記第ｊのノードに対して付与する処理を行う評価ポイント演算部と、
付与された前記評価ポイントを前記第ｊのノードに関連づけて記憶する評価ポイント記憶部と、
を含むことを特徴とするサーバシステム。
【請求項２】
請求項１において、
前記評価ポイント演算部は、
前記第ｊのノードからコンテンツを受信した前記第ｋのノードから、前記報告情報を受信したことを条件に、前記第ｊのノードから前記第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを、前記第ｊのノードに対して付与する処理を行うことを特徴とするサーバシステム。
【請求項３】
請求項２において、
前記情報受信部は、
前記報告情報として、前記第ｋのノードが前記第ｊのノードから受信したコンテンツの受信データ量の情報を、前記第ｋのノードから受信し、
前記評価ポイント演算部は、
報告された前記受信データ量の情報に基づき演算された評価ポイントを、前記第ｊのノードに対して付与する処理を行うことを特徴とするサーバシステム。
【請求項４】
請求項３において、
前記情報受信部は、
前記報告情報として、前記受信データ量の情報と、前記第ｊのノードを特定するための識別情報を受信し、
前記評価ポイント演算部は、
報告された前記受信データ量の情報に基づき演算された評価ポイントを、前記識別情報により特定される前記第ｊのノードに対して付与する処理を行うことを特徴とするサーバシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記評価ポイント演算部は、
コンテンツを送信した前記第ｊのノード及びコンテンツを受信した前記第ｋのノードの双方から、前記報告情報を受信したことを条件に、前記第ｊのノードに対して評価ポイントを付与する処理を行うことを特徴とするサーバシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記評価ポイント演算部は、
前記第ｊのノードが受信したコンテンツの受信データ量よりも、前記第ｊのノードが送信したコンテンツの送信データ量の方が多い場合に、前記第ｊのノードに対して評価ポイントを付与する処理を行うことを特徴とするサーバシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
コンテンツ配信についての課金処理を行う課金処理部を含み、
前記評価ポイント演算部は、
前記第ｊのノードでの再生コンテンツの決定から、前記第ｊのノードに対する課金の決済が終了するまでの決済期間において、前記第ｊのノードから前記第ｋのノードにコンテンツが配信された場合に、前記決済期間において配信されたコンテンツの転送データ量を除外して、前記第ｊのノードに対して付与する評価ポイントを演算することを特徴とするサーバシステム。
【請求項８】
請求項７において、
前記第ｋのノードは、前記第ｊのノードでの決済終了の報告を受けた後に、前記第ｊのノードから受信したコンテンツの受信データ量の集計処理を開始し、
前記情報受信部は、
前記報告情報として、前記第ｊのノードでの決済終了後の前記受信データ量を前記第ｋのノードから受信し、
前記評価ポイント演算部は、
前記第ｋのノードでの前記受信データ量に応じた評価ポイントを、前記第ｊのノードに対して付与する処理を行うことを特徴とするサーバシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記配信網は、コンテンツ配信元から直列接続される基幹ノードの列と、前記基幹ノード列の各基幹ノードに直列接続される分岐ノードの列を有し、
前記評価ポイント演算部は、
前記基幹ノードに対する評価ポイントの方が、前記分岐ノードに対する評価ポイントよりも高くなるように、評価ポイントの演算処理を行うことを特徴とするサーバシステム。
【請求項１０】
配信網を用いたコンテンツ配信のためのサーバシステムであって、
前記配信網の第ｊのノードが、上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋのノードに送信した場合に、前記第ｊのノードに対して評価ポイントを付与する処理を行う評価ポイント演算部と、
付与された前記評価ポイントを前記第ｊのノードに関連づけて記憶する評価ポイント記憶部とを含み、
前記配信網は、コンテンツ配信元から直列接続される基幹ノードの列と、前記基幹ノード列の各基幹ノードに直列接続される分岐ノードの列を有し、
前記評価ポイント演算部は、
前記第ｊのノードが前記基幹ノードである場合には、前記第ｊのノードが前記分岐ノードである場合よりも、前記第ｊのノードに対して付与する評価ポイントを高くすること特徴とするサーバシステム。
【請求項１１】
請求項９又は１０において、
前記配信網のノード管理処理を行うノード管理部と、
前記ノード管理処理のためのノード管理情報を記憶する管理情報記憶部とを含み、
前記ノード管理部は、
前記配信網に新規ノードが追加された場合に、コンテンツ配信先ノードの接続が可能なノードのうち、前記配信網への追加順番が最も古いノードを検索し、検索されたノードに対して前記新規ノードを接続する処理を行うことを特徴とするサーバシステム。
【請求項１２】
請求項９乃至１１のいずれかにおいて、
前記ノード管理部は、
前記配信網から分岐ノードが除外され、前記除外された分岐ノードのコンテンツ配信先ノードとして下位の分岐ノードが存在する場合には、前記除外された分岐ノードの上位のノードを、前記除外された分岐ノードの下位の分岐ノードに接続する処理を行うことを特徴とするサーバシステム。
【請求項１３】
請求項９乃至１２のいずれかにおいて、
前記ノード管理部は、
前記配信網から基幹ノードが除外され、前記除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在する場合には、当該分岐ノードを、前記除外された基幹ノードの代わりとなる新たな基幹ノードに設定することを特徴とするサーバシステム。
【請求項１４】
請求項１３において、
前記ノード管理部は、
前記新たな基幹ノードの下位の基幹ノードが存在し、前記下位の基幹ノードの前記配信網への追加順番が、前記新たな基幹ノードの追加順番よりも先である場合には、前記新たな基幹ノード及びそれに接続される分岐ノード列と、前記下位の基幹ノード及びそれに接続される分岐ノード列との入れ替え処理を行うことを特徴とするサーバシステム。
【請求項１５】
請求項１３又は１４において、
前記ノード管理部は、
前記除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在せず、前記除外された基幹ノードのコンテンツ配信先ノードとして下位の基幹ノードが存在する場合には、前記除外された基幹ノードの上位の基幹ノードを、前記除外された基幹ノードの前記下位の基幹ノードに接続する処理を行うことを特徴とするサーバシステム。
【請求項１６】
請求項９乃至１５のいずれかにおいて、
前記ノード管理部は、
前記配信網に新規ノードが追加された場合に、前記新規ノードを、前記配信網の基幹ノードのコンテンツ配信先ノードとして接続することを、前記配信網のノード数に応じて許可することを特徴とするサーバシステム。
【請求項１７】
請求項９乃至１６のいずれかにおいて、
前記ノード管理部は、
前記配信網の下位の基幹ノードに接続される分岐ノード列での追加可能ノード数の方が、上位の基幹ノードに接続される分岐ノード列での追加可能ノード数よりも小さくなるように、各分岐ノード列での追加可能ノード数を制限する処理を行うことを特徴とするサーバシステム。
【請求項１８】
請求項９乃至１７のいずれかにおいて、
前記ノード管理部は、
第１の基幹ノード列及び前記第１の基幹ノード列に接続される第１の分岐ノード列群により構成される第１のノード集合のノード数が所定数になった場合には、前記第１の基幹ノード列に直列接続される第２の基幹ノード列及び前記第２の基幹ノード列に接続される第２の分岐ノード列群により構成される第２のノード集合を設定し、前記第２のノード集合に対して新規ノードを追加することを特徴とするサーバシステム。
【請求項１９】
請求項１乃至１８のいずれかに記載のサーバシステムと、
前記配信網と、
を含むことを特徴とする配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム及び配信システムに関する。
【背景技術】
【０００２】
近年、インターネット等の配信網を介して、映像、音声等のコンテンツのストリームデータを配信するサービスが増加している。このようなコンテンツの配信サービスでは、配信網のより一層の広帯域化が望まれているが、サーバを管理する配信業者のコスト負担が重く、例えばフルハイビジョン対応の高品質な映像コンテンツを視聴者に対して提供することが難しかった。
【０００３】
このような問題を解決するために、例えば特許文献１に開示されるように、いわゆるＰ２Ｐ（Peer to Peer）のリレー方式（バケツリレー方式、キャッシュ・アンド・トス方式）でコンテンツを配信するシステムが提案されている。この特許文献１の技術では、配信網の各ノード間でストリームデータの送受信を行うために、各ノードは、上流ノードと下流ノードの接続関係を示すトポロジ情報を交換して、上流ノードから下流ノードへストリームデータを中継している。この方式では、各ノード間でトポロジ情報を交換しているため、各ノードが自律的にトポロジ情報を記憶すると共に更新して管理することができる。
【０００４】
このＰ２Ｐのリレー方式では、各ノードのクライアント端末のコンテンツバッファに、コンテンツデータが十分に蓄積されていれば、システムは安定状態になるが、この蓄積データ量が少なくなると、システムは不安定な状態になる。ところが、視聴を終了したノードは、配信網から除外されてしまうため、このようなノードの除外が頻繁に起こると、システムが不安定状態になってしまうおそれがある。従って、システムの安定性のためには、コミュニティに参加するユーザに対して、コンテンツの配信元として留まることのインセンティブを如何にして付与するかが重要か課題となる。
【０００５】
また、配信網の構造によっては、コンテンツの配信先として受信するデータ量よりも、コンテンツの配信元として送信するデータ量の方が多くなってしまう場合もあり、これはユーザに対して不公平感を生む原因となる。
【特許文献１】特開２００３−１６９０８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、システムの安定化を実現できるサーバシステム及び配信システムを提供できる。
【課題を解決するための手段】
【０００７】
本発明は、配信網を用いたコンテンツ配信のためのサーバシステムであって、前記配信網の第ｊのノードが、上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋのノードに送信した場合に、前記第ｊのノードから前記第ｋのノードへのコンテンツ配信の報告情報を受信する情報受信部と、受信された前記報告情報に基づいて、前記第ｊのノードから前記第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを前記第ｊのノードに対して付与する処理を行う評価ポイント演算部と、付与された前記評価ポイントを前記第ｊのノードに関連づけて記憶する評価ポイント記憶部とを含むサーバシステムに関係する。
【０００８】
本発明によれば、配信網の第ｊのノードは、第ｉのノードから受信したコンテンツを、Ｐ２Ｐのリレー方式で第ｋのノードに送信する。すると、第ｊのノードから第ｋのノードへのコンテンツ配信を知らせる報告情報が、サーバシステムの情報受信部により受信される。すると、受信した報告情報に基づいて、第ｊのノードから第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントが、第ｊのノードに対して付与されて、評価ポイント記憶部に記憶されるようになる。このようにすれば、第ｋのノードに対してコンテンツを中継して配信した第ｊのノードの貢献度を、適正に評価できるようになるため、Ｐ２Ｐの配信システムの安定化に繋げることが可能になる。
【０００９】
また本発明では、前記評価ポイント演算部は、前記第ｊのノードからコンテンツを受信した前記第ｋのノードから、前記報告情報を受信したことを条件に、前記第ｊのノードから前記第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを、前記第ｊのノードに対して付与する処理を行ってもよい。
【００１０】
このようにすれば、第ｊのノードに対して不正な評価ポイントが付与されてしまう事態を効果的に防止できる。
【００１１】
また本発明では、前記情報受信部は、前記報告情報として、前記第ｋのノードが前記第ｊのノードから受信したコンテンツの受信データ量の情報を、前記第ｋのノードから受信し、前記評価ポイント演算部は、報告された前記受信データ量の情報に基づき演算された評価ポイントを、前記第ｊのノードに対して付与する処理を行ってもよい。
【００１２】
このようにすれば、報告情報である受信データ量に基づいた適正な評価ポイントの演算処理を実現できる。
【００１３】
また本発明では、前記情報受信部は、前記報告情報として、前記受信データ量の情報と、前記第ｊのノードを特定するための識別情報を受信し、前記評価ポイント演算部は、報告された前記受信データ量の情報に基づき演算された評価ポイントを、前記識別情報により特定される前記第ｊのノードに対して付与する処理を行ってもよい。
【００１４】
このようにすれば、識別情報により特定される第ｊのノードに対して、適正に評価ポイントを付与することが可能になる。
【００１５】
また本発明では、前記評価ポイント演算部は、コンテンツを送信した前記第ｊのノード及びコンテンツを受信した前記第ｋのノードの双方から、前記報告情報を受信したことを条件に、前記第ｊのノードに対して評価ポイントを付与する処理を行ってもよい。
【００１６】
このようにすれば、第ｊのノードに対して不正な評価ポイントが付与されてしまう事態を更に効果的に防止できる。
【００１７】
また本発明では、前記評価ポイント演算部は、前記第ｊのノードが受信したコンテンツの受信データ量よりも、前記第ｊのノードが送信したコンテンツの送信データ量の方が多い場合に、前記第ｊのノードに対して評価ポイントを付与する処理を行ってもよい。
【００１８】
このようにすれば、受信データ量よりも多い送信データ量のデータを送信した第ｊのノードの貢献度を、適正に評価できる。
【００１９】
また本発明では、コンテンツ配信についての課金処理を行う課金処理部を含み、前記評価ポイント演算部は、前記第ｊのノードでの再生コンテンツの決定から、前記第ｊのノードに対する課金の決済が終了するまでの決済期間において、前記第ｊのノードから前記第ｋのノードにコンテンツが配信された場合に、前記決済期間において配信されたコンテンツの転送データ量を除外して、前記第ｊのノードに対して付与する評価ポイントを演算してもよい。
【００２０】
このようにすれば、コンテンツの決定後、決済をキャンセルするという行為を繰り返すことで、不正な評価ポイントが第ｊのノードに付与されてしまう事態を防止できる。
【００２１】
また本発明では、前記第ｋのノードは、前記第ｊのノードでの決済終了の報告を受けた後に、前記第ｊのノードから受信したコンテンツの受信データ量の集計処理を開始し、前記情報受信部は、前記報告情報として、前記第ｊのノードでの決済終了後の前記受信データ量を前記第ｋのノードから受信し、前記評価ポイント演算部は、前記第ｋのノードでの前記受信データ量に応じた評価ポイントを、前記第ｊのノードに対して付与する処理を行ってもよい。
【００２２】
このようにすれば、第ｊのノードでの決済終了後に集計された受信データ量を用いて、評価ポイントを演算して第ｊのノードに付与することが可能になる。
【００２３】
また本発明では、前記配信網は、コンテンツ配信元から直列接続される基幹ノードの列と、前記基幹ノード列の各基幹ノードに直列接続される分岐ノードの列を有し、前記評価ポイント演算部は、前記基幹ノードに対する評価ポイントの方が、前記分岐ノードに対する評価ポイントよりも高くなるように、評価ポイントの演算処理を行ってもよい。
【００２４】
このようにすれば、コンテンツの送信データ量が必然的に多くなる基幹ノードに対して、貢献度に応じた評価ポイントを付与することが可能になる。
【００２５】
また本発明は、配信網を用いたコンテンツ配信のためのサーバシステムであって、前記配信網の第ｊのノードが、上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋのノードに送信した場合に、前記第ｊのノードに対して評価ポイントを付与する処理を行う評価ポイント演算部と、付与された前記評価ポイントを前記第ｊのノードに関連づけて記憶する評価ポイント記憶部とを含み、前記配信網は、コンテンツ配信元から直列接続される基幹ノードの列と、前記基幹ノード列の各基幹ノードに直列接続される分岐ノードの列を有し、前記評価ポイント演算部は、前記第ｊのノードが前記基幹ノードである場合には、前記第ｊのノードが前記分岐ノードである場合よりも、前記第ｊのノードに対して付与する評価ポイントを高くするサーバシステムに関係する。
【００２６】
また本発明では、前記配信網のノード管理処理を行うノード管理部と、前記ノード管理処理のためのノード管理情報を記憶する管理情報記憶部とを含み、前記ノード管理部は、前記配信網に新規ノードが追加された場合に、コンテンツ配信先ノードの接続が可能なノードのうち、前記配信網への追加順番が最も古いノードを検索し、検索されたノードに対して前記新規ノードを接続する処理を行ってもよい。
【００２７】
このようにすれば、簡素な処理で新規ノードの追加処理を実現することが可能になるため、処理負荷を軽減できる。
【００２８】
また本発明では、前記ノード管理部は、前記配信網から分岐ノードが除外され、前記除外された分岐ノードのコンテンツ配信先ノードとして下位の分岐ノードが存在する場合には、前記除外された分岐ノードの上位のノードを、前記除外された分岐ノードの下位の分岐ノードに接続する処理を行ってもよい。
【００２９】
このようにすれば、除外された分岐ノードの隙間を埋めるように、除外された分岐ノードの上位のノードと下位の分岐ノードとを接続することが可能になる。
【００３０】
また本発明では、前記ノード管理部は、前記配信網から基幹ノードが除外され、前記除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在する場合には、当該分岐ノードを、前記除外された基幹ノードの代わりとなる新たな基幹ノードに設定してもよい。
【００３１】
このようにすれば、除外された基幹ノードの隙間を埋めるように、分岐ノードを、除外された基幹ノードの代わりの新たな基幹ノードに設定できる。
【００３２】
また本発明では、前記ノード管理部は、前記新たな基幹ノードの下位の基幹ノードが存在し、前記下位の基幹ノードの前記配信網への追加順番が、前記新たな基幹ノードの追加順番よりも先である場合には、前記新たな基幹ノード及びそれに接続される分岐ノード列と、前記下位の基幹ノード及びそれに接続される分岐ノード列との入れ替え処理を行ってもよい。
【００３３】
このような入れ替え処理を行えば、配信網におけるノードの追加順番を維持することが可能になり、適正なコンテンツ配信を実現できる。
【００３４】
また本発明では、前記ノード管理部は、前記除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在せず、前記除外された基幹ノードのコンテンツ配信先ノードとして下位の基幹ノードが存在する場合には、前記除外された基幹ノードの上位の基幹ノードを、前記除外された基幹ノードの前記下位の基幹ノードに接続する処理を行ってもよい。
【００３５】
このようにすれば、除外された基幹ノードの隙間を埋めるように、上位の基幹ノードと下位の基幹ノードを接続することが可能になる。
【００３６】
また本発明では、前記ノード管理部は、前記配信網に新規ノードが追加された場合に、前記新規ノードを、前記配信網の基幹ノードのコンテンツ配信先ノードとして接続することを、前記配信網のノード数に応じて許可してもよい。
【００３７】
このようにすれば、基幹ノード数が無駄に増加してしまう事態を防止でき、コンテンツ配信の効率化を図れる。
【００３８】
また本発明では、前記ノード管理部は、前記配信網の下位の基幹ノードに接続される分岐ノード列での追加可能ノード数の方が、上位の基幹ノードに接続される分岐ノード列での追加可能ノード数よりも小さくなるように、各分岐ノード列での追加可能ノード数を制限する処理を行ってもよい。
【００３９】
このようにすれば、末端ノードでの配信のタイムラグの均一化等を実現できる。
【００４０】
また本発明では、前記ノード管理部は、第１の基幹ノード列及び前記第１の基幹ノード列に接続される第１の分岐ノード列群により構成される第１のノード集合のノード数が所定数になった場合には、前記第１の基幹ノード列に直列接続される第２の基幹ノード列及び前記第２の基幹ノード列に接続される第２の分岐ノード列群により構成される第２のノード集合を設定し、前記第２のノード集合に対して新規ノードを追加してもよい。
【００４１】
このようにすれば、処理負荷を軽減しながら、ノード数を効率的に増加させることが可能になる。
【００４２】
また本発明は、上記のいずれかに記載のサーバシステムと、前記配信網とを含む配信システムに関係する。
【発明を実施するための最良の形態】
【００４３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４４】
１．配信システム、サーバシステム
図１に本実施形態により実現されるコンテンツの配信システム（ノード管理システム）やサーバシステムの構成例を示す。
【００４５】
図１の配信システムは、サーバシステム１００と、サーバシステム１００のクライアントとなる複数のノードＮ１〜Ｎ１０を有する配信網１０を含む。なお、配信システムは図１の構成に限定されず、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４６】
配信網１０（ネットワーク、通信回線）は、例えばインターネットを利用した通信路であり、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網等の通信網を含むことができる。また通信方法については有線／無線を問わない。
【００４７】
配信網１０は、相互に通信接続される複数のノードＮ１〜Ｎ１０を含む。各ノードは、インターネット等への接続機能を有するクライアント端末により構成される。このクライアント端末は、例えば家庭用ゲーム装置、携帯型ゲーム装置、ＰＣ（パーソナルコンピュータ）、携帯型情報端末等により実現され、図示しない操作部、処理部、通信制御部、記憶部、情報記憶媒体用のインターフェース等を有する。
【００４８】
図１に示すように、配信網１０は、コンテンツ配信元（サーバシステム、コンテンツ配信部）から直列接続（接続）される基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０の列である基幹ノード列ＫＮＬを含む。即ち、これらの基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０は、サーバシステム１００から下方向（第１の方向）に一列に直列接続される。
【００４９】
また配信網１０は、基幹ノード列ＫＮＬの各基幹ノード（起点ノード）に直列接続（接続）される分岐ノードの列ＢＮＬ１、ＢＮＬ２、ＢＮＬ３を含む。具体的には、分岐ノード列ＢＮＬ１を構成する分岐ノードＮ２、Ｎ４、Ｎ７は、基幹ノードＮ１に対して直列接続される。即ち、分岐ノードＮ２、Ｎ４、Ｎ７は、基幹ノードＮ１から、横方向（第１の方向に直交する第２の方向）に分岐することなく一列に直列接続される。同様に、分岐ノード列ＢＮＬ２を構成する分岐ノードＮ５、Ｎ８は、基幹ノードＮ３に対して直列接続され、分岐ノード列ＢＮＬ３を構成する分岐ノードＮ９は、基幹ノードＮ６に対して直列接続される。
【００５０】
このように図１の単純分岐型の配信網１０では、基本となる直列接続された基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０が設けられると共に、Ｎ１、Ｎ３、Ｎ６、Ｎ１０の各基幹ノードを起点として、分岐ノードＮ２、Ｎ４、Ｎ７の列やＮ５、Ｎ８の列やＮ９の列が、一列に直列接続されている。なおＮ１〜Ｎ１０の各ノードの番号は、コンテンツの配信順番号（ノードの追加順番）を表している。具体的には、起点となるノードＮ１（上位ノード）は、そのコンテンツ配信元であるサーバ（サーバシステム、コンテンツ配信部）からコンテンツを受信する。そして受信したコンテンツを中継して、そのコンテンツ配信先ノードＮ２、Ｎ３（下位ノード）に送信（再送）する。ノードＮ２（上位ノード）は、そのコンテンツ配信元ノードＮ１からコンテンツを受信すると、そのコンテンツを中継して、そのコンテンツ配信先ノードＮ４（下位ノード）に送信する。同様にノードＮ３（上位ノード）も、そのコンテンツ配信元ノードＮ１からコンテンツを受信すると、そのコンテンツを中継して、そのコンテンツ配信先ノードＮ５、Ｎ６（下位ノード）に送信する。
【００５１】
なお本実施形態の配信網１０は図１の構成に限定されず、種々の変形実施が可能である。例えば図２（Ａ）、図２（Ｂ）に配信網の他の構成例を示す。
【００５２】
図２（Ａ）は、順序型配信網の例である。図２（Ａ）では、コンテンツ配信元であるサーバに対してノードＮ１、Ｎ２、Ｎ３が配信順（ノードの追加順番）に直列接続されている。即ち図２（Ａ）では、ノードＮ１は、サーバからコンテンツを受信すると、受信したコンテンツを中継してノードＮ２に送信する。ノードＮ２は、ノードＮ１からコンテンツを受信すると、受信したコンテンツを中継してノードＮ３に送信する。
【００５３】
そして図２（Ａ）の順序型配信網では、ノードＮ２であるクライアントが、視聴終了や回線切断により配信網から除外されると、その前後のノードであるＮ１とＮ３とを接続することで、最小限の処理負荷（処理コスト）で配信網を維持できるという利点がある。但し、図２（Ａ）の順序型配信網では、配信網のノード数が増えてくると、末端のノードに対してのコンテンツ配信が開始するまでに、長いタイムラグが発生してしまうという問題点もある。例えばノードＮ２が、ノードＮ１からコンテンツを受信して、受信したコンテンツを中継（リレー）してノードＮ３に送信するまでに、データのバッファリングや配信準備等のために一定の中継時間を要する。このため、末端のノードでは、この中継時間がノード数分だけ積算されたタイムラグが発生してしまい、これによりコンテンツの視聴開始時間が遅れ、ユーザの待ち時間が長くなってしまう。
【００５４】
図２（Ｂ）は二分木型配信網の例である。この二分木型配信網では、例えばサーバにはノードＮ１、Ｎ２が接続され、ノードＮ１にはノードＮ３、Ｎ４が接続され、ノードＮ２にはノードＮ５、Ｎ６が接続されるというように各ノードが１入力・２分岐のツリー構造になっている。この二分木型配信網では、図２（Ａ）の配信網に比べて、末端のノードでの配信時間のタイムラグを短縮できるという利点がある。但し、視聴終了や回線切断により配信網から特定のノードが除外された場合に、配信順を崩さないようにするノードのトポロジの再構築処理の負荷が非常に大きいという問題点がある。
【００５５】
この点、図１に示す単純分岐型の配信網１０は、末端のノードＮ７、Ｎ８、Ｎ９、Ｎ１０での配信開始のタイムラグを、同じノード数で比較した場合に図２（Ａ）に比べて小さくできるという利点がある。例えばノード数が１０である場合に、末端のノードにコンテンツが届くまでに図２（Ａ）では９回の中継処理が必要になるが、図１では３回の中継処理で済むため、タイムラグを大幅に軽減できる。更に図１の単純分岐型の配信網１０では、配信順の維持のためのトポロジ再構築の処理負荷を、図２（Ｂ）に比べて軽くできるという利点もある。
【００５６】
このように図１の単純分岐型の配信網１０では、タイムラグの低減とトポロジの再構築の処理負荷の軽減を両立できるというメリットがあるが、本実施形態の配信網の構成は図１に限定されず、状況に応じた種々の構成の配信網を採用できる。
【００５７】
図１においてサーバシステム１００は、コンテンツ配信部１１０、ノード管理部１２０、制御処理部１３０、課金処理部１４０、データベース１７０、通信制御部１９０を含む。なお、サーバシステム１００は図１の構成に限定されず、これらの一部の構成要素（例えばコンテンツ配信部）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５８】
データベース１７０（データベースサーバ）は、例えばＭｙＳＱＬなどで実現されるリレーショナルデータベースであり、コンテンツ配信やサーバ管理やノード管理や評価ポイント演算に必要な様々な情報を記憶する。例えば配信管理情報、サーバ管理情報、ノード管理情報、ユーザ情報、評価ポイント情報などを記憶する。具体的にはデータベース１７０は、コンテンツ記憶部１７２、評価ポイント記憶部１７３、管理情報記憶部１７４を含む。コンテンツ記憶部１７２は、配信対象となる映像、音声等のコンテンツを記憶する。評価ポイント記憶部１７３は、各ノード（クライアント端末、視聴者、ユーザ）に対して付与される評価ポイント（協力ポイント）を記憶する。具体的には、各ノード（各ノードの識別情報）に関連づけてその評価ポイントを記憶する。管理情報記憶部１７４は、ノード管理処理のためのノード管理情報（ノード情報、配信網情報等）を記憶する。
【００５９】
通信制御部１９０（通信サーバ）は、配信網１０を介した情報転送のための各種の通信制御処理を行う。具体的にはインターネット等のプロトコルに従った通信に必要な各種処理を行う。
【００６０】
コンテンツ配信部１１０（コンテンツサーバ、コンテンツ配信元）は、データベース１７０のコンテンツ記憶部１７２（コンテンツデータベース）に記憶される映像（映画）、音声（音楽）、静止画、テキスト、ゲームプログラム、ゲームデータ等のコンテンツの配信処理（ストリーム配信）を行う。具体的には、配信網１０のコンテンツ配信元の各ノードからコンテンツ配信先の各ノードに対してＰ２Ｐ（Peer to Peer）のリレー方式で配信されるコンテンツを、基幹ノード列ＫＮＬの起点の基幹ノードＮ１に対して送信する。すると、コンテンツ配信部１１０からコンテンツを受信した基幹ノードＮ１は、コンテンツ配信元として、そのコンテンツ配信先のノードＮ２、Ｎ３に対してリレー方式でコンテンツを配信（ストリーム転送）する。この場合にコンテンツ配信部１１０は、必要であれば、ＤＥＳ、ＡＥＳ等の共通鍵暗号化方式や、公開鍵暗号化方式などで、コンテンツの暗号化処理を行う。そしてクライアントである各ノードは、暗号化されたコンテンツの復号化処理を行う。また各ノードは、コンテンツの復号化処理や再生処理を行うと共に、後段の下位のノードに対してコンテンツを再配信する中継処理を行う。
【００６１】
ノード管理部１２０（ノード管理サーバ、斡旋サーバ）は、配信網１０のノード管理処理を行う。例えば配信網１０への新規ノードの追加処理や、視聴終了や回線切断されたノードを配信網１０から除外する処理や、ノード列の接続を組み替える処理や、ノードからの各種要求に応答する処理や、ノードに対して各種要求を発行する処理などを行う。
【００６２】
具体的にはノード管理部１２０は、配信網１０に新規ノードが追加された場合に、コンテンツ配信先ノードの接続が可能なノードのうち、配信網１０への追加順番（配信順）が最も古いノードを検索する。即ち、追加順番の番号（配信順番号）が最も若いノードを検索する。そして検索されたノードに対して新規ノードを接続するための処理（検索や接続の要求処理や応答処理等）を行う。例えば、検索されたノードのコンテンツ配信先ノードとして分岐ノードが接続されていない場合（分岐ノードの接続が可能な場合）には、新規ノードを新たな分岐ノードとして接続する。一方、検索されたノードのコンテンツ配信先ノードとして分岐ノードが接続されているが、基幹ノードが接続されていない場合（分岐ノードの接続は不可であるが基幹ノードの接続は可能である場合）には、新規ノードを新たな基幹ノードとして接続する。
【００６３】
また、ノード管理部１２０は、視聴終了や回線切断により配信網１０から分岐ノードが除外され、除外された分岐ノードのコンテンツ配信先ノードとして下位（下流）の分岐ノードが存在する場合（下位の分岐ノードが接続されている場合）には、除外された分岐ノードの上位（上流）のノード（分岐ノード又は基幹ノード）を、その下位の分岐ノードに接続する。
【００６４】
一方、ノード管理部１２０は、視聴終了や回線切断により配信網１０から基幹ノードが除外され、除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在する場合（分岐ノードが接続されている場合）には、その分岐ノードを繰り上げて、新たな基幹ノードに設定する。この際に、新たな基幹ノードの下位（下流）の基幹ノードが存在し、この下位の基幹ノードの配信網１０への追加順番が、新たな基幹ノードの追加順番よりも先である場合（番号が若い場合）には、その新たな基幹ノード及びそれに接続される分岐ノード列と、下位の基幹ノード及びそれに接続される分岐ノード列との入れ替え処理を行う。なお除外された基幹ノードに対して複数の分岐ノード列が接続される場合には、複数の分岐ノード列の起点となる分岐ノードのうち、配信網１０への追加順番が最も古い分岐ノード（最も番号が若い分岐ノード）を、除外された基幹ノードの代わりに基幹ノードに設定してもよい。
【００６５】
またノード管理部１２０は、除外された基幹ノードのコンテンツ配信先ノードとして分岐ノードが存在せず、除外された基幹ノードのコンテンツ配信先ノードとして下位の基幹ノードが存在する場合（分岐ノードが非接続で、下位の基幹ノードが接続されている場合）には、除外された基幹ノードの上位の基幹ノードを、下位の基幹ノードに接続する。
【００６６】
更にノード管理部１２０は、配信網１０に新規ノードが追加された場合に、新規ノードを、配信網１０の基幹ノードのコンテンツ配信先ノードとして接続することを、配信網１０のノード数（総ノード数）に応じて許可（制限）してもよい。例えば、配信網１０のノード数をＫとし、基幹ノード数をｎとし、ｎの関数ｆ（ｎ）で表される所定数をＬ＝ｆ（ｎ）とした場合に、ノード数Ｋが所定数Ｌ以上であることを条件に、新規ノードを、基幹ノードのコンテンツ配信先ノードとして接続する。或いは、配信網１０の下位の基幹ノードに接続される分岐ノード列での追加可能ノード数の方が、上位の基幹ノードに接続される分岐ノード列での追加可能ノード数よりも小さくなるように制限する。具体的には、ｐの関数をＧ（ｐ）とした場合に、第ｐの基幹ノードに接続される分岐ノード列の追加可能ノード数をＭ＝Ｇ（ｐ）に制限する。或いは、第１の基幹ノード列及びそれに接続される第１の分岐ノード列群により構成される第１のノード集合のノード数が所定数になった場合には、第２の基幹ノード列及びそれに接続される第２の分岐ノード列群により構成される第２のノード集合を設定してもよい。
【００６７】
制御処理部１３０（制御処理サーバ）は、種々の制御処理を行うものであり、情報受信部１３２、情報送信部１３４、評価ポイント演算部１３６を含む。
【００６８】
情報受信部１３２は、各ノード等からの情報を受信する処理を行う。例えば各ノードからの要求情報や報告情報を受信する。具体的には、配信網の第ｊのノードが、上位の第ｉのノードからコンテンツを受信し、受信したコンテンツを、Ｐ２Ｐ（Peer to Peer）のリレー方式で下位の第ｋ（例えばｉ、ｊ、ｋはｉ＜ｊ＜ｋとなる整数）のノードに送信したとする。この場合に、情報受信部１３２は、コンテンツ配信の報告情報（コンテンツ配信が第ｊのノードと第ｋのノードの間で行われたことやその内容を報告する情報）を、例えば第ｋのノード及び第ｊのノードの少なくとも一方から受信する。
【００６９】
更に具体的には情報受信部１３２は、報告情報として、第ｋのノードが第ｊのノードから受信したコンテンツの受信データ量の情報を、第ｋのノードから受信する。ここで、受信データ量の情報は、受信データ量そのものであってもよいし、受信データ量の大小を表す情報（例えば受信回数等）であってもよい。或いは、報告情報として、受信データ量の情報と、第ｊのノード（第ｊのノードのクライアント端末、ユーザ）を特定するための識別情報（ＩＤ）を受信してもよい。
【００７０】
情報送信部１３４は、各ノード等に情報を送信する処理を行う。例えば各ノードに対して要求情報や通知情報を送信する。
【００７１】
評価ポイント演算部１３６は、評価ポイント（協力ポイント、貢献ポイント）の演算処理を行う。具体的には、受信された報告情報に基づいて、第ｊのノードから第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを、第ｊのノードに対して付与（加算）する処理を行う。例えば転送データ量が多くなるほど高くなる評価ポイントを第ｊのノードに対して付与する（ポイント加算する）。そして、この評価ポイントは、評価ポイント記憶部１７３において、第ｊのノードに関連づけて記憶されることになる。なお、転送データ量に応じた評価ポイントは、転送データ量（受信データ量、送信データ量）そのもの基づいて演算してもよいし、転送データ量に相当する情報（例えば転送回数等）に基づいて演算してもよい。
【００７２】
また評価ポイント演算部１３６は、第ｊのノードからコンテンツを受信した第ｋのノードから、報告情報を受信したことを条件に、第ｊのノードから第ｋのノードへのコンテンツの転送データ量に応じた評価ポイントを、第ｊのノードに対して付与してもよい。即ち送信側（受益者側）である第ｊのノードからの報告情報ではなく、受信側である第ｋのノードからの報告情報に基づいて、第ｊのノードの評価ポイントを演算する。例えば情報受信部１３２は、第ｋのノードから報告情報として、第ｊのノードから受信したコンテンツの受信データ量の情報を受信する。この場合には評価ポイント演算部１３６は、報告された受信データ量の情報に基づき演算された評価ポイントを、第ｊのノードに対して付与する。或いは、情報受信部１３２が、受信データ量の情報に加えて、第ｊのノードを特定するための識別情報を受信した場合には、評価ポイント演算部１３６は、報告された受信データ量の情報に基づき演算された評価ポイントを、受信した識別情報により特定される第ｊのノードに対して付与する。
【００７３】
なお評価ポイント演算部１３６は、コンテンツを送信した第ｊのノード及びコンテンツを受信した第ｋのノードの双方から、報告情報を受信したことを条件に、第ｊのノードに対して評価ポイントを付与（加算）してもよい。
【００７４】
また評価ポイント演算部１３６は、第ｊのノードが受信したコンテンツの受信データ量よりも、第ｊのノードが送信したコンテンツの送信データ量の方が多い場合に、第ｊのノードに対して評価ポイントを付与（加算）する。例えば受信データ量よりも送信データ量が多いほど、評価ポイントを高くする。
【００７５】
また、第ｊのノードでの再生コンテンツの決定（ユーザによる再生コンテンツの決定）から、第ｊのノードに対する課金の決済が終了するまでの決済期間において、第ｊのノードから第ｋのノードにコンテンツが配信されたとする。この場合には、評価ポイント演算部１３６は、この決済期間において配信されたコンテンツの転送データ量を除外して、第ｊのノードに対する評価ポイントを演算してもよい。即ちこの決済期間において生じたポイントについては、第ｊのノードの評価ポイントには加算しないようにする。
【００７６】
なお、第ｋのノード（クライアント端末）が、第ｊのノードでの決済終了の報告を受けた後に、第ｊのノードから受信したコンテンツの受信データ量の集計処理を開始したとする。この場合には情報受信部１３２は、報告情報として、第ｊのノードでの決済終了後の受信データ量の情報を第ｋのノードから受信する。そして評価ポイント演算部１３６は、第ｋのノードでの受信データ量に応じた評価ポイントを、第ｊのノードに対して付与することになる。
【００７７】
また例えば配信網１０として図１に示すような構成のものを採用した場合には、評価ポイント演算部１３６は、基幹ノードに対する評価ポイントの方が、分岐ノードに対する評価ポイントよりも高くなるように、評価ポイントの演算処理を行ってもよい。例えば基幹ノードのユーザに対しては、分岐ノードのユーザよりも、ポイント加算値を大きくする（例えば２倍にする）。このようにすれば、基幹ノードに配置されたユーザが感じる不平等感を解消できる。
【００７８】
また本実施形態における評価ポイントは、例えば、コンテンツ配信における転送データ量（転送回数等の転送データ量に相当する情報を含む）に応じた視聴者（ノード）に対する評価（貢献度）を、数値（パラメータ）で表したものである。この評価ポイントの使用形態としては、例えば、家電量産店におけるポイントカードに加算されるポイントのような使用形態や、特典データや仮想マネーデータなどの他の形態のデータに変換する元になる数値としての使用形態などを想定できる。例えば評価ポイントが一定値に達すると、課金処理において評価ポイントを視聴者に還元して、コンテンツの配信量（ダウンロード量）を割り引いたり、１又は複数回のコンテンツ視聴を無料にする。或いは、内部データとして蓄積された評価ポイントの数値（パラメータ）を、例えばキャラクデータ、アイテムデータ、或いは壁紙データなどの特典データに変換したり、ネットワーク上の金銭価値である仮想マネーデータに変換して、そのノード（視聴者、ユーザ、プレーヤ）に付与する（記憶部においてそのノードに対応づける）。或いは、評価ポイントに基づいて視聴者の会員としてのランク付けを行ってもよい。例えば評価ポイントの数値が一定値に達すると、その視聴者を、ゴールド会員やプレミアム会員などと呼ばれる高いランクの会員に昇格させる。具体的には、評価ポイントの数値に基づいて、視聴者の会員ランク指定フラグを変化させる。このように評価ポイントとしては様々な使用形態を考えることができる。
【００７９】
２．クライアント端末
図３に配信網１０の各ノードに設けられるクライアント端末（情報処理装置、ゲーム装置等）の構成例を示す。このクライアント端末は、処理部２００、操作部２６０、記憶部２７０、情報記憶媒体２８０用のインターフェース（Ｉ／Ｆ）部２８２、表示部２９０、音出力部２９２、通信制御部２９６を含む。なお本実施形態のクライアント端末は図３の構成に限定されず、その一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００８０】
処理部２００は種々の処理を行う。具体的には、暗号化されたコンテンツの復号化処理、映像や音声の再生処理等を行う。また、コンテンツ配信元のノードから受信したコンテンツのデータを記憶部２７０にバッファリング（キャッシュイング）し、バッファリングしたコンテンツのデータをリレー方式（バケツリレー方式）でコンテンツ配信先のノードに再送する処理等を行う。この処理部２００の機能は、ＣＰＵ等のプロセッサや、プロセッサ上で動作するプログラムなどにより実現できる。
【００８１】
操作部２６０は、視聴者がコンテンツ視聴のために必要な各種の入力を行うためのものであり、例えばキーボード、マウス、ゲームコントローラなどにより実現できる。
【００８２】
記憶部２７０は、処理部２００や通信制御部２９６のワーク領域として機能するものであり、その機能はＲＡＭやＨＤＤ等により実現できる。この記憶部２７０は、コンテンツバッファ２７２、管理情報記憶部２７４、決済終了フラグ記憶部２７６、受信データ量記憶部２７８を含む。
【００８３】
コンテンツバッファ２７２は、コンテンツ配信元のノードから受信したコンテンツのデータのキャッシュメモリとして機能する。管理情報記憶部２７４は、自身のノードの情報や他のノードの情報などの管理情報を記憶する。
【００８４】
決済終了フラグ記憶部２７６は、コンテンツ配信の決済の終了時にオンになる決済終了フラグを記憶する。受信データ量記憶部２７８は、コンテンツの配信先から受信したコンテンツのデータ量（集計結果）を記憶する。
【００８５】
Ｉ／Ｆ部２８２は、プログラムやデータが記憶される情報記憶媒体２８０へのアクセス処理などのインターフェース処理を行う。
【００８６】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部２００は、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体２８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００８７】
表示部２９０は、コンテンツの映像等を表示するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部２９２は、コンテンツの音声等を出力するものであり、その機能は、スピーカやヘッドホーン等により実現できる。
【００８８】
通信制御部２９６は、他のノードやサーバとの間でのデータの送受信のための各種の通信制御処理を行うものである。具体的にはインターネット等のプロトコルに従った通信に必要な各種処理を行う。通信制御部２９６の機能は、通信用のＡＳＩＣやファームウェアにより実現できる。
【００８９】
処理部２００は、コネクション確立部２０２、コンテンツ受信部２０４、復号化部２０６、再生部２０８、コンテンツ送信部２１０、表示制御部２１２、情報受信部２１４、情報送信部２１６、受信データ量集計部２１８を含む。なお、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００９０】
コネクション確立部２０２は、ノード間でのコネクション（セッション）を確立するための処理を行う。ここでコネクションの確立とは、ノード間に仮想的な通信路を確保する処理である。具体的には、コンテンツデータ等のデータを実際に通信するのに先立って、送信元のノードと送信先のノードとの間に仮想的な通信路を確保し、ノード間でデータを転送できる状態にする処理である。ＴＣＰ（Transmission Control Protocol）を例にとれば、コネクションの確立は、スリーウェイハンドシェークにより実現される。
【００９１】
コンテンツ受信部２０４はコンテンツ（コンテンツデータ）の受信処理を行う。具体的には、コンテンツ配信における上位のノードである第ｊのノードからコンテンツを受信する。そして、この第ｊのノードが、視聴停止や回線切断により配信網１０から除外された場合には、第ｋのノードと第ｉのノードとの間で予め確立しておいた予備コネクションを利用して、第ｉのノードからのコンテンツを受信する。これにより、第ｊのノードの除外時における再接続処理を短縮化できる。
【００９２】
復号化部２０６は、上位のノードから受信したコンテンツを復号化する処理を行う。また再生部２０８は、復号化されたコンテンツを再生するための処理を行う。例えば、コンテンツの映像を再生したり音声を再生する。そしてコンテンツ送信部２１０は、上位のノードから受信したコンテンツを下位のノードに送信するための処理を行う。具体的には、上位のノードから受信したコンテンツはコンテンツバッファ２７２に蓄積され、コンテンツ送信部２１０は、このコンテンツバッファ２７２に蓄積されたコンテンツを、中継して、下位のノードに送信する。これにより、Ｐ２Ｐのリレー方式（バケツリレー方式、キャッシュ・アンド・トス方式）でのコンテンツ配信が可能になる。
【００９３】
表示制御部２１２は表示部２９０の表示制御を行う。例えば、コンテンツ選択画面や、課金の決済画面や、コンテンツの再生画面等の表示制御を行う。
【００９４】
情報受信部２１４は、サーバシステム１００や他のノードからの各種の情報を受信する処理を行う。例えばサーバシステム１００や他のノードから各種の要求情報や報告情報を受信する。情報送信部２１６は、サーバシステム１００や他のノードに対して各種の情報を送信する処理を行う。例えばサーバシステム１００や他のノードに対して各種の要求情報や報告情報を送信する。
【００９５】
受信データ量集計部２１８は、上位ノードから受信したコンテンツのデータ量の集計処理を行う。集計結果である集計受信データ量は、受信データ量記憶部２７８に記憶される。具体的にはユーザが、表示部２９０に表示されたコンテンツ選択画面において、所望のコンテンツを選択すると、前回までの集計受信データ量はクリアされる。そして、上位ノードからコンテンツのデータを受信すると、受信したデータ量に応じて集計受信データ量が増加する。この場合、例えば、上位ノードからの決済終了フラグがオンになったことを条件に、受信データ量の集計処理を開始してもよい。
【００９６】
３．転送データ量に応じた評価ポイントの付与
Ｐ２Ｐのリレー方式において、システムの安定状態を維持するためには、配信網においてコンテンツ配信元となる各ノードが、コンテンツ配信先となる各ノードに対して、安定してコンテンツを供給することが必要である。例えば、各ノードのクライアント端末のコンテンツバッファの蓄積データ量が多ければ多いほど、システム全体は安定状態になる。具体的には、各ノードのコンテンツバッファに１本分のコンテンツ（１本分の映画）が蓄積されていれば、絶対的な安定状態になる。
【００９７】
ところが、各ノードのユーザが視聴を終了した場合や、回線切断などの故障があった場合には、そのノードは配信網から除外されてしまう。そして、このようなノードの除外が頻繁に起こると、システムが不安定状態になってしまう。従って、システムの安定化のためには、コミュニティに参加するユーザに対して、コンテンツの配信元として留まることのインセンティブを付与することが重要になる。
【００９８】
また、例えば図１のような構成の配信網１０では、基幹ノードＮ１、Ｎ３、Ｎ６は、２つの配信先ノードに対してコンテンツを配信している。一方、分岐ノードＮ２、Ｎ４、Ｎ５は、１つの配信先ノードだけにしかコンテンツを配信しておらず、分岐ノードＮ７、Ｎ８、Ｎ９は、いずれのノードに対してもコンテンツを配信していない。従って、同じ配信網１０のコミュニティに所属するノードであるのにもかかわらず、自ノードが配置された配信網内での位置によって、送信データ量が異なってしまう。例えばインターネットのプロバイダによっては、送信データ量に制限を設けている場合もあり、このような送信データ量の違いは、ユーザ間に不公平感を生む可能性がある。特に、自ノードが配信網内のどの位置に配置されるかは、システム側が決定するものであり、ユーザに選択権は無いため、このような不公平感は大きな問題になる可能性がある。
【００９９】
そこで本実施形態では、そのノードの転送データ量に応じた評価ポイントをそのノードに対して付与する手法を採用している。例えばコンテンツの受信データ量に比べて送信データ量が多い場合には、そのノードへの評価ポイントを高くする。そして、評価ポイントに応じて、例えば次回のコンテンツ配信の際に配信サービスの料金の割引を行ったり、その評価ポイントを仮想マネーや各種サービスに変換できるようにする。このようにすれば、評価ポイントがインセンティブになって、ユーザが配信網に留まるようになり、システムの安定化に繋がる。また、多くのコンテンツデータを送信したノードに対しては、多くのポイントを付与することで、不公平感や不平等感を解消できる。
【０１００】
例えば図４（Ａ）において、第ｉのノードＮｉは第ｊのノードＮｊの上位ノードであり、第ｊのノードＮｊは、第ｋのノードＮｋの上位ノードである。ここで、「上位」とは、コンテンツの配信順（接続の追加順番）が上位であることを示しており、具体的には配信順番号（追加順番の番号）が若いことを示している。なお図４（Ａ）等では、説明を簡単にするためにノードＮｉ、Ｎｊ、Ｎｋが隣接している場合を示しているが、本実施形態はこれに限定されるものではない。
【０１０１】
図４（Ａ）では、ノードＮｊが、上位のノードＮｉからコンテンツを受信し、受信したコンテンツをＰ２Ｐのリレー方式で下位のノードＮｋに送信（中継）している。この場合に、ノードＮｊ、Ｎｋ間でコンテンツ配信が行われたことやその内容を報告する情報が、サーバシステム１００に送信され、情報受信部１３２がその報告情報を受信する。ここで報告情報は、受信側（受け手側）のノードＮｋが送信することが望ましいが、ノードＮｊが送信するようにしてもよい。
【０１０２】
評価ポイント演算部１３６は、受信した報告情報に基づいて、ノードＮｊからＮｋへの転送データ量に応じた評価ポイントを、ノードＮｊに対して付与する。例えばノードＮｊからＮｋへの転送データ量が多ければ多いほど高くなる評価ポイントを付与する。そして図４（Ａ）に示すように、この評価ポイントは、そのノードＮｊに関連づけられて、評価ポイント記憶部１７３に記憶される。従って、例えば図１の課金処理部１４０は、この評価ポイント記憶部１７３の評価ポイントを参照して、コンテンツの視聴料金の割引処理等を実行できるようになる。
【０１０３】
図４（Ｂ）に示すように、ノードＮｊのポイントを評価する場合には、ノードＮｊからコンテンツを受信するノードＮｋからの報告情報に基づいて、ノードＮｊに対して評価ポイントを付与することが望ましい。例えば、ポイントが加算される受益者側であるノードＮｊからの報告情報に基づいてポイントを加算してしまうと、詐称による不正な行為が行われてしまうおそれがある。
【０１０４】
この点、図４（Ｂ）のように、受信側であるノードＮｋの報告情報に基づいて評価ポイントを演算すれば、このような事態の発生を防止できる。また本実施形態では、評価ポイントの演算処理を、各ノードでローカルには行わずに、サーバシステム１００側の評価ポイント演算部１３６で行うと共に、評価ポイントの情報を、サーバシステム１００側の評価ポイント記憶部１７３に記憶している。これにより、ユーザの不正行為等の発生を更に効果的に防止できる。
【０１０５】
図４（Ｂ）では、ノードＮｋからの報告情報は、ノードＮｋがノードＮｊから受信したコンテンツの受信データ量ＲＤＡｋの情報や、ノードＮｊを特定するための識別情報ＩＤｊを含む。情報受信部１３２がこれらの受信データ量ＲＤＡｋ、識別情報ＩＤｊを受信すると、評価ポイント演算部１３６は、ＩＤｊに基づいて、評価ポイント記憶部１７３から、ノードＮｊのこれまでの評価ポイントＰＴｊを読み出す。そして、読み出された評価ポイントＰＴｊに対して、受信データ量ＲＤＡｋの情報に基づき求められた加算ポイントを加算する。このようにすることで、ノードＮｊの評価ポイントを演算できる。
【０１０６】
例えば図１のＮ１がノードＮｉであり、Ｎ３がノードＮｊであり、Ｎ５がノードＮｋであったとする。すると、ノードＮ３（Ｎｊ）は、ノードＮ１（Ｎｉ）から受信したコンテンツを、ノードＮ５（Ｎｋ）に対して送信すると共にノードＮ６に対しても送信している。従って、この場合には、ノードＮ５からの報告情報（受信データ量）に基づいて、ノードＮ３（Ｎｊ）のポイントが加算されると共に、ノードＮ６からの報告情報（受信データ量）に基づいても、ノードＮ３（Ｎｊ）のポイントが加算されることになる。報告情報に、識別情報ＩＤｊや受信データ量ＲＤＡｋの情報を含ませれば、このように複数の受信ノードからの報告情報によるポイント加算が可能になる。
【０１０７】
なお、図５（Ａ）に示すように、ノードＮｊからの報告情報と、ノードＮｋからの報告情報の双方に基づいて、ノードＮｊの評価ポイントの演算処理を行ってもよい。例えば、ノードＮｊからの報告情報とノードＮｋからの報告情報が一致した場合（送信データ量と受信データ量が一致した場合）に、ノードＮｊの評価ポイントを加算する。このようにすれば、ユーザの不正行為を更に効果的に防止でき、適正なポイント評価を実現できる。
【０１０８】
また図５（Ｂ）に示すように、ノードＮｊが受信したコンテンツの受信データ量ＲＤＡｊよりも、ノードＮｊが送信したコンテンツの送信データ量ＴＤＡｊの方が多い場合に、ノードＮｊに対して評価ポイントを付与（加算）するようにしてもよい。具体的には、例えば送信データ量ＴＡＤｊと受信データ量ＲＤＡｊの差分であるＴＡＤｊ−ＲＤＡｊに応じたポイントを、ノードＮｊの評価ポイントＰＴｊに対して加算する。このようにすれば、より多くのデータを送信したノードに対して、より多くの評価ポイントが付与されるようになり、ユーザが感じる不公平感を更に低減できる。
【０１０９】
また例えば図６の配信網１０は、コンテンツ配信元であるサーバシステム１００から直列接続される基幹ノードの列と、基幹ノード列の各基幹ノードに直列接続される分岐ノードの列を有する。このような構成の配信網１０では、例えば基幹ノードＮ１、Ｎ３、Ｎ６、Ｎ１０、Ｎ１５は、分岐ノードＮ２、Ｎ４、Ｎ５等に比べて、送信データ量が必然的に多くなってしまう。従って、この場合には、基幹ノードに対する評価ポイントの方が、分岐ノードに対する評価ポイントよりも高くなるように、評価ポイントの演算処理を行えばよい。具体的には、例えば基幹ノードに対しては、デフォルトで一定の評価ポイントを付与し、分岐ノードに対しては、評価ポイントを付与しないようにしたり、基幹ノードに付与される評価ポイントよりも少ないポイントを、分岐ノードに付与する。或いは、後述の図８で説明するポイント変換係数ＫＰを、分岐ノードに比べて基幹ノードの方が大きな値になるように設定してもよい。このようにすれば、自身の意思に無関係に基幹ノードに設定されてしまったユーザの不公平感を、評価ポイントの優遇により解消することが可能になる。
【０１１０】
また例えば図７に示すように、映画等のコンテンツをユーザが視聴する場合には、ユーザのクライアント端末の表示部にタイトルの選択画面が表示され、表示されたタイトルの中から所望のタイトルを選択して決定する。そして、その後、課金処理部１４０による決済処理が行われ、決済が終了すると、そのクライアント端末でのコンテンツの再生が開始する。
【０１１１】
しかしながら、図７に示すように、例えばノードＮｊのユーザが、再生コンテンツを決定してから、ノードＮｊのユーザに対する課金の決済が終了するまでには、一定の決済期間ＴＤを要する。そして、システム全体の安定化のためには、この決済期間ＴＤにおいても、ノードＮｊは、Ｐ２Ｐのリレー方式の中継点として、コンテンツの転送処理を行うことが望ましい。
【０１１２】
ところが、この決済期間ＴＤで発生した転送データ量に対しても、ノードＮｊのユーザに評価ポイントを付与してしまうと、ノードＮｊのユーザが、詐称により不正な評価ポイントを獲得してしまうおそれがある。即ち、タイトルの決定後、決済の段階でキャンセルするという行為を繰り返すことで、ノードＮｊのユーザに対して不正な評価ポイントが付与されてしまう。
【０１１３】
そこで図７では、このような場合に、決済期間ＴＤにおいて配信（中継）されたコンテンツの転送データ量を除外して、ノードＮｊに対する評価ポイントを演算している。具体的には、決済期間ＴＤにおいては、転送データ量の集計処理を行わずに、決済期間ＴＤが完了してから、集計処理を開始するようにする。具体的には、ノードＮｊの下位のノードＮｋは、ノードＮｊでの決済終了の報告を受けた後に（ノードＮｊでの決済終了フラグがオンになった後に）、ノードＮｊから受信したコンテンツの受信データ量の集計処理を開始する。そして評価ポイント演算部１３６は、集計された受信データ量に応じた評価ポイントを、ノードＮｊに対して付与する。このようにすれば、上述のような不正な行為により、ノードＮｊのユーザに対して不正な評価ポイントが付与されてしまう事態を効果的に防止できる。
【０１１４】
４．本実施形態の手法の詳細な処理
次に本実施形態の手法の詳細な処理例について、図８、図９のフローチャートを用いて説明する。
【０１１５】
図８は、評価ポイントの演算処理についてのフローチャートである。まず、図４（Ｂ）で説明したように、ノードＮｋからの報告情報として、ノードＮｊからの受信データ量ＲＤＡｋと、ノードＮｊの識別情報ＩＤｊを受信する（ステップＳ７１）。ここで、受信データ量ＲＤＡｋは、ノードＮｋが、ノードＮｊから、前回の報告の後に受け取ったデータ量の総量である。また識別情報ＩＤｊは、ノードＮｊのクライアントを特定するためのＩＤであり、同一のＩＤについての加算ポイントは合算されることになる。
【０１１６】
次に、ポイント変換係数ＫＰと、受信データ量ＲＤＡｋに基づいて、加算ポイントＡＰｊを演算する（ステップＳ７２）。具体的には、例えばＡＰｊ＝ＫＰ×ＲＤＡｋの演算処理を行う。ここでポイント変換係数ＫＰは、実績受信データ量を、評価ポイント（協力ポイント）に変換するための係数である。
【０１１７】
次に、ステップＳ７２で求められた加算ポイントＡＰｊを、識別情報ＩＤｊで特定されるノードＮｊの評価ポイントＰＴｊに加算する（ステップＳ７３）。具体的には、ＰＴｊ＝ＰＴｊ＋ＡＰｊの加算処理を行う。即ち図４（Ｂ）で説明したように、評価ポイント記憶部１７３において、ノードＮｊに対応づけられて記憶される評価ポイントＰＴｊに対して、加算ポイントＡＰｊを加算する。これにより、受信データ量ＲＤＡｋに応じた評価ポイントを、ノードＮｊに対して付与することが可能になる。
【０１１８】
図９は、ノードＮｊのクライアント端末がコンテンツの受信を開始した後、ノードＮｋのクライアント端末が同じコンテンツの受信を開始するまでの処理を、模式的に表したフローチャート（データフロー）である。図９では、ノードＮｊのクライアント端末において、「手続き」、「コンテンツ受信」、「コンテンツ送信」という３つのタスクが同時に動作している。そして図７で説明したように、ノードＮｊによってオンにされる決済終了フラグ（ステップＳ８９）を、コンテンツの受け手であるノードＮｋがモニタし（ステップＳ１０９）、決済終了フラグがオンになった後に、ノードＮｊからの受信データの集計処理を開始するという（ステップＳ１１０）、仕組みになっている。
【０１１９】
具体的には、ノードＮｊ（手続きのタスク）では、決済終了フラグをオフにした後（ステップＳ８１）、コンテンツが決定される（ステップＳ８２）。即ち、ノードＮｊのユーザがコンテンツ選択画面でコンテンツを選択して決定する。すると、決済画面が表示され（ステップＳ８３）、決済が承諾された場合には（ステップＳ８４）、課金処理部１４０（課金サーバ）に対して決済が依頼される（ステップＳ８５）。
【０１２０】
すると、課金処理部１４０は、決済手続きの処理を行い（ステップＳ８６）、決済終了を知らせる通知を送信する（ステップＳ８７）。これにより、ノードＮｊは、決済終了フラグをオンにして（ステップＳ８８）、決済終了フラグオンになった事を、コンテンツの受け手であるノードＮｋに知らせる（ステップＳ８９）。その後、コンテンツの再生処理に移行する。
【０１２１】
またノードＮｊ（コンテンツ受信のタスク）は、ステップＳ８２のコンテンツ決定の後に、集計受信データ量をクリアする（ステップＳ９０）。そして、決定されたコンテンツの配信元の紹介依頼を、ノード管理部１２０（斡旋サーバ）に対し行い（ステップＳ９１）、ノード管理部１２０はノードＮｊに対して配信元を紹介する（ステップＳ９２）。これにより、ノードＮｊは、紹介された配信元であるノードＮｉに対してコンテンツの送信を依頼する（ステップＳ９３）。すると、ノードＮｉからコンテンツの一部が送信される（ステップＳ９４）。
【０１２２】
ノードＮｊは、送信されたコンテンツの一部を受信した後（ステップＳ９５）、ノードＮｉからの連絡（ステップＳ９９）により、ノードＮｉの決済終了フラグがオンになったと判断すると（ステップＳ９６）、受信データ量の集計処理を開始する（ステップＳ９７）。そして、全てのコンテンツの受信が完了すると（ステップＳ９８）、受信処理のタスクが終了する。
【０１２３】
ノードＮｋでは、決済終了フラグをオフにした後（ステップＳ１０１）、コンテンツが決定される（ステップＳ１０２）。すると、集計受信データ量をクリアし（ステップＳ１０３）、決定されたコンテンツの配信元の紹介依頼を、ノード管理部１２０に対して行い（ステップＳ１０４）、ノード管理部１２０が配信元を紹介する（ステップＳ１０５）。これにより、ノードＮｋは、紹介された配信元であるノードＮｊに対してコンテンツの送信を依頼する（ステップＳ１０６）。すると、ノードＮｊからコンテンツの一部が送信される（ステップＳ１０７）。
【０１２４】
ノードＮｋは、送信されたコンテンツの一部を受信した後（ステップＳ１０８）、ノードＮｊからの連絡（ステップＳ８９）により、ノードＮｊの決済終了フラグがオンになったと判断すると（ステップＳ１０９）、受信データ量の集計処理を開始する（ステップＳ１１０）。そして、全てのコンテンツの受信が完了すると（ステップＳ１１１）、受信処理のタスクが終了する。
【０１２５】
５．ノード接続管理手法
以下、図１の構造の配信網１０を採用した場合の本実施形態の詳細について具体的に説明する。
【０１２６】
本実施形態のＰ２Ｐ配信システムでは、コンテンツ配信を要求している複数のクライアント（ノード）について、迅速且つ円滑に、サーバ・クライアント間、或いは２つのクライアント間のＰ２Ｐ接続ができるように、配信順序を最適化し、接続を斡旋している。即ち配信システムを実現するサーバシステム（適宜、単にサーバと呼ぶ）は、帯域性能が限られており、同時配信可能なクライアント数が少ないため、本実施形態のシステムによって効率の良いノード接続管理（斡旋）を実現する。以下、映画等の動画を配信する場合のノード接続管理手法について、図１０（Ａ）〜図１２を用いて詳細に説明する。
【０１２７】
本実施形態では、Ｐ２Ｐのリレー方式（バケツリレー方式、キャッシュ・アンド・トス方式）にて、直列に接続されたクライアント（ノード）間で順番にコンテンツのデータを受け渡して行く。そして視聴終了や回線切断により配信網から外れるクライアントが発生した場合には、その前後の上位、下位のクライアントを接続することで、最低限の処理コストで配信網を維持する。このとき、配信網の接続変更を迅速に行うために、予め接続変更候補のクライアント同士で予備的なセッション（接続）を確立しておき、接続の切り替え処理の負荷（コスト）を低減する。また、直接Ｐ２Ｐ接続している２つのクライアントの順序を入れ替えるなどして、小規模な変更処理で配信網の最適化を図る。
【０１２８】
具体的には本実施形態では図１に示すように、図２（Ａ）の基本となる順序型配信網に加えて、各基幹ノードを起点として分岐ノードを更に直列接続する。そして、Ｐ２Ｐ接続の順序として以下のルールを採用する。
（１）基幹ノード（図１のノードＮ１、Ｎ３、Ｎ６、Ｎ１０）に対しては、配信先ノードとして、２個（広義にはＩ個）までの接続を許可する。一方、分岐ノード（ノードＮ２、Ｎ４、Ｎ５、Ｎ７、Ｎ８、Ｎ９）に対しては、配信先ノードとして、１個（広義にはＪ個）だけの接続を許可する。
【０１２９】
別の言い方をすれば、基幹ノードに対して接続可能なコンテンツ配信先ノードの個数をＩとし、分岐ノードに対して接続可能なコンテンツ配信先ノードの個数をＪとした場合に、Ｉ＞Ｊとする。図１では、Ｉ＝２、Ｊ＝１になっており、基幹ノードに対しては２個のコンテンツ配信先ノードを接続でき、分岐ノードに対しては１個のコンテンツ配信先ノードを接続できる。なお、各基幹ノードに対して、２本以上の分岐ノード列を接続する構成にしてもよく、この場合にはＩ≧３になる。従って、本実施形態では、Ｉ≧２、Ｊ＝１の関係が成り立つことになる。
（２）配信網に新規ノードが追加された場合に、コンテンツ配信先ノードの接続が可能なノードのうち、配信網への追加順番（接続順番）が最も古いノードに対して新規ノードを接続する。
【０１３０】
例えば図１０（Ａ）において、サーバに対して基幹ノードＮ１、Ｎ３が直列接続され、基幹ノードＮ１に対して分岐ノードＮ２が接続されている。ここで上記ルール（１）によれば、基幹ノードＮ１、Ｎ３に対する配信先ノードの接続可能個数はＩ＝２であり、分岐ノードＮ２に対する配信先ノードの接続可能個数はＪ＝１である。従って、図１０（Ａ）では、基幹ノードＮ１には、追加された新規ノードを接続できず、基幹ノードＮ３には２個の新規ノードを接続でき、分岐ノードＮ２には１個の新規ノードを接続できる。
【０１３１】
そして図１０（Ａ）の接続構成の配信網に対して、新規ノードＮ４、Ｎ５、Ｎ６（新たに視聴を開始したクライアント）を追加すると、上記ルール（２）により、最終的な接続構成は図１０（Ｄ）のようになる。
【０１３２】
即ち、図１０（Ａ）において、ノードＮ１には、コンテンツ配信先ノード（自身がコンテンツを送信するノード）としてＮ２とＮ３が接続されており、基幹ノードＮ１の接続可能個数はＩ＝２であるため、新たなコンテンツ配信先ノードを接続することはできない。一方、ノードＮ２、Ｎ３には、コンテンツ配信先ノードは接続されておらず、新たなコンテンツ配信先ノードの接続が可能である。従って、上記ルール（２）により、コンテンツ配信先ノードの接続が可能なノードＮ２、Ｎ３の中から、配信網への追加順番が最も古いノードを検索する。すると、ノードＮ２の方がＮ３よりも追加順番が古いので（番号が若いので）、上記ルール（２）により、図１０（Ｂ）に示すようにノードＮ２に対して新規ノードＮ４を接続する。
【０１３３】
また図１０（Ｂ）において、ノードＮ１、Ｎ２には、新たなコンテンツ配信先ノードを接続することはできない。上記ルール（１）より、基幹ノードＮ１の接続可能個数はＩ＝２であり、分岐ノードＮ２の接続可能個数はＪ＝１であるからである。一方、ノードＮ３、Ｎ４には、新たなコンテンツ配信先ノードの接続が可能である。そして、ノードＮ３の方がＮ４よりも配信網への追加順番が古い（番号が若い）。従って、上記ルール（２）により、図１０（Ｃ）に示すようにノードＮ３に対して新規ノードＮ５を接続する。
【０１３４】
また図１０（Ｃ）において、ノードＮ３、Ｎ４、Ｎ５は、新たなコンテンツ配信先ノードの接続が可能である。そして、ノードＮ３の方がＮ４、Ｎ５よりも配信網への追加順番が古い。従って、上記ルール（２）により、図１０（Ｄ）に示すようにノードＮ３に対して新規ノードＮ６を接続する。
【０１３５】
ここで図１０（Ａ）のノードＮ２に着目すると、ノードＮ２のコンテンツ配信先ノードとして分岐ノードが接続されていないので、図１０（Ｂ）に示すように、新規ノードＮ４は、新たな分岐ノードとして接続される。また図１０（Ｃ）のノードＮ３に着目すると、ノードＮ３のコンテンツ配信先ノードとして分岐ノードＮ５は接続されているが、基幹ノードは接続されていないため、図１０（Ｄ）に示すように、新規ノードＮ６は、新たな基幹ノードとして接続される。
【０１３６】
次に、ノード（クライアント）の除外（離脱）処理及びそれによる配信網の組み替え処理について、図１１（Ａ）〜図１２を用いて説明する。
【０１３７】
例えば図１１（Ａ）では、視聴終了により基幹ノードＮ１が除外されている。また除外された基幹ノードＮ１のコンテンツ配信先ノードとして分岐ノードＮ２が存在する。この場合には、この分岐ノードＮ２を、除外された基幹ノードＮ１の代わりとなる新たな基幹ノードに設定する。即ち、視聴終了や回線切断により、配信網からノード（クライアント）を除外した場合には、各分岐ノード列の残ったノードを左に詰めて隙間を埋める。
【０１３８】
また図１１（Ｂ）では、基幹ノードＮ１が除外されたが、基幹ノードＮ１には分岐ノードが接続されていない。従って、この場合には、下の列であるノードＮ３、Ｎ５やＮ６を順次繰り上げる。
【０１３９】
なお図１１（Ａ）において、配信網から分岐ノードＮ２が除外されたとする。この場合に、除外された分岐ノードＮ２のコンテンツ配信先ノードとして下位の分岐ノードＮ４が存在する。従って、この場合には、除外された分岐ノードの上位のノードＮ１（分岐ノード又は基幹ノード）を、下位の分岐ノードＮ４に接続することになる。即ち、ノードＮ２の除外により残ったノードＮ４を、左に詰めて隙間を埋める。
【０１４０】
基幹ノードＮ１を除外した場合には配信網の組み替え処理が必要な場合がある。例えば図１２では、基幹ノードＮ２が除外され、ノードＮ４が新たな基幹ノードに設定されている。そして、この新たな基幹ノードＮ４の下位の基幹ノードＮ３が存在し、下位の基幹ノードＮ３の配信網への追加順番は、新たな基幹ノードＮ４の追加順番よりも先である。従って、この場合には、新たな基幹ノードＮ４及びそれに接続される分岐ノード列と、下位の基幹ノードＮ３及びそれに接続される分岐ノード列との入れ替え処理を行う。即ち再配置により、基幹ノードが新たな基幹ノードに代わった場合には、上下の基幹ノード間で追加順番（配信順）が逆になっていないかをチェックし、問題がある場合には列を入れ替える。
【０１４１】
６．ノード管理情報
次に図１の管理情報記憶部１７４に記憶されるノード管理情報の詳細について図１３（Ａ）〜図１４を用いて説明する。
【０１４２】
本実施形態のノード管理情報は、ノード情報、ノード配信順情報、配信網情報を含むことができる。ここでノード情報は、各ノードについての配信順、配信網における位置、その接続ノードなどの情報である。図１３（Ａ）にノード情報のデータ構造の例を示す。このノード情報は、接続ノード情報、ノード配信順番号、配信網位置情報を含む。
【０１４３】
接続ノード情報は、そのノードに他のノードが接続されているか否かを示したり、接続されている場合にはどのノードが接続されているのかを示す情報である。具体的には、接続ノード情報は、そのノードの上位の基幹ノード、上位の分岐ノード、下位の分岐ノード、下位の基幹ノードの番号等を含む。
【０１４４】
ノード配信順番号は、ノードが配信網に追加された順番を数値で表したものである。配信網位置情報は、ノードが配信網内に配置されている位置や、ノードが基幹ノードなのか分岐ノードなのかを知るための情報である。具体的には、配信網位置情報は、ノード列番号、ノード連結順番号（ノード列内の順番）を有する。
【０１４５】
ノード配信順情報は、図１３（Ｂ）に示すように、各ノードのノード情報を、配信網に追加された順にリスト化した情報である。新規ノードの追加位置を検索する際には、このノード配信順情報のリスト順にノード情報をチェックすることになる。
【０１４６】
なお図１３（Ｂ）には、図１０（Ｄ）のようなノード構成の場合のノードＮ３のノード情報の例が示されている。このノード情報では、図１０（Ｄ）のように、ノードＮ３の上位基幹ノード、下位分岐ノード、下位基幹ノードが、各々、ノードＮ１、Ｎ５、Ｎ６であり、上位分岐ノードは存在しないことが示されている。またノードＮ３の配信順番号が「３」であり、配信網位置が[１，０]であることが示されている。
【０１４７】
配信網情報は、配信網全体の情報を管理するための情報であり、図１４に示すように、ノード総数、基幹ノード数（ノード列数）、ノード列の接続ノード数を含む。例えば図１４は、図１０（Ｄ）のノード構成に対応するものであり、ノード総数は９であり、基幹ノード数は３であり、ノード列ノード数は［３，２，１］になっている。また図１４では、図１３（Ａ）のノード連結順番号（横軸）や、ノード列番号（縦軸）が示されていると共に、ノードＮ１〜Ｎ６のノード情報が模式的に示されている。
【０１４８】
７．詳細な処理
次に、新規ノードが追加された場合の本実施形態の詳細な処理例について、図１５〜図１８のフローチャートを用いて説明する。
【０１４９】
図１５、図１６は新規ノードの追加処理に関するフローチャートである。新規ノードが追加された場合には、まず図１５に示すように、配信網に接続されたノードが存在するか否かを判断する（ステップＳ１）。そして、他のノードが存在しない場合には、追加された新規ノードを起点の基幹ノードとしてサーバに接続する（ステップＳ２）。一方、存在する場合には、新規ノードを配信網に接続するための処理を実行する（ステップＳ３）。
【０１５０】
図１６は、図１５のステップＳ３の処理の詳細を示すフローチャートである。まず配信網への追加順番が最も古いノードを検索する（ステップＳ１１）。この検索処理は図１３（Ｂ）のノード配信順情報等を用いて実現できる。
【０１５１】
次に、検索されたノードのコンテンツ配信先ノード（下位のノード）として分岐ノードが接続されているか否かを判断する（ステップＳ１２）。この判断処理は図１３（Ａ）のノード情報等を用いて実現できる。そして、検索されたノードに分岐ノードが接続されていない場合には、新規ノードを、新たな分岐ノードとして接続する（ステップＳ１３）。
【０１５２】
一方、検索されたノードに分岐ノードが接続されている場合には、コンテンツ配信先ノード（下位のノード）として基幹ノードが接続されているか否かを判断する（ステップＳ１４）。そして接続されていない場合には、新規ノードを、新たな基幹ノードとして接続する（ステップＳ１５）。一方、基幹ノードが接続されている場合には、検索されたノードには、新規ノードを接続できないため、検索されたノードを候補から除外する（ステップＳ１６）。そして、他の候補となるノードが存在するか否かを判断し（ステップＳ１７）、存在する場合にはステップＳ１１に戻る。
【０１５３】
以上のように新規ノードの追加処理を行えば、末端ノードへの配信開始の少ないタイムラグを維持しながら、負荷が少ない効率的な処理で、新規ノードを配信網に接続することが可能になる。
【０１５４】
図１７は、ノード除外時の配信網の組み替え処理に関するフローチャートである。ここでは説明を簡単にするために、図１９（Ａ）又は図１９（Ｂ）のようにノードが接続されていると想定する。即ち図１９（Ａ）において、ノードＡは、視聴終了等により除外された分岐ノードであり、ノードＢは、ノードＡに接続されている上位のノード（分岐ノード、基幹ノード）であり、ノードＣは、ノードＡに接続されている下位の分岐ノードである。また図１９（Ｂ）において、ノードＡは、除外された基幹ノードであり、ノードＤはノードＡの上位の基幹ノードであり、ノードＥはノードＡの下位の基幹ノードである。
【０１５５】
図１７に示すように、まず、除外されたノードＡが基幹ノードか否かを判断する（ステップＳ２１）。そして図１９（Ａ）に示すように、ノードＡが基幹ノードではなく分岐ノードである場合には、下位の分岐ノードＣが存在するか否かを判断し（ステップＳ２２）、存在する場合にはノードＢとノードＣを互いに接続する（ステップＳ２３）。このようにすれば、ノードＡが除外された場合に、ノードＣを左に詰めてノードＢに接続できる。
【０１５６】
一方、図１９（Ｂ）に示すように、除外されたノードＡが、ステップＳ２１で基幹ノードであると判断された場合には、下位の分岐ノードＣが存在するか否かを判断する（ステップＳ２４）。そしてノードＣが存在する場合には、ノードＣを新たな基幹ノードに設定する（ステップＳ２５）。即ち、ノードＣを左に詰めて、ノードＡの代わりに基幹ノードに設定する。そして、ノード列の接続順を組み替える処理を行う（ステップＳ２７）。
【０１５７】
一方、ステップＳ２４で、下位の分岐ノードＣが存在しないと判断された場合には、下位の基幹ノードＥが存在するか否かを判断する（ステップＳ２８）。そして、下位の基幹ノードＥが存在する場合には、基幹ノードＤと基幹ノードＥを互いに接続する（ステップＳ２９）。このようにすれば、ノードＡが除外された場合に、ノードＥを上に詰めでノードＤに接続できるようになる。
【０１５８】
図１８は、図１７のステップＳ２７の処理の詳細を示すフローチャートである。即ち、図１９（Ｂ）においてノードＣを新たな基幹ノードに設定した場合の組み替え処理に関するフローチャートである。
【０１５９】
まず、ノードＣに下位の基幹ノードが接続されているか否かを判断する（ステップＳ３１）。そして接続されている場合には、下位の基幹ノードＥの配信網への追加順番がノードＣよりも先か否かを判断する（ステップＳ３２）。そして、先である場合には、ノードＣ及びその分岐ノード列とノードＥ及びその分岐ノード列を入れ替える処理を行う（ステップＳ３３）。即ち図１２で説明した入れ替え処理を行う。そして入れ替えたノードの上位、下位ノードとの接続を更新する（ステップＳ３４）。
【０１６０】
以上のような組み替え処理を行えば、ノードＡが除外された場合にも、Ｐ２Ｐのリレー方式における配信順の維持を、少ない処理負荷で実現できる。
【０１６１】
８．基幹ノード数の制限
さて、以上の本実施形態の手法でノード接続等を管理した場合に、分岐ノード数がそれほど増加せずに、基幹ノード数の方が大きく増加してしまう可能性がある。このように基幹ノード数が増加してしまうと、末端ノードへの配信のタイムラグが大きくなってしまい、効率の良い配信を実現できなくなるおそれがある。
【０１６２】
即ち、本実施形態では前述のルール（１）（２）により新規ノードの接続処理等を行っている。しかしながら、これらのルール（１）（２）のみでは、定期的にノードが追加された場合に、徐々に基幹ノード数が増加して行くのに対して、基幹ノード数が減少するには、ノード列にノードが追加される前に全てのノードが配信網から除外される必要がある。従って、視聴終了による自然なノード除外のみでは、基幹ノード数はなかなか減少しない。その結果、ノードの追加及び除外を繰り返すうちに、配信網の総ノード数に比較して、基幹ノード数（ノード列数）が増加してしまう。そして、基幹ノード数が増加して、配信網が縦に長くなると、末端のノードに到達するまでの中継ノード数が増えてしまい、結果として配信効率が悪化する。
【０１６３】
このような問題を解消するためには、例えば基幹ノードの追加に条件を設定し、一方的な基幹ノード数の増加を防ぐことが望ましい。そこで上記のルール（１）に加えて、以下のルール（３）を加える。
（３）ルール（１）において、基幹ノードの例えば２つの接続先のうち、新たな基幹ノードとなるノードの接続については、現在、配信網に接続されているノードの数が十分に多い場合にのみ接続を許可する。即ち、配信網に新規ノードが追加された場合に、新規ノードを、基幹ノードのコンテンツ配信先ノードとして接続することを、配信網のノード数に応じて許可する。
【０１６４】
具体的には、配信網のノード数をＫとし、配信網の基幹ノード数をｎとし、ｎの単調増加関数ｆ（ｎ）で表される所定数をＬ＝ｆ（ｎ）としたとする。この場合に、ノード数Ｋが所定数Ｌ以上であることを条件に、新規ノードを、基幹ノードのコンテンツ配信先ノードとして接続することを許可する。
【０１６５】
例えばＬ＝ｆ（ｎ）＝｛（ｎ＋１）×（ｎ＋２）／２｝−１であったとする。そして図２０（Ａ）では、配信網のノード数はＫ＝９であり、基幹ノード数はｎ＝３である。従って、Ｌ＝｛（３＋１）×（３＋２）／２｝−１＝９になり、Ｋ≧Ｌ＝９となる。よって、この場合には、新規ノードＮ１０を、基幹ノードＮ３の下位の基幹ノードとして接続することを許可する。
【０１６６】
一方、図２０（Ｂ）では、配信網のノード数はＫ＝６であり、基幹ノード数はｎ＝３である。従って、Ｌ＝｛（３＋１）×（３＋２）／２｝−１＝９より、Ｋ＜Ｌ＝９になる。よって、この場合には、新規ノードＮ８を、基幹ノードＮ３の下位の基幹ノードとして接続することを禁止する。
【０１６７】
以上のようにすれば、配信網が縦方向に無駄に拡大して行くのを防止でき、コンテンツ配信の効率化を図れる。
【０１６８】
図２１、図２２に、以上の本実施形態の手法を実現する処理のフローチャートを示す。図２１は、図１５に対応するフローチャートであり、図２１が図１５と異なるのは、図２１ではステップＳ５３とステップＳ５４の処理が追加されている点であり、その他のステップの処理は同様である。
【０１６９】
即ち、ステップＳ５３では、基幹ノード数に対して配信網のノード数（総ノード数）が十分に多いか否かを判断する。具体的には上述のように、配信網のノード数をＫとし、基幹ノード数をｎとした場合に、Ｋ≧Ｌ＝ｆ（ｎ）か否かを判断する。そして、基幹ノード数ｎに対して配信網のノード数Ｋが十分に多い場合には、ステップＳ５５の新規ノードを配信網に接続する処理を行う。即ち、図１６で説明した通常の接続処理を行う。
【０１７０】
一方、基幹ノード数に対して配信網のノード数が十分に多くない場合には、ステップＳ５４に示すように、新規ノードを分岐ノードに限定して配信網に接続する処理を行う。具体的には図２２のフローチャートに示す処理を行う。
【０１７１】
ここで図２２と図１６が異なるのは、図１６ではステップＳ１４、Ｓ１５の処理が行われるのに対して、図２２では、このステップＳ１４、Ｓ１５に対応する処理を行わない点である。即ち、図２２のステップＳ６２で、検索されたノードのコンテンツ配信先ノードとして分岐ノードが接続されていると判断された場合には、検索されたノードのコンテンツ配信先ノードとして基幹ノードが接続されているか否かを判断することなく（図１６のステップＳ１４の判断を行うことなく）、無条件でその検索ノードを候補から除外する（ステップＳ６６）。従って、図１６のステップＳ１５に示す処理（新規ノードを基幹ノードとして接続する処理）が行われないようになり、基幹ノードの増加を防止できるようになる。
【０１７２】
９．基幹ノード追加の制限手法
次に、基幹ノードの追加を制限する種々の手法について説明する。基幹ノードの追加を制限する手法としては、以下の（Ｉ）（II）（III）の方式を考えることができる。
（Ｉ）長方形方式
この方式は、前述の基幹ノード追加制限のルール（３）を適用するだけで実現できる手法である。配信網の形状は、配信網形成開始からノードの除外が発生するまでは三角形になるが、ノードの除外発生以降は、図２３（Ａ）に示すように徐々に長方形に変化して行く。この方式は、配信網の形状が縦方向に無駄に延びる事態を防止できると共に、制限方法が単純であり、配信網管理の処理負荷が軽いというメリットがある。
（II）三角形方式
この方式は、配信網の形状を変化させずに、三角形に維持したまま管理する手法である。この方式では、図２３（Ｂ）に示すように、各末端ノードＮ１５、Ｎ１４、Ｎ１３、Ｎ１２、Ｎ１１に至るまでの中継ノード数をほぼ一定にすることができ、端末ノードでの配信のタイムラグの均等化を図れ、データが伝達するまでの遅延の予測が容易になるというメリットがある。この方式では、接続ノード数をノード列ごとに管理し、ノードの追加探索時に調査対象ノードが属するノード列のノード数により、追加を制限する。
【０１７３】
具体的には、配信網の下位の基幹ノードに接続される分岐ノード列での追加可能ノード数の方が、上位の基幹ノードに接続される分岐ノード列での追加可能ノード数よりも小さくなるように制限する。更に具体的には、ｐの単調減少関数をＧ（ｐ）とした場合に、基幹ノード列の第ｐの基幹ノードに接続される分岐ノード列の追加可能ノード数をＭ＝Ｇ（ｐ）に制限する。
【０１７４】
例えば図２３（Ｂ）では、下位の基幹ノードＮ１０に接続される分岐ノード列ＢＮＬ４での追加可能ノード数の方が、上位の基幹ノードＮ１に接続される分岐ノード列ＢＮＬ１での追加可能ノード数よりも小さくなっている。このようにすることで、配信網の形状が三角形に維持される。
【０１７５】
例えば、基幹ノード数をｎとし、Ｇ（ｐ）＝ｎ−ｐとする。すると、図２３（Ｂ）では、基幹ノード数はｎ＝５であるため、第１（ｐ＝１）の基幹ノードＮ１に接続される分岐ノード列ＢＮＬ１の追加可能ノード数は、Ｍ＝Ｇ（ｐ）＝５−１＝４に制限される。同様に、第２（ｐ＝２）の基幹ノードＮ３に接続される分岐ノード列ＢＮＬ２の追加可能ノード数は、Ｍ＝Ｇ（ｐ）＝５−２＝３に制限され、第３（ｐ＝３）の基幹ノードＮ６に接続される分岐ノード列ＢＮＬ３の追加可能ノード数は、Ｍ＝Ｇ（ｐ）＝５−３＝２に制限され、第４（ｐ＝４）の基幹ノードＮ１０に接続される分岐ノード列ＢＮＬ４の追加可能ノード数は、Ｍ＝Ｇ（ｐ）＝５−４＝１に制限される。従って、結果として配信網の形状が三角形に維持される。
【０１７６】
そして図２３（Ｃ）では、分岐ノード列ＢＮＬ３に対する新規ノードＮ１６の追加は不可になり、分岐ノード列ＢＮＬ４に対する新規ノードＮ１７、Ｎ１８の追加も不可になる。
（III）追加区画管理方式
この方式は、現在存在している配信網のノードの集合である第１のノード集合に対するノードの追加を一定数で停止し、それ以降に追加されたノードを用いて、上記の第１のノード集合の基幹ノードの末端に新たな第２のノード集合を接続する手法である。この方式によれば、ノードの追加の際に、ノードの追加が停止された第１のノード集合をチェックする必要がなくなり、追加位置探索対象となるノードを限定できるため、追加位置探索処理の負荷を抑制できる。
【０１７７】
具体的には図２４において、第１の基幹ノード列ＫＮＬ１及びＫＮＬ１に接続される第１の分岐ノード列群により構成される第１のノード集合ＮＡＧ１のノード数が所定数になったとする。この場合には、第１の基幹ノード列ＫＮＬ１に直列接続される第２の基幹ノード列ＫＮＬ２及びＫＮＬ２に接続される第２の分岐ノード列群により構成される第２のノード集合ＮＡＧ２を設定する。そして、以降は、追加された新規ノードＮ２１、Ｎ２２、Ｎ２３を、第１のノード集合ＮＡＧ１ではなくて、第２のノード集合ＮＡＧ２のノードに接続する。これにより処理負荷を軽減しながら、ノード数を効率的に増加させることが可能になる。
【０１７８】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、評価ポイントの演算手法、情報の報告手法、コンテンツの配信手法、ノード接続管理手法、ノード列の接続の組み替え手法等も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【図面の簡単な説明】
【０１７９】
【図１】本実施形態が適用される配信システム及びサーバシステムの構成例。
【図２】図２（Ａ）、図２（Ｂ）は、順序型配信網や二分木型配信網の例。
【図３】本実施形態のクライアント端末の構成例。
【図４】図４（Ａ）、図４（Ｂ）は本実施形態の手法の説明図。
【図５】図５（Ａ）、図５（Ｂ）は本実施形態の手法の説明図。
【図６】本実施形態の手法の説明図。
【図７】本実施形態の手法の説明図。
【図８】本実施形態の処理を説明するためのフローチャート。
【図９】本実施形態の処理を説明するためのフローチャート。
【図１０】図１０（Ａ）〜図１０（Ｄ）は本実施形態のノード接続管理手法の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は本実施形態のノード接続管理手法の説明図。
【図１２】本実施形態のノード接続管理手法の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）はノード管理情報の説明図。
【図１４】ノード管理情報の説明図。
【図１５】本実施形態の処理を説明するためのフローチャート。
【図１６】本実施形態の処理を説明するためのフローチャート。
【図１７】本実施形態の処理を説明するためのフローチャート。
【図１８】本実施形態の処理を説明するためのフローチャート。
【図１９】図１９（Ａ）、図１９（Ｂ）は本実施形態の処理を説明するための図。
【図２０】図２０（Ａ）、図２０（Ｂ）は基幹ノード数の増加を制限する手法の説明図。
【図２１】図２０（Ａ）、図２０（Ｂ）の手法の処理を説明するためのフローチャート。
【図２２】図２０（Ａ）、図２０（Ｂ）の手法の処理を説明するためのフローチャート。
【図２３】図２３（Ａ）、図２３（Ｂ）、図２３（Ｃ）は四角形方式、三角形方式の手法の説明図。
【図２４】追加区画管理方式の手法の説明図。
【符号の説明】
【０１８０】
Ｎｉ  第ｉのノード、Ｎｊ  第ｊのノード、Ｎｋ  第ｋのノード、
ＫＮＬ  基幹ノード列、ＢＮＬ１、ＢＮＬ２、ＢＮＬ３  分岐ノード列、
１０  配信網、１００  サーバシステム、１１０  コンテンツ配信部、
１２０  ノード管理部、１３０  制御処理部、１３２、情報受信部、
１３４  情報送信部、１３６  評価ポイント演算部、１４０  課金処理部、
１７０  データベース、１７２  コンテンツ記憶部、１７３  評価ポイント記憶部、
１７４  管理情報記憶部、１９０  通信制御部、
２００  処理部、２０２  コネクション確立部、２０４  コンテンツ受信部、
２０６  復号化部、２０８  再生部、２１０  コンテンツ送信部、２１２  表示制御部、
２１４  情報受信部、２１６  情報送信部、２１８  受信データ量集計部、
２６０  操作部、２７０  記憶部、２７２  コンテンツバッファ、
２７４  管理情報記憶部、２８０  情報記憶媒体、２８２  Ｉ／Ｆ部、
２９０  表示部、２９２  音出力部、２９６  通信制御部
【図１】
2009246817.tif 000003
【図２】
2009246817.tif 000004
【図３】
2009246817.tif 000005
【図４】
2009246817.tif 000006
【図５】
2009246817.tif 000007
【図６】
2009246817.tif 000008
【図７】
2009246817.tif 000009
【図８】
2009246817.tif 000010
【図９】
2009246817.tif 000011
【図１０】
2009246817.tif 000012
【図１１】
2009246817.tif 000013
【図１２】
2009246817.tif 000014
【図１３】
2009246817.tif 000015
【図１４】
2009246817.tif 000016
【図１５】
2009246817.tif 000017
【図１６】
2009246817.tif 000018
【図１７】
2009246817.tif 000019
【図１８】
2009246817.tif 000020
【図１９】
2009246817.tif 000021
【図２０】
2009246817.tif 000022
【図２１】
2009246817.tif 000023
【図２２】
2009246817.tif 000024
【図２３】
2009246817.tif 000025
【図２４】
2009246817.tif 000026