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