(57)【要約】      （修正有）【課題】トポロジの分断が発生し得る場合でもそれから適切に復帰させることで、配信システムにおけるトポロジの安定化を図ることが可能な配信システム等を提供する。【解決手段】配信システム内においてノードが再接続を行う際、当該配信システムとしてのトポロジが安定しているときは、再接続先として最適なノードを選んで再接続を行う。一方、配信システムとしてのトポロジが不安定であるときは、ランダムにノードを選んで再接続を行う。トポロジの安定度は、配信システム内における単位時間当たりの再接続の発生数を用いて判断する。【選択図】図１１
2009054045.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において、
前記ネットワークシステムに含まれる前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得手段と、
前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段と、
前記選択された再接続の方法に基づいて当該再接続を行う再接続手段と、
を備え、
前記再接続制御手段は、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、
前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記第２再接続方法は、前記配信情報の配信状態が最も良好な他の前記情報処理装置を前記再接続先として選択する再接続方法であることを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記再接続先の候補となる前記情報処理装置を示す候補情報を記憶する記憶手段を更に備え、
前記再接続制御手段は、前記選択された再接続方法に則り、前記記憶されている候補情報により示される前記情報処理装置の中から前記再接続先となる前記情報処理装置を選択し、
前記再接続手段は、前記選択された情報処理装置に対して再接続を行うことを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記記憶手段には、当該情報処理装置から送信された情報が転送される際に経由する他の前記情報処理装置の数が、当該情報処理装置から見て予め設定された閾値数以下となる前記ネットワークの範囲内にある他の前記情報処理装置を示す前記候補情報のみを記憶していることを特徴とする情報処理装置。
【請求項５】
請求項１から４のいずれか一項に記載の前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置であって、
各前記情報処理装置における前記発生数を検出する検出手段と、
前記検出された発生数に基づき、前記再接続状況情報を生成する生成手段と、
前記生成された再接続状況情報を各前記情報処理装置に送信する送信手段と、
を備えることを特徴とする制御装置。
【請求項６】
請求項５に記載の制御装置において、
前記検出手段は、前記ネットワークシステムに含まれる前記情報処理装置を分類して得られる複数の情報処理装置群毎に前記発生数を検出し、
前記生成手段は、前記情報処理装置群毎に前記再接続状況情報を生成し、
更に前記送信手段は、前記生成された再接続状況情報を、対応する前記情報処理装置群に含まれる前記情報処理装置宛に送信することを特徴とする制御装置。
【請求項７】
複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムであって、各前記情報処理装置と制御装置と、を含むネットワークシステムにおいて、
各前記情報処理装置は、
前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得手段と、
前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段であって、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択する再接続制御手段と、
前記選択された再接続の方法に基づいて当該再接続を行う再接続手段と、
を備え、
前記制御装置は、
各前記情報処理装置における前記発生数を検出する検出手段と、
前記検出された発生数に基づき、前記再接続状況情報を生成する生成手段と、
前記生成された再接続状況情報を各前記情報処理装置に送信する送信手段と、
を備えることを特徴とするネットワークシステム。
【請求項８】
複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において実行される情報処理方法であって、
前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得工程と、
前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御工程と、
を含み、
前記再接続制御工程においては、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、
前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択することを特徴とする情報処理方法。
【請求項９】
請求項８に記載の前記情報処理方法が実行される前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置において実行される制御方法であって、
各前記情報処理装置における前記発生数を検出する検出工程と、
前記検出された発生数に基づき、前記再接続状況情報を生成する生成工程と、
前記生成された再接続状況情報を各前記情報処理装置に送信する送信工程と、
を含むことを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１から４のいずれか一項に記載の前記情報処理装置として機能させることを特徴とする情報処理装置用プログラム。
【請求項１１】
コンピュータを、請求項５又は６に記載の前記制御装置として機能させることを特徴とする制御装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラムの技術分野に属する。より詳細には、配信元から配信される動画や音楽等の配信情報を、その下流側に複数の階層を構成しつつ接続されている情報処理装置において段階的に中継しつつ配信するネットワークシステム及びそれに含まれる当該情報処理装置等の技術分野に属する。
【背景技術】
【０００２】
近年、家庭用のインターネット回線の高速化が著しい。そして、この高速化に伴い、配信元となる一の配信サーバ（放送局）を頂点として各家庭等内にあるパーソナルコンピュータ又はセットトップボックス等を複数個階層ツリー状に接続してネットワークを構成し、そのネットワークを介して上記配信サーバから上記配信情報を配信するコンテンツ配信システムが一般化しつつある。
【０００３】
ここで、映画又は音楽等の当該配信情報を、以下、適宜「コンテンツ」と称する。また、当該コンテンツ配信システムを、以下、単に「配信システム」と称する。更に、当該ネットワークを、その接続態様の観点から見たものを「トポロジ」と称する。
【０００４】
一方、このようなネットワークのトポロジにおいて、当該ネットワークを構成する各パーソナルコンピュータ等の夫々（情報処理装置）は、一般に「ノード」と称される。更に、上記配信システムについての従来技術を開示する文献としては、例えば下記非特許文献１がある。
【０００５】
ここで、上記配信システムにおいては、階層ツリー構造においてコンテンツを中継しているノードにおいて、例えばその電源がオフとされたこと等に起因してそのノードにおける中継機能が停止する（トポロジが分断される）場合が起こり得る。この場合、当該非特許文献１記載の従来技術では、当該中継機能が停止したノードを除く他のノードを含む新たなトポロジが、上記配信サーバを頂点として自動的に再構築されることとされている。
【０００６】
このとき、非特許文献１には、上記トポロジの分断を迅速に修復する方法として、下流側のノードにおいて、予備となる他の上流側のノード（中継機能が停止したノード以外の他のノード）との接続を予め確保しておき、トポロジ分断時には当該予備の上流側ノードに切り換える方式が開示されている。そして、当該予備の上流側ノードを予め選択する際には、常にコンテンツの中継に最適な他のノードを上流側のノードとして探索する構成とされている。
【非特許文献１】國近洋平,甲藤二郎  他,“予備親探索機能を有したアプリケーションレベルマルチキャスト”,電子情報通信学会技術研究報告IN2003-210，２００４年３月
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記非特許文献１記載の従来技術における予備のノードの選択手法では、複数のノードが同時期に予備のノードを予め探索しようとする場合、いずれのノードも、コンテンツの配信に最適な他のノードを予備ノードとして探索することとなる。よってこの場合、ある一つのノードを複数のノードが夫々の予備ノードとして同時に探索することとなり、結果的に、探索するノード間において探索先のコンフリクト（探索先の衝突現象）が発生し易くなる。そして、探索先のコンフリクトが発生すると、ノードはトポロジ分断からの回復が全体的に遅れることとなり、結果としてコンテンツ配信の途絶等の事象を生起し、配信システムとしての安定性が著しく損なわれる場合があるという問題点があった。
【０００８】
そこで、本発明は、上記の問題点に鑑みて為されたもので、その目的は、任意の頻度でトポロジの分断が発生し得る状況下でも、当該分断状態からノードをトポロジへ効率的に復帰させることで、ネットワークシステムにおけるトポロジの安定化を図ることが可能なネットワークシステム及びそれに含まれる情報処理装置等を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、請求項１に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において、前記ネットワークシステムに含まれる前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する通信部等の取得手段と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する制御部等の再接続制御手段と、前記選択された再接続の方法に基づいて当該再接続を行う制御部等の再接続手段と、を備え、前記再接続制御手段は、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択するように構成される。
【００１０】
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるとき（即ち、ネットワークシステムとしてのトポロジが不安定なとき）には第１再接続方法を選択し、再接続の発生数が閾値発生数未満であるとき（即ち、ネットワークシステムとしてのトポロジが安定なとき）には第２再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
【００１１】
上記の課題を解決するために、請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記第２再接続方法は、前記配信情報の配信状態が最も良好な他の前記情報処理装置を前記再接続先として選択する再接続方法であるように構成される。
【００１２】
よって、第２再接続方法が、配信情報の配信状態が最も良好な他の情報処理装置を再接続先として選択する再接続方法であるので、ネットワークシステム内における再接続の発生数が閾値発生数未満である場合に、より高速に配信情報の配信を受けられる再接続先を選択することができる。
【００１３】
上記の課題を解決するために、請求項３に記載の発明は、請求項１又は２に記載の情報処理装置において、前記再接続先の候補となる前記情報処理装置を示す候補情報を記憶する記憶部等の記憶手段を更に備え、前記再接続制御手段は、前記選択された再接続方法に則り、前記記憶されている候補情報により示される前記情報処理装置の中から前記再接続先となる前記情報処理装置を選択し、前記再接続手段は、前記選択された情報処理装置に対して再接続を行うように構成される。
【００１４】
よって、予め記憶されている候補情報により示される情報処理装置の中から再接続先を選択するので、改めて再接続先を検索する必要がなく、夫々の再接続方法に則って迅速に再接続先を選択することができる。
【００１５】
上記の課題を解決するために、請求項４に記載の発明は、請求項３に記載の情報処理装置において、前記記憶手段には、当該情報処理装置から送信された情報が転送される際に経由する他の前記情報処理装置の数が、当該情報処理装置から見て予め設定された閾値数以下となる前記ネットワークの範囲内にある他の前記情報処理装置を示す前記候補情報のみを記憶しているように構成される。
【００１６】
よって、送信された情報が転送される際に経由する他の情報処理装置の数が閾値数以下となるネットワークの範囲内にある他の情報処理装置を示す候補情報のみを記憶するので、情報処理装置間を伝送される候補情報の情報量を一定値以内に限定することが可能となり、ネットワークにかかる負荷を低減させることができる。
【００１７】
上記の課題を解決するために、請求項５に記載の発明は、請求項１から４のいずれか一項に記載の前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置であって、各前記情報処理装置における前記発生数を検出する制御部等の検出手段と、前記検出された発生数に基づき、前記再接続状況情報を生成する制御部等の生成手段と、前記生成された再接続状況情報を各前記情報処理装置に送信する通信部等の送信手段と、を備える。
【００１８】
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
【００１９】
上記の課題を解決するために、請求項６に記載の発明は、請求項５に記載の制御装置において、前記検出手段は、前記ネットワークシステムに含まれる前記情報処理装置を分類して得られる複数の情報処理装置群毎に前記発生数を検出し、前記生成手段は、前記情報処理装置群毎に前記再接続状況情報を生成し、更に前記送信手段は、前記生成された再接続状況情報を、対応する前記情報処理装置群に含まれる前記情報処理装置宛に送信するように構成される。
【００２０】
よって、情報処理装置群毎に再接続状況情報を生成し、当該情報処理装置群毎に当該再接続状況情報を送信するので、結果として各情報処理装置群毎に再接続方法が選択されて再接続が実行されることとなり、ネットワークシステム全体としてより効率的且つ安定的に再接続先を制御することができる。
【００２１】
上記の課題を解決するために、請求項７に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムであって、各前記情報処理装置と制御装置と、を含むネットワークシステムにおいて、各前記情報処理装置は、前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する通信部等の取得手段と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段であって、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択する制御部等の再接続制御手段と、前記選択された再接続の方法に基づいて当該再接続を行う制御部等の再接続手段と、を備え、前記制御装置は、各前記情報処理装置における前記発生数を検出する制御部等の検出手段と、前記検出された発生数に基づき、前記再接続状況情報を生成する制御部等の生成手段と、前記生成された再接続状況情報を各前記情報処理装置に送信する通信部等の送信手段と、を備える。
【００２２】
よって、制御装置において再接続状況情報を生成し、これを各情報処理装置に送信すると共に、再接続状況情報を受信した各情報処理装置において、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第１再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第２再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
【００２３】
上記の課題を解決するために、請求項８に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において実行される情報処理方法であって、前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得工程と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御工程と、を含み、前記再接続制御工程においては、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第１再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第１再接続方法と異なる前記再接続先の選択方法である第２再接続方法を選択するように構成される。
【００２４】
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第１再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第２再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
【００２５】
上記の課題を解決するために、請求項９に記載の発明は、請求項８に記載の前記情報処理方法が実行される前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置において実行される制御方法であって、各前記情報処理装置における前記発生数を検出する検出工程と、前記検出された発生数に基づき、前記再接続状況情報を生成する生成工程と、前記生成された再接続状況情報を各前記情報処理装置に送信する送信工程と、を含む。
【００２６】
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
【００２７】
上記の課題を解決するために、請求項１０に記載の発明は、コンピュータを、請求項１から４のいずれか一項に記載の前記情報処理装置として機能させる。
【００２８】
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第１再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第２再接続方法を選択して再接続を行うようにコンピュータが機能するので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
【００２９】
上記の課題を解決するために、請求項１１に記載の発明は、コンピュータを、請求項５又は６に記載の前記制御装置として機能させる。
【００３０】
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するようにコンピュータが機能するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
【発明の効果】
【００３１】
本発明によれば、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第１再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第２再接続方法を選択して再接続を行うので、再接続の発生数が多い状況では当該情報記録装置において生起した探索処理と他の情報処置装置において生起した探索処理との間で探索先が衝突しないように作用し、他方で再接続の発生数が少ない状況では最適な接続条件をもつ他の（予備の）情報処理装置を探索するようにすることができる。
【００３２】
従って、再接続の発生数に応じて再接続先を最適化することで、ネットワークシステムにおけるトポロジの安定化を図ることができる。
【発明を実施するための最良の形態】
【００３３】
次に、本発明を実施するための最良の形態について、図１乃至図７を用いて説明する。なお、以下に説明する実施形態は、いわゆる階層ツリー型の配信システムに対して本発明を適用した場合の実施形態である。
【００３４】
また、図１は実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図２は当該配信システムに対してノードが新たに参加する場合の処理を例示する図である。更に、図３は当該配信システムからノードが脱退する場合の処理を例示する図であり、図４は実施形態に係る後述の近隣ノードキャッシュ情報について例示する図である。また、図５は当該配信システムにおけるノードの再接続の処理を例示する図であり、図６は実施形態に係る再接続処理を例示する図である。最後に図７は本発明に係る再接続処理についての変形形態を示す図である。
（Ｉ）配信システムとしての全体構成等
先ず、実施形態に係る配信システムの概要構成及び機能について図１を用いて説明する。
【００３５】
図１に示すように、実施形態に係る配信システムＳは、例えばインターネット等のネットワーク（現実世界のネットワーク）を用いて構成されるものである。このとき、当該現実世界のネットワーク１０として具体的には、例えば図１の下部枠１０１内に示すように、ＩＸ（Internet eXchange）５、ＩＳＰ（Internet Service Provider）６、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）７、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）８、ルータ（図示せず）及び通信回線（例えば、電話回線や光ケーブル等）９等を含むネットワーク１０を用いることができる。なおここで、図１の下部枠１０１内において、各通信回線９に対応する実線の太さは、各通信回線９の帯域の広さ（例えば、データ転送速度）を表している。
【００３６】
一方、実施形態に係る配信システムＳは、配信されるコンテンツにおける配信単位に相当する（連続する）パケットの配信元（配信サーバ）である放送局１と、複数のノード２ａ、２ｂ、２ｃ、２ｄ、…、と、を含んでいる。そして、配信システムＳは、図１の下部枠１０１内に示すようなネットワーク１０を基礎として図１の上部枠１００内に示すように構成されている。
【００３７】
より具体的に配信システムＳは、放送局１を頂点（最上位）として、複数のノード２が複数の階層（図１の例では四階層）を形成しつつ通信経路（実際には、ネットワーク１０としての通信回線９）を介してツリー状に接続されている。この構成において、コンテンツの配信時には、上記連続する複数のパケットが、上流（上位階層）から下流（下位階層）の方向へ各ノード２により中継されつつ配信される。なお、以下の説明において、ノード２ａ、２ｂ、２ｃ、２ｄ、…、のうち何れかのノードを示す場合には、便宜上、単にノード２という。
【００３８】
ここで、上記放送局１は、実際には、放送対象たる上記コンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、ネットワーク１０に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード２は、実際には、例えば各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
【００３９】
図１において、上部枠１００内に示されるノード２は、配信システムＳに参加しているノード２である。そして、当該配信システムＳに参加するためには、未参加のノードが、後述する如く接続先紹介サーバ３（図１下部枠１０１内参照）に対して参加要求メッセージを送信し、当該接続先紹介サーバ３により参加権限があることを認証される必要がある。
【００４０】
この接続先紹介サーバ３は、配信システムＳに参加している放送局１及び各ノード２の所在情報（例えば、ＩＰ（Internet Protocol）アドレス及びポート番号（待ち受けポート番号）等）と、配信システムＳにおける放送局１とノード２及び各ノード２間のトポロジ（接続態様）を示すトポロジ情報と、を、図示しないデータベースを用いて管理している。そして、当該接続先紹介サーバ３は、未参加のノードからの参加要求に対して上記認証（参加認証）を行った後、当該ノードに対して接続先となる既参加のノード２（換言すれば、階層ツリー状のトポロジを考慮して選定される参加済のノード２）の所在情報を通知するようになっている。これにより、当該所在情報の通知を受けてこれから配信システムＳに参加するノードは、当該所在情報に基づき、参加済のノード２との接続を確立し、これによって当該配信システムＳに参加することになる。
【００４１】
なお、配信システムＳにおける階層ツリー状のトポロジは、各ノード２に直接接続される下流側のノード２の最大接続数（例えば実施形態に係る配信システムＳの場合は二つ）、バランス（対称性）等を考慮して接続先紹介サーバ３において決定される。また、これらに加えて、例えばノード２間のローカリティ（ネットワーク１０上における近接度（ホップ数が少ないほど高い）等を考慮して決定されるものでもよい。なおここで、上記「ホップ数」とは、そのノード２から送信された情報又はメッセージが転送される際に経由する他のノード２の数を言う。
【００４２】
一方、参加済のノード２の電源がオフとなった場合又は当該ノード２に対する通信状態が不良等になった場合等においては、当該ノード２は配信システムＳから脱退する。そして、当該ノードの脱退が発生すると、脱退したノード２に直接接続されていた下流側のノード２等は、接続先紹介サーバ３から新たな接続先となる他の参加済のノード２の所在情報を取得して接続を確立する必要がある。なお、以下の説明では、当該新たな接続先への接続変更を、適宜「再接続」と称する。
【００４３】
更にまた、上記階層ツリー状のトポロジは、放送局１毎、換言すれば、放送チャンネル毎に形成される。即ち、図１の上部枠１００内では、一つの放送チャンネルのみ示している（但し、一つの放送局１で複数の放送チャンネルによる放送を賄う場合もある）。そして、例えば参加済のノード２においてそのユーザにより放送チャンネルが切り替えられた場合には、当該ノード２は、切り替え後の放送チャンネルにおける参加済の他のノード２の所在情報を接続先紹介サーバ３から取得して接続を確立する。
（II）実施形態に係る配信ステムの構成及び当該配信システムへの参加処理等
次に、実施形態に係る配信システムＳにおけるトポロジの構成並びに当該配信システムＳに対する新規参加の場合の処理について、より具体的に図２を用いて説明する。
【００４４】
例えば図２に示す新たなノードＮが新規に配信システムＳに参加する場合、当該ノードＮは、先ず接続先紹介サーバ３に対して上記参加要求に係る上流ノード紹介要求メッセージＭＧ１を送信する。そして、接続先紹介サーバ３により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード２となる参加済のノード２（図２に例示する場合はノード２ｂ）の所在情報を含む上流ノード候補メッセージＭＧ２が送信されてくると、新規参加のノードＮは、当該所在情報により示される既参加のノード２（図２に例示する場合はノード２ｂ）に対して接続要求メッセージＭＧ３を送信する。これにより、当該ノード２（２ｂ）から接続許可応答メッセージＭＧ４を取得することで、ノードＮは、当該ノード２（２ｂ）の直近下流側に接続され、配信システムＳへの当該ノードＮの参加処理が完了する。
【００４５】
そして、配信システムＳにおいて新たにノード２が参加した以降は、上記放送局１から配信されるコンテンツに相当するコンテンツデータが、当該配信システムＳ内を階層に沿って順次上流側から下流側に中継されることにより、各ノード２に対するコンテンツの配信が実行される。
（III）実施形態に係る配信システムからの脱退処理
次に、実施形態に係る配信システムＳからのノード２の脱退処理について、図３を用いて説明する。なお、図３は、例えばその電源スイッチがオフとされたこと等の理由により、上記配信システムＳからノード２ｅが脱退する場合を例示している。更に、以下の説明では、脱退するノード２ｅの直近下流に接続されているノード２ｊ及び２ｋに対する処理が異なる二種類の脱退処理について、夫々図３（ａ）及び図３（ｂ）を用いて説明する。
【００４６】
当該脱退処理においては、図３に例示するように、脱退するノード２ｅは、当該ノード２ｅに対するコンテンツの供給元である上流のノード（図３に示す場合はノード２ｂ）に対して、データ送信停止要求メッセージＭＧ５及び接続解除要求メッセージＭＧ６を夫々送信する。
【００４７】
そして、当該二つの要求メッセージを夫々受信したノード２ｂは、今まで実行させていたコンテンツ中継処理を停止することにより、脱退するノード２ｅに対するコンテンツの配信を停止させる。その後、ノード２ｂは、上記コンテンツの配信停止処理と並行してノード２ｂ内のノード管理情報からノード２ｅに係る情報を削除することで、当該ノード２ｅとの接続を断とする。これにより、当該ノード２ｂから脱退するノード２ｅへのコンテンツの配信は停止される。ここで、脱退するノード２ｅの直近下流側に他のノード（図３に例示する場合は、ノード２ｊ及び２ｋ）が存在していた場合には、以下に説明する二つの方法のうちいずれかを用いて、当該下流側のノード２に対するコンテンツの配信経路の復元処理を行う。
【００４８】
即ち、当該復元処理の第一例として、配信システムＳを構成している各ノード２（ノード２ｊ及び２ｋを含む）は、それに対応する直近上流側に接続されているノード２からのコンテンツの配信状態を常時監視している。そして、コンテンツの配信状態が悪化したこと（図３（ａ）において「×」マークにて示す）を契機として直近上流側のノード２（２ｅ）が脱退したものと見なし、当該ノード２（２ｅ）との接続を断とし、新たな他の上流ノード２との再接続処理（図２参照）を開始する。
【００４９】
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、配信システムＳに参加している各ノード２は図３（ａ）に例示する配信状態の監視方式の如き監視処理は実行していない。そして、ノード２ｅが配信システムＳとしてのトポロジから脱退する際、上記データ送信停止要求メッセージＭＧ５及び接続解除要求メッセージＭＧ６を夫々送信すると共に、直近下流に接続されているノード２ｊ及び２ｋに対して、自身が脱退する旨の脱退報告メッセージＭＧ７を夫々送信する。そして、当該ノード２ｊ及び２ｋは、直近上流側にあったノード２ｅからの上記脱退報告メッセージＭＧ７を夫々受信すると、当該ノード２ｅとの接続状態を断とし、新たな他の上流ノード２との再接続処理（図２参照）を開始する。
【００５０】
以上夫々説明した処理により、配信システムＳにおいてノード２ｅが脱退した後も、その直近下流にあったノード２ｊ及び２ｋに対するコンテンツの配信が継続されることとなる。
（IV）実施形態に係る近隣ノードキャッシュ情報について
次に、実施形態に係る放送局１及び各ノード２が逐次更新しつつ記憶している、実施形態に係る近隣ノードキャッシュ情報について、図４を用いて説明する。
【００５１】
実施形態に係る配信システムＳに参加している放送局１及び各ノード２は、各ノード２の再接続処理に係る再接続先の選択肢たる他のノード２におけるコンテンツの配信状態等を、近隣ノードキャッシュ情報１００として更新しつつ記憶している。
【００５２】
ここで、「再接続先の選択肢たる近隣ノード」は、例えば、注目するノード２の直近上流側に接続されているノード２の更に上流側又は下流側に接続されている他のノード２のうち、注目するノード２から予め決められたホップ数内に接続されているノード２が充てられる。図４に例示する場合、注目するノード２がノード２ｏであるとき、当該ノード２ｏからその直近上流側に接続されているノード２ｆを介して三ホップ以内に接続されている六つのノード２ｆ、２ｂ、２ｅ、２ｎ、２ａｂ及び２ａｃ（図４において破線で示す）が、「再接続先の選択肢たる近隣ノード」ということになる。なお、放送局１についての近隣ノードとは、その下流側に接続されるノード２のうち上記予め決められたホップ数内に接続されているノード２であることになる。
【００５３】
そして、ノード２ｏ内に記憶されている近隣ノードキャッシュ情報１００としては、図４に例示するように、近隣ノードとしての各ノード２ｆ、２ｂ、２ｅ、２ｎ、２ａｂ及び２ａｃ夫々について、ＩＰアドレス情報１０１、受信品質情報１０２、中継品質情報１０３及び中継数情報１０４が含まれている。
【００５４】
このとき、当該ＩＰアドレス情報１０１は、近隣ノードに該当する各ノード２夫々のＩＰアドレスを示す情報である。
【００５５】
また、受信品質情報１０２は、対応する近隣ノードがその直近上流側に接続されている他のノード２からコンテンツの配信を受ける際の品質を示す情報である。このとき、受信品質情報１０２は、具体的には、例えば受信したコンテンツデータに係る平均パケットレートや平均パケット損失率、或いは到着揺らぎ量（ジッタ量）を指標として当該受信品質を示すものである。
【００５６】
更に、中継品質情報１０３は、対応する近隣ノードがその直近下流側に接続されている他のノード２に対してコンテンツを配信する（中継する）際の品質を示す情報である。このとき、当該中継品質情報１０３は、具体的には、その直近下流側に接続されている他のノード２から送信されて来る上記受信品質情報１０２をもって、当該ノード２自体における中継品質情報１０３と見なすことが可能である。
【００５７】
最後に、中継数情報１０４は、対応する近隣ノードの直近下流側に接続されている他のノード２の数（実施形態に係る配信システムＳの場合は最大で「２」であり最小は「０」）を示す情報である。図４に例示する場合、ノード２ａｂ及び２ａｃは配信システムＳのトポロジにおける最下層に接続されているため、対応する中継数情報１０４の値は夫々「０」となる。
【００５８】
そして、本実施形態に係る再接続処理においては、当該近隣ノードキャッシュ情報１００として記憶されている他のノード２のいずれかに対して、再接続処理が実行されることとなる。なお、当該再接続先たる他のノード２の選択方法については、後ほど（VI）欄において詳述する。
（V）実施形態に係る再接続処理の概要
次に、実施形態に係る再接続処理の概要について、初めに一般的に図５を用いて説明する。なお、図５において、図４に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
【００５９】
また、実施形態に係る再接続処理としては、上流側にあるノード２の脱退に伴う上述（図３参照）した再接続（当該ノード２からの配信量が短時間でゼロになる場合の再接続）処理と、例えば上流側にあるノード２との間のネットワーク上に何らかの障害が発生した（図５において△印で示す）等の理由により当該ノード２からの配信量が段階的に減少していった後にゼロになる場合に対処するための再接続処理と、の双方を含む概念である。
【００６０】
より具体的に、図５に例示する実施形態に係る配信システムＳにおいて、各ノード２はそれに対応する直近上流側に接続されているノード２からのコンテンツの配信状態を常時監視している。そして、例えば図５に示すノード２ｏとノード２ｆとの間で上記障害等（図５△印参照）が発生したとする。この場合、ノード２ｏは、当該障害等に起因して例えばノード２ｏ自体への配信量が徐々に低下していくことが認識できる。これにより、ノード２ｏは当該配信量が例えば予めノード２ｏ内に記憶されている閾値配信量を下回る配信量となると、ノード２ｆに対して、データ送信停止要求メッセージＭＧ５及び接続解除要求メッセージＭＧ６を夫々送信する。
【００６１】
次に、ノード２ｏは、当該ノード２ｏにおける再接続に係る新たな接続先たる他のノード２を、自ら記憶している近隣ノードキャッシュ情報１００に含まれている他のノード２の中から選択する。この選択方法については、後ほど（VI）欄において詳述する。
【００６２】
そして、選択された他のノード２（図５に例示する場合はノード２ｂ）に対して、再接続のための接続要求メッセージＭＧ３を送信する。これにより、当該ノード２ｂから接続許可応答メッセージＭＧ４が返信されて来ると、ノード２ｏは当該ノード２ｂの直近下流側に接続（再接続）される。その後、放送局１から配信されるコンテンツに相当するコンテンツデータの配信が、ノード２ｏに対してノード２ｂを介して再開される。
【００６３】
最後に、再接続されたノード２ｏは、当該再接続処理が完了した旨の再接続完了メッセージＲＰを接続先紹介サーバ３に送信し、当該ノード２ｏとしての再接続処理を完了する。この再接続完了メッセージＲＰには、当該再接続された直近上流側のノード２（図５に例示する場合はノード２ｂ）を示すＩＰアドレス等の情報が含まれている。
（VI）実施形態に係る再接続先の選択方法
次に、実施形態に係る再接続先の選択方法について、図６を用いて説明する。なお、図６において、図４及び図５に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
【００６４】
図５を用いて説明したように、実施形態に係る各ノード２は、再接続が発生した場合、その再接続結果としての新たな接続先を示す情報を含む上記再接続完了メッセージＲＰを、当該再接続処理が完了する度に接続先紹介サーバ３に送信する。
【００６５】
これにより、接続先紹介サーバ３は、予め設定された単位時間（例えば、一分）当たりに受信した接続完了メッセージＲＰの数（換言すれば、当該単位時間内に配信システムＳ内において発生した再接続の数）を記憶する。
【００６６】
そして、接続先紹介サーバ３は、当該記憶されている単位時間当たりに受信した接続完了メッセージＲＰの数を示す情報（以下、当該情報を発生数情報ＭＰと称する）を、放送局１に送信する。
【００６７】
これにより、当該発生数情報ＭＰを受信した放送局１は、当該発生数情報ＭＰを配信システムＳのトポロジを経由して各ノード２に等しく配信する。
【００６８】
一方、当該発生数情報ＭＰを受信した各ノード２では、配信システムＳ全体における上記単位時間当たりの再接続の発生数に対応して予め設定された閾値発生数を示す情報を各ノード２毎に記憶している。
【００６９】
そして、受信した発生数情報ＭＰにより示される再接続の単位時間当たりの発生数が閾値発生数以上であるときは、次回の再接続処理における再接続先たる他のノード２を、自らが記憶している近隣ノードキャッシュ情報１００の中からランダムに選択する（以下、当該選択法をランダム選択法と称する）。一方、単位時間当たりの発生数が当該閾値発生数未満であるときは、次回の再接続処理における再接続先たる他のノード２を、近隣ノードキャッシュ情報１００に含まれている他のノード２のうち最も再接続に適したノード２とするように選択する（以下、当該選択法を最適選択法と称する）。ここで、当該最適選択法として具体的には、例えば、平均パケットの損失率が最も小さい上流側のノード２を選ぶ方法、パケット転送における遅延が最も少ない上流側のノード２を選択する方法、又はネットワーク１０としての帯域幅が最も大きい上流側のノード２を選択する方法等が考えられる。
【００７０】
これにより、単位時間当たりの再接続の発生数が閾値発生数以上であるとき、即ち配信システムＳ全体としてトポロジが不安定な状態であると判定されるときにはランダム選択法により再接続先を選ぶことで、再接続先が複数のノード２間で衝突することを防止できる。一方、単位時間当たりの再接続の発生数が閾値発生数未満であるとき、即ち当該トポロジが安定な状態であると判定されるときには最適選択法により再接続先を選ぶことで、よりよい配信状態の再接続先を選択することができることとなる。
（VII）再接続先の選択方法の変形形態
次に、本発明に係る再接続先の変形形態についてを、図７を用いて説明する。なお、図７において、図４乃至図６に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
【００７１】
図６に示した実施形態に係る再接続先の選択方法においては、配信システムＳ全体として一つの発生数情報ＭＰを生成／配信する場合について説明した。しかしながらこれ以外に、配信システムＳ全体を複数のセグメントＳＧに分割し、各セグメントＳＧ毎に発生数情報を生成して配信するように構成することもできる。なお、この場合、各ノード２は、自身がいずれのセグメントＳＧに属しているかが認識可能とされている。
【００７２】
即ち図７に例示するように、変形形態に係る接続先紹介サーバ３は、配信システムＳに属する各ノード２を、トポロジ上の区分毎に例えば三つのセグメントＳＧ１乃至ＳＧ３に分類してそのトポロジ情報等を記憶している。そして、接続先紹介サーバ３は、各ノード２から夫々送信されて来る上記再接続完了メッセージＲＰに基づき、当該分類したセグメントＳＧ毎に、単位時間当たりの再接続の発生数を記憶する。
【００７３】
次に、接続先紹介サーバ３は、記憶している発生数に基づき、各セグメントＳＧ毎の単位時間当たりの再接続の発生数を示す情報を当該各セグメントＳＧ毎に識別可能に含む発生数情報ＭＰ１を生成し、実施形態に係る発生数情報ＭＰに代えて各ノード２に配信する。
【００７４】
これにより、当該発生数情報ＭＰ１を受信した各ノード２は、自身が属しているセグメントＳＧにおける発生数を示す情報を当該発生数情報ＭＰ１内から抽出し、当該抽出した情報を用いて実施形態に係るノード２と同様の手法で再接続先を選択する。
【００７５】
この変形形態に係る再接続先の選択方法によれば、配信システムＳ全体を複数のセグメントＳＧに分割した上で、各セグメントＳＧ毎に再接続先の選択方法が変えられることになる。よって、各セグメントＳＧの現在の状態に適応してより効率的且つ適切に再接続先の選択方法を制御することができる。
【実施例】
【００７６】
次に、上記実施形態に係る配信システムＳに属する放送局１、各ノード２及び接続先紹介サーバ３夫々の具体的な構成及び処理について、実施例として図８至図１７を用いて説明する。
【００７７】
なお、図８は実施例に係る放送局１の細部構成を示すブロック図であり、図９は実施例に係る各ノード２の細部構成を共通的に示すブロック図であり、図１０は実施例に係る接続先紹介サーバ３の細部構成を示すブロック図である。また図１１乃至図１４は当該各ノード２において実行される実施例に係る処理を共通的に夫々示すフローチャートであり、図１５及び図１６は当該放送局１において実行される実施例に係る処理を示すフローチャートであり、図１７は当該接続先紹介サーバ３において実行される実施例に係る処理を夫々示すフローチャートである。
【００７８】
始めに、実施例に係る放送局１の概要構成及び概要動作について、図８を用いて説明する。
【００７９】
図８に示すように、実施例に係る放送局１は、制御部１１と、記憶部１２と、暗号化用アクセラレータ１３と、エンコーダ部１４と、通信部１５と、入力部１６と、を備えて構成され、これらの構成要素は、バス１７を介して相互に接続されている。
【００８０】
このとき、制御部１１は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）並びに各種データ及びプログラム（ＯＳ（Operating System）及び各種アプリケーションプログラムを含む。以下、同様。）を記憶するＲＯＭ（Read Only Memory）等から構成されている。また、記憶部１２は、上記コンテンツデータ（パケット）を記憶保存するためのＨＤＤ（Hard Disk Drive）等から構成されている。更に、暗号化用アクセラレータ１３は、暗号鍵を用いてコンテンツデータを暗号化するために用いられる。
【００８１】
一方、エンコーダ部１４は、コンテンツデータを規定のデータ形式へ変換する。また、通信部１５は、通信回線等を介してノード２等との間の情報の通信制御を行う。更に、入力部１６は、例えば、キーボード又はマウス等からなり、使用者（オペレータ）からの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える。
【００８２】
以上の構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを実行することにより放送局１全体を統括制御し、後述する実施形態に係る各処理を実行する。これに加えて、制御部１１は、通常の処理として、記憶部１２に記憶保存されたコンテンツデータをエンコード部１４を用いてデータ形式を変換した後、暗号鍵を用いて暗号化用アクセラレータ１３により暗号化させ、更に当該コンテンツデータを所定のデータ量に分割して連続する複数の上記パケットを生成し、これを通信部１５を介してノード２（図１乃至図７に示す例では、ノード２ａ及び２ｂ）に対してストリーム配信する。
【００８３】
また、制御部１１は、当該コンテンツデータの配信先を、記憶部１２に記憶されたトポロジテーブルを参照して決定する。このトポロジテーブルには、少なくとも、放送局１と接続されるノード２（換言すれば、コンテンツデータの配信先であるノード２）のＩＰアドレス及びポート番号が記述されている。
【００８４】
次に、実施例に係る各ノード２の概要構成及び概要動作について、図９を用いて説明する。なお、実施例に係る各ノード２は基本的に同一の構成を備える。
【００８５】
図９に示すように、実施例に係るノード２は、再接続制御手段及び再接続手段としての制御部２１と、記憶手段としての記憶部２２と、バッファメモリ２３と、復号化アクセラレータ２４と、デコーダ部２５と、映像処理部２６と、表示部２７と、音声処理部２８と、スピーカ２９と、取得手段としての通信部２９ａと、入力部２９ｂと、ＩＣ（Integrated Circuit）カードスロット２９ｃと、を備えて構成され、制御部２１、記憶部２２、バッファメモリ２３、復号化アクセラレータ２４、デコーダ部２５、通信部２９ａ、入力部２９ｂ及びＩＣカードスロット２９ｃは、バス２９ｄを介して相互に接続されている。
【００８６】
このとき、制御部１１は、演算機能を有するＣＰＵ、作業用ＲＡＭ、各種データ及びプログラムを記憶するＲＯＭ等から構成されている。
【００８７】
また、記憶部２２は、各種データ及びプログラム等を記憶するＨＤＤ等から構成されている。そして、接続先紹介サーバ３から放送局１を介して配信されてくる上記発生数情報ＭＰ（又は変形形態に係る発生数情報ＭＰ１）、対象ノード２に係る上記閾値発生数を示す情報、後述する受信品質管理情報（図１１ステップＳ１７参照）並びに品質パラメータを、その不揮発性記憶領域に記憶する。なお、当該品質パラメータとは、コンテンツ配信における後述する中継品質の判定処理（図１３ステップＳ４０参照）において、当該中継品質が悪化したか否かの判定に係る閾値となる配信量に相当するパラメータである。
【００８８】
更にバッファメモリ２３は、受信したコンテンツデータを一時的に蓄積（記憶）する。
【００８９】
一方、復号化アクセラレータ２４は、バッファメモリ２３に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化する。また、デコーダ部２５は、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード（データ伸張等）して再生する。更に、映像処理部２６は、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する。
【００９０】
他方、表示部２７は、ＣＲＴ（Cathode Ray Tube）又は液晶ディスプレイ等からなり、映像処理部２６から出力された映像信号に基づき対応する映像を表示する。また、音声処理部２８は、上記再生されたオーディオデータをアナログ音声信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する。更に、スピーカ部２９は、当該音声処理部２８から出力された音声信号を音波として出力する。
【００９１】
また、通信部２９ａは、通信回線等を介して放送局１や他のノード２等との間の通信制御を行う。更に、入力部２９ｂは、例えば、マウス、キーボード及び操作パネル或いはリモコン等からなり、使用者（視聴者）からの各種指示に対応する指示信号を制御部２１に対して出力する。そして、ＩＣカードスロット２９ｃは、ＩＣカード２９ｅに対する情報の読み書きを行う。
【００９２】
ここで、ＩＣカード２９ｅは、耐タンパ性があり、例えば、配信システムＳの運営者等から各ノード２の使用者に配布されるものである。このとき、「耐タンパ性」とは、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されていることを言う。このＩＣカード２９ｅは、ＣＰＵからなるＩＣカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）等を備えて構成されている。当該不揮発性メモリには、ユーザＩＤ、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード２が配信システムＳに参加する際に、上述した上流ノード紹介要求メッセージＭＧ１（当該ノード２の所在情報が含まれる）と共に接続先紹介サーバ３に送信される。
【００９３】
一方、バッファメモリ２３は、例えばＦＩＦＯ（First In First Out）形式のリングバッファメモリから構成されており、制御部２１の制御下、受信ポインタにより示される記憶領域に通信部２９ａを通じて受信されたコンテンツデータを一時的に蓄積する。
【００９４】
このとき、制御部２１は、それに含まれるＣＰＵが記憶部２２等に記憶されたプログラムを読み出して実行することによりノード２全体を統括制御し、後述する実施形態に係る各処理を実行する。これに加えて、制御部２１は、通常の処理として、上流から配信されてきた複数のパケットを通信部２９ａを通じて受信してバッファメモリ２３に書き込み、且つ、当該バッファメモリ２３に蓄積されているパケット（一定時間過去に受信されたパケット）を読み出して通信部２９ａを通じて下流のノード２に送信（中継）する。一方、バッファメモリ２３は、再生ポインタにより示される当該バッファメモリ２３の記憶領域に蓄積されているパケットを読み出し、バス２９ｄを介して復号化アクセラレータ２４やデコーダ部２５に出力する。
【００９５】
なお、上記プログラムは、例えば、ネットワーク１０上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ（Compact Disk）−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【００９６】
最後に、実施例に係る接続先紹介サーバ３の概要構成及び概要動作について、図１０を用いて説明する。
【００９７】
図１０に示すように、実施例に係る接続先紹介サーバ３は、検出手段及び生成手段としての制御部３５と、記憶部３６と、送信手段としての通信部３７と、を備えて構成され、これらの構成要素は、バス３８を介して相互に接続されている。
【００９８】
このとき、制御部３５は、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されている。また、記憶部３６は、各種データ等を記憶保存するためのＨＤＤ等から構成されている。更に、通信部３７は、ネットワーク１０又は他の伝送経路を通じてノード２等との間の情報の通信制御を行う。
【００９９】
この構成において、記憶部３６内には、配信システムＳに参加している放送局１及び各ノード２の所在情報と、配信システムＳにおける放送局１とノード２及び各ノード２間のトポロジ情報と、が記憶されたデータベースが蓄積・記憶されている。これに加えて、記憶部３６には、配信システムＳにその時点で属しているノード２毎に、当該ノード２から送信されてきた上記再接続完了メッセージＲＰが蓄積・記憶される。
【０１００】
そして、制御部３５は、それに含まれるＣＰＵが記憶部３６等に記憶されたプログラムを実行することにより接続先紹介サーバ３全体を統括制御し、上記記憶されている再接続完了メッセージＲＰを用いて実施形態に係る発生数情報ＭＰの生成／送信処理等を実行する。これに加えて、制御部３５は、通常の処理として、未参加のノード２、例えば、図２に例示するノードＮから上記上流ノード紹介要求メッセージＭＧ１が送信されてきたとき、上述した認証処理（例えば参加要求に付加されたデジタル証明書の有効性の判定処理等）を行い、有効であれば、当該ノードＮの所在情報とデジタル証明書のダイジェストとを、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記データベースに記憶する。
【０１０１】
また、制御部３５は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージＭＧ１を送信してきたノードＮに対して、接続先候補となる上流ノード２の所在情報及び階層レベル情報（当該上流ノード２が第何階層に存在するかを示す情報）を含む上記上流ノード候補メッセージＭＧ２を通信部３７を通じて送信する。
【０１０２】
そして、当該上流ノード候補メッセージＭＧ２を受信したノードＮにおいては、接続先候補となる上流ノード２が上流ノード候補メッセージＭＧ２内に複数含まれていた場合、当該各上流ノード２の配信システムＳ内でのネットワーク近接度が比較される。これにより、最も近い位置に存在する上流ノード２が選定されて、当該上流ノード２との間で上記接続要求メッセージＭＧ３及び接続許可応答メッセージＭＧ４の授受が為されて接続が確立される。その後、当該接続が確立された上流ノード２の所在情報が接続先紹介サーバ３に対して送信（返信）される。これに対して、制御部３５は、当該ノードＮに関するトポロジ情報を上記データベースに記憶する。
【０１０３】
次に、上述した構成を備えるノード２、放送局１及び接続先紹介サーバ３における実施例に係る処理について、具体的に図１１乃至図１７を用いて説明する。
（Ｉ）ノードとしての処理
先ず、配信システムＳに係るノード２における処理について、図１１乃至図１４を用いて説明する。ここで、実施例に係る各ノード２においては、全て、図１１乃至図１４に示す処理と同一の処理が夫々に実行されている。
【０１０４】
また、図１１においては、実施例に係る各ノード２において実行される上記参加処理及び再接続処理（ステップＳ１乃至Ｓ１５（図２参照））から、受信したパケットの中継処理及び再生処理（ステップＳ１６乃至Ｓ２０）までを説明する。
【０１０５】
図１１に示すように、実施例に係るいずれかのノード２（以下、図１１乃至図１４を用いてその処理を説明するノード２を、対象ノード２と称する）において、その電源スイッチがオンとされて対象ノード２における主電源及び補助電源がオンとされると、最初に対象ノード２内に記憶されているプログラムや各構成部材夫々が制御部２１によって初期化される（ステップＳ１）。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード２に対する電源供給が全て断とされるまでオンとされている電源である。
【０１０６】
そして、当該初期化が完了すると、次に、対象ノード２の制御部２１は、配信システムＳにその対象ノード２が参加する旨（即ち、選択されたチャンネルに相当するコンテンツデータの受信を希望する旨）の操作が為されたか否かを確認する（ステップＳ２）。この確認処理は、例えば、対象ノード２の制御部２１が、例えば視聴を希望する放送局１に相当するチャンネルを選択する操作がそのユーザにより対象ノード２の入力部２９ｂにおいて実行されたか否かを確認することにより実行される。
【０１０７】
そして、当該操作が実行されたときは（ステップＳ２；ＹＥＳ）、制御部２１は、実際に配信システムＳに参加するための上流ノード紹介要求メッセージＭＧ１を接続先紹介サーバ３に送信する（ステップＳ３）。
【０１０８】
その後、制御部２１は、対象ノード２における上記電源スイッチがオフとされたか否かを確認し（ステップＳ４）、オフとされていないときは（ステップＳ４；ＮＯ）、制御部２１は、上記ステップＳ２に戻って一連の処理を繰り返す。
【０１０９】
一方、ステップＳ４の確認において、電源スイッチがオフとされたときは（ステップＳ４；ＹＥＳ）、上記主電源をオフとし、それまで参加していた配信システムＳから脱退する処理（図３参照）を実行した後に上記補助電源もオフとして（ステップＳ５）、対象ノード２としての処理を終了する。
【０１１０】
他方、上記ステップＳ２の確認において、第一回目の当該ステップＳ２の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップＳ２の判定として上流ノード紹介要求メッセージＭＧ１を接続先紹介サーバ３へ送信後であるときは（ステップＳ２；ＮＯ）、制御部２１は、対象ノード２において上記再接続処理を自律的に実行すべきとされているか否か（後記図１３ステップＳ４４参照）を確認する（ステップＳ６）。
【０１１１】
そして、当該再接続処理を実行すべきされているとき（ステップＳ６；ＹＥＳ）、制御部２１は、次に対象ノード２の記憶部２２内に記憶されている近隣ノードキャッシュ情報１００がその時点で有効であるか否か（実際に記憶されているか否か）を確認する（ステップＳ７）。これにより、当該近隣ノードキャッシュ情報１００が有効でないときは（ステップＳ７；ＮＯ）、制御部２１は、上記ステップＳ３に移行してそれ以降の処理を実行する。
【０１１２】
一方、ステップＳ７の確認において、近隣ノードキャッシュ情報１００が対象ノード２内において有効であると確認されたときは（ステップＳ７；ＹＥＳ）、制御部２１は、次に、それまでに放送局１を介して受信した発生数情報ＭＰの内容を確認する。この確認処理として制御部２１は、例えば、過去一分間において配信システムＳ内で発生した再接続の回数が上記閾値発生数未満であるか否かを確認する（ステップＳ８）。
【０１１３】
ここで、当該閾値発生数として具体的には、例えば、配信システムＳに参加しているノード２の全数の三分の一に相当する数が閾値発生数として予め対象ノード２の記憶部２２に不揮発性に記憶されている。なお、当該閾値発生数は、経験的或いは実験的に予め決めされているものである。
【０１１４】
また、一つのノード２において過去一分間に複数回の再接続が発生した場合、上記再接続の回数としては、当該複数回をそのまま計数してもよいし、再接続が発生したノード２自体の数に着目して「過去一分間に一台」と計数としてもよい。
【０１１５】
そして、過去一分間において配信システムＳ内で発生した再接続の回数が閾値発生数未満であると確認されたときは（ステップＳ８；ＹＥＳ）、現在の配信システムＳ全体としてはトポロジが安定しているとして、制御部２１は、上記最適選択法により対象ノードキャッシュ情報１００に含まれているノード２の中から再接続先たるノード２を選択する（ステップＳ９）。
【０１１６】
一方、ステップＳ８の確認において、当該再接続の回数が閾値発生数以上であると確認されたときは（ステップＳ８；ＮＯ）、当該トポロジが現在は不安定であるとして、制御部２１は、上記ランダム選択法により対象ノードキャッシュ情報１００に含まれているノード２の中から再接続先たるノード２を選択する（ステップＳ１０）。
【０１１７】
次に、制御部２１は、上記ステップＳ９又はＳ１０の処理により選択されたノード２に対していわゆるＮＡＴ（Network Address Translation）越え処理を実行する（ステップＳ１１）。
【０１１８】
ここで、当該ＮＡＴ越え処理とは、異なるネットワークセグメント間でパケットの授受を実行するため、ネットワークセグメント毎に設定されているゲートウエイを越える処理を実行するものである。
【０１１９】
当該ＮＡＴ越え処理が完了したら、制御部２１は、実際のパケットの配信を受けるべく、当該ＮＡＴ越え処理の対象となったノード２に対して、上記接続要求メッセージＭＧ３を送信する（ステップＳ１２）。
【０１２０】
そして、上記上流ノード紹介要求メッセージＭＧ３を送信した後は、制御部２１は、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを上流側の接続先に向けて送信する（ステップＳ１３）。このとき、当該データ送信開始要求メッセージには、例えばＬＡＮ（Local Area Network）におけるゲートウエイのＭＡＣ（Media Access Control）アドレスと、当該対象ノード２がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部２１は、接続先紹介サーバ３に対して配信システムＳのトポロジに対する参加報告メッセージを送信し（ステップＳ１４）、その後、上記ステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１２１】
一方、上記ステップＳ６の確認において、対象ノード２において上記再接続処理を実行すべきとされていないときは（ステップＳ６；ＮＯ）、制御部２１は、次に上流ノード紹介要求メッセージＭＧ１に対する応答としての上記上流ノード候補メッセージＭＧ２を接続先紹介サーバ３から受信したか否かを確認する（ステップＳ１５）。
【０１２２】
そして、当該上流ノード候補メッセージＭＧ２を受信しているときは（ステップＳ１５；ＹＥＳ）、制御部２１は、上流ノード候補メッセージＭＧ２の中から接続対象となる他のノード２を選択し、その選択したノード２に対して上記ステップＳ１１乃至Ｓ１４の処理を実行する。
【０１２３】
他方、上記ステップＳ１５の判定において、既に参加処理及び上流ノードとの接続処理が完了しているときは（ステップＳ１５；ＮＯ）、制御部２１は、当該参加後に新たなパケットを上流側の他のノード２から受信したか否かを制御部２１において確認する（ステップＳ１６）。
【０１２４】
そして、当該上流側のノード２からパケットを受信していない場合（ステップＳ１６；ＮＯ）は、制御部２１は、後述の図１２に示す処理に移行する。一方、パケットを受信した場合には（ステップＳ１６；ＹＥＳ）、そのパケットの受信態様に基づいて、記憶部２２及び制御部２１において管理している受信品質統計情報を更新する（ステップＳ１７）。
【０１２５】
ここで、受信品質統計情報とは、具体的には、各ノード２が受信したパケットの量等に基づいて算出された、例えば過去一分間の平均パケットレート又は平均パケット損失率或いはパケット到着時の揺らぎ量（ジッタ量）を示す情報である。そして、この受信品質統計情報としての平均パケットレート等が悪化してくると、それは即ち当該ノード２に対するコンテンツの配信状態が悪化したものと見なすことができる（例えば、図５△印参照）。
【０１２６】
次に、制御部２１は、対象ノード２に対して下流側に接続されている他のノード２が存在しているか否かを確認する（ステップＳ１８）。これにより、当該下流側のノード２が存在している場合は（ステップＳ１８；ＹＥＳ）、制御部２１は、当該下流側のノード２に対して必要なパケットを中継しつつ（ステップＳ１９）、受信したパケットを自らのデコーダ部２５へ出力し、復号したコンテンツを映像処理部２６及び音声処理部２８を用いて再生し（ステップＳ２０）、その後上記ステップＳ４の処理に移行して上述した一連の処理を繰り返す。なお、上記ステップＳ１８の判定において、下流側のノード２が存在していない場合は（ステップＳ１８；ＮＯ）、制御部２１は、そのまま上記ステップＳ２０に移行して自らにおける再生処理を実行する。
【０１２７】
次に、上記ステップＳ１６の処理において、上流側のノード２からパケットを受信していない場合（ステップＳ１６；ＮＯ）以降の処理について、図１２を用いて説明する。なお、図１２においては、実施例に係る対象ノード２において実行される上記脱退処理（ステップＳ２５乃至Ｓ２８）、当該対象ノード２の下流側において新たに参加する他のノード２の当該参加処理及び脱退処理（ステップＳ２９乃至Ｓ３２）並びに実施例に係るコンテンツデータの配信開始から終了までの処理（ステップＳ３３乃至Ｓ３６）について夫々説明する。
【０１２８】
図１１に示すステップＳ１６の判定において、パケットを受信していないときは（ステップＳ１６；ＮＯ）、制御部２１は、図１２に示すように、パケット受信待ちの状態で対象ノード２において配信システムＳから脱退する旨の操作が為されたか否かを確認する（ステップＳ２５）。
【０１２９】
ステップＳ２５の監視処理中において当該脱退する旨の操作が為されたときは（ステップＳ２５；ＹＥＳ）、制御部２１は、その時点で接続されている直近上流のノード２に対してデータ送信停止要求メッセージＭＧ５及び接続解除要求メッセージＭＧ６を夫々送信する（ステップＳ２６及びＳ２７。図３参照）。そして、制御部２１は、接続先紹介サーバ３に対して配信システムＳのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し（ステップＳ２８）、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１３０】
一方、ステップＳ２５の判定において、上記脱退する旨の操作が為されないときは（ステップＳ２５；ＮＯ）、制御部２１は、当該操作の監視中において下流側に接続されている他のノード２から新たな接続要求メッセージＭＧ３又は接続解除要求メッセージＭＧ６が送信されてきているか否かを確認する（ステップＳ２９、Ｓ３１）。
【０１３１】
これにより、当該接続要求メッセージＭＧ３が送信されてきているときは（ステップＳ２９；ＹＥＳ）、制御部２１は、当該接続要求メッセージＭＧ３に対応して当該下流側の他のノード２の所在情報を記憶部２２に記憶されているノード管理情報内に追加（登録）することで当該下流側の他のノード２に対する接続処理を実行し（ステップＳ３０）、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１３２】
他方、ステップＳ２９及びＳ３１の判定において、新たな接続要求メッセージＭＧ３は受信していないが（ステップＳ２９；ＮＯ）、新たな接続解除要求メッセージＭＧ６を受信しているときは（ステップＳ３１；ＹＥＳ）、制御部２１は、当該接続解除要求メッセージＭＧ６に対応して下流側の他のノード２の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード２の削除処理を実行し（ステップＳ３２）、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１３３】
更に、ステップＳ３１の判定において、新たな接続解除要求メッセージＭＧ６も受信していないときは（ステップＳ３１；ＮＯ）、制御部２１は、下流側に接続されている他のノード２から上記データ送信開始要求メッセージを受信しているか否かを確認する（ステップＳ３３）。
【０１３４】
そして、当該データ送信開始要求メッセージを受信しているときは（ステップＳ３３；ＹＥＳ）、制御部２１は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード２に送信し（ステップＳ３４）、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１３５】
他方、ステップＳ３３の判定において、データ送信開始要求メッセージを受信していないときは（ステップＳ３３；ＮＯ）、制御部２１は、下流側の他のノード２から上記データ送信停止要求メッセージＭＧ５を受信しているか否かを確認する（ステップＳ３５）。そして、当該データ送信停止要求メッセージＭＧ５も受信していないときは（ステップＳ３５；ＮＯ）、制御部２１は、後述の図１３に示す処理に移行する。一方、当該データ送信停止要求メッセージＭＧ５を受信した場合には（ステップＳ３５；ＹＥＳ）、制御部２１は、下流側の他のノード２に対するコンテンツデータとしてのパケットの送信を停止し（ステップＳ３６）、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１３６】
次に、上記ステップＳ３５の判定においてデータ送信停止要求メッセージＭＧ５も受信していない場合（ステップＳ３５；ＮＯ）以降の処理について、図１３を用いて説明する。なお、図１３においては、実施例に係る対象ノード２において実行される再接続処理の実行の是非判断処理（ステップＳ４０乃至Ｓ４４）及び後述の近隣ノード情報の伝送処理（ステップＳ４５乃至Ｓ５３）について夫々説明する。
【０１３７】
図１２に示すステップＳ３５の判定において、データ送信停止要求メッセージＭＧ５も受信していないときは（ステップＳ３５；ＮＯ）、制御部２１は、図１３に示すように、対象ノード２において、上流側のノード２からのコンテンツの配信状態が悪化したか否かを確認する（ステップＳ４０）。
【０１３８】
このステップＳ４０における判定方法として具体的には、その時点で対象ノード２の記憶部２２に記憶されている上記品質パラメータにより示される配信量よりも対象ノード２への実際の配信量が低下したか否かを確認する。即ち、制御部２１は、品質パラメータが例えばパケットレートの下限値である場合には、上記実際の配信量が当該下限値を下回ったか否か（下回った場合に悪化）を確認する。一方、品質パラメータが例えばパケットの損失率の上限値である場合には、上記実際の配信量に係るパケットの損失率が当該上限値を上回ったか否か（上回った場合に悪化）を確認する。
【０１３９】
ステップＳ４０の確認処理において、当該配信状態が悪化したと確認された場合（ステップＳ４０；ＹＥＳ）、制御部２１は、その時点から実施例に係る再接続処理を開始する。より具体的には、制御部２１は、その時点で接続されている直近上流のノード２に対してデータ送信停止要求メッセージＭＧ５及び接続解除要求メッセージＭＧ６を夫々送信する（ステップＳ４１、Ｓ４２。図３参照）。そして、制御部２１は、接続先紹介サーバ３に対して配信システムＳのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し（ステップＳ４３）、その後、図５に示した再接続処理を実行する旨の設定を当該制御部２１内において行い（ステップＳ４４）。その後、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１４０】
一方、上記ステップＳ４０の判定において、配信状態が悪化していないときは（ステップＳ４０；ＮＯ）、制御部２１は、上流側のノード２から近隣ノード情報を受信したか否かを確認する（ステップＳ４５。後記ステップＳ４８参照）。
【０１４１】
ここで、当該近隣ノード情報とは、対象ノード２内に記憶されている近隣ノードキャッシュ情報１００を、該当するノード２について更新するために上流側のノード２から送信されてくるものである。当該近隣ノード情報として具体的には、図４に例示した如く、該当するノード２一つ分についての、ＩＰアドレス情報１０１、受信品質情報１０２、中継品質情報１０３及び中継数情報１０４が含まれている。
【０１４２】
そして、いずれかのノード２についての近隣ノード情報を受信したときは（ステップＳ４５；ＹＥＳ）、制御部２１は、受信した近隣ノード情報に対応するノード２が近隣ノードキャッシュ情報１００に近隣ノード情報が含まれているノード２であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報１００を更新する（ステップＳ４６）。なお、ステップＳ４６の処理において、受信した近隣ノード情報が近隣ノードキャッシュ情報１００に含まれるノード２のものでなかった場合は、当該近隣ノードキャッシュ情報１００を更新することなく次のステップＳ４７に移行する。
【０１４３】
次に、制御部２１は、対象ノード２に対して下流側に接続されている他のノード２が存在しているか否かを確認する（ステップＳ４７）。これにより、下流側のノード２が存在している場合は（ステップＳ４３；ＹＥＳ）、制御部２１は、ステップＳ４５の処理において受信していた新しい近隣ノード情報を当該下流側のノード２に転送する（ステップＳ４８）。その後、制御部２１は、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。また、ステップＳ４７の判定において、下流側のノード２が存在していない場合は（ステップＳ４７；ＮＯ）、制御部２１は、そのまま図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１４４】
他方、上記ステップＳ４５の判定において、上流側のノード２からは近隣ノード情報を受信していないときは（ステップＳ４５；ＮＯ）、制御部２１は、次に下流側のノード２から近隣ノード情報を受信したか否かを確認する（ステップＳ４９）。
【０１４５】
そして、下流側のノード２から近隣ノード情報を受信したときは（ステップＳ４９；ＹＥＳ）、制御部２１は、受信した近隣ノード情報に対応するノード２が近隣ノードキャッシュ情報１００に近隣ノード情報が含まれているノード２であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報１００を更新する（ステップＳ５０）。なお、ステップＳ５０の処理において、下流側から受信した近隣ノード情報が近隣ノードキャッシュ情報１００に含まれるノード２のものでなかった場合は、当該近隣ノードキャッシュ情報１００を更新することなく次のステップＳ５１に移行する。
【０１４６】
その後、制御部２１は、ステップＳ４９の処理において受信していた新しい近隣ノード情報を上流側のノード２に転送し（ステップＳ５１）、その後、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１４７】
次に、ステップＳ４９の判定において、下流側のノード２からも近隣ノード情報を受信していないときは（ステップＳ４９；ＮＯ）、制御部２１は、対象ノード２が配信システムＳのトポロジにおける末端のノード２（例えば、図４に例示するノード２ａｃ等）であり且つ予め設定されている近隣ノード情報の送信タイミングが到来しているか否かを確認する（ステップＳ５２）。ここで、当該近隣ノード情報の送信タイミングとは、例えば一分間に一回と予め決められたタイミングである。
【０１４８】
そして、当該送信タイミングが到来しているとき（ステップＳ５２；ＹＥＳ）、制御部２１は、上流側のノード２に対し、近隣ノード情報として自らに相当する近隣ノード情報を送信する（ステップＳ５３）。このとき、ステップＳ５３の処理により送信される近隣ノード情報には、対象ノード２自体に係る上記ＩＰアドレス情報１０１、受信品質情報１０２及び中継数情報１０４のみが含まれていることになる。
【０１４９】
なお、ステップＳ５３の処理内容から明らかなように、配信システムＳ内を伝送される上記近隣ノード情報は、配信システムＳのトポロジにおいて末端に接続されているノード２を初期生成ノードの一つとして初期生成されるものである。また、後述する図１６のステップＳ７８において示されるように、当該近隣ノード情報は、当該トポロジの最上位に接続される放送局１においても初期生成される。
【０１５０】
ステップＳ５３の処理を実行した後は、制御部２１は、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１５１】
次に、上記ステップＳ５２の確認において近隣ノード情報の送信タイミングが到来していないときは（ステップＳ５２；ＮＯ）以降の処理について、図１４を用いて説明する。なお、図１４においては、実施例に係る対象ノード２において実行される発生数情報ＭＰに関する処理（ステップＳ５５乃至Ｓ５８）及び受信品質情報の授受に関する処理（ステップＳ５９乃至Ｓ６２）について夫々説明する。
【０１５２】
上記ステップＳ５２の確認において近隣ノード情報の送信タイミングが到来していないときは（ステップＳ５２；ＮＯ）、図１４に示すように、制御部２１は、上流側のノード２を介して発生数情報ＭＰが送信されてきたか否かを確認する（ステップＳ５５）。
【０１５３】
そして、新たな発生数情報ＭＰが送信されてきたときは（ステップＳ５５；ＹＥＳ）、制御部２１は、前回のステップＳ５５の処理において受信して記憶部２２に記憶していた発生数情報ＭＰを新たな発生数情報ＭＰを用いて更新する（ステップＳ５６）。
【０１５４】
次に、制御部２１は、対象ノード２に対して下流側に接続されている他のノード２が存在しているか否かを確認する（ステップＳ５７）。これにより、下流側のノード２が存在している場合は（ステップＳ５７；ＹＥＳ）、制御部２１は、ステップＳ５５の処理において受信していた新しい発生数情報ＭＰを当該下流側のノード２に転送する（ステップＳ５８）。その後、制御部２１は、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。また、ステップＳ５７の判定において、下流側のノード２が存在していない場合は（ステップＳ５７；ＮＯ）、制御部２１は、そのまま図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１５５】
一方、ステップＳ５５の確認において、新たな発生数情報ＭＰが送信されてきていないときは（ステップＳ５５；ＮＯ）、制御部２１は、予め設定されている上流側のノード２への対象ノード２におけるコンテンツの受信品質を示す情報の送信タイミング（例えば一分間に一度）が到来しているか否かを確認する（ステップＳ５９）。このとき、当該受信品質を示す情報は、例えば当該対象ノード２における上記受信品質統計情報に相当するものであり、例えば過去一分間の平均パケットレート又は平均パケット損失率或いはパケット到着時の揺らぎ量（ジッタ量）を示す情報である。
【０１５６】
そして、当該送信タイミングが到来しているときは（ステップＳ５９；ＹＥＳ）、制御部２１は、当該受信品質を示す情報を上流側のノード２に送信し（ステップＳ６０）、以後図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
【０１５７】
他方、ステップＳ５９の確認において、受信品質を示す情報の送信タイミングが到来していないときは（ステップＳ５９；ＮＯ）、制御部２１は、下流側のノード２から上記受信品質を示す情報が送信されてきたか否かを確認する（ステップＳ６１）。そして、当該情報が送信されてきたときは（ステップＳ６１；ＹＥＳ）、当該情報により示されている下流側のノード２における受信品質を、対象ノード２自らの中継品質と見なして記憶部２２内に記憶させると共に、対応する近隣ノードキャッシュ情報１００内の対応する受信品質情報１０２を更新する（ステップＳ６２）。
【０１５８】
そして、受信品質を示す情報が送信されて来ていないとき（ステップＳ６１；ＮＯ）、又は上記ステップＳ６２の処理が終了したときは、制御部２１は、図１１に示すステップＳ４の処理に移行して上述した一連の処理を繰り返す。
（II）放送局としての処理
次に、実施例に係る放送局１における処理について、具体的に図１５及び図１６を用いて説明する。
【０１５９】
当該実施例に係る放送局１においては、先ず図１５に示すように、放送局１としての電源スイッチがオンとされると、制御部１１は、最初に放送局１内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード２に対するコンテンツの送信や接続先紹介サーバ３からのメッセージ等の受信を可能とする（ステップＳ７０）。
【０１６０】
次に、当該初期化が完了すると、制御部１１は、配信システムＳの（即ち放送局１の）管理者により、配信システムＳとしてのコンテンツの配信を開始又は停止する旨の操作が当該放送局１の入力部１６において実行されたか否かを確認する（ステップＳ７１）。そして、制御部１１は、当該操作が為されていると判断したときは（ステップＳ７１；ＹＥＳ）、当該操作に基づいて対応するコンテンツのパケットの配信システムＳ内への配信を開始又は停止する（ステップＳ７２）。
【０１６１】
その後、制御部１１は、放送局１における上記電源スイッチがオフとされたか否かを確認する（ステップＳ７３）。そして、オフとされていないときは（ステップＳ７３；ＮＯ）、制御部１１は、上記ステップＳ７１に戻って上述してきた一連の処理を繰り返す。一方、ステップＳ７３の判定において、電源スイッチがオフとされたときは（ステップＳ７３；ＹＥＳ）、制御部１１は、放送局１としての主電源をオフとし、放送局１としての処理を終了する。
【０１６２】
一方、ステップＳ７１の判定において、コンテンツの配信を開始又は停止する旨の操作が為されていると判断されないときは（ステップＳ７１；ＮＯ）、制御部１１は、次に、各ノード２からの上記接続要求メッセージＭＧ３又は接続解除要求メッセージＭＧ６が送信されてきているか否かを確認する（ステップＳ７４）。
【０１６３】
これにより、当該接続要求メッセージＭＧ３又は接続解除要求メッセージＭＧ６のいずれかが送信されてきていると判断したとき（ステップＳ７４；ＹＥＳ）、制御部１１は、先ず接続要求メッセージＭＧ３が送信されてきているときは、当該接続要求メッセージＭＧ３に対応して当該下流側の他のノード２の所在情報を記憶部１２に記憶されているノード管理情報内に追加（登録）することで当該下流側の他のノード２に対する接続処理を実行する（ステップＳ７５）。一方、接続解除要求メッセージＭＧ６を受信しているとき、制御部１１は、当該接続解除要求メッセージＭＧ６に対応して下流側の他のノード２の所在情報を記憶部１１内の上記ノード管理情報から削除することで当該下流側の他のノード２の削除処理を実行する（ステップＳ７５）。その後、制御部１１は、上記ステップＳ７３の処理に移行して当該処理を繰り返す。
【０１６４】
他方、ステップＳ７４の判定において、接続要求メッセージＭＧ３又は接続解除要求メッセージＭＧ６のいずれも受信していないときは（ステップＳ７４；ＮＯ）、制御部１１は、下流側に接続されている他のノード２から上記データ送信開始要求メッセージ又は上記データ送信停止要求メッセージＭＧ５を受信しているか否かを確認する（ステップＳ７６）。
【０１６５】
そして、当該データ送信開始要求メッセージ又はデータ送信停止要求メッセージＭＧ５を受信しているとき（ステップＳ７６；ＹＥＳ）、制御部１１は、先ずデータ送信開始要求メッセージを受信しているときは、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード２に送信する（ステップＳ７７）。一方、データ送信停止要求メッセージＭＧ５を受信しているとき、制御部１１は、下流側の他のノード２に対するコンテンツデータとしてのパケットの送信を停止する（ステップＳ７７）。その後、制御部１１は、上記ステップＳ７３の処理に移行して当該処理を繰り返す。
【０１６６】
次に、上記ステップＳ７６の確認において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージＭＧ５のいずれも受信していないとき（ステップＳ７６；ＮＯ）以降の処理について、図１６を用いて説明する。
【０１６７】
ステップＳ７６の確認において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージＭＧ５のいずれも受信していないときは（ステップＳ７６；ＮＯ）、図１６に示すように、制御部１１は、予め設定されている近隣ノード情報の送信タイミングが到来しているか否かを確認する（ステップＳ７８）。ここで、当該近隣ノード情報の送信タイミングとは、図１３ステップＳ５２の場合と同様に、例えば一分間に一回と予め決められたタイミングである。
【０１６８】
そして、当該送信タイミングが到来しているときは（ステップＳ７８；ＹＥＳ）、制御部１１は、下流側のノード２に対し、近隣ノード情報として自らに相当する近隣ノード情報を送信する（ステップＳ７９）。このとき、ステップＳ７９の処理により送信される近隣ノード情報には、放送局１自体に係る上記ＩＰアドレス情報１０１及び中継数情報１０４のみが含まれていることになる。これにより、トポロジのの末端に接続されているノード２と共に、放送局１においても近隣ノード情報が初期生成されることになる。その後、制御部１１は、図１５に示すステップＳ７３の処理に移行して上述した一連の処理を繰り返す。
【０１６９】
一方、ステップＳ７８の確認において、近隣ノード情報の送信タイミングが到来していないときは（ステップＳ７８；ＮＯ）、次に、制御部１１は、下流側のノード２から近隣ノード情報を受信したか否かを確認する（ステップＳ８０）。そして、下流側のノード２から近隣ノード情報を受信したときは（ステップＳ８０；ＹＥＳ）、制御部１１は、受信した近隣ノード情報に対応するノード２が近隣ノードキャッシュ情報１００に近隣ノード情報が含まれているノード２であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報１００を更新する（ステップＳ８１）。その後、制御部１１は、図１５に示すステップＳ７３の処理に移行して上述した一連の処理を繰り返す。
【０１７０】
他方、ステップＳ８０の確認において、下流側のノード２から近隣ノード情報を受信していないときは（ステップＳ８０；ＮＯ）、制御部１１は、接続先紹介サーバ３から新たな発生数情報ＭＰを受信しているか否かを確認する（ステップＳ８２）。
【０１７１】
そして、当該発生数情報ＭＰを新たに受信しているときは（ステップＳ８２；ＹＥＳ）、制御部１１は、前回のステップＳ８１の処理において受信して記憶部１２に記憶していた発生数情報ＭＰを新たな発生数情報ＭＰを用いて更新する（ステップＳ８３）。
【０１７２】
次に、制御部１１は、放送局１に対して下流側に接続されている他のノード２が存在しているか否かを確認する（ステップＳ８４）。これにより、下流側のノード２が存在している場合は（ステップＳ８４；ＹＥＳ）、制御部１１は、ステップＳ８２の処理において受信していた新しい発生数情報ＭＰを当該下流側のノード２に転送する（ステップＳ８５）。その後、制御部１１は、図１５に示すステップＳ７３の処理に移行して上述した一連の処理を繰り返す。また、ステップＳ８４の判定において、下流側のノード２が存在していない場合は（ステップＳ８４；ＮＯ）、制御部１１は、そのまま図１５に示すステップＳ７３の処理に移行して上述した一連の処理を繰り返す。
【０１７３】
次に、ステップＳ８２の確認において、新たな発生数情報ＭＰを受信していないときは（ステップＳ８２；ＮＯ）、制御部１１は、下流側のノード２から上記受信品質を示す情報が送信されてきたか否かを確認する（ステップＳ８６）。そして、当該情報が送信されてきたときは（ステップＳ８６；ＹＥＳ）、当該情報により示されている下流側のノード２における受信品質を、放送局１自らの中継品質と見なして記憶部１２内に記憶させると共に、対応する近隣ノードキャッシュ情報１００内の対応する受信品質情報１０２を更新する（ステップＳ８７）。
【０１７４】
そして、受信品質を示す情報が送信されて来ていないとき（ステップＳ８６；ＮＯ）、又は上記ステップＳ８７の処理が終了したときは、制御部１１は、図１５に示すステップＳ７３の処理に移行して上述した一連の処理を繰り返す。
（III）接続先紹介サーバとしての処理
最後に、実施例に係る接続先紹介サーバ３における処理について、具体的に図１７を用いて説明する。
【０１７５】
なお、図１７においては、接続先紹介サーバ３において実行される通常の接続先紹介処理等（ステップＳ９０乃至Ｓ９９（図２参照））及び接続先紹介サーバ３において実行される実施例に係る発生数情報ＭＰの生成／配信処理（ステップＳ１００乃至Ｓ１０２）について説明する。
【０１７６】
実施例に係る接続先紹介サーバ３においては、図１７に示すように、接続先紹介サーバ３としての電源スイッチがオンとされると、制御部３５は、接続先紹介サーバ３内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード２や放送局１からのメッセージの受信を可能とする（ステップＳ９０）。
【０１７７】
そして、当該初期化が完了すると、制御部３５は、新たな放送局１からの登録要求メッセージ又は配信システムＳ内に既存の放送局１からの削除要求メッセージを受信したか否かを確認する（ステップＳ９１）。いずれかを受信すると（ステップＳ９１；ＹＥＳ）、制御部３５は、新たな放送局１の登録の場合はその所在情報を上記データベース内に登録し、更に新しいチャンネルの情報等をトポロジのデータベース内に登録する。また、既存の放送局１の削除の場合は、制御部３５は、当該放送局１の所在情報等を上記データベース内から削除し、更に該当するチャンネル情報をトポロジのデータベース内から削除する（ステップＳ９２、Ｓ９３）。
【０１７８】
その後、制御部３５は、接続先紹介サーバ３としてのサービスを停止するか否かを確認する（ステップＳ９４）。ステップＳ９４の確認において、停止する場合は（ステップＳ９４；ＹＥＳ）、制御部３５は、そのまま接続先紹介サーバ３の電源をオフとして処理を終了する。
【０１７９】
一方、ステップＳ９４の確認において、引き続き当該サービスを継続する場合は（ステップＳ９４；ＮＯ）、制御部３５は、上記ステップＳ９１に戻って上述した一連の処理を繰り返す。
【０１８０】
他方、上記ステップＳ９１の判定において、放送局１からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないときは（ステップＳ９１；ＮＯ）、制御部３５は、新たに配信システムＳに参加するノード２から上記上流ノード紹介要求メッセージＭＧ１を受信したか否かを制御部３５において確認する（ステップＳ９５）。
【０１８１】
これにより、当該上流ノード紹介要求メッセージＭＧ１を受信しているときは（ステップＳ９５；ＹＥＳ）、制御部３５は、蓄積されているトポロジのデータベースから当該上流ノード紹介要求メッセージＭＧ１を送信してきたノード２をその下流側に接続することが可能なノード２（例えば、図２の例ではノード２ｂ）の候補を検索する（ステップＳ９６）。その後、制御部３５は、検索された候補に該当するノード２の所在情報等を、上記上流ノード候補メッセージＭＧ２として要求元のノード２へ返信し（ステップＳ９７）、上記ステップＳ９４の処理に移行して上述した一連の処理を繰り返す。
【０１８２】
これに対し、ステップＳ９５の判定において、上流ノード紹介要求メッセージＭＧ１も受信していないときは（ステップＳ９５；ＮＯ）、制御部３５は、いずれかのノード２から上記参加報告メッセージ（図１１ステップＳ１４参照）又は脱退報告メッセージ（図１２ステップＳ２８参照）を受信したか否かを確認する（ステップＳ９８）。
【０１８３】
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したときは（ステップＳ９８；ＹＥＳ）、制御部３５は、当該受信した報告メッセージの内容に基づいてトポロジの変更があったと判断し、夫々の当該内容に基づいてトポロジのデータベースを更新する（ステップＳ９９）。
【０１８４】
次に、制御部３５は、接続先紹介サーバ３が接続先の紹介処理を受け持っている配信システムＳにおける単位時間当たりの再接続の発生数に相当する発生数情報ＭＰを新たに生成し（ステップＳ１００）、上記ステップＳ９４の処理に移行して上述した一連の処理を繰り返す。
【０１８５】
更に、上記ステップＳ９８の判定において、参加報告メッセージ又は脱退報告メッセージのいずれも受信していないときは（ステップＳ９８；ＮＯ）、制御部３５は、予め設定されている発生数情報ＭＰの配信タイミングが到来しているか否かを確認する（ステップＳ１０１）。
【０１８６】
これにより、当該配信タイミングが到来していないときは（ステップＳ１０１；ＮＯ）、制御部３５は、上記ステップＳ９４の処理に移行し、一方到来しているときは（ステップＳ１０１；ＹＥＳ）、当該生成した発生数情報ＭＰを放送局１に送信する（ステップＳ１０２）。
【０１８７】
そして、発生数情報ＭＰの配信タイミングが到来していないとき（ステップＳ１０１；ＮＯ）、又は上記ステップＳ１０２の処理が終了したときは、制御部３５は、ステップＳ９４の処理に移行して上述した一連の処理を繰り返す。
【０１８８】
以上説明したように、実施形態に係る配信システムＳの動作によれば、配信システムＳ内における再接続の発生数が閾値発生数以上であるとき（即ち、配信システムＳとしてのトポロジが不安定なとき）にはランダムに再接続先を選択し、再接続の発生数が閾値発生数未満であるとき（即ち、配信システムＳとしてのトポロジが安定なとき）には再接続先として最適なノードを選んで再接続を行うので、配信システムＳ内における再接続の発生数に応じて他のノード２の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
【０１８９】
従って、再接続の発生数に応じて再接続先を最適化することで、ネットワークシステムにおけるトポロジの安定化を図ることができる。
【０１９０】
また、再接続の発生数が閾値発生数未満であるときには再接続先として最適なノードを選んで再接続を行うので、配信システムＳ内における再接続の発生数が閾値発生数未満である場合に、より高速にコンテンツの配信を受けられる再接続先を選択することができる。
【０１９１】
更に、予め記憶されている近隣ノードキャッシュ情報１００により示されるノード２の中から再接続先を選択するので、改めて再接続先を検索する必要がなく、夫々の再接続方法に則って迅速に再接続先を選択することができる。
【０１９２】
更にまた、近隣ノードキャッシュ情報１００として、ホップ数が閾値数以下となるネットワークの範囲内にある他のノード２を示す近隣ノード情報のみを記憶するので、ノード２間を伝送される近隣ノード情報の情報量を一定値以内に限定することが可能となり、ネットワークにかかる負荷を低減させることができる。
【０１９３】
また、配信システムＳに属する接続先紹介サーバ３において各ノード２における再接続の発生数を検出し、これを用いて生成した発生数情報ＭＰを各ノード２に送信するので、一元的に効率よく発生数情報ＭＰを生成して各ノードに送信することができる。
【０１９４】
また、本発明の変形形態によれば、セグメントＳＧ毎に発生数情報ＭＰを生成し、当該セグメントＳＧ毎に当該発生数情報ＭＰを送信するので、結果として各セグメントＳＧ毎に再接続方法が選択されて再接続が実行されることとなり、配信システムＳ全体としてより効率的且つ安定的に再接続先を制御することができる。
【０１９５】
更に、図１１乃至図１４に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係るノード２内の制御部２１として活用することも可能である。
【０１９６】
また、図１５及び図１６に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る放送局１内の制御部１１として活用することも可能である。
【０１９７】
更に、図１７に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る接続先紹介サーバ３内の制御部３５として活用することも可能である。
【産業上の利用可能性】
【０１９８】
以上夫々説明したように、本発明はツリー構造を有する配信システムを用いたコンテンツの配信の分野に利用することが可能であり、特に映画や音楽等のリアルタイムの放送の如き、途中で配信が中断してしまうことが不都合なコンテンツの配信の分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【０１９９】
【図１】実施形態に係る配信システムの概要構成を示すブロック図である。
【図２】実施形態に係る配信システムへの参加処理を示す図である。
【図３】実施形態に係る配信システムからの脱退処理を示す図であり、（ａ）はタイムアウト式による脱退処理を示す図であり、（ｂ）はイベント通知方式による脱退処理を示す図である。
【図４】実施形態に係る近隣ノードキャッシュ情報の構成を例示する図である。
【図５】実施形態に係る再接続処理を示す図である。
【図６】実施形態に係る再接続処理の選択方法を示す図である。
【図７】変形形態に係る再接続処理の選択方法を示す図である。
【図８】実施例に係る放送局の概要構成を示すブロック図である。
【図９】実施例に係るノードの概要構成を示すブロック図である。
【図１０】実施例に係る接続先紹介サーバの概要構成を示すブロック図である。
【図１１】実施例に係るノードにおける処理を示すフローチャート（Ｉ）である。
【図１２】実施例に係るノードにおける処理を示すフローチャート（II）である。
【図１３】実施例に係るノードにおける処理を示すフローチャート（III）である。
【図１４】実施例に係るノードにおける処理を示すフローチャート（IV）である。
【図１５】実施例に係る放送局における処理を示すフローチャート（Ｉ）である。
【図１６】実施例に係る放送局における処理を示すフローチャート（II）である。
【図１７】実施例に係る接続先紹介サーバにおける処理を示すフローチャートである。
【符号の説明】
【０２００】
１    放送局
２、２ａ、２ｂ、２ｃ、２ｄ、２ｅ、２ｆ、２ｇ、２ｈ、２ｉ、２ｊ、２ｋ、２ｌ、２ｍ、２ｎ、２ｏ、２ｐ、２ｑ、２ｒ、２ｓ、２ｔ、２ｕ、２ｖ、２ｗ、２ｘ、２ｙ、２ｚ、２ａａ、２ａｂ、２ａｃ、２ａｄ、Ｎ    ノード
３    接続先紹介サーバ
５    ＩＸ
６    ＩＳＰ
７    ＤＳＬ回線事業者
８    ＦＴＴＨ回線事業者
９    通信回線
１０    ネットワーク
１１、２１、３５    制御部
１２、２２、３６    記憶部
１３    暗号化用アクセラレータ
１４    エンコーダ部
１５、２９ａ、３７    通信部
１６、２９ｂ    入力部
１７、２９ｄ、３８    バス
２３    バッファメモリ
２４    復号化アクセラレータ
２５    デコーダ部
２６    映像処理部
２７    表示部
２８    音声処理部
２９    スピーカ
２９ｅ    ＩＣカード
２９ｃ    ＩＣカードスロット
１００    近隣ノードキャッシュ情報
１０１    ＩＰアドレス情報
１０２    受信品質情報
１０３    中継品質情報
１０４    中継数情報
Ｓ    配信システム
ＭＰ、ＭＰ１    発生数情報
ＲＰ    再接続完了メッセージ
ＭＧ１    上流ノード紹介要求メッセージ
ＭＧ２    上流ノード候補メッセージ
ＭＧ３    接続要求メッセージ
ＭＧ４    接続許可応答メッセージ
ＭＧ５    データ送信停止要求メッセージ
ＭＧ６    接続解除要求メッセージ
ＭＧ７    脱退報告メッセージ
ＳＧ１、ＳＧ２、ＳＧ３    セグメント
【図１】
2009054045.tif 000003
【図２】
2009054045.tif 000004
【図３】
2009054045.tif 000005
【図４】
2009054045.tif 000006
【図５】
2009054045.tif 000007
【図６】
2009054045.tif 000008
【図７】
2009054045.tif 000009
【図８】
2009054045.tif 000010
【図９】
2009054045.tif 000011
【図１０】
2009054045.tif 000012
【図１１】
2009054045.tif 000013
【図１２】
2009054045.tif 000014
【図１３】
2009054045.tif 000015
【図１４】
2009054045.tif 000016
【図１５】
2009054045.tif 000017
【図１６】
2009054045.tif 000018
【図１７】
2009054045.tif 000019