(57)【特許請求の範囲】
【請求項１】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下層の端末装置へ中継されて、複数の前記端末装置に配信され、これら複数の前記端末装置によって前記コンテンツデータを再生可能としたコンテンツデータ配信システムにおいて、
前記接続管理装置は、
前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と、
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ通知する通知手段と、を備え、
前記端末装置は、
前記接続管理装置に前記接続先紹介要求を送信する接続先紹介要求送信手段と、
前記接続管理装置から前記接続先候補を受信する接続先候補受信手段と、
前記接続管理装置から受信した前記接続先候補に接続する接続手段と、
接続した前記接続先候補から受信した前記コンテンツデータを再生する再生手段と、
他の前記端末装置から前記コンテンツデータの中継依頼を受信する中継依頼受信手段と、
他の前記端末装置へ前記コンテンツデータを転送する転送手段と、
を備え、
前記接続先候補に接続した新規端末装置を、所定のタイミングにおいて前記新規端末装置の配信能力に応じて、現在の階層と異なる階層に再接続させる再接続装置を備え、
前記再接続装置は、前記端末装置に設けられ、
前記端末装置の前記配信能力を取得する配信能力取得手段と、
前記新規端末装置の前記配信能力と、既に前記階層構造に接続している既存端末装置の前記配信能力とを比較する比較手段と、
前記比較手段による比較の結果、前記新規端末装置の前記配信能力が前記既存端末装置の前記配信能力よりも高い場合に、前記配信能力の低い前記既存端末装置よりも前記階層構造上における上層に、前記新規端末装置を再接続させ、前記新規端末装置の前記階層構造の下層側に、前記配信能力の低い前記既存端末装置を接続させる再接続手段と、を備え、
前記配信能力取得手段は、前記新規端末装置へ前記コンテンツデータを直接配信している前記既存端末装置の前記配信能力と、自身の前記配信能力とを取得し、
前記比較手段は、前記再接続装置が設けられた前記新規端末装置が前記階層構造に接続する度に、前記新規端末装置へ前記コンテンツデータを直接配信している前記既存端末装置の前記配信能力と、前記新規端末装置の前記配信能力とを前記所定のタイミングで比較し、
前記再接続手段は、前記比較手段による比較の結果、前記新規端末装置の前記配信能力が前記既存端末装置の前記配信能力よりも高い場合に、前記新規端末装置へ前記コンテンツデータを直接配信している前記既存端末装置と入れ替えて、前記新規端末装置を前記階層構造に再接続することを特徴とするコンテンツデータ配信システム。
【請求項２】
前記新規端末装置と入れ替わる前記既存端末装置は、当該既存端末装置が前記コンテンツデータを配信していた既存端末装置との接続状態を維持したまま、前記新規端末装置と入れ替わることを特徴とする請求項１に記載のコンテンツデータ配信システム。
【請求項３】
前記接続先候補選択手段は、前記接続状態情報記憶手段に記憶された前記接続状態情報から前記階層構造の末端に接続されている端末装置を前記接続先候補として選択することを特徴とする請求項１又は請求項２に記載のコンテンツデータ配信システム。
【請求項４】
前記再接続装置は、前記端末装置の処理能力、前記端末装置が前記階層構造に接続している時間、前記端末装置が接続されている回線の種類の少なくともいずれか１つに基づく値によって示された前記配信能力に応じて、異なる階層に再接続させることを特徴とする請求項１〜３のいずれか１項に記載のコンテンツデータ配信システム。
【請求項５】
前記再接続装置は、前記新規端末装置が前記接続先候補に接続してから所定時間が経過したとき、又は、前記新規端末装置が所定量の前記コンテンツデータを受信したときに、前記新規端末装置の配信能力に応じて、現在の階層と異なる階層に再接続させることを特徴とする請求項１〜４のいずれか１項に記載のコンテンツデータ配信システム。
【請求項６】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下層の端末装置へ中継されて、複数の前記端末装置に配信され、これら複数の前記端末装置によって前記コンテンツデータを再生可能としたコンテンツデータ配信システムにおける前記端末装置において、
前記接続管理装置に接続先紹介要求を送信する接続先紹介要求送信手段と、
前記接続管理装置から前記階層構造における接続先候補を受信する接続先候補受信手段と、
前記接続管理装置から受信した前記接続先候補に接続する接続手段と、
接続した前記接続先候補から受信した前記コンテンツデータを再生する再生手段と、
他の前記端末装置から前記コンテンツデータの中継依頼を受信する中継依頼受信手段と、
他の前記端末装置へ前記コンテンツデータを転送する転送手段と、
自身へ前記コンテンツデータを直接配信している既存端末装置の配信能力と、自身の配信能力とを取得する配信能力取得手段と、
前記階層構造に接続する度に、前記既存端末装置の前記配信能力と、自身の前記配信能力とを比較する比較手段と、
前記比較手段による比較の結果、自身の前記配信能力が前記既存端末装置の前記配信能力よりも高い場合に、前記コンテンツデータを直接配信している前記既存端末装置と入れ替えて、前記配信能力の低い前記既存端末装置よりも前記階層構造における上層に、自身を再接続し、自身の前記階層構造の下層側に、前記配信能力の低い前記既存端末装置を接続する再接続手段とを備えたことを特徴とする端末装置。
【請求項７】
前記比較手段は、前記端末装置の処理能力、前記端末装置が前記階層構造に接続している時間、前記端末装置が接続されている回線の種類の少なくとも１つに基づく値によって示された前記配信能力を比較することを特徴とする請求項６に記載の端末装置。
【請求項８】
前記比較手段は、前記接続先候補に接続してから所定時間が経過したとき、又は、所定量の前記コンテンツデータを受信したときに、前記配信能力を比較することを特徴とする請求項６又は請求項７に記載の端末装置。
【請求項９】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下層の端末装置へ中継されて、複数の前記端末装置に配信され、これら複数の前記端末装置によって前記コンテンツデータを再生可能としたコンテンツデータ配信システムにおける前記端末装置の動作プログラムであって、
コンピュータに、
前記接続管理装置に接続先紹介要求を送信するステップと、
前記接続管理装置から前記階層構造における接続先候補を受信するステップと、
前記接続管理装置から受信した前記接続先候補に接続するステップと、
接続した前記接続先候補から受信した前記コンテンツデータを再生するステップと、
他の前記端末装置から前記コンテンツデータの中継依頼を受信するステップと、
他の前記端末装置へ前記コンテンツデータを転送するステップと、
自身へ前記コンテンツデータを直接配信している既存端末装置の配信能力と、自身の配信能力とを取得するステップと、
前記階層構造に接続する度に、前記既存端末装置の前記配信能力と、自身の前記配信能力とを比較するステップと、
前記比較するステップによる比較の結果、自身の前記配信能力が前記既存端末装置の前記配信能力よりも高い場合に、前記コンテンツデータを直接配信している前記既存端末装置と入れ替えて、前記配信能力の低い前記既存端末装置よりも前記階層構造における上層に、自身を再接続し、自身の前記階層構造の下層側に、前記配信能力の低い前記既存端末装置を接続するステップとを実行させることを特徴とする端末装置の動作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ配信システム、及び、同システムにおける端末装置、及び、同システムにおける接続管理装置、及び、端末装置のプログラム、及び接続管理装置のプログラムに関するものである。
【背景技術】
【０００２】
従来より、放送局などから提供される映像や音声などのコンテンツデータを、視聴者となるクライアントがパーソナルコンピュータ等の端末装置を、インターネットを始めとする情報通信ネットワークに接続して受信することにより、受信したコンテンツデータを各端末装置で再生可能としたコンテンツデータ配信システムが広く知られている。
【０００３】
この種のコンテンツデータ配信システムとして、近年、配信元からコンテンツデータを受信した端末装置が、そのコンテンツデータを再生すると共に中継して、他のクライアントの端末装置へ配信するＰ２Ｐ(Ｐｅｅｒ Ｔｏ Ｐｅｅｒ)通信と呼ばれるシステムに関する考案がなされている（たとえば、特許文献１参照。）。
【０００４】
このＰ２Ｐ通信形態を用いたコンテンツデータ配信システムは、コンテンツデータを配信する配信装置と、この配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されたネットワークの接続状態を管理する接続管理装置とを設け、この配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下層の端末装置へ中継されて、複数の端末装置全てに配信され、受信したコンテンツデータを各端末装置で再生可能としたものである。
【０００５】
また、このコンテンツデータ配信システムは、ネットワークを構成する階層構造に、コンテンツデータを受信したい複数のクライアントが任意のタイミングで端末装置を接続することができるように構成されていた。
【０００６】
このようなネットワークを構成する階層構造に、新たなクライアントの端末装置（以下、「新規端末装置」という。）が接続（参加）する際、接続管理装置は、この階層構造に既に接続している端末装置（以下、「既存端末装置」という。）のうち、新規端末装置を接続可能な既存端末装置を選択し、この選択した既存端末装置に関する情報を新規端末装置へ送信することにより、新規端末装置へ接続先となる既存端末装置を紹介し、新規端末装置は、接続管理装置から紹介された既存端末装置に接続することによってネットワークを構成する階層構造に接続し、配信装置が配信するコンテンツデータを受信して再生するようにしていた。
【特許文献１】特開２００３−１６９０８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、上記従来のコンテンツデータ配信システムにおいて、ネットワークを構成する階層構造に新たに接続する新規端末装置は、接続管理装置から紹介された既存端末装置に接続した後、階層構造から脱退するか、又は、新規端末装置にコンテンツデータを直接配信している既存端末装置が階層構造から脱退するまで、最初に接続した既存端末装置との接続を維持することとなるため、以下のような問題が生じるおそれがある。
【０００８】
すなわち、階層構造に接続してくる複数の端末装置は、それぞれ異なる配信能力を備えているので、配信能力の比較的低い新規端末装置が階層構造の比較的上層側に接続されると、その後、この新規端末装置の下層側に接続した複数の端末装置に対して、コンテンツデータを安定して配信することができないといった問題が生じる。
【課題を解決するための手段】
【０００９】
そこで、請求項１に係る本発明では、コンテンツデータを配信する配信装置と、当該配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下層の端末装置へ中継されて、複数の端末装置に配信され、これら複数の端末装置によってコンテンツデータを再生可能としたコンテンツデータ配信システムにおいて、接続管理装置は、階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択手段と、接続先候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した端末装置へ通知する通知手段とを備え、端末装置は、接続管理装置に接続先紹介要求を送信する接続先紹介要求送信手段と、接続管理装置から接続先候補を受信する接続先候補受信手段と、接続管理装置から受信した接続先候補に接続する接続手段と、接続した接続先候補から受信したコンテンツデータを再生する再生手段と、他の端末装置からコンテンツデータの中継依頼を受信する中継依頼受信手段と、他の端末装置へコンテンツデータを転送する転送手段とを備え、接続先候補に接続した新規端末装置を、所定のタイミングにおいて新規端末装置の配信能力に応じて、現在の階層と異なる階層に再接続させる再接続装置を備え、再接続装置は、端末装置に設けられ、端末装置の配信能力を取得する配信能力取得手段と、新規端末装置の配信能力と、既に階層構造に接続している既存端末装置の配信能力とを比較する比較手段と、比較手段による比較の結果、新規端末装置の配信能力が既存端末装置の配信能力よりも高い場合に、配信能力の低い既存端末装置よりも階層構造上における上層に、新規端末装置を再接続させ、新規端末装置の階層構造の下層側に、配信能力の低い既存端末装置を接続させる再接続手段と、を備え、配信能力取得手段は、新規端末装置へコンテンツデータを直接配信している既存端末装置の配信能力と、自身の配信能力とを取得し、比較手段は、再接続装置が設けられた新規端末装置が階層構造に接続する度に、新規端末装置へコンテンツデータを直接配信している既存端末装置の配信能力と、新規端末装置の配信能力とを所定のタイミングで比較し、再接続手段は、比較手段による比較の結果、新規端末装置の配信能力が既存端末装置の配信能力よりも高い場合に、新規端末装置へコンテンツデータを直接配信している既存端末装置と入れ替えて、新規端末装置を階層構造に再接続することを特徴とする。
【００１０】
また、請求項２に係る本発明では、請求項１に記載のコンテンツデータ配信システムにおいて、新規端末装置と入れ替わる既存端末装置は、当該既存端末装置がコンテンツデータを配信していた既存端末装置との接続状態を維持したまま、新規端末装置と入れ替わることを特徴とする。
【００１１】
また、請求項３に係る本発明では、請求項１または請求項２に記載のコンテンツデータ配信システムにおいて、接続先候補選択手段は、接続状態情報記憶手段に記憶された接続状態情報から階層構造の末端に接続されている端末装置を接続先候補として選択することを特徴とする。
【００１２】
また、請求項４に係る本発明では、請求項１〜３のいずれか１項に記載のコンテンツデータ配信システムにおいて、再接続装置は、端末装置の処理能力、端末装置が階層構造に接続している時間、端末装置が接続されている回線の種類の少なくともいずれか１つに基づく値によって示された配信能力に応じて、異なる階層に再接続させることを特徴とする。
【００１４】
また、請求項５に係る本発明では、請求項１〜４のいずれか１項に記載のコンテンツデータ配信システムにおいて、再接続装置は、再接続装置は、新規端末装置が接続先候補に接続してから所定時間が経過したとき、又は、新規端末装置が所定量のコンテンツデータを受信したときに、新規端末装置の配信能力に応じて、現在の階層と異なる階層に再接続させることを特徴とする。
【００１６】
また、コンテンツデータ配信システムにおいて、再接続装置は、接続管理装置に設けられ、配信能力取得手段は、端末装置の配信能力を取得し、比較手段は、新規端末装置が階層構造に接続してから所定のタイミングで新規端末装置の配信能力と、既存端末装置の配信能力とを比較し、再接続手段は、比較手段による比較の結果、新規端末装置よりも配信能力の低い既存端末装置が存在した場合に、新規端末装置に対して、その既存端末装置が接続されている階層よりも高い階層における再接続先候補を選択する再接続先候補選択手段を備え、通知手段は、再接続先候補選択手段によって選択された再接続先候補を、新規端末装置へ通知し、新規端末装置の接続手段は、受信した再接続先候補に再接続することを特徴とする。
【００１７】
また、コンテンツデータ配信システムにおいて、再接続装置は、再接続先候補選択手段が選択した再接続先候補に接続されている既存端末装置の再接続先を選択する第２再接続先候補選択手段を備えたことを特徴とする。
【００１８】
また、コンテンツデータ配信システムにおいて、第２再接続先候補選択手段は、新規端末装置を再接続先候補として選択することを特徴とする。
【００１９】
また、コンテンツデータ配信システムにおいて、再接続先候補選択手段は、再接続される階層として、新規端末装置よりも配信能力の低い既存端末装置のうち階層構造上の最も上層に接続している既存端末装置と、新規端末装置よりも配信能力の高い既存端末装置のうち階層構造上の最も下層に接続している既存端末装置との間の階層、又は、新規端末装置よりも配信能力の低い既存端末装置のうち階層構造上の最も上層に接続している既存端末装置と、配信装置との間の階層となる再接続先候補を選択することを特徴とする。
【００２０】
また、コンテンツデータ配信システムにおいて、再接続装置は、新規端末装置が再接続を行った後、新規端末装置が更に他の端末装置にコンテンツデータの配信が可能な状態であるか否かを判断する判断手段と、判断手段による判断の結果、新規端末装置が更に他の端末装置にコンテンツデータの配信が可能な状態である場合、新規端末装置がコンテンツデータを直接配信している既存端末装置よりも階層構造上で下層に接続している既存端末装置に対して、新規端末装置を再接続先候補として選択する第３再接続先候補選択手段とを備え、通知手段は、第３再接続先候補選択手段によって選択された再接続先候補を、既存端末装置へ通知することを特徴とする。
【００２１】
また、請求項６に係る本発明では、コンテンツデータを配信する配信装置と、当該配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下層の端末装置へ中継されて、複数の端末装置に配信され、これら複数の端末装置によってコンテンツデータを再生可能としたコンテンツデータ配信システムにおける前記端末装置において、接続管理装置に接続先紹介要求を送信する接続先紹介要求送信手段と、接続管理装置から階層構造における接続先候補を受信する接続先候補受信手段と、接続管理装置から受信した接続先候補に接続する接続手段と、接続した前記接続先候補から受信したコンテンツデータを再生する再生手段と、他の端末装置からコンテンツデータの中継依頼を受信する中継依頼受信手段と、他の端末装置へコンテンツデータを転送する転送手段と、自身へコンテンツデータを直接配信している既存端末装置の配信能力と、自身の配信能力とを取得する配信能力取得手段と、階層構造に接続する度に、既存端末装置の配信能力と、自身の配信能力とを比較する比較手段と、比較手段による比較の結果、自身の配信能力が既存端末装置の配信能力よりも高い場合に、コンテンツデータを直接配信している既存端末装置と入れ替えて、配信能力の低い既存端末装置よりも階層構造における上層に、自身を再接続し、自身の階層構造の下層側に、配信能力の低い既存端末装置を接続する再接続手段とを備えることとした。
【００２２】
また、請求項７に係る本発明では、請求項６に記載の端末装置において、比較手段は、端末装置の処理能力、端末装置が階層構造に接続している時間、端末装置が接続されている回線の種類の少なくとも１つに基づく値によって示された配信能力を比較することを特徴とする。
【００２３】
また、請求項８に係る本発明では、請求項６又は請求項７に記載の端末装置において、比較手段は、接続先候補に接続してから所定時間が経過したとき、又は、所定量のコンテンツデータを受信したときに、配信能力を比較することを特徴とする。
【００２４】
また、コンテンツデータを配信する配信装置と、当該配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下層の端末装置へ中継されて、複数の端末装置に配信され、これら複数の端末装置によってコンテンツデータを再生可能としたコンテンツデータ配信システムにおける接続管理装置において、階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択手段と、接続候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した新規端末装置へ通知する通知手段と、端末装置の配信能力を取得する配信能力取得手段と、新規端末装置が階層構造に接続してから所定のタイミングで新規端末装置の配信能力と、この新規端末装置よりも前に階層構造に接続していた既存端末装置の配信能力とを比較する比較手段と、比較手段による比較の結果、新規端末装置よりも配信能力の低い既存端末装置が存在した場合に、新規端末装置に対して、その既存端末装置が接続されている階層よりも高い階層における再接続先候補を選択する再接続先候補選択手段と、比較手段による比較の結果、新規端末装置の配信能力が既存端末装置の配信能力よりも高い場合に、配信能力の低い既存端末装置よりも階層構造上における上層に、新規端末装置を再接続させ、新規端末装置の階層構造の下層側に、配信能力の低い既存端末装置を接続させる再接続手段と、を備え、通知手段は、再接続先候補選択手段によって選択された再接続先候補を、新規端末装置へ通知することとした。
【００２５】
また、接続管理装置において、接続先候補選択手段は、接続状態情報記憶手段に記憶された接続状態情報から階層構造の末端に接続されている既存端末装置を接続先候補として選択することを特徴とする。
【００２６】
また、接続管理装置において、比較手段は、端末装置の配信能力、端末装置が階層構造に接続している時間、端末装置が接続されている回線の種類の少なくとも１つに基づく値によって示された配信能力を比較することを特徴とする。
【００２７】
また、接続管理装置において、比較手段は、新規端末装置が接続先候補に接続してから所定時間が経過したとき、又は、新規端末装置が所定量の前記コンテンツデータを受信したときに、端末装置の配信能力を比較することを特徴とする。
【００２８】
また、接続管理装置において、再接続先候補選択手段が選択した再接続先候補に接続されている既存端末装置の再接続先候補を選択する第２再接続先候補選択手段を備えたことを特徴とする。 
【００２９】
また、接続管理装置において、第２再接続先候補選択手段は、新規端末装置を再接続先候補として選択することを特徴とする。
【００３０】
また、接続管理装置において、再接続先候補選択手段は、再接続される階層として、新規端末装置よりも配信能力の低い既存端末装置のうち階層構造上の最も上層に接続している既存端末装置と、新規端末装置よりも配信能力の高い既存端末装置のうち階層構造上の最も下層に接続している既存端末装置との間の階層、又は、新規端末装置よりも配信能力の低い既存端末装置のうち階層構造上の最も上層に接続している既存端末装置と、配信装置との間の階層となる再接続先候補を選択することを特徴とする。
【００３１】
また、接続管理装置において、新規端末装置が前記再接続を行った後、新規端末装置が更に他の端末装置に前記コンテンツデータの配信が可能な状態であるか否かを判断する判断手段と、判断手段による判断の結果、新規端末装置が更に他の端末装置にコンテンツデータの配信が可能な状態である場合、新規端末装置がコンテンツデータを直接配信している既存端末装置よりも階層上で下層に接続している既存端末装置に対して、新規端末装置を再接続先候補として選択する第３再接続先候補選択手段とを備え、通知手段は、第３再接続先候補選択手段によって選択された再接続先候補を、既存端末装置へ通知することを特徴とする。
【００３２】
また、コンピュータを、請求項６〜８のいずれか１項に記載の端末装置の各手段として機能させるためのプログラムを提供することとした。
また、請求項９に係る本発明では、コンテンツデータを配信する配信装置と、配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されるように管理する接続管理装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下層の端末装置へ中継されて、複数の端末装置に配信され、これら複数の端末装置によってコンテンツデータを再生可能としたコンテンツデータ配信システムにおける端末装置の動作プログラムであって、コンピュータに、接続管理装置に接続先紹介要求を送信するステップと、接続管理装置から階層構造における接続先候補を受信するステップと、接続管理装置から受信した接続先候補に接続するステップと、接続した接続先候補から受信したコンテンツデータを再生するステップと、他の端末装置からコンテンツデータの中継依頼を受信するステップと、他の端末装置へコンテンツデータを転送するステップと、自身へコンテンツデータを直接配信している既存端末装置の配信能力と、自身の配信能力とを取得するステップと、階層構造に接続する度に、既存端末装置の配信能力と、自身の配信能力とを比較するステップと、比較するステップによる比較の結果、自身の配信能力が既存端末装置の配信能力よりも高い場合に、コンテンツデータを直接配信している既存端末装置と入れ替えて、配信能力の低い既存端末装置よりも階層構造における上層に、自身を再接続し、自身の階層構造の下層側に、配信能力の低い既存端末装置を接続するステップとを実行させることを特徴とする。
【００３３】
また、コンピュータを、前記接続管理装置の各手段として機能させるためのプログラムを提供することとした。
【発明の効果】
【００３４】
本発明によれば、以下に記載するような効果を奏する。
【００３５】
すなわち、請求項１〜９に係る本発明によれば、新規端末装置を、その配信能力に応じて、所定のタイミングで現在の階層と異なる階層に再接続させることができるため、配信能力の比較的高い端末装置を上層側に、配信能力の比較的低い端末装置を下層側に、それぞれ再接続して階層構造を再構築することができ、これにより、階層構造における階層の深さを可及的に浅くなるように再構築することができる共に、階層構造に接続した端末装置へ安定してコンテンツデータを配信することができる。また、階層構造の上層側から下層側へ行くにつれて、配信能力の高い順に端末装置が接続された階層構造を再構築することができるので、階層構造に接続した端末装置にコンテンツデータの安定した配信を行うことができる。また、新規端末装置は、階層構造へ再接続する際に、新規端末自身で他の既存端末装置との配信能力を比較し、自立的に新規端末装置よりも配信能力の低い既存端末装置と入れ替わって階層構造に接続することができるので、接続管理装置及び配信装置側は、階層構造の再構築に要する処理を行う必要がなく、接続管理装置及び配信措置の構成を簡易にすることができる。
【００３６】
また、請求項３に係る本発明によれば、新規端末装置を一旦、階層構造の末端に接続することにより、この新規端末が階層構造に接続した後に、すぐに階層構造から脱退しても、コンテンツデータ配信の安定性を低下させることがない。
【００３７】
また、請求項４に係る本発明によれば、新規端末装置の配信能力を的確に判断することによって、新規端末装置を、階層構造においてより好適な階層に再接続させることができる。
【００３８】
また、請求項５に係る本発明によれば、接続時間が短い新規端末装置を階層構造の上層側に接続することがなくなるので、階層構造に接続した全ての端末装置へ、コンテンツデータを安定して配信することができる。
【００４０】
また、請求項６〜８に係る本発明によれば、新規端末装置は、階層構造へ再接続する際に、新規端末自身で他の既存端末装置との配信能力を比較し、自立的に新規端末装置よりも配信能力の低い既存端末装置と入れ替わって階層構造に接続することができるので、接続管理装置及び配信装置側は、階層構造の再構築に要する処理を行う必要がなく、接続管理装置及び配信措置の構成を簡易にすることができる。
【００４１】
また、請求項２に係る本発明によれば、新規端末装置と入れ替わる既存端末装置からコンテンツデータを受信していた端末装置に対して、新規端末の再接続に起因した影響が及ぶことを可及的に低減することができるので、新規端末装置と入れ替わる既存端末装置からコンテンツデータを受信していた端末装置へ、コンテンツデータの安定した配信を行うことができる。 
【００４２】
また、再接続装置を接続管理装置側に設けることができるので、コンテンツデータを受信する端末装置、及び、コンテンツデータの配信装置に、階層構造を構築するための処理にかかる負担を軽減することができる。
【００４３】
また、新規端末装置の階層構造への再接続により、コンテンツデータの配信元を失った既存端末装置の再接続先を的確に選択することができるので、新規端末装置の階層構造への再接続を行った後に、階層構造に接続している端末装置へ安定してコンテンツデータを配信することができる。
【００４４】
また、新規端末装置と入れ替わる既存端末装置は、自身より配信能力の高い新規端末装置からコンテンツデータを受信することができるので、安定してコンテンツデータを受信することができる。
【００４５】
また、新規端末装置は、自身よりも配信能力の高い端末装置からコンテンツデータを受信することができるとともに、自身よりも配信能力の低い端末装置へコンテンツデータを配信することができるので、階層構造の上層側から下層側へ行くにつれて、配信能力の高い順に端末装置が接続された階層構造を再構築することができ、階層構造に接続した端末装置にコンテンツデータの安定した配信を行うことができる。
【００４６】
また、新規端末装置を階層構造に再接続した後に、この新規端末装置がコンテンツデータを直接配信している端末装置よりも下層に接続している既存端末装置を新規端末装置に接続することができるので、階層構造における階層の深さを浅くなるように再構築することができるので、階層構造の末端近傍に接続している端末装置へコンテンツデータを安定して配信することができる。
【発明を実施するための最良の形態】
【００４７】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施形態は、Ｐ２Ｐを用いたツリー構造によるコンテンツデータ配信システムであって、コンテンツデータの配信元である放送局から配信されるコンテンツデータを、ツリー状の階層構造を構成するクライアント側の端末装置がＰ２Ｐを用いて受信するコンテンツデータ配信システムに対して、本発明を適用した場合の実施形態である。
【００４８】
［１．コンテンツ配信システムの構成等］
図１は、本実施形態に係るコンテンツデータ配信システムＳの概要構成例を示す図である。図１に示すように、本発明に係るコンテンツデータ配信システムＳは、コンテンツデータを配信する配信装置として機能する放送局１と、この放送局１から配信されるコンテンツデータを受信して再生すると共に、受信したコンテンツデータを中継する複数のクライアント側の端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７と、放送局１を頂点として、複数の端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７が階層構造で多層に論理接続されるように管理する接続管理装置として機能する管理サーバ２とを備えている。
【００４９】
そして、放送局１から配信されるコンテンツデータは、各端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７の中継機能により、階層構造の最も上層に接続されている端末装置Ａ１、Ｂ１側から、階層構造の最も下層に接続されている端末装置Ａ４〜Ａ７、Ｂ４〜Ｂ７側へ順次中継されて、階層構造を構成する全ての端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７に配信され、これら複数の端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７によってコンテンツデータを再生可能としている。なお、図１中の符号Ｎ１は、これから新たに階層構造に接続（参加）する端末装置（以下、「新規端末装置」という。）である。
【００５０】
また、放送局１、端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７、管理サーバ２には、各々ＩＰアドレスが割り当てられており、これら装置は、ネットワークの一例としてのインターネットにルータ等を介して接続可能となっている。なお、管理サーバ２を放送局１の内部に有することとしてもよく、この場合には管理サーバ２にはＩＰアドレスは割り当てなくてもよい。
【００５１】
なお、以下の説明では、いずれかの端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７、又はすべての端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７を示す場合に、便宜上、端末装置Ａという場合がある。また、端末装置Ａの下層側に接続されて、この端末装置Ａがコンテンツデータを直接配信する端末装置Ａを子端末Ａという場合がある。
【００５２】
また、本実施形態では、１つの放送局１につき１つの管理サーバ２を設けているが、管理サーバ２の処理能力に余裕がある場合は複数の放送局１の管理を１つの管理サーバ２で行ってもよい。
【００５３】
また、このコンテンツデータ配信システムＳは、複数の端末装置Ａが自由に階層構造に接続することができ、又、階層構造に接続した端末装置Ａが自由に階層構造から脱退することができるように構成している。
【００５４】
また、管理サーバ２は、階層構造を構成している端末装置Ａの接続状態情報を記憶する接続状態情報記憶手段と、新規端末装置Ｎ１からの接続先紹介要求を受信すると、接続状態情報記憶手段に記憶している接続状態情報に基づいて、その新規端末装置Ｎ１が接続するための接続先候補を選択する接続先候補選択手段と、この接続先候補選択手段により選択した接続先候補を、接続先紹介要求を送信した新規端末装置Ｎ１へ通知する通知手段とを備えている。
【００５５】
そして、新規端末装置Ｎ１が新たに階層構造に参加する際、この管理サーバ２は、接続先候補選択手段により選択した接続先候補を、通知手段により新規端末装置Ｎ１へ通知することで、新規端末装置Ｎ１へ接続先となる端末装置Ａを紹介するようにしている。
【００５６】
また、接続先となる端末装置Ａを紹介する場合は、１つの端末装置Ａを紹介してもよいし、階層構造における末端の複数の端末装置Ａを接続先候補として紹介してもよい。
【００５７】
このとき、管理サーバ２の接続先候補選択手段は、接続状態情報記憶手段に記憶させている接続先状態情報に基づいて、新規端末装置Ｎ１の接続先候補として、階層構造の末端に接続している端末装置Ａを選択する。
【００５８】
そして、このように選択した接続先候補のＩＰアドレス、ポート番号及び通信プロトコル等を新規端末装置Ｎ１へ通知する。なお、コンテンツ配信システムＳにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置Ａへのポート番号及び通信プロトコルは通知しなくてもよい。また、通信プロトコルとして、ＭＭＳ（MicrosoftMediaServer）プロトコル、ＲＴＳＰ(Real Time Streaming Protocol)等が用いられる。また、コンテンツデータの形式として、ＭＰＥＧ−ＴＳ(Motion Picture Expert Group Transport Stream)、ＡＳＦ（Advanced Streaming Format）などが用いられる。
【００５９】
また、端末装置Ａは、管理サーバ２へ接続先紹介要求を送信する接続先紹介要求送信手段と、管理サーバ２から送信される接続先候補に関する情報を受信する接続先候補受信手段と、管理サーバ２から受信した接続先候補に対応する端末装置に接続する接続手段とを備えている。
【００６０】
そして、新規端末装置Ｎ１は、接続先紹介要求送信手段により管理サーバ２へ接続先紹介要求を送信した後、接続先候補受信手段により、管理サーバ２から接続先候補のＩＰアドレスを受信すると、接続手段により、そのＩＰアドレスに対応した端末装置Ａに接続するようにしている。
【００６１】
このようにして新規端末装置Ｎ１は、階層構造に既に参加している端末装置Ａ（以下、「既存端末装置Ａ」ともいう。）に接続することにより、コンテンツデータ配信システムＳに組み込まれることとなる。
【００６２】
また、各端末装置Ａは、接続した端末装置Ａから転送されるコンテンツデータを受信するコンテンツデータ受信手段と、このコンテンツデータ受信手段により受信したコンテンツデータを再生する再生手段とを備えている。
【００６３】
さらに、各端末装置Ａは、他の端末装置Ａからコンテンツデータの中継依頼を受信する中継依頼受信手段と、他の端末装置Ａへコンテンツデータを転送する転送手段とを備えている。
【００６４】
そして、このコンテンツデータ配信システムＳでは、ツリー状の階層構造において、放送局１から配信されるコンテンツデータは、各端末装置Ａの中継機能により順次下層の端末装置Ａへ中継されて階層構造を構成する全ての端末装置Ａに配信されるようにしている。
【００６５】
すなわち、図１に示すように、まず、放送局１から端末装置Ａ１、Ｂ１（第１層の端末装置）へコンテンツデータが送信され、端末装置Ａ１はコンテンツデータを受信すると、下層の端末装置Ａ２、Ａ３（第２層の端末装置）へ受信したコンテンツデータを中継し、端末装置Ｂ１はコンテンツデータを受信すると、下層の端末装置Ｂ２、Ｂ３（第２層の端末装置）へコンテンツデータを中継する。
【００６６】
そして、端末装置Ａ２はコンテンツデータを受信すると、下層の端末装置Ａ４、Ａ５（第３層の端末装置）へ受信したコンテンツデータを中継し、端末装置Ａ３はコンテンツデータを受信すると、下層の端末装置Ａ６、Ａ７（第３層の端末装置）へ受信したコンテンツデータを中継し、端末装置Ｂ２はコンテンツデータを受信すると、下層の端末装置Ｂ４、Ｂ５（第３層の端末装置）へ受信したコンテンツデータを中継し、端末装置Ｂ３はコンテンツデータを受信すると、下層の端末装置Ｂ６、Ｂ７（第３層の端末装置）へ受信したコンテンツデータを中継する。
【００６７】
このようにして端末装置Ａへ配信されたコンテンツデータは、コンテンツデータ配信システムＳに参加しているすべての端末装置Ａへ配信され、各端末装置Ａにより再生される。
【００６８】
また、このコンテンツデータ配信システムＳは、接続先候補に対応する端末装置Ａに接続した新規端末装置Ｎ１を、所定のタイミングにおいて新規端末装置Ｎ１の後述する配信能力に応じて、現在の階層と異なる階層に再接続させる再接続装置を備えている。
【００６９】
この再接続装置は、新規端末装置Ｎ１が階層構造に接続してから所定時間が経過したとき、又は、新規端末装置Ｎ１が所定量のコンテンツデータを受信したときに、新規端末装置Ｎ１の配信能力に応じて、新規端末装置Ｎ１を現在の階層と異なる階層に再接続させるようにしている。
【００７０】
ここでいう配信能力とは、端末装置Ａが接続されている回線、端末装置Ａの処理能力、端末装置Ａが階層構造に参加している時間、の少なくともいずれか１つに基づく値である。
【００７１】
具体的には、配信能力の一例を記載した図２に示すように、各端末装置Ａは自身の配信能力に応じた持ち点を備えている。すなわち、端末装置Ａが接続されている回線が光回線の場合には、持ち点が６０点となり、ＡＤＳＬ回線の場合には、持ち点が２０点、ＣＡＴＶ回線の場合には、持ち点が３０点となる。
【００７２】
また、端末装置Ａの処理能力に関して、端末装置Ａのバージョンが新しい場合には、持ち点が２０点となり、古いバージョンの場合には、持ち点が１０点となる。
【００７３】
また、階層構造に参加している時間に関して、参加している時間が１時間以上の場合には、持ち点が２０点となり、１０分以上の場合には、持ち点が５点、１０分未満の場合には、持ち点が０点となる。
【００７４】
そして、各端末装置Ａの持ち点を加算した点数を配信能力としており、この配信能力に応じて、各端末装置Ａがコンテンツデータを配信可能な端末装置Ａの数（接続可能な子端末Ａの数）を判定するようにしている。
【００７５】
ここで、図１に示す各端末装置Ａ内に記載した数字（図１では、既存端末装置Ａは全て「２」、新規端末装置は「３」としている。）は、各端末装置Ａに接続可能な子端末Ａの数を示している。なお、ここに記載した配信能力の構成要件（回線の種類、機種のバージョン、参加している時間）は一例に過ぎず、他の構成要件を追加して配信能力を算出することもできる。
【００７６】
また、再接続装置は、端末装置Ａの配信能力を取得する配信能力取得手段と、新規端末装置Ｎ１の配信能力と既存端末装置Ａの配信能力とを比較可能な比較手段と、比較手段による比較の結果、新規端末装置Ｎ１の配信能力が既存端末装置Ａの配信能力よりも高い場合に、配信能力の低い既存端末装置Ａよりも階層構造上における上層に新規端末装置Ｎ１を再接続させる再接続手段を備えている。
【００７７】
そして、この再接続装置は、各端末装置Ａの内部に設けることができる。このように再接続装置を端末装置Ａに設けた場合、配信能力取得手段は、新規端末装置Ｎ１へコンテンツデータを直接配信している既存端末装置Ａの配信能力と、自身（新規端末装置Ｎ１）の配信能力とを取得し、比較手段は、これら既存端末装置Ａの配信能力と自身の配信能力とを所定のタイミングで比較する。この比較は、新規端末装置Ｎ１が階層構造に再接続する度に行うようにしている。
【００７８】
なお、このとき、直接接続している上位端末装置Ａが一般の端末装置Ａであれば配信能力の比較を行うが、直接接続している端末装置Ａが放送局１である場合がある。
【００７９】
この場合、端末装置Ａが放送局１と接続していると分かっている時（端末Ａが階層情報を持っている）は、配信能力の比較は行わない。端末装置Ａが放送局１と接続しているか、端末装置Ａと接続しているか分からない場合は配信能力の比較を行い、配信能力の比較を受けた放送局１は自分が放送局１であることを通知するようにしている。
【００８０】
そして、再接続手段は、比較手段の比較の結果、新規端末装置Ｎ１の配信能力が既存端末装置Ａの配信能力よりも高い場合に、新規端末装置Ｎ１を既存端末装置Ａと入れ替えて階層構造に再接続させるようにしている。
【００８１】
このとき、新規端末装置Ｎ１と入れ替わる既存端末装置Ａは、新規端末装置Ｎ１と入れ替わる前にコンテンツデータを配信していた既存端末装置との接続状態を維持したまま、新規端末装置Ｎ１と入れ替わって階層構造に再接続するようにしている。
【００８２】
また、この再接続装置は、管理サーバ２の内部に設けることもできる。このように再接続装置を管理サーバ２に設けた場合、配信能力取得手段は、階層構造に接続している全ての端末装置Ａの配信能力を取得し、比較手段は、新規端末装置Ｎ１が階層構造に接続した後、所定のタイミングで新規端末装置Ｎ１の配信能力と、全ての既存端末装置Ａの配信能力とを比較するようにしている。
【００８３】
また、このとき配信能力取得手段は、新規端末装置Ｎ１の階層より上の階層に接続している端末装置Ａの配信能力を取得して比較してもよい。
【００８４】
そして、再接続手段は、比較手段による比較の結果、新規端末装置Ｎ１よりも配信能力の低い既存端末装置Ａが存在した場合に、新規端末装置Ｎ１に対して、その既存端末装置Ａが接続されている階層よりも高い階層における再接続先候補を選択する再接続先候補選択手段を備えている。
【００８５】
特に、この再接続先候補選択手段は、新規端末装置Ｎ１を再接続させる階層として、新規端末装置Ｎ１よりも配信能力の低い既存端末装置Ａのうち階層構造上の最も上層に接続している既存端末装置Ａと、新規端末装置Ｎ１よりも配信能力の高い既存端末装置Ａのうち階層構造上の最も下層に接続している既存端末装置Ａとの間の階層、又は、新規端末装置Ｎ１よりも配信能力の低い既存端末装置Ａのうち階層構造上の最も上層に接続している既存端末装置Ａと、放送局１との間の階層となる再接続先候補を選択するようにしている。
【００８６】
通知手段は、この再接続先候補選択手段によって選択された再接続先候補を新規端末装置Ｎ１へ通知するようにしている。
【００８７】
そして、この再接続先候補を受信した新規端末装置Ｎ１は、接続手段により、この再接続先候補に対応する端末装置Ａに再接続するようにしている。
【００８８】
また、管理サーバ２に設ける再接続装置は、再接続先候補選択手段が選択した再接続先候補に接続されている子端末Ａの再接続先を選択する第２再接続先候補選択手段を備えており、この第２再接続先候補選択手段は、新規端末装置を再接続先候補として選択するようにしている。
【００８９】
また、この再接続装置は、新規端末装置Ｎ１が再接続を行った後、この新規端末装置Ｎ１が更に他の端末装置Ａにコンテンツデータの配信が可能な状態であるか否かを判断する判断手段を備えている。
【００９０】
さらに、この再接続装置は、判断手段による判断の結果、新規端末装置Ｎ１が更に他の端末装置Ａにコンテンツデータの配信が可能な状態である場合、新規端末装置Ｎ１がコンテンツデータを直接配信している既存端末装置Ａよりも階層構造上で下層に接続している既存端末装置Ａに対して、新規端末装置Ｎ１を再接続先候補として選択する第３再接続先候補選択手段とを備えており、通知手段は、この第３再接続先候補選択手段によって選択された再接続先候補を、既存端末装置へ通知するようにしている。
【００９１】
このように、新規端末装置Ｎ１を再接続させることにより、配信能力の比較的高い端末装置Ａを上層側に、配信能力の比較的低い端末装置Ａを下層側に、それぞれ再接続して階層構造を再構築することができ、これにより、階層構造における階層の深さを可及的に浅くなるように再構築することができると共に、階層構造に接続した全ての端末装置Ａへコンテンツデータを安定して配信することができる。
【００９２】
以下、本実施形態に係るコンテンツデータ配信システムＳにおいて、上記した再接続装置を管理サーバ２側に設けた場合の実施形態を第１実施形態とし、再接続装置を端末装置Ａ側に設けた場合の実施形態を第２実施形態として説明を行う。
【００９３】
[２．第１実施形態]
ここで、第１実施形態に係るコンテンツデータ配信システムＳを構成する放送局１、管理サーバ２、端末装置Ａ（図１及び図３及び図〜図１３に示す端末装置Ａ、Ａ１〜８、Ｂ１〜１３、Ｎ１）について、それらの具体的な構成及び動作について図面を参照して説明する。
【００９４】
[２．１．放送局１の構成等の説明]
図３は、本実施形態における放送局１の概略構成を示す機能ブロック図である。放送局１は、一般のサーバコンピュータを適用可能であり、図３に示すように、ＣＰＵ（Central Processing Unit）101と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての第１の記憶部102と、各種データ等を記憶するハードディスク装置等から構成された第２の記憶部103と、インターネットを介してクライアント側の端末装置Ａや管理サーバ２との間で通信を行うネットワークインターフェイス104と、所定の情報を入力可能なキーボード105やマウス106等の入力部を制御する周辺機器制御チップ107と、ＣＰＵ101からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ109に表示するビデオチップ108と、ビデオチップ108から送信される信号に応じた表示を行うディスプレイ109と、ＦＭ音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ110と、音源チップ110から出力されるオーディオ信号を音波に変換するスピーカ111とを備えて構成され、これらの各種構成要素はシステムバス112を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ101と第１の記憶部102とで主制御部113を構成している。なお、ネットワークインターフェイス104は、ルータ10ａを介して、ネットワークに接続されている。
（第１の記憶部102について）
また、第１の記憶部102には、放送局１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）のプログラム120と、第２の記憶部103に記憶されたコンテンツデータを取り出して端末装置Ａへストリーミング配信するためのストリーム制御プログラム121と、配信チャネル毎に第１層の端末装置ＡのＩＰアドレスの管理等を行なうためのトポロジー制御プログラム122と、ディスプレイ109を制御するための画面制御プログラム123と、エンコードされたコンテンツデータをデコードしたり、コンテンツデータをエンコードするためのエンコーダ／デコーダプログラム124等を記憶しており、これらはＣＰＵ101によって読み出され、ＣＰＵ101によってこれらのプログラムに従った機能が実行される。
【００９５】
ここで、ＯＳプログラム120は、ＣＰＵ101によって読み出されて実行されることにより、キーボード105やマウス106の入出力に関する機能や、第１の記憶部102や第２の記憶部103などのメモリ管理などの放送局１であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム120がＣＰＵ101によって実行された状態で、上述のストリーム制御プログラム121、トポロジー制御プログラム122、画面制御プログラム123、エンコーダ／デコーダプログラム124等が実行される。
【００９６】
なお、ＯＳプログラム120、ストリーム制御プログラム121、トポロジー制御プログラム122、画面制御プログラム123、エンコーダ／デコーダプログラムプログラム124等は、例えば、インターネットに接続されたサーバ等から第１の記憶部102にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１の記憶部102に読み込まれるようにしてもよい。
【００９７】
（主制御部113について）
主制御部113は、上述のようにＣＰＵ101と第１の記憶部102とから構成され、ＣＰＵ101が第１の記憶部102に記憶された各種プログラム120〜124を読み出して実行することにより、放送局１全体を統括制御するものである。
【００９８】
[２．２．端末装置Ａの構成等の説明]
次に、図４を参照して、クライアント側の端末装置Ａの構成及び動作について説明する。
【００９９】
図４は、本実施形態における端末装置Ａの概略構成例を示す機能ブロック図である。端末装置Ａは、一般のパーソナルコンピュータを適用可能であり、図４に示すように、ＣＰＵ（Central Processing Unit）201と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての第１の記憶部202と、各種データ等を記憶するハードディスク装置等から構成された第２の記憶部203と、インターネットを介して放送局１や管理サーバ装置２との間で通信を行うネットワークインターフェイス204と、クライアントが端末装置Ａを遠隔操作するために所定の赤外線信号を送信及び受信するリモコン205と、このリモコン205と赤外線により通信を行なうための赤外線ポート206と、赤外線ポート206を制御する周辺機器制御チップ207と、ＣＰＵ201からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ209に表示するビデオチップ208と、ビデオチップ208から送信される信号に応じた表示を行うディスプレイ209と、ＦＭ音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ210と、音源チップ210から出力されるオーディオ信号を音波に変換するスピーカ211とを備えて構成され、これらの各種構成要素はシステムバス212を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ201と第１の記憶部202とで制御部213を構成している。なお、ネットワークインターフェイス204は、ルータ10ｂを介して、ネットワークに接続されている。
（第１の記憶部202について）
また、第１の記憶部202には、端末装置Ａのコンピュータとしての基本的な機能を提供するためのＯＳのプログラム220と、放送局１から直接又は他の端末装置Ａに中継されてストリーミング配信されるコンテンツデータを受信するためのストリーム制御プログラム221と、ツリー状に接続された１段上層の端末（放送局１又は端末装置Ａ）のＩＰアドレスとツリー状に接続された１段下層の端末装置ＡのＩＰアドレスの管理等を行なうためのトポロジー制御プログラム222と、ディスプレイ209を制御するための画面制御プログラム223と、エンコードされたコンテンツデータをデコードするためのデコーダプログラム224等を記憶しており、これらはＣＰＵ201によって読み出され、ＣＰＵ201によってこれらのプログラムに従った機能が実行される。
【０１００】
ここで、ＯＳプログラム220は、ＣＰＵ201によって読み出されて実行されることにより、リモコン205の入出力に関する機能や、第１の記憶部202や第２の記憶部203などのメモリ管理などの端末装置Ａであるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム220がＣＰＵ201によって実行された状態で、上述のストリーム制御プログラム221、トポロジー制御プログラム222、画面制御プログラム223、デコーダプログラム224等が実行される。
【０１０１】
なお、ＯＳプログラム220、ストリーム制御プログラム221、トポロジー制御プログラム222、画面制御プログラム223、デコーダプログラム224等は、例えば、インターネットに接続されたサーバ等から第１の記憶部202にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１の記憶部202に読み込まれるようにしてもよい。
【０１０２】
（制御部213について）
制御部213は、上述のようにＣＰＵ201と第１の記憶部202とから構成され、ＣＰＵ201が第１記憶部202に記憶された各種プログラム220〜224を読み出して実行することにより、端末装置Ａ全体を統括制御し、かつ、後述する接続先紹介要求送信手段、接続先候補受信手段、接続手段、再生手段、中継依頼受信手段、転送手段等として機能させるようになっている。
【０１０３】
（接続先紹介要求送信手段について）
接続先紹介要求送信手段は、端末装置Ａが階層構造に新規に接続する際に、管理サーバ２に対して新規参加を依頼するための接続先紹介要求を示すデータ（以下、「参加依頼パケット」という。）を送信するものである。このとき接続先紹介手段は、参加依頼パケットと共に、自身の配信能力を管理サーバ２へ送信するものである。
（接続先候補受信手段について）
接続先候補受信手段は、管理サーバ２から送信される階層構造における接続先候補を示すデータ（以下、「親端末の紹介パケット」という。）を受信するものであり、この親端末の紹介パケットには、端末装置Ａが階層構造に参加した後、この端末装置Ａに対して直接コンテンツデータを配信する既存端末装置Ａ（以下、「親端末Ａ」ともいう。）のＩＰアドレスを示すデータが含まれている。
【０１０４】
なお、参加依頼パケットを送信した端末装置Ａが新規端末装置Ｎ１であった場合には、階層構造における末端に接続している既存端末装置ＡのＩＰアドレスが接続先候補として送信される。
【０１０５】
（接続手段について）
接続手段は、制御部213が接続先候補受信手段として機能して受信した接続先候補のＩＰアドレスに対応した親端末Ａに接続することにより、この端末装置Ａを階層構造に組み込むものである。
【０１０６】
こうして制御部213が接続手段として機能して親端末Ａと接続した後、この端末装置Ａの制御部213は、第１の記憶部202に記憶しているストリーム制御プログラム221に基づいて、親端末装置Ａから配信されるコンテンツデータを第１の記憶部202のバッファ領域に順次記憶すると共に、記憶したコンテンツデータを後述する再生手段により順次再生するストリーム制御を行う。ここで、バッファ領域とは、ストリーム制御プログラム221によって、第１の記憶部202に確保された領域である。
【０１０７】
（再生手段について）
再生手段は、第１の記憶部202のバッファ領域に順次記憶したコンテンツデータを順次再生するものであり、このとき制御部213は、ストリーム制御プログラム221に基づいてビデオチップ208及び音源チップ210を動作させることによりコンテンツデータを再生する。
（中継依頼受信手段について）
中継依頼受信手段は、他の端末装置Ａからコンテンツデータの中継依頼を示すデータ（以下、「データ配信依頼パケット」という。）を受信するものである。
【０１０８】
（転送手段について）
転送手段は、子端末Ａが接続されており、現在コンテンツデータの中継が可能な状態である場合に、第１の記憶部202のバッファ領域に順次記憶してきたコンテンツデータを子端末Ａに中継して配信するものである。
【０１０９】
[２．３．管理サーバ２の構成等の説明]
次に、図５を参照して、管理サーバ２の構成及び動作について説明する。
【０１１０】
図５は、本実施形態における管理サーバ２の概略構成例を示す機能ブロック図である。管理サーバ２は、一般のサーバコンピュータを適用可能であり、図５に示すように、ＣＰＵ（Central Processing Unit）301と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての第１記憶部302と、各種データ等を記憶するＨＤＤ（Hard Disc Drive）等から構成された第２記憶部303と、インターネットを介して放送局１や端末装置Ａとの間で通信を行うネットワークインターフェイス304と、所定の情報を入力可能なキーボード305やマウス306等の入力部を制御する周辺機器制御チップ307と、ＣＰＵ301からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ309に表示するビデオチップ308とを備えて構成され、これらの各種構成要素はシステムバス310を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ301と第１記憶部302とで制御部312を構成している。なお、ネットワークインターフェイス304は、ルータ10cを介して、インターネットに接続されている。
【０１１１】
（第１記憶部302について）
また、第１記憶部302には、管理サーバ２のコンピュータとしての基本的な機能を提供するためのＯＳのプログラム320と、各端末装置Ａの配信能力を評価するための配信能力評価プログラム321と、階層構造を構築及び管理等するためのトポロジー制御プログラム322と、端末装置Ａから送信される接続先紹介要求に対応する接続先候補を判定し、端末装置Ａへ接続先候補のデータ（親端末Ａの紹介パケット）を送信等するための接続先紹介プログラム324等を記憶しており、これらはＣＰＵ301によって読み出され、ＣＰＵ301によってこれらのプログラムに従った機能が実行される。
【０１１２】
ここで、ＯＳプログラム320は、ＣＰＵ301によって読み出されて実行されることにより、キーボード305やマウス306の入出力に関する機能や、第１記憶部302や第２記憶部303などのメモリ管理などの管理サーバ２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム320がＣＰＵ301によって実行された状態で、配信能力評価プログラム321、トポロジー制御プログラム322、接続先紹介プログラム324等が実行される。
【０１１３】
なお、ＯＳプログラム320、配信能力評価プログラム321、トポロジー制御プログラム322、接続先紹介プログラム324等は、例えば、インターネットに接続されたサーバ等から第１記憶部302にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部302に読み込まれるようにしてもよい。
【０１１４】
（第２記憶部303について）
第２記憶部303であるハードディスク装置には、階層構造を構成する複数の端末装置の各配信能力に関する情報を記憶する配信能力データベース314と、各端末装置の階層構造における接続状態を示す情報を記憶するトポロジーデータベース313とを備えており、接続状態情報記憶手段として機能するものである。
【０１１５】
（制御部312について）
制御部312は、上述のようにＣＰＵ301と第１記憶部302と第２記憶部303から構成され、ＣＰＵ301が第２記憶部303から各端末装置Ａの配信能力に関する情報及び、その端末装置Ａの階層構造における接続状態を示す情報を読み出すと共に、第１記憶部302に記憶された各種プログラム320、321、322、324を読み出して実行することにより、管理サーバ２全体を統括制御し、かつ、後述する接続先候補選択手段、通知手段、配信能力取得手段、比較手段、再接続候補選択手段、再接続手段、第２再接続候補選択手段、判断手段、第３再接続先候補選択手段等として機能するものである。
【０１１６】
（接続状態情報記憶手段について）
接続状態情報記憶手段は、階層構造に接続している複数の端末装置Ａ毎に、各端末装置Ａが接続している階層構造におけるＩＰアドレスを記憶すると共に、階層構造における現在、端末装置Ａが接続可能なＩＰアドレスを記憶するものであり、これらの接続状態情報は、階層構造に新規端末装置Ｎ１が参加したとき、及び、既存端末装置Ａが階層構造から脱退したときに、逐次更新して記憶するようにしている。
【０１１７】
（接続先候補選択手段について）
接続先候補選択手段は、新規端末装置Ｎ１から接続先要求である参加依頼パケットを受信したときに、接続状態情報記憶手段を参照して、階層構造上で現在、端末装置Ａを接続可能な状態となっているＩＰアドレスのうち、階層構造の末端に接続されている既存端末装置Ａを選択し、この末端の既存端末装置Ａに対応するＩＰアドレスを新規端末装置Ｎ１の接続先候補として選択するようにしている。
【０１１８】
（通知手段について）
通知手段は、制御部312が接続先選択手段として機能して、選択したＩＰアドレスを親端末Ａの紹介パケットとして、参加依頼パケットを送信してきた端末装置Ａに送信するものである。
【０１１９】
また、この通知手段は、後述する再接続先候補選択手段により選択した再接続先候補に対応するＩＰアドレスを、参加依頼パケットを送信してきた端末装置Ａに対して通知する機能も有している。
（配信能力取得手段について）
配信能力取得手段は、階層構造に端末装置Ａが接続する度に、その端末装置Ａから送信される参加依頼パケットから、その端末装置Ａの配信能力を取得して配信能力記憶手段に記憶させるものである。
【０１２０】
また、この配信能力取得手段は、既に階層構造に接続している端末装置Ａに関して、階層構造に接続している時間が所定時間（たとえば、１０分、１時間など）を越えたときに、その既存端末装置Ａの配信能力を逐次更新して配信能力記手段に記憶させるようにしている。
【０１２１】
（比較手段について）
比較手段は、新規端末装置Ｎ１が階層構造に接続してから所定のタイミングで新規端末装置Ｎ１の配信能力と、配信能力記憶手段に記憶している全ての既存端末装置Ａの配信能力とを比較するものである。
【０１２２】
所定のタイミングとしては、新規端末装置Ｎ１が階層構構造に接続してから一定時間（たとえば、１分間。）が経過したときとするようにしている。なお、この所定タイミングとして、新規端末装置Ｎ１が階層構造に接続したときとすることもできる。
【０１２３】
（再接続候補選択手段について）
再接続候補選択手段は、比較手段による比較の結果、新規端末装置Ｎ１の配信能力が親端末Ａの配信能力よりも高い場合に、この親端末Ａよりも高い階層の接続先を新規端末装置Ｎ１の再接続先候補として選択するものである。
【０１２４】
具体的には、新規端末装置Ｎ１の再接続先候補となる階層として、新規端末装置Ｎ１よりも配信能力の低い既存端末装置Ａのうち階層構造上で最も上層に接続されている既存端末装置Ａと、新規端末装置Ｎ１よりも配信能力の高い既存端末装置Ａのうち階層構造上で最も下層に接続している既存端端末装置Ａとの間、又は、新規端末装置Ｎ１よりも配信能力の低い既存端末装置Ａのうち階層構造上の最も上層に接続している既存端末装置Ａと、放送局１との間の階層となる再接続先を選択するようにしている。
【０１２５】
（再接続手段について）
再接続手段は、制御部312が再接続先候補選択手段として機能して選択した再接続先に新規端末装置Ｎ１を再接続させるものである。
【０１２６】
（第２再接続候補選択手段について）
第２再接続候補選択手段は、制御部312が再接続先候補選択手段として機能して選択した端末装置Ａに接続されている既存端末装置Ａの再接続先候補を選択するものであり、この再接続先候補として、新規端末装置Ｎ１を選択するものである。
【０１２７】
すなわち、この第２再接続先候補選択手段は、新規端末装置Ａの接続先候補である端末装置Ａの子端末Ａに対し、新規端末装置Ｎ１を新たな親端末Ａとして紹介するものである。
【０１２８】
（判断手段について）
判断手段は、新規端末装置Ｎ１が階層構造への再接続を行った後、この新規端末装置Ｎ１が更に他の端末装置Ａにコンテンツデータを配信可能な状態であるか否かの判断を行う。
【０１２９】
このとき管理サーバ２の制御部312は、新規端末装置Ｎ１が再接続を行った際に配信能力記憶手段に記憶させた自身の配信能力を参照し、この新規端末装置Ｎ１が子端末Ａを接続可能な状態であるか否かの判断を行う。
【０１３０】
また、この判断手段は、再接続させた新規端末装置Ｎ１が現在加速送信中であるか否かによっても、他の端末装置Ａにコンテンツデータを配信可能な状態であるか否かの判断を行う。
【０１３１】
このとき管理サーバ２の制御部312は、再接続を行った新規端末装置Ｎ１から加速送信が終了したことを示すデータ（以下、「加速送信の終了パケット」という。）を受信すると、その新規端末装置Ｎ１が他の端末装置Ａにコンテンツデータを配信可能な状態になったと判断する。
【０１３２】
（第３再接続先候補選択手段について）
第３再接続先候補選択手段は、前記判断手段による判断の結果、再接続した新規端末装置Ｎ１が子端末Ａを接続可能な状態であった場合に、この新規端末装置Ｎ１がコンテンツデータを直接配信している子端末Ａよりも階層構造上で下層に接続している既存端末装置Ａに対して、新規端末装置Ｎ１を再接続先候補として選択するものである。
【０１３３】
また、この管理サーバ２では、配信能力取得手段と、比較手段と、再接続先候補選択手段と、通知手段と、第２再接続先候補選択手段と、第３再接続先候補選択手段と、再接続手段とを主たる構成要件とした再接続装置を備えており、この再接続装置により、接続先候補に接続した新規端末装置Ｎ１を、所定のタイミングにおいて新規端末装置Ｎ１の配信能力に応じて、現在の階層と異なる階層に再接続させることを可能としている。
【０１３４】
[２．４  管理サーバ２側の判断により階層構造を再構築する方法について]
ここで、上記構成による放送局１と、端末装置Ａと、管理サーバ２とによって本実施形態に係るコンテンツデータ配信システムＳを構成し、このコンテンツデータ配信システムＳにより階層構造の再構築の行う方法について説明する。
【０１３５】
ここでは、管理サーバ２側の判断により階層構造を再構築する方法について説明する。なお、以下の説明において、親端末Ａを頂点とした階層構造をツリーと呼ぶことがあり、図面における親端末Ａと子端末Ａとを接続可能とした矢印を枝と呼ぶことがある。
【０１３６】
[２．４．１．方法１：新規端末装置Ｎ１を再接続する際に、新規端末装置Ｎ１の枝を残しておく方法]
図６は、図１に示す階層構造において、既存端末装置Ａ７に新規端末装置Ｎ１が接続された状態を示す説明図である。
【０１３７】
管理サーバ２の制御部312は、接続先候補選択手段として機能して、階層構造の末端に接続している既存端末装置Ａ７を接続先候補として選択して新規端末装置Ｎ１へ指示する。この指示に基づいて新規端末装置Ｎ１は、新規端末装置Ｎ１の制御部213が接続手段として機能して既存端末装置Ａ７に接続して、親端末Ａである既存端末装置Ａ７からコンテンツデータの配信を受け、制御部213が再生手段として機能して、配信されたコンテンツデータを再生する。
【０１３８】
次に管理サーバ２の制御部312は、新規端末装置Ｎ１が既存端末装置Ａ７に接続してから所定時間が経過すると、比較手段として機能して、新規端末装置Ｎ１の配信能力と、階層構造を構成している全ての既存端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７の配信能力とを比較する。
【０１３９】
ここでは、図６に示すように、新規端末装置Ｎ１以外で階層構造を構成している全ての既存端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７の配信能力が（２）であり、新規端末装置Ｎ１の配信能力よりも低いため、管理サーバ２の制御部312は、再接続先候補選択手段として機能して、新規端末装置Ｎ１に対し、再接続先候補として放送局１を選択して指示すると共に、既存端末装置Ａ１に対し、再接続先候補として新規端末装置Ｎ１を選択して指示する。
【０１４０】
これらの指示により、図７に示すように、新規端末装置Ｎ１は放送局１に接続し、既存端末装置Ａ１は新規端末装置Ｎ１に接続する。
【０１４１】
このとき、既存端末装置Ａ１は、制御部213が接続手段として機能して、既存端末装置Ａ１を頂点とするツリーとの接続を維持した状態で新規端末装置Ｎ１の下層側に子端末Ａとして接続する。
【０１４２】
このように、新規端末装置Ｎ１を、この新規端末装置Ｎ１より配信能力の低い既存端末装置Ａ１〜Ａ７、Ｂ１〜Ｂ７よりも上層に接続することにより、階層構造の下層側に接続している既存端末層装置Ａ１〜Ａ７に対して、コンテンツデータを安定して配信することができる。
【０１４３】
また、図７に示すように、新規端末装置Ｎ１を再接続した際に、新規端末装置Ｎ１の枝を残しておくことで、次にこの階層構造に参加してくる端末装置Ａ又は、親端末Ａとの接続を切断された端末装置Ａをこの配信能力の比較的高い新規端末装置Ｎ１の枝に接続することができ、これら新規端末装置Ｎ１の枝に接続した端末装置Ａに対しても、コンテンツデータを安定して配信することができる。
【０１４４】
また、管理サーバ２の制御部312は、新規端末装置Ｎ１が階層構造に最初に接続してから所定時間が経過した際に、比較手段として機能して、新規端末装置Ｎ１の配信能力と、この新規端末装置Ｎ１が接続されている階層よりも上層の既存端末装置Ａの配信能力とを比較するが、このとき、既存端末装置Ａの配信能力が新規端末装置Ｎ１の配信能力以上の場合には、新規端末装置Ｎ１の再接続は行わず、この新規端末装置Ｎ１は階層構造の末端に接続された状態を維持する。
【０１４５】
一方、既存端末装置Ａの配信能力よりも新規端末装置Ｎ１の配信能力が高い場合には、管理サーバ２の制御部312が再接続手段として機能し、新規端末装置Ｎ１の再接続を行うが、この際、新規端末装置Ｎ１の下層側に子端末Ａとして接続する既存端末装置Ａを選択する場合には、第２再接続先候補選択手段として機能し、以下に示す４つの基準に基づいて、再接続先候補を選択するようにしている。
【０１４６】
基準１：管理サーバ２の制御部312は、比較手段として機能して、階層構造の上層側に接続されている既存端末装置Ａから順に、新規端末装置Ｎ１との配信能力の比較を行う。
【０１４７】
そして、同一階層内で新規端末装置Ｎ１よりも配信能力が小さい既存端末装置Ａが唯一決まる場合には、その既存端末装置Ａを新規端末装置Ｎ１の子端末Ａとして新規端末措置Ｎ１の枝に接続させる。
【０１４８】
すなわち、図８に示すように、配信能力（３）を有する新規端末装置Ｎ１が既存端末装置Ｂ４に接続された場合、管理サーバ２の制御部312は、新規端末装置Ｎ１が階層構造に接続して所定時間が経過したときに比較手段として機能し、階層構造の上層側に接続している同一階層の既存端末装置Ａ１、Ｂ１から順に新規端末装置Ｎ１との配信能力の比較を行う。
【０１４９】
ここでは、階層構造の最上層に接続している既存端末装置Ａ１、Ｂ１のうち、既存端末装置Ａ１の配信能力が（２）であり、新規端末装置Ｎ１の配信能力（３）よりも低いため、管理サーバ２の制御部312は、新規端末装置Ｎ１を放送局１の子端末Ａとして接続すると共に、第２再接続先候補選択手段として機能して、この既存端末装置Ａ１を新規端末装置Ｎ１の子端末Ａとして接続する。
【０１５０】
このとき、既存端末装置Ａ１は、この既存端末装置Ａを頂点とするツリーとの接続を維持した状態で新規端末装置Ｎ１と接続するようにしている。
【０１５１】
こうすることにより、新規端末装置Ｎ１は、階層構造において自身よりも配信能力の低い既存端末装置Ａよりも上層に接続されることとなるため、この新規端末装置Ｎ１によりコンテンツデータの配信を受ける既存端末装置Ａに対して、コンテンツデータを安定して配信することができるようになる。
【０１５２】
基準２：基準１において、新規端末装置Ｎ１の下層側に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合には、複数の候補となった既存端末装置Ａのうち、その既存端末装置Ａを頂点としたツリーの階層が最も浅い既存端末装置Ａを新規端末装置Ｎ１の子端末Ａとして接続する。
【０１５３】
すなわち、図９に示すように、配信能力（３）を有する新規端末装置Ｎ１が既存端末装置Ａ３に接続された場合、管理サーバ２の制御部312は、新規端末装置Ｎ１が階層構造に接続してから接続して所定時間が経過したときに、比較手段として機能して、階層構造の上層側に接続している同一階層の既存端末装置Ａ１、Ｂ１から順に新規端末装置Ｎ１の配信能力との比較を行う。
【０１５４】
ここでは、最上層で同一階層に接続している既存端末装置Ａ１、Ｂ１は共に配信能力が（３）であり、新規端末装置Ｎ１の配信能力（３）よりも低くないため、管理サーバ２の制御部312は、比較手段として機能して、次に１階層下の階層で同一階層に接続されている既存端末装置Ａ２〜Ａ４、Ｂ２〜Ｂ４と新規端末装置Ｎ１との配信能力を比較する。
【０１５５】
ここで、同一階層に接続されている既存端末装置Ａ２〜Ａ４、Ｂ２〜Ｂ４の配信能力は全て（２）であり、新規端末装置Ｎ１の配信能力（３）よりも低いが、基準１では唯一に決まらない。
【０１５６】
そこで、管理サーバ２の制御部312は、基準２に基づき、同一階層に接続している既存端末装置Ａ２〜Ａ４、Ｂ２〜Ｂ４のうち、接続しているツリーの階層が最も浅い既存端末装置Ａ４を新規端末装置Ｎ１の子端末Ａとして選択する。
【０１５７】
そして、管理サーバ２の制御部312は、新規端末装置Ｎ１を最上層に接続されている既存端末装置Ａ１の子端末Ａとして接続すると共に、第２再接続先候補選択手段として機能して、基準２により選択した既存端末装置Ａ４を新規端末装置Ｎ１の下層側に子端末Ａとして接続させる。
【０１５８】
こうすることにより、新規端末装置Ｎ１は、階層構造において自身よりも配信能力の低い既存端末装置Ａよりも上層に接続されることとなり、しかも、新規端末装置Ｎ１の下層側には、階層の浅いツリーが接続されることとなるため、階層構造全体としての深さが深くなることを防止でき、この新規端末装置Ｎ１によりコンテンツデータの配信を受ける既存端末装置Ａに対して、コンテンツデータを安定して配信することができるようになる。
【０１５９】
基準３：基準２において、新規端末装置Ｎ１に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合に、管理サーバ２の制御部312は、第２歳接続先候補選択手段として機能して、候補として残った複数の既存端末装置Ａのうち、階層構造に接続してからの時間が短い方の既存端末装置Ａを、新規端末装置Ｎ１の子端末Ａとして接続する。
【０１６０】
こうすることにより、階層構造に接続している時間が長い（比較的配信能力の高い）既存端末装置Ａを階層構造において下層側へ移動させることがなくなるため、階層構造の下層側に接続されている既存端末装置Ａに対して、コンテンツデータを安定して送信することができる。
【０１６１】
基準４：基準３において、新規端末装置Ｎ１に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合に、管理サーバ２の制御部312は、第２再接続先候補選択手段として機能して、候補として残った複数の既存端末装置Ａの中から、新規端末装置Ｎ１の子端末Ａとして接続する既存端末装置Ａをランダムに選択する。
【０１６２】
[２．４．２．方法２：新規端末装置Ｎ１を再接続する際に、新規端末装置Ｎ１の枝を順次埋めていく方法]
図７に示すように、新規端末装置Ｎ１が放送局１に接続されて所定時間が経過すると、管理サーバ２の制御部312は、新規端末装置Ｎ１の子端末Ａである既存端末装置Ａ１の下層側に接続している既存端末装置Ａ３に対して、新たな親端末Ａとして新規端末装置Ｎ１を指示する。
【０１６３】
この指示に基づいて、既存端末装置Ａ３は、図１０に示すように、新規端末装置Ｎ１の子端末Ａとして新規端末装置Ｎ１の下層側に接続することによって、新規端末装置Ｎ１の余っている枝を一つ埋める。
【０１６４】
その後、管理サーバ２の制御部312は、新規端末装置Ｎ１に未だ余っている枝が１つあるため、既存端末装置Ａ３が新規端末装置Ｎ１に接続してから所定時間が経過すると、既存端末装置Ａ１の下層側に接続している既存端末装置Ａ２に対して、新たな親端末Ａとして新規端末装置Ｎ１を指示する。
【０１６５】
この指示に基づいて、既存端末装置Ａ２は、図１１に示すように、新規端末装置Ｎ１の子端末Ａとして下層側に接続することによって、新規端末装置Ｎ１の余っている枝を一つ埋める。
【０１６６】
このように新規端末装置Ｎ１の余っている枝を埋めていくことにより、図７に示す新規端末装置Ｎ１の下層側に接続した既存端末装置Ａ１を頂点としたツリーの階層を浅くして階層構造全体の深さを再構築することができるため、階層構造の下層側に接続している既存端末装置Ａに対して、コンテンツデータを安定して配信することができる。
【０１６７】
しかも、新規端末装置Ｎ１の枝を埋める際に、既存端末装置Ａ１を新規端末装置Ｎ１に接続してから所定時間が経過した後に、既存端末装置Ａ３を新規端末装置Ｎ１に接続し、既存端末装置Ａ３を新規端末装置Ｎ１に接続してから所定時間が経過した後に、既存端末装置Ａ２を新規端末装置Ｎ１に接続させることによって、新規端末装置Ｎ１がコンテンツデータを配信する際の負担を軽減することができる。
【０１６８】
なお、この所定時間が経過する前に、図１２に示すように、新規端末装置Ｎ１の余っている枝が、他の端末装置Ａ８、Ａ９により埋められた場合、管理サーバ２の制御部312は、既存端末装置Ａ１の子端末Ａ２、Ａ３のうちのいずれかを移動させて新規端末装置Ｎ１に接続させても階層構造全体の深さが変化しないため、これら既存端末装置Ａ１の子端末Ａ２、Ａ３は移動させない。
【０１６９】
ただし、管理サーバ２の制御部312は、階層構造が図１２に示す状態となった場合、既存端末装置Ａ６、Ａ７を他の端末装置Ａ８の下層側に子端末Ａとして接続すると共に、既存端末装置Ａ４、Ａ５を他の端末装置Ａ９の下層側に子端末Ａとして接続すれば、階層構造全体の深さを浅く再構築することができるので、この場合には、既存端末装置Ａ４〜Ａ７の再接続を行う。
【０１７０】
また、この方法２において、管理サーバ２の制御部312は、新規端末装置Ｎ１が階層構造に最初に接続してから所定時間が経過した際に、比較手段として機能して、新規端末装置Ｎ１の配信能力と、この新規端末装置Ｎ１が接続されている階層よりも上層の既存端末装置Ａの配信能力とを比較するが、このとき、既存端末装置Ａの配信能力が新規端末装置Ｎ１の配信能力以上の場合には、新規端末装置Ｎ１の再接続は行わず、この新規端末装置Ｎ１は階層構造の末端に接続された状態を維持する。
【０１７１】
一方、既存端末装置Ａの配信能力よりも新規端末装置Ｎ１の配信能力が高い場合には、再接続手段として機能して、新規端末装置Ｎ１の再接続を行うが、この際、新規端末装置Ｎ１の下層側に子端末Ａとして接続する既存端末装置Ａを選択する場合には、第２再接続先候補選択手段として機能し、以下に示す４つの基準に基づいて、再接続先候補を選択するようにしている。
【０１７２】
基準１：方法１における基準１と同様に、管理サーバ２の制御部312は、比較手段として機能して、階層構造の上層側に接続されている既存端末装置Ａから順に、新規端末装置Ｎ１の配信能力との比較を行う。
【０１７３】
そして、同一階層内で新規端末装置Ｎ１よりも配信能力が小さい既存端末像地Ａが唯一決まる場合には、その既存端末装置Ａを新規端末装置Ｎ１の子端末として新規端末措置Ｎ１の枝に接続させる。
【０１７４】
基準２：基準１において、新規端末装置Ｎ１の下層側に子端末Ａとして接続可能な既存端末装置Ａが複数存在した場合に、管理サーバ２の制御部312は第２再接続先候補選択手段として機能して、複数の候補となった既存端末装置Ａのうち、その既存端末装置Ａを頂点としたツリーの階層が最も深い既存端末装置Ａを新規端末装置Ｎ１の下層側に子端末Ａとして接続する。
【０１７５】
すなわち、図１３に示すように、配信能力（３）を有する新規端末装置Ｎ１が既存端末装置Ａ３に接続された場合、管理サーバ２の制御部312は、新規端末装置Ｎ１が階層構造に接続してから接続して所定時間が経過したときに、比較手段として機能し、階層構造の上層側に接続している同一階層の既存端末装置Ａ１、Ｂ１から順に新規端末装置Ｎ１の配信能力との比較を行う。
【０１７６】
ここでは、最上層で同一階層に接続している既存端末装置Ａ１、Ｂ１は共に配信能力が（３）であり、新規端末装置Ｎ１の配信能力（３）よりも低くないため、管理サーバ２の制御部312は、次に１階層下の階層で同一階層に接続されている既存端末装置Ａ２〜Ａ４、Ｂ２〜Ｂ４と新規端末装置Ｎ１との配信能力を比較する。
【０１７７】
ここで、同一階層に接続されている既存端末装置Ａ２〜Ａ４、Ｂ２〜Ｂ４のうち、新規端末装置Ｎ１の配信能力（３）よりも配信能力の低いものは、既存端末装置Ａ２、Ａ３、Ｂ２〜Ｂ４の４つとなり基準１では唯一に決まらない。
【０１７８】
このように、基準１において、新規端末装置Ｎ１に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合に、管理サーバ２の制御部312は、第２再接続先候補選択手段として機能して、候補として残った複数の既存端末装置Ａのうち、接続しているツリーの階層が最も深い既存端末装置Ｂ２を新規端末装置Ｎ１の子端末Ａとして選択する。
【０１７９】
そして、管理サーバ２の制御部312は、新規端末装置Ｎ１を最上層に接続されている既存端末装置Ｂ１の子端末Ａとして接続すると共に、基準２により選択した既存端末装置Ｂ２を新規端末装置Ｎ１の下層側に子端末Ａとして接続させる。
【０１８０】
このとき、新規端末装置Ｎ１に子端末Ａとして接続する既存端末装置Ｂ２は、自身を頂点としたツリーとの接続を維持した状態で新規端末装置Ｎ１に接続する。
【０１８１】
こうすることにより、管理サーバ２の制御部312は、新規端末装置Ｎ１の下層側に既存端末装置Ｂ２を接続して所定時間が経過した後に、既存端末装置Ｂ２の子端末Ｂ５、Ｂ６又は、これら子端末Ｂ５、Ｂ６の子端末Ｂ１１〜Ｂ１３に対して、新規端末装置Ｎ１を新たな親端末Ａとする再接続指示を出すこととなるので、結果として新規端末装置Ｎ１を頂点としたツリーの階層が浅く再構築される。
【０１８２】
これにより、階層構造全体としての深さが深くなることを防止でき、この新規端末装置Ｎ１によりコンテンツデータの配信を受ける既存端末装置Ａに対して、コンテンツデータを安定して配信することができるようになる。
【０１８３】
基準３：基準２において、新規端末装置Ｎ１に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合に、管理サーバ２の制御部312は、第２再接続先候補選択手段として機能して、候補として残った複数の既存端末装置Ａのうち、階層構造に接続してからの時間が長い方の既存端末装置Ａを、新規端末装置Ｎ１の子端末Ａとして接続する。
【０１８４】
こうすることにより、階層構造に接続している時間が長い（比較的配信能力の高い）既存端末装置Ａを階層構造において下層側へ移動させることがなくなるため、階層構造の下層側に接続されている既存端末装置Ａに対して、コンテンツデータを安定して送信することができる。
【０１８５】
基準４：基準３において、新規端末装置Ｎ１に子端末Ａとして接続可能な既存端末装置Ａの候補が複数存在した場合に、管理サーバ２の制御部312は、第２再接続先候補選択手段として機能して、候補として残った複数の既存端末装置Ａの中から、新規端末装置Ｎ１の子端末Ａとして接続する既存端末装置Ａをランダムに選択する。
【０１８６】
[２．４．３．方法３：新規端末装置Ｎ１を再接続する際に、新規端末装置Ｎ１の枝を一度に埋める方法]
図６に示すように、新規端末装置Ｎ１が階層構造の最下層に接続されている既存端末装置Ａ７に接続した状態において、管理サーバ２の制御部312は、比較手段として機能して、新規端末装置Ｎ１の配信能力と、この階層構造を構成している全ての既存端末装置Ａの配信能力とを比較した上で、通知手段として機能して、複数の既存端末装置Ａ及び新規端末装置Ｎ１に対して、同時に再接続の指示を行う。
【０１８７】
すなわち、管理サーバ２の制御部312は、通知手段として機能することにより、新規端末装置Ｎ１に新たな親端末Ａを放送局１とする指示を行い、第２再接続先候補選択手段として機能して、既存端末装置Ａ１に新たな親端末Ａを新規端末装置Ｎ１とする指示を行い、既存端末装置Ａ２に新たな親端末Ａを新規端末装置Ｎ１とする指示を行い、既存端末装置Ａ３に新たな親端末Ａを新規端末装置Ｎ１とする指示を行う。
【０１８８】
このように、管理サーバ２の制御部312が、複数の既存端末装置Ａ及び新規端末装置Ｎ１に対して同時に再接続の指示を行うことによって、図６に示す階層構造の状態を図１１に示す階層構造の状態に一度に再構築することができる。
【０１８９】
ただし、このように一度に階層構造を再構築した場合、新規端末装置Ｎ１は複数の子端末Ａ１、Ａ２、Ａ３に対して、同時にコンテンツデータの配信を開始することとなり、新規端末装置Ｎ１に大きな負担がかかるおそれがあるため、この方法３を適用する際には、新規端末装置Ｎ１の配信能力が所定値（配信能力＝９５点）以上であった場合に適用することが望ましい。
【０１９０】
このように、管理サーバ２の制御部312の制御に基づき、以上説明した方法１〜３を用いて階層構造の再構築を行うことによって、階層構造の深さを可及的に浅くなるように再構築することができるので、階層構造を構成する全ての端末装置Ａに対して、コンテンツデータを安定して配信することができる。
【０１９１】
[２．５．管理サーバ側の判断により階層構造を再構築する際の管理サーバ動作プログラムについて]
管理サーバ２の制御部312は、図１４〜図１８に示すフローチャートに従って制御を行う。なお、以下の説明では、管理サーバ２の制御部312を単に制御部312と呼ぶこととする。
【０１９２】
[２．５．１．制御部312のメイン処理]
図１４に示すように、メイン処理において、制御部312は、電源が投入されると新規端末装置Ｎ１からツリー（階層構造）への参加依頼パケットを受信したか否かの判断を行い（ステップＳ３７）、参加依頼パケットを受信したと判断した場合に処理をステップＳ３８に移し、参加依頼パケットを受信していないと判断した場合に処理をステップＳ４０へ移す。
【０１９３】
ステップＳ３７において制御部312は、後述する親端末Ａの紹介処理（ステップＳ３８）を行った後、後述する配信能力の比較処理（ステップＳ３９）を行い、その後処理をステップＳ３７に戻す。
【０１９４】
ステップＳ４０において制御部312は、新規端末装置Ｎ１から、ツリーからの脱退パケットを受信したか否かの判断を行い、脱退パケットを受信したと判断した場合に処理をステップＳ４１に移し、脱退パケットを受信していないと判断した場合に処理をステップＳ４２に移す。
【０１９５】
ステップＳ４１において制御部312は、後述するツリーからの脱退処理を行い、その後処理をステップＳ３９へ移す。
【０１９６】
ステップＳ４２において制御部312は、新規端末装置Ｎ１から加速送信の終了パケットを受信したか否かの判断を行い、加速送信の終了パケットを受信したと判断した場合に処理をステップＳ４３に移し、加速送信の終了パケットを受信していないと判断した場合に処理をステップＳ４４へ移す。
【０１９７】
ここでいう加速送信とは、子端末Ａが新たに接続された際に、新規端末装置Ｎ１がその子端末Ａに対して、所定時間通常よりも早い転送速度でコンテンツデータを配信することである。
【０１９８】
これは、子端末Ａが新たな親端末Ａに再接続する際に、一時的に階層構造から脱退している間、受信できなかった分のコンテンツデータを補うために新規端末装置Ｎ１が行うコンテンツデータの送信方法である。
【０１９９】
ステップＳ４３において制御部312は、後述する次の端末の紹介処理を行い、その後、処理をステップ３９へ移す。
【０２００】
ステップＳ４４において、制御部312は、その他の処理として、階層構造における各端末装置Ａの配信能力の更新処理などの処理を行って処理をステップＳ３９へ移す。
【０２０１】
そして、制御部312は、電源が投入されている間、これらステップＳ３７〜ステップＳ４４までの処理を繰り返し行う。
【０２０２】
[２．５．２．親端末の紹介処理]
この親端末の紹介処理は、図１４に示すステップＳ３７で行うものである。
【０２０３】
図１５に示すように、親端末Ａの紹介処理において制御部312は、新規端末装置Ｎ１の接続先候補を選択し、新規端末装置Ｎ１へ接続先候補を示す親端末Ａの紹介パケットを送信（ステップ５７）した後、タイマーの初期化（ステップＳ５８）を行い、その後、処理を図１４に示すステップＳ３９へ戻す。
【０２０４】
このとき新規端末装置Ｎ１へ送信する親端末Ａの紹介パケットには、親端末ＡのＩＰアドレス、ポート番号のセットが入っており、複数の親端末Ａを紹介する場合には、これらのセットが複数個入っている。
【０２０５】
[２．５．３．配信能力の比較処理]
この配信能力の比較処理は、図１４に示すステップＳ３９で行うものである。
【０２０６】
図１６に示すように、配信能力の比較処理において制御部312は、ステップＳ５８で初期化したタイマーを参照することによって、新規端末装置Ｎ１にパケット（ここでは、親端末Ａの紹介パケット）を送信してから所定時間が経過したか否かの判断を行い（ステップＳ４５）、所定時間が経過したと判断した場合に処理をステップＳ４６へ移し、所定時間が経過していないと判断した場合には、処理をステップＳ４５へ戻す。
【０２０７】
ステップＳ４６において制御部312は、新規端末装置Ｎ１の配信能力を取得した後、処理をステップＳ４７へ移す。
【０２０８】
ステップＳ４７において、制御部312は、既にツリーに参加していた既存端末装置Ａの配信能力と、新規端末装置Ｎ１の配信能力との比較を行い、その後、処理をステップＳ４８へ移す。
【０２０９】
ステップＳ４８において、制御部312は、前記比較結果に基づいて、新規端末装置Ｎ１の配信能力の方が既存端末装置Ａの配信能力よりも高いと判断した場合に処理をステップＳ４９へ移し、新規端末装置Ｎ１の配信能力が既存端末装置Ａの配信能力よりも低いと判断した場合に、この配信能力の比較処理を終了して処理を図１４に示すステップＳ３７へ戻す。
【０２１０】
ステップＳ４９において制御部312は、新規端末装置Ｎ１の再接続先候補を選択し、その再接続先候補を示すパケットを新規端末装置Ｎ１へ送信することにより、新規端末装置Ｎ１へ新たな親端末Ａを紹介する処理を行い、その後、処理をステップＳ５０へ移す。
【０２１１】
ステップＳ５０において制御部312は、新たな親端末Ａに接続した新規端末装置Ｎ１が子端末Ａを接続可能であるか否かの判断を行い、子端末Ａを接続可能な状態であると判断した場合に処理をステップＳ５１へ移し、子端末Ａを接続可能な状態でないと判断した場合に、この配信能力の比較処理を終了して処理を図１４に示すステップＳ３７へ戻す。
【０２１２】
ステップＳ５１において制御部312は、上記した方法１により階層構造を再構築する場合には、再接続先候補選択手段が選択した再接続先候補に接続している既存端末装置Ａに対して、新規端末装置Ｎ１を新たな親端末Ａとして紹介する処理を行う。
【０２１３】
また、上記した方法３により階層構造を再構築する場合には、制御部312が第３再接続先候補選択手段として機能して、新規端末装置Ｎ１の子端末Ａ階層構造上で下層側に接続している複数の既存端末装置に対して、新規端末装置Ｎ１を新たな親端末Ａとして紹介する処理を行う。
【０２１４】
そして、制御部312は、この処理ステップＳ５１を行った後、処理を図１に示すステップＳ３７へ移す。
【０２１５】
[２．５．４．ツリーからの脱退処理]
このツリーからの脱退処理は、図１４に示すステップＳ４１で行うものである。
【０２１６】
図１７に示すように、ツリーからの脱退処理において制御部312は、接続状態情報記憶手段において、ツリーからの脱退パケットを送信してきた端末装置Ａを、ツリーに参加している端末装置Ａのリストから削除して更新し（ステップＳ５５）、その後、処理をステップＳ５６へ移す。
【０２１７】
ステップＳ５６において制御部312は、接続状態情報記憶手段においてトポロジー情報の更新を行い、その後処理を図１４に示す処理３９へ戻す。
【０２１８】
[２．５．５．次の端末の紹介処理]
この次の端末の紹介処理は、図１４に示すステップＳ４３で行うものである。
【０２１９】
図１８に示すように、次の端末の紹介処理において制御部312は、新規端末装置Ｎ１の余った枝に子端末Ａを接続させるか否かの判断を行い（ステップＳ１５２）、接続させる判断した場合に処理をステップＳ１５３へ移し、接続させないと判断した場合に、この次の端末の紹介処理を終了して処理をステップＳ３９へ戻す。
【０２２０】
ステップＳ１５３において制御部312は、上記した方法２の基準１〜４に基づいて、新規端末装置Ｎ１の余った枝に接続させる子端末Ａを探す処理を行い、その後、処理をステップＳ１５４へ移す。
【０２２１】
ステップＳ１５４において制御部312は、新規端末装置Ｎ１に接続する子端末Ａが存在するか否かの判断を行い、存在すると判断した場合に処理をステップＳ１５５へ移し、存在しないと判断した場合に処理をステップＳ３９へ戻す。
【０２２２】
ステップ１５５において制御部312は、ステップＳ１５４で存在すると判断した複数の子端末Ａの中から、新規端末装置Ｎ１に接続する子端末Ａを選択し、その子端末Ａへ新たな親端末Ａが新規端末装置Ｎ１となったことを通知し、その後、処理をステップＳ３９へ戻す。
【０２２３】
[２．６．管理サーバ側の判断により階層構造を再構築する際の端末装置動作プログラムについて]
端末装置Ａの制御部213は、図１９〜図２５に示すフローチャートに従って制御を行う。なお、以下の説明では、端末装置Ａの制御部213を単に制御部213と呼び、この端末装置Ａを操作するクライアントをユーザと呼ぶこととする。
【０２２４】
[２．６．１．制御部213のメイン処理]
図１９に示すように、メイン処理において、制御部213は、端末装置Ａに電源が投入されている状態でユーザが端末装置Ａに所定の操作を行うと、その操作に基づいて、ディスプレイ209上のチャネル選択画面で所定のチャネルを選択する画像を表示する処理（ステップＳ１５０）を行った後、処理をステップＳ１５１に移す。
【０２２５】
ステップＳ１５１において制御部213は、後述するツリー（選択されたチャネルを配信している階層構造）への参加依頼処理を行い、その後、処理をステップＳ１へ移す。
【０２２６】
ステップＳ１において制御部213は、管理サーバ２から親端末の紹介パケットを受信したか否かの判断を行い、受信したと判断した場合に処理をステップＳ３へ移し、受信しなかったと判断した場合に処理をステップＳ２へ移す。
【０２２７】
ステップＳ３において制御部213は、後述する親端末Ａへデータ要求処理を行い、その後、処理をステップＳ１２へ移す。
【０２２８】
ステップＳ１２において制御部213は、ユーザにより端末装置Ａの停止ボタン（図示略）が押されたか否かの判断を行い、停止ボタンが押されていないと判断した場合に処理をステップＳ１へ戻し、停止ボタンが押されたと判断した場合に処理をステップＳ１３へ移す。
【０２２９】
ステップＳ１３において制御部213は、後述するツリー（チャネル）からの脱退処理を行い、その後、ディスプレイ209上にチャネル選択画面を表示させる処理を行って（ステップＳ１４）、このメイン処理を終了する。
【０２３０】
また、ステップＳ２において制御部213は、他の端末装置Ａからコンテンツデータの配信要求があるか否かの判断を行い、配信要求がないと判断した場合には処理をステップＳ４へ移し、配信要求があると判断した場合には、後述する子端末Ａへデータ配信処理（ステップＳ５）を行い、その後、処理をステップＳ１２へ移す。
【０２３１】
ステップＳ４において制御部213は、管理サーバ２からデータ配信停止パケットを受信したか否かの判断を行い、データ配信停止パケットを受信していないと判断した場合に処理をステップＳ６へ移し、データ配信停止パケットを受信したと判断した場合には、後述する配信停止処理（ステップＳ７）を行い、その後、処理をステップＳ１２へ戻す。
【０２３２】
ステップＳ６において制御部213は、親端末Ａがツリーから脱退したことを示す親端末Ａの脱退パケットを受信したか否かの判断を行い、親端末Ａの脱退パケットを受信していないと判断した場合に処理をステップＳ８へ移し、親端末Ａの脱退パケットを受信したと判断した場合に、接続先紹介要求送信手段として機能して、後述するツリー（チャネル）への参加依頼処理（ステップＳ９）を行い、その後、処理をステップＳ１２へ移す。
【０２３３】
ステップＳ８において制御部213は、主記憶装置203にコンテンツデータであるデータパケットが存在しているか否かの判断を行い、データパケットが存在していないと判断した場合には、ユーザの他の操作に基づいてその他の処理（ステップＳ１０）を行う。
【０２３４】
一方、制御部213は、データパケットが存在していると判断した場合に、コンテンツデータの再生処理（ステップＳ１１）を行い、その後、処理をステップＳ１２へ戻す。
【０２３５】
[２．６．２．ツリーへの参加依頼処理]
このツリーへの参加依頼処理は、図１９に示すステップＳ１５１及びステップＳ９で行うものである。
【０２３６】
図２０に示すように、ツリーへの参加依頼処理において制御部213は、管理サーバ２へ参加依頼パケットを送信（ステップＳ１５）した後、タイマーを初期化（ステップＳ１６）し、その後、処理をステップＳ１７へ移す。
【０２３７】
ステップＳ１７において制御部213は、ステップＳ１６で初期化したタイマーを参照することにより、所定時間が経過したか否かの判断を行い、所定時間が経過したと判断した場合に処理をステップＳ１５へ戻し、所定時間が経過していないと判断した場合に処理をステップＳ１８へ移す。
【０２３８】
ステップＳ１８において制御部213は、管理サーバ２から親端末Ａの紹介パケットを受信したか否かの判断を行い、親端末Ａの紹介パケットを受信していないと判断した場合に処理をステップＳ１７へ戻し、親端末Ａの紹介パケットを受信したと判断した場合に、このツリーへの参加依頼処理を終了して処理を図１９のステップＳ１へ戻す。
【０２３９】
[２．６．３．親端末へデータ要求処理]
この親端末へデータ要求処理は、図１９に示すステップＳ３で行うものである。
【０２４０】
図２１に示すように、親端末Ａへデータ要求処理において制御部213は、親端末Ａと接続しているか否かの判断を行い（ステップＳ２３）、親端末Ａと接続していると判断した場合にその親端末Ａとの接続を切断する処理（ステップＳ２４）を行った後、処理をステップＳ２５へ移し、親端末Ａと接続していないと判断した場合に処理をステップＳ２５へ移す。
【０２４１】
ステップＳ２５において制御部213は、新しい親端末Ａへデータ配信依頼パケットを送信し、その後、接続手段として機能して、データ配信依頼パケットを送信した新たな親端末Ａに接続した後、タイマーを初期化し（ステップＳ２６）、処理をステップＳ２７へ移す。
【０２４２】
ステップＳ２７において制御部213は、ステップＳ２６で初期化したタイマーを参照することによって所定時間が経過したか否かの判断を行い、所定時間が経過したと判断した場合に処理をステップＳ２５へ移し、所定時間が経過していないと判断した場合に処理をステップＳ２８へ移す。
【０２４３】
ステップＳ２８において制御部213は、接続している親端末Ａから配信ＯＫパケットを受信したか否かの判断を行い、配信ＯＫパケットを受信していないと判断した場合に処理をステップＳ２７へ戻し、配信ＯＫパケットを受信したと判断した場合に、この親端末Ａへデータ要求処理を終了して処理を図１９のステップＳ１２へ処理を戻す。
【０２４４】
[２．６．４．子端末へデータ配信処理]
この子端末へデータ配信処理は、図１９に示すステップＳ５で行うものである。
【０２４５】
図２２に示すように、子端末Ａへデータ配信処理において制御部213は、自身の配信能力に余裕があるか否かの判断を行う（ステップＳ２９）。
【０２４６】
すなわち、制御部213は、子端末Ａに接続してコンテンツデータを配信可能な状態であるか否かの判断を行い、子端末Ａに接続してコンテンツデータを配信可能な状態であると判断した場合に処理をステップＳ３０へ移し、子端末Ａに接続してコンテンツデータを配信可能な状態でないと判断した場合に処理をステップＳ３２へ移す。
【０２４７】
ステップＳ３０において制御部213は、現在加速送信中であるか否かの判断を行い、加速送信中でないと判断した場合に処理をステップＳ３１へ移し、加速送信中であると判断した場合に処理をステップＳ３２へ移す。
【０２４８】
ステップＳ３１において制御部213は、配信ＯＫパケットを新たな子端末Ａへ送信した後、その新たな子端末Ａへコンテンツデータを配信し、ステップＳ３２において制御部213は配信ＮＧパケットを新たな子端末Ａへ送信し、その後、この子端末Ａへデータ配信処理を終了して処理を図１９に示すステップＳ１２へ戻す。
【０２４９】
[２．６．５．配信停止処理]
この配信停止処理は、図１９に示すステップＳ７で行うものである。
【０２５０】
図２３に示すように、配信停止処理において制御部213は、接続している子端末Ａへのコンテンツデータの配信を停止する処理（ステップＳ３６）を行った後、この配信停止処理を終了して処理を図１９に示すステップＳ１２へ戻す。
【０２５１】
[２．６．６．再生処理]
この再生処理は、図１９に示すステップＳ１１で行うものである。
【０２５２】
図２４に示すように、再生処理において制御部213は、再生手段として機能して、コンテンツデータを再生する処理（ステップＳ３３）を行い、子端末Ａが存在しているか否かの判断を行い（ステップＳ３４）、子端末Ａが存在すると判断した場合には、転送手段として機能して、子端末Ａへコンテンツデータを転送する処理を行い（ステップＳ３５）、子端末Ａが存在していないと判断した場合には、この再生処理を終了して処理を図１９のステップＳ１２へ戻す。
【０２５３】
[２．６．７．ツリーからの脱退処理]
このツリーからの脱退処理は、図１９に示すステップＳ１３で行うものである。
【０２５４】
図２５に示すように、ツリーからの脱退処理において制御部213は、ツリーから脱退することを示すパケットを管理サーバ２へ送信することにより、ツリーから脱退することを管理サーバ２に通知し（ステップＳ１９）、その後、処理をステップＳ２０へ移す。
【０２５５】
ステップＳ２０において、制御部213は、親端末Ａに配信停止パケットを送信し、その後、処理をステップＳ２１へ移す。
【０２５６】
ステップＳ２１において、制御部213は、子端末Ａが存在するか否かの判断を行う。すなわち、制御部213は、現在子端末Ａと接続しているか否かの判断をおこない、子端末Ａと接続していないと判断した場合に、このツリーからの脱退処理を終了して処理を図１９に示すステップＳ１４へ移す。
【０２５７】
一方、子端末Ａと接続していると判断した場合に制御部213は、子端末Ａに対して、親端末Ａである自身がツリーから脱退することを示すパケットを送信し（ステップＳ２２）、その後、このツリーからの脱退処理を終了して処理を図１９に示すステップＳ１４へ戻す。
【０２５８】
以上説明したように、第１実施形態における管理サーバ２の動作を示すフローチャートにおいて、ステップＳ３８、Ｓ５７の処理は、制御部312が接続先候補選択手段として機能して行うものであり、ステップＳ５７の処理は、制御部312が通知手段として機能して行うものであり、ステップＳ４６の処理は、制御部 312が配信能力取得手段として機能して行うものであり、ステップＳ３９、Ｓ４７、Ｓ４８、Ｓ１５５の処理は、制御部312が比較手段として機能して行うものであり、ステップＳ４９の処理は、制御部312が再接続先候補選択手段として機能して行うものであり、ステップＳ４２、Ｓ５１、Ｓ１５３、Ｓ１５５の処理は、制御部312が第２再接続先候補選択手段として機能して行うものであり、ステップＳ５０の処理は、制御部312が判断手段として機能して行うものであり、ステップＳ５１の処理は制御部312が第３再接続先選択手段として機能して行うものである。
【０２５９】
また、端末装置Ａの動作を示すフローチャートにおいて、ステップＳ９、Ｓ１５、Ｓ２５、Ｓ１５１の処理は、制御部213が接続先紹介要求送信手段として機能して行うものであり、ステップＳ１、Ｓ１８の処理は、制御部213が接続先候補受信手段として機能して行うものであり、ステップＳ２５は、制御部213が接続手段として機能して行うものであり、ステップＳ２の処理は、制御部213が中継依頼受信手段として機能して行うものであり、ステップＳ５、Ｓ３１、Ｓ３５は制御部213が転送手段として機能して行うものである。
【０２６０】
[３．第２実施形態]
ここで、第２実施形態に係るコンテンツデータ配信システムＳを構成する放送局１、管理サーバ２、端末装置Ａ'（図２６〜図３８に示す端末装置Ａ'、Ａ'１〜１５、Ｂ'１、Ｎ'１）について、それらの具体的な構成及び動作について図面を参照して説明する。
【０２６１】
[３．１．放送局１の構成について]
第２実施形態における放送局１は、図３に示す第１実施形態における放送局１と同様の構成であるため、その説明は省略する。
【０２６２】
[３．２．端末装置Ａ'の構成等の説明]
次に、図２６を参照して、クライアント側の端末装置Ａ'の構成及び動作について説明する。
【０２６３】
図２６は、本実施形態における端末装置Ａ'の概略構成例を示す機能ブロック図である。この端末装置Ａ'は、図４に示す端末装置Ａと基本的構成は同様であるが、第１の記憶部202に配信能力評価プログラム225を備えているところだけが異なる。
【０２６４】
そのため、以下の説明において、図４に示す端末装置Ａと同一の構成要件については、同一の符号を付することによりその説明を省略する。
【０２６５】
（第１の記憶部202について）
この端末装置Ａ'が有する第１の記憶部202には、端末装置Ａのコンピュータとしての基本的な機能を提供するためのＯＳのプログラム220と、放送局１から直接又は他の端末装置Ａ'に中継されてストリーミング配信されるコンテンツデータを受信するためのストリーム制御プログラム221と、ツリー状に接続された１段上層の端末（放送局１又は端末装置Ａ'）のＩＰアドレスとツリー状に接続された１段下層の端末装置Ａ'のＩＰアドレスの管理等を行なうためのトポロジー制御プログラム222と、ディスプレイ209を制御するための画面制御プログラム223と、エンコードされたコンテンツデータをデコードするためのデコーダプログラム224と、１段上層の端末Ａ'及び自端末装置Ａ'の配信能力を評価するための配信能力評価プログラム225等を記憶しており、これらはＣＰＵ201によって読み出され、ＣＰＵ201によってこれらのプログラムに従った機能が実行される。
【０２６６】
ここで、ＯＳプログラム220は、ＣＰＵ201によって読み出されて実行されることにより、リモコン205の入出力に関する機能や、第１の記憶部202や第２の記憶部203などのメモリ管理などの端末装置Ａであるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム220がＣＰＵ201によって実行された状態で、上述のストリーム制御プログラム221、トポロジー制御プログラム222、画面制御プログラム223、デコーダプログラム224、配信能力評価プログラム225等が実行される。
【０２６７】
（制御部213について）
制御部213は、上述のようにＣＰＵ201と第１の記憶部202とから構成され、ＣＰＵ201が第１記憶部202に記憶された各種プログラム220〜225を読み出して実行することにより、端末装置Ａ全体を統括制御し、かつ、後述する接続先紹介要求送信手段、接続先候補受信手段、接続手段、再生手段、中継依頼受信手段、転送手段、判断手段、配信能力取得手段、比較手段、再接続手段等として機能させるようになっている。
【０２６８】
（接続先紹介要求送信手段について）
接続先紹介要求送信手段は、端末装置Ａ'が階層構造に新規に接続する際に、管理サーバ２に対して新規参加を依頼するための接続先紹介要求を示すデータ（以下、「参加依頼パケット」という。）を送信するものである。このとき接続先紹介手段は、参加依頼パケットと共に、自身の配信能力を管理サーバ２へ送信するものである。
【０２６９】
（接続先候補受信手段について）
接続先候補受信手段は、管理サーバ２から送信される階層構造における接続先候補を示すデータ（以下、「親端末の紹介パケット」という。）を受信するものであり、この親端末の紹介パケットには、端末装置Ａ'が階層構造に参加した後、この端末装置Ａ'に対して直接コンテンツデータを配信する既存端末装置Ａ'（以下、「親端末Ａ'」ともいう。）のＩＰアドレスを示すデータが含まれている。
【０２７０】
なお、参加依頼パケットを送信した端末装置Ａ'が新規端末装置Ｎ１であった場合には、階層構造における末端に接続している既存端末装置Ａ'のＩＰアドレスが接続先候補として送信される。
【０２７１】
（接続手段について）
接続手段は、制御部212が接続先候補受信手段として機能して受信した接続先候補のＩＰアドレスに対応した親端末Ａ'に接続することにより、この端末装置Ａ'を階層構造に組み込むものである。
【０２７２】
こうして接続手段により親端末Ａ'と接続した後、この端末装置Ａの制御部213は、第１の記憶部202に記憶しているストリーム制御プログラム221に基づいて、親端末装置Ａ'から配信されるコンテンツデータを第１の記憶部202のバッファ領域に順次記憶すると共に、記憶したコンテンツデータを後述する再生手段により順次再生するストリーム制御を行う。
【０２７３】
（再生手段について）
再生手段は、第１の記憶部202のバッファ領域に順次記憶したコンテンツデータを順次再生するものであり、このとき制御部213は、ストリーム制御プログラム221に基づいてビデオチップ208及び音源チップ210を動作させることによりコンテンツデータを再生するものである。
【０２７４】
（中継依頼受信手段について）
中継依頼受信手段は、他の端末装置Ａ'からコンテンツデータの中継依頼を示すデータ（以下、「データ配信依頼パケット」という。）を受信するものである。
【０２７５】
（転送手段について）
転送手段は、子端末Ａ'が接続されており、現在コンテンツデータの中継が可能な状態である場合に、第１の記憶部202のバッファ領域に順次記憶してきたコンテンツデータを子端末Ａ'に中継して配信するものである。
【０２７６】
（判断手段について）
判断手段は、現在、新たな子端末Ａ'（コンテンツデータを中継して直接配信する端末装置Ａ'）にコンテンツデータを配信可能な状態であるか否かを判断するものである。
【０２７７】
端末装置Ａ'の制御部213は、この判断手段として機能する際に、自身の配信能力に余裕があると判断した場合、新たな子端末Ａ'にコンテンツデータを配信可能な状態であると判断する。
【０２７８】
また、端末装置Ａ'の制御部213は、現在接続している子端末Ａ'に対して加速送信を行っていないと判断した場合にも、新たな子端末Ａ'にコンテンツデータを配信可能な状態であると判断する。
【０２７９】
この加速送信とは、子端末Ａ'が新たに接続された際に、親端末Ａ'がその子端末Ａ'に対して、所定時間通常よりも早い転送速度でコンテンツデータを配信することである。
【０２８０】
これは、子端末Ａ'が新たな親端末Ａ'に再接続する際に、一時的に階層構造から脱退している間、受信できなかった分のコンテンツデータを補うために親端末Ａ'が行うコンテンツデータの送信方法である。
【０２８１】
そして、端末装置Ａ'の制御部213は、新たな子端末Ａにコンテンツデータを配信可能な状態であると判断した場合に、子端末Ａ'に対して配信ＯＫパケットを送信した後、コンテンツデータの転送を行う制御を実行し、新たな子端末Ａ'にコンテンツデータを配信可能な状態でないと判断した場合に、子端末Ａ'に対して配信ＮＧパケットを送信してコンテンツデータの転送を行わない制御を実行する。
【０２８２】
（配信能力取得手段について）
配信能力取得手段は、親端末Ａ'及び、自端末装置Ａ'の配信能力を取得して、一時的に第１の記憶部202のバッファ領域内の所定領域に記憶させておくものである。
【０２８３】
（比較手段について）
比較手段は、新規端末装置Ｎ１の配信能力と、既存端末装置Ａ'の配信能力とを所定のタイミングで比較するものである。
【０２８４】
すなわち、この比較手段は、第１の記憶部202に記憶させている自身の配信能力と、親端末Ａ'の配信能力とを比較するものであり、この比較は、自端末装置Ａ'が階層構造に接続する度に、自身の配信能力と親端末Ａ'の配信能力とを比較するようにしている。
【０２８５】
所定のタイミングとしては、新規端末装置Ｎ１が階層構構造に接続してから一定時間（たとえば、１分間。）経過したとき、若しくは、新規端末装置Ｎ１が階層構造に接続してから所定量のコンテンツデータ（たとえば、100パケットのコンテンツデータ）を受信したとき、又は、新規端末装置Ｎ１が十分な量のデータを受信した（第１の記憶部202のバッファ領域の８０％にコンテンツデータが記憶された）ときとするようにしている。
【０２８６】
（再接続手段について）
再接続手段は、制御部213が比較手段として機能して行った比較の結果、新規端末装置Ｎ１の配信能力が既存端末装置Ａ'の配信能力よりも高い場合に、新規端末装置Ｎ１と、この新規端末装置Ｎ１にコンテンツデータを直接配信している既存端末装置Ａ'とを入れ替えて階層構造に再接続させることにより、新規端末装置Ｎ１を配信応力の低い既存端末装置Ａ'よりも階層構造上における上層に再接続させるものである。
【０２８７】
すなわち、比較手段による配信能力の比較結果、自身の配信能力が親端末Ａ'（自身に対してコンテンツデータを直接配信する端末装置Ａ'）の配信能力よりも高い場合に、親端末Ａ'を自身の子端末Ａとして接続すると共に、親端末Ａ'がそれまで接続していた既存端末装置Ａ'を新しい親端末Ａ'として再接続することにより、自端末装置Ａ'を階層構造に再接続させるようにしている。
【０２８８】
このとき、新規端末装置Ｎ１と入れ替わって階層構造に再接続する既存端末装置Ａは、自身に接続している子端末Ａとの接続を維持した状態のまま、新規端末装置Ｎ１と入れ替わるようにしている。
【０２８９】
また、この端末装置Ａ'では、上記した配信能力取得手段と、比較手段と、再接続手段とを主たる構成要件とした再接続装置を備えており、この再接続装置により、接続先候補に接続した新規端末装置Ｎ１を、所定のタイミングにおいて新規端末装置Ｎ１の配信能力に応じて、現在の階層と異なる階層に再接続させることを可能としている。
【０２９０】
[３．３．管理サーバ２の構成等の説明]
第２実施形態における管理サーバ２は、図５に示す管理サーバ２と基本的構成は同様であるが、第１の記憶部302に記憶している配信能力評価プログラム321の内容だけが異なる。
【０２９１】
すなわち、第２実施形態では、新規端末装置Ｎ'１が再接続を行う度に、自ら自身の配信能力と、接続した親端末Ａ'の配信能力とを比較し、その比較結果に基づいて現在接続している階層と異なる階層に再接続するため、管理サーバ２は、新規端末装置Ｎ'１が再接続を行う度に配信能力の評価を行うことはない。
【０２９２】
ただし、この管理サーバ２は、階層構造を構成している既存端末装置Ａ'の配信能力だけは記憶しており、新規端末装置Ｎ'１が最初に階層構造へ接続するときにだけ、新規端末装置Ｎ'１と既存端末装置Ａ'の配信能力の評価を行うようにしている。
【０２９３】
そして、その評価に基づいて、階層構造に接続している複数の既存端末装置Ａ'から新規端末装置Ｎ'１の接続先となる既存端末装置を選択して紹介して、新規端末装置Ｎ'１が階層構造に接続した後には、その新規端末装置Ｎ'１に関する配信能力の評価を行わない。
【０２９４】
そのため、以下の説明において、図４に示す端末装置Ａ'と同一の構成要件については、同一の符号を付することによりその説明を省略する。
【０２９５】
（第１記憶部302について）
また、第１記憶部302には、管理サーバ２のコンピュータとしての基本的な機能を提供するためのＯＳのプログラム320と、新規端末装置Ｎ'１が最初に階層構造へ接続したときにだけ各端末装置Ａ'の配信能力を評価するための配信能力評価プログラム321と、階層構造を構築及び管理等するためのトポロジー制御プログラム322と、端末装置Ａ'から送信される接続先紹介要求に対応する接続先候補を判定し、端末装置Ａ'へ接続先候補のデータ（親端末Ａ'の紹介パケット）を送信等するための接続先紹介プログラム324等を記憶しており、これらはＣＰＵ301によって読み出され、ＣＰＵ301によってこれらのプログラムに従った機能が実行される。
【０２９６】
ここで、ＯＳプログラム320は、ＣＰＵ301によって読み出されて実行されることにより、キーボード305やマウス306の入出力に関する機能や、第１記憶部302や第２記憶部303などのメモリ管理などの管理サーバ２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム320がＣＰＵ301によって実行された状態で、配信能力評価プログラム321、トポロジー制御プログラム322、接続先紹介プログラム324等が実行される。
【０２９７】
（第２記憶部303について）
第２記憶部303であるハードディスク装置には、階層構造を構成する複数の端末装置の各配信能力に関する情報を記憶する配信能力データベース314と、各端末装置の階層構造における接続状態を示す情報を記憶するトポロジーデータベース313とを備えており、接続状態情報記憶手段として機能するものである。
【０２９８】
（制御部312について）
制御部312は、上述のようにＣＰＵ301と第１記憶部302と第２記憶部303から構成され、ＣＰＵ301が第２記憶部303から各端末装置Ａ'の配信能力に関する情報及び、その端末装置Ａ'の階層構造における接続状態を示す情報を読み出すと共に、第１記憶部302に記憶された各種プログラム320、321、322、324を読み出して実行することにより、管理サーバ２全体を統括制御し、かつ、後述する接続先候補選択手段、通知手段、配信能力取得手段、比較手段等として機能するものである。なお、比較手段は、上記のように新規端末装置Ｎ'１が最初に階層構造へ接続するときのみ機能するものである。
【０２９９】
（接続状態情報記憶手段について）
接続状態情報記憶手段は、階層構造に接続している複数の端末装置Ａ'毎に、各端末装置Ａ'が接続している階層構造におけるＩＰアドレスを記憶すると共に、階層構造における現在、端末装置Ａ'が接続可能なＩＰアドレスを記憶するものであり、これらの接続状態情報は、階層構造に新規端末装置Ｎ'１が参加したとき、及び、既存端末装置Ａ'が階層構造から脱退したときに、逐次更新して記憶するようにしている。
【０３００】
（接続先候補選択手段について）
接続先候補選択手段は、新規端末装置Ｎ'１から接続先要求である参加依頼パケットを受信したときに、接続状態情報記憶手段を参照して、階層構造上で現在、端末装置Ａ'を接続可能な状態となっているＩＰアドレスのうち、階層構造の末端に接続されている既存端末装置Ａ'を選択し、この末端の既存端末装置Ａ'に対応するＩＰアドレスを新規端末装置Ｎ'１の接続先候補として選択するようにしている。尚、後述するように、階層構造に接続している複数の既存端末装置Ａ'の配信能力と新規端末装置Ｎ'１の配信能力とを評価して接続先となる既存端末装置を選択する。
【０３０１】
（通知手段について）
通知手段は、制御部312が接続先候補選択手段として機能して選択したＩＰアドレスを親端末Ａ'の紹介パケットとして、参加依頼パケットを送信してきた新規端末装置Ｎ'１に送信するものである。
【０３０２】
（配信能力取得手段について）
配信能力取得手段は、階層構造に端末装置Ａ'が接続する度に、その端末装置Ａ'から送信される参加依頼パケットから、その端末装置Ａ'の配信能力を取得して配信能力記憶手段に記憶させるものである。
【０３０３】
また、この配信能力取得手段は、既に階層構造に接続している端末装置Ａ'に関して、階層構造に接続している時間が所定時間（たとえば、１０分、１時間など）を越えたときに、その既存端末装置Ａ'の配信能力を逐次更新して配信能力記手段に記憶させるようにしている。
【０３０４】
（比較手段について）
比較手段は、新規端末装置Ｎ'１が最初に階層構造へ接続したときにのみ、新規端末装置Ｎ'１の配信能力と、配信能力記憶手段に記憶している既存端末装置Ａ'の配信能力とを比較するものである。
【０３０５】
[３．４．端末装置Ａ'側の判断により階層構造を再構築する方法について]
端末装置Ａ'の判断により階層構造を再構築するにあたり、新規端末装置Ｎ'１を最初にツリーに接続する際には、以下に記載する３つの基準に基づいて新規端末装置Ｎ'１をツリーに接続するようにしている。
【０３０６】
基準１：まず、管理サーバ２により、放送局１に接続している複数のツリーに参加している既存端末装置Ａ'の配信能力と、新規端末装置Ｎ'１の配信能力との比較を行う。
【０３０７】
このとき、管理サーバ２は、ツリーの上層側に接続している既存端末装置Ａ'から順に、新規端末装置Ｎ'１と配信能力の比較を行っていき、同一階層内に新規端末装置Ｎ'１よりも配信能力の低い既存端末装置Ａ'が唯一存在する場合に、その既存端末装置Ａ'の下層側に接続しているツリー（以下、「子ツリー」という。）の末端に新規端末装置Ｎ'１を接続することにより、新規端末装置Ｎ'１を階層構造に新たに参加させる。
【０３０８】
具体的には、図２７に示すように、新規端末装置Ｎ'１の配信能力が（４）である場合に、管理サーバ２により階層構造の上層側に接続している既存端末装置Ａ'１、Ａ'２、Ａ'３の配信能力と、新規端末装置Ｎ'１の配信能力とを比較すると、新規端末装置Ｎ'１の配信能力よりも低い配信能力を有する既存端末装置Ａ'は、唯一既存端末装置Ａ'１だけである判断される。
【０３０９】
そのため、管理サーバ２は、新規端末装置Ｎ'１に対して既存端末装置Ａ'１に接続している子ツリーの末端の既存端末装置Ａ'を、新規端末装置Ｎ'１の親端末Ａ'として指示する。
【０３１０】
こうすることにより、新規端末装置Ｎ'１が自立的に判断して階層構造を再構築する際に、新規端末装置Ｎ'１が最終的にその子ツリーの中で最も高い階層まで移動することができるので、新規端末装置Ｎ'１の下層側に接続する端末装置Ａ'に対してコンテンツデータを安定して配信することができる。
【０３１１】
基準２：基準１を適用した際に、新規端末装置Ｎ'１の接続先候補となる子ツリーが複数存在した場合は、複数の接続先候補となった子ツリーの最上層に接続している既存端末装置Ａ'のうち、最も配信能力の低い既存端末装置Ａ'に接続した子ツリーの末端に新規端末装置Ｎ'１を接続する。
【０３１２】
具体的には、図２８に示すように、新規端末装置Ｎ'１の配信能力が（５）である場合に、管理サーバ２により階層構造の上層側に接続している既存端末装置Ａ'１、Ａ'２、Ａ'３の配信能力と、新規端末装置Ｎ'１の配信能力とを比較すると、新規端末装置Ｎ'１の配信能力よりも低い配信能力を有する既存端末装置Ａ'は、既存端末装置Ａ'１、Ａ'２の２つと判断される。
【０３１３】
そのため、管理サーバ２は、この既存端末装置Ａ'１、Ａ'２のうち配信能力の最も低い既存端末装置Ａ'１に接続している子ツリーの末端の既存端末装置Ａ'を新規端末装置Ｎ'１の親端末Ａ'として指示する。
【０３１４】
こうすることにより、新規端末装置Ｎ'１が自立的に判断して階層構造を再構築する際に、新規端末装置Ｎ'１が最終的にその子ツリーの中で最も高い階層まで移動することができるので、新規端末装置Ｎ'１が最終的にその子ツリーの中で最も高い階層まで移動することができるので、新規端末装置Ｎ'１の下層側に接続する端末装置Ａ'に対してコンテンツデータを安定して配信することができる。
【０３１５】
基準３：基準を適用した際に、新規端末装置Ｎ'１の接続先候補となる子ツリーが複数存在した場合は、複数の接続先候補となった子ツリーの最上層に接続している既存端末装置Ａ'のうち、この階層構造に接続している時間が長い既存端末装置Ａ'の子ツリーの末端に新規端末装置Ｎ'１を接続させる。
【０３１６】
具体的には、図２９に示すように、新規端末装置Ｎ'１の配信能力が（５）である場合に、管理サーバ２により階層構造の上層側に接続している既存端末装置Ａ'１、Ａ'２、Ａ'３の配信能力と、新規端末装置Ｎ'１の配信能力とを比較すると、新規端末装置Ｎ'１の配信能力よりも低い配信能力を有する既存端末装置Ａ'は、既存端末装置Ａ'１、Ａ'２の２つと判断され、しかも、この２つの既存端末装置Ａ'１、Ａ'２は共に同一の配信能力を有していると判断される。
【０３１７】
ここで、管理サーバ２は、既存端末装置Ａ'２の方が既存端末装置Ａ'１よりもこの階層構造に接続している時間が長いと判断した場合に、既存端末装置Ａ'２に接続している子ツリーの末端に新規端末装置Ｎ'１を接続させる。
【０３１８】
こうすることにより、新規端末装置Ｎ'１が自立的に判断して階層構造を再構築する際に、新規端末装置Ｎ'１がこの子ツリーの最上層に移動するまでの間に、この子ツリーが階層構造から切断される可能性が低いので、新規端末装置Ｎ'１が最終的にこの子ツリーの最上層まで移動する可能性が高くなる。
【０３１９】
そのため、新規端末装置Ｎ'１が子ツリーの最上層まで移動した後には、新規端末装置Ｎ'１の下層側に接続する端末装置Ａ'に対してコンテンツデータを安定して配信することができる。
【０３２０】
次に、新規端末装置Ｎ'１が階層構造に最初に接続した後、新規端末装置Ｎ'１が自立的に判断して階層構造を再構築する２つの方法について説明する。
【０３２１】
[３．４．１．方法１：親端末Ａ'と入れ替わって階層構造に再接続していく方法]
図３０に示すように、新規端末装置Ｎ'１が階層構造の末端に接続している既存端末装置Ａ'７に接続されて所定時間が経過すると、新規端末装置Ｎ'１の制御部213は、比較手段として機能して、新規端末装置Ｎ'１の配信能力と親端末Ａ'である既存端末装置Ａ'７の配信能力との比較を行う。
【０３２２】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'７の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'７と入れ替わって階層構造に再接続することにより、図３１に示すように階層構造を再構築する。
【０３２３】
すなわち、新規端末装置Ｎ'１は、図３１に示すように、既存端末装置Ａ'３を親端末Ａ'とすると共に、既存端末装置Ａ'７を子端末Ａ'として再接続することにより階層構造を再構築する。
【０３２４】
次に新規端末装置Ｎ'１の制御部213は、親端末Ａ'である既存端末装置Ａ'３に再接続してから所定時間が経過すると、比較手段として機能して、自身（新規端末装置Ｎ'１）の配信能力と、親端末Ａ'である既存端末装置Ａ'３の配信能力との比較を行う。
【０３２５】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'３の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'３と入れ替わって階層構造に再接続することにより、図３２に示すように階層構造を再構築する。
【０３２６】
すなわち、新規端末装置Ｎ'１は、図３２に示すように、既存端末装置Ａ'１を親端末Ａ'とすると共に、既存端末装置Ａ'３を子端末Ａ'として再接続することにより階層構造を再構築する。
【０３２７】
次に新規端末装置Ｎ'１の制御部213は、親端末Ａ'である既存端末装置Ａ'１に再接続してから所定時間が経過すると、比較手段として機能して、自身の配信能力と、親端末Ａ'である既存端末装置Ａ'１の配信能力との比較を行う。
【０３２８】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'１の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'１と入れ替わって階層構造に再接続することにより、図３３に示すように階層構造を再構築する。
【０３２９】
すなわち、新規端末装置Ｎ'１は、図３３に示すように、放送局１を親端末Ａ'とすると共に、既存端末装置Ａ'１を子端末Ａ'として再接続することにより階層構造を再構築する。
【０３３０】
ここで新規端末装置Ｎ'１の制御部213は、親端末Ａ'として放送局１と接続すると、配信能力の比較を終了する。
【０３３１】
また、新規端末装置Ｎ'１の制御部213は、比較手段として機能して行った比較の結果、親端末Ａ'の配信能力が自身の配信能力よりも高いと判断した場合にも、比較手段による比較を終了する。
【０３３２】
このように新規端末装置Ｎ'１は、自立的に親端末Ａ'と配信能力の比較を行いながら、階層構造において、自身よりも配信能力の低い既存端末装置Ａ'よりも高い階層に移動して再接続するため、新規端末装置Ｎ'１の配信能力が比較的高い場合に、その新規端末装置Ｎ'１を階層構造の比較的高い階層に接続させることがき、これにより、この新規端末装置Ｎ'１の下層側に接続する端末装置Ａ'に対して、コンテンツデータを安定して配信することができる。
【０３３３】
しかも、管理サーバ２は、新規端末装置Ｎ'１に対して最初に階層構造に接続する接続先候補を指示するだけでよいため、階層構造を再構築する際に管理サーバ２へかかる負担を軽減することができる。
【０３３４】
[３．４．２．方法２：端末装置Ａ'の配信可能な枝を子端末Ａ'で埋めながら階層構造に再接続する方法]
図３４に示すように、新規端末装置Ｎ'１が階層構造の末端に接続している既存端末装置Ａ'１１に接続されて所定時間が経過すると、新規端末装置Ｎ'１の制御部213は、比較手段として機能して、新規端末装置Ｎ'１の配信能力と親端末Ａ'である既存端末装置Ａ'１１の配信能力との比較を行う。
【０３３５】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'１１の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'１１と入れ替わって階層構造に再接続することにより、図３５に示すように階層構造を再構築する。
【０３３６】
すなわち、新規端末装置Ｎ'１は、図３５に示すように、既存端末装置Ａ'５を親端末Ａ'とすると共に、既存端末装置Ａ'１１を子端末Ａ'として再接続することにより階層構造を再構築する。
【０３３７】
次に新規端末装置Ｎ'１の制御部213は、親端末Ａ'である既存端末装置Ａ'５に再接続してから所定時間が経過すると、比較手段として機能して、自身の配信能力と、親端末Ａ'である既存端末装置Ａ'５の配信能力との比較を行う。
【０３３８】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'５の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'５と入れ替わって階層構造に再接続することにより、図３６に示すように階層構造を再構築する。
【０３３９】
ここで新規端末装置Ｎ'１は、子端末Ａ'である既存端末装置Ａ'１１との接続を維持した状態で、親端末Ａ'となる既存端末装置Ａ'２に接続するが、このとき、既存端末装置Ａ'１０を子端末Ａ'として接続している既存端末装置Ａ'５を新規端末装置Ｎ'１の子端末Ａ'として接続することにより、新規端末装置Ｎ'１の余っている枝を１つ埋める。
【０３４０】
次に新規端末装置Ｎ'１の制御部213は、親端末Ａ'である既存端末装置Ａ'２に再接続してから所定時間が経過すると、比較手段として機能して、自身の配信能力と、親端末Ａ'である既存端末装置Ａ'２の配信能力との比較を行う。
【０３４１】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'２の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'２と入れ替わって階層構造に再接続することにより、図３７に示すように階層構造を再構築する。
【０３４２】
ここで新規端末装置Ｎ'１は、子端末Ａ'である既存端末装置Ａ'１１、及び、既存端末装置Ａ'１０が子端末Ａ'として接続されている既存端末装置Ａ'５との接続を維持した状態で、親端末Ａ'となる既存端末装置Ａ'１に接続するが、このとき、既存端末装置Ａ'４を子端末Ａ'として接続している既存端末装置Ａ'２を、新規端末装置Ｎ'１の子端末Ａ'として接続することにより、新規端末装置Ｎ'１の余っている枝を１つ埋める。
【０３４３】
次に新規端末装置Ｎ'１の制御部213は、親端末Ａ'である既存端末装置Ａ'１に再接続してから所定時間が経過すると、比較手段として機能して、自身の配信能力と、親端末Ａ'である既存端末装置Ａ'１の配信能力との比較を行う。
【０３４４】
ここでは、新規端末装置Ｎ'１の配信能力（３）が親端末Ａ'である既存端末装置Ａ'１の配信能力（２）よりも高いため、新規端末装置Ｎ'１の制御部213は、再接続手段として機能して、親端末Ａ'である既存端末装置Ａ'１と入れ替わって階層構造に再接続することにより、図３８に示すように階層構造を再構築する。
【０３４５】
ここで新規端末装置Ｎ'１は、親端末Ａ'であるＡ'１と入れ替わり、親端末Ａ'となる放送局１に接続するが、このとき、新規端末装置Ｎ'１の子端末Ａ'となってからの時間が最も長い既存端末装置Ａ'１１を枝から切り離し、その枝に新たな子端末Ａ'として既存端末装置Ａ'１を接続すると、この既存端末装置Ａ'１は、新規端末装置Ｎ'１と入れ替わる前に、この新規端末装置Ｎ'１を接続していた枝が１つ余った状態となる。
【０３４６】
そこで、この余った枝に新規端末装置Ｎ'１から切り離された既存端末装置Ａ'１１を接続する。
【０３４７】
このように新規端末装置Ｎ'１は、自立的に親端末Ａ'と配信能力の比較を行いながら、階層構造において、自身よりも配信能力の低い既存端末装置Ａ'よりも高い階層に移動して再接続するため、新規端末装置Ｎ'１の配信能力が比較的高い場合に、その新規端末装置Ｎ'１を階層構造の比較的高い階層に接続させることがき、これにより、この新規端末装置Ｎ'１の下層側に接続する端末装置Ａ'に対して、コンテンツデータを安定して配信することができる。
【０３４８】
しかも、管理サーバ２は、新規端末装置Ｎ'１に対して最初に階層構造に接続する接続先候補を指示するだけでよいため、階層構造を再構築する際に管理サーバ２へかかる負担を軽減することができる。
【０３４９】
そのうえ、新規端末装置Ｎ'１の枝が全て埋まった後、この新規端末装置Ｎ'１を階層構造のさらに上層へ移動させて再接続する場合には、新規端末装置Ｎ'１の子端末Ａ'として接続してからの時間が最も長い子端末Ａ'を枝から切断して、新たに新規端末装置Ｎ'１の子端末Ａ'となった既存端末装置Ａ'の下層側に子端末Ａ'として接続させるようにしているため、階層構造が深くなることを防止することができる。
【０３５０】
すなわち、新規端末装置Ｎ'１の子端末Ａ'として接続してからの時間が最も長い既存端末装置Ａ'は、階層構造の末端近傍の階層で新規端末装置Ｎ'１に接続したものであるため、接続しているツリーの階層数が少ないので、この既存端末装置Ａ'を新たに新規端末装置Ｎ'１の子端末Ａ'となった既存端末装置Ａ'の下層側に子端末Ａ'として接続させたとしても、階層構造全体としての階層数が増大することがない。
【０３５１】
[３．５．端末装置側の判断により階層構造を再構築する際の端末装置動作プログラムについて]
端末装置Ａ'の制御部213は、図３９〜図４９に示すフローチャートに従って制御を行う。なお、以下の説明では、端末装置Ａ'の制御部213を単に制御部213と呼び、この端末装置Ａ'を操作するクライアントをユーザと呼ぶこととする。
【０３５２】
[３．５．１．制御部213のメイン処理]
図３９に示すように、メイン処理において制御部213は、端末装置Ａ'に電源が投入されている状態でユーザが端末装置Ａ'に所定の操作を行うと、その操作に基づいて、接続先紹介要求送信手段として機能して、後述するツリー（チャネル）への参加依頼処理（ステップＳ５９）を行い、その後、処理をステップＳ６０へ移す。
【０３５３】
ステップＳ６０において制御部213は、接続先候補受信手段として機能して、管理サーバ２から親端末Ａ'の紹介パケットを受信したか否かの判断を行い、親端末Ａ'の紹介パケットを受信したと判断した場合に処理をステップＳ６１に移し、親端末Ａ'の紹介パケットを受信していないと判断した場合に処理をステップＳ６２へ移す。
【０３５４】
ステップＳ６１において制御部213は、接続手段として機能して、後述する親端末Ａ'への接続処理（ステップＳ６１）を行い、その後、処理をステップＳ７９へ移す。
【０３５５】
ステップＳ７９において制御部213は、後述する配信能力問い合わせ処理を行い、その後、処理をステップＳ８０へ移す。
【０３５６】
ステップＳ８０において制御部213は、ユーザにより端末装置Ａ'の停止ボタン（図示略）が押されたか否かの判断を行い、停止ボタンが押されていないと判断した場合に処理をステップＳ６０へ戻し、停止ボタンが押されたと判断した場合に処理をステップＳ８１へ移す。
【０３５７】
ステップＳ８１において制御部213は、後述するツリー（チャネル）からの脱退処理を行い、その後、ディスプレイ209上にチャネル選択画面を表示させる処理を行って（ステップＳ８２）、このメイン処理を終了する。
【０３５８】
また、ステップＳ６２において制御部213は、子端末Ａ'からの配信能力の問い合わせパケットを受信したか否かの判断を行い、配信能力の問い合わせパケットを受信したと判断した場合に処理をステップＳ６３に移し、配信能力の問い合わせパケットを受信していないと判断した場合に処理をステップＳ６４へ移す。
【０３５９】
ステップＳ６３において制御部213は、後述する配信能力の応答処理を行い、その後、処理をステップＳ７９に戻す。
【０３６０】
ステップＳ６４において制御部213は、配信能力取得手段として機能して、親端末Ａ'から配信能力の応答パケットを受信したか否かの判断を行い、配信能力の応答パケットを受信したと判断した場合に処理をステップＳ６５へ移し、配信能力の応答パケットを受信していないと判断した場合に処理をステップＳ６８へ移す。
【０３６１】
ステップＳ６５において制御部213は、比較手段として機能して、後述する配信能力の比較処理を行い、その後、処理をステップＳ６６に移す。
【０３６２】
ステップＳ６６において制御部213は、返り値がＴであるか否かの判断を行う。ここでいう返り値とは、配信能力の比較処理の結果を示すものであり、配信能力の比較処理を行う度に、ハードディスク装置203内部の所定領域内で更新されるものである。
【０３６３】
この返り値がＴであった場合に制御部213は、自身の配信能力が親端末Ａ'の配信能力よりも高いと判断して、後述する親端末Ａ'への接続処理（ステップＳ６７）を行った後、処理をステップＳ７９へ戻す。
【０３６４】
一方、帰り値がＴでなかった場合に制御部213は、自身の配信能力が親端末Ａ'の配信能力よりも低いと判断して、処理をステップＳ７９へ戻す。
【０３６５】
ステップＳ６８において制御部213は、第１の記憶部202のバッファ領域にコンテンツデータであるデータパケットが存在しているか否かの判断を行い、データパケットが存在していないと判断した場合には、処理をステップＳ７０へ移し、データパケットが存在していると判断した場合に、後述する再生処理（ステップＳ６９）を行い、その後、処理をステップ７９へ戻す。
【０３６６】
ステップＳ７０において制御部213は、子端末Ａ'からの階層を入れ替え要求である階層入れ替えパケットを受信したか否かの判断を行い、階層入れ替えパケットを受信していないと判断した場合に処理をステップＳ７２へ移し、階層入れ替えパケットを受信したと判断した場合に、後述する親端末Ａ'への接続処理（ステップＳ７１）を行った後、処理をステップＳ７９へ移す。
【０３６７】
ステップＳ７２において制御部213は、中継依頼受信手段として機能して、他の端末装置Ａ'からコンテンツデータの配信要求があるか否かの判断を行い、配信要求がないと判断した場合には処理をステップＳ７４へ移し、配信要求があると判断した場合には、転送手段として機能して、後述する子端末Ａ'へデータ配信処理（ステップＳ７３）を行い、その後、処理をステップＳ７９へ戻す。
【０３６８】
ステップＳ７４において制御部213は、他の端末装置Ａ'からのコンテンツデータ配信停止要求であるデータ配信停止パケットを受信したか否かの判断を行い、データ配信停止パケットを受信していないと判断した場合に処理をステップＳ７６へ移し、データ配信停止パケットを受信したと判断した場合には、後述する配信停止処理（ステップＳ７５）を行い、その後、処理をステップＳ７９へ戻す。
【０３６９】
ステップＳ７６において制御部213は、親端末Ａ'がツリーから脱退したことを示す親端末Ａ'の脱退パケットを受信したか否かの判断を行い、親端末Ａ'の脱退パケットを受信していないと判断した場合に処理をステップＳ７８へ移し、親端末Ａ'の脱退パケットを受信したと判断した場合に、接続先紹介要求送信手段として機能して、後述するツリー（チャネル）への参加依頼処理（ステップＳ７７）を行い、その後、処理をステップＳ７９へ戻す。
【０３７０】
また、ステップＳ７８において制御部213は、ユーザの他の操作に基づいてその他の処理（ステップＳ７８）を行う。
【０３７１】
[３．５．２．ツリーへの参加依頼処理]
このツリーへの参加依頼処理は、図３９に示すステップＳ５９及びステップＳ７７で行うものである。
【０３７２】
図４０に示すように、ツリーへの参加依頼処理において制御部213は、接続先紹介要求送信手段として機能して、管理サーバ２へ参加依頼パケットを送信（ステップＳ９８）した後、タイマーを初期化（ステップＳ９９）し、その後、処理をステップＳ１００へ移す。
【０３７３】
ステップＳ１００において制御部213は、ステップＳ９９で初期化したタイマーを参照することにより、所定時間が経過したか否かの判断を行い、所定時間が経過したと判断した場合に処理をステップＳ９８へ戻し、所定時間が経過していないと判断した場合に処理をステップＳ１０１へ移す。
【０３７４】
ステップＳ１０１において制御部213は、接続先候補受信手段として機能して、管理サーバ２から親端末Ａ'の紹介パケットを受信したか否かの判断を行い、親端末Ａ'の紹介パケットを受信していないと判断した場合に処理をステップＳ１００へ戻し、親端末Ａ'の紹介パケットを受信したと判断した場合に、このツリーへの参加依頼処理を終了して処理を図３８のメインフローへ戻す。
【０３７５】
すなわち、制御部213は、ステップＳ５９におけるツリーへの参加依頼処理を終了した場合、処理をステップＳ６０へ移す。
【０３７６】
また、制御部213は、ステップＳ７７におけるツリーへの参加依頼処理を終了すると、処理をステップＳ７９へ戻す。
【０３７７】
[３．５．３．親端末への接続処理]
この親端末への接続処理は、図３９に示すステップＳ６１及びステップＳ６７及びステップＳ７１で行うものである。
【０３７８】
図４１に示すように、親端末への接続処理において制御部213は、親端末Ａ'と接続しているか否かの判断を行い（ステップＳ８３）、親端末Ａ'と接続していると判断した場合にその親端末Ａ'との接続を切断する処理（ステップＳ８４）を行った後、処理をステップＳ８５へ移し、親端末Ａ'と接続していないと判断した場合に処理をステップＳ８５へ移す。
【０３７９】
ステップＳ８５において制御部213は、接続先紹介要求送信手段として機能して、新しい親端末Ａ'へデータ配信依頼パケットを送信し、その後、再接続手段として機能して、データ配信依頼パケットを送信した新たな親端末Ａ'に接続した後、タイマーを初期化し（ステップＳ８６）、処理をステップＳ８７へ移す。
【０３８０】
ステップＳ８７において制御部213は、ステップＳ８６で初期化したタイマーを参照することによって所定時間が経過したか否かの判断を行い、所定時間が経過したと判断した場合に処理をステップＳ８５へ移し、所定時間が経過していないと判断した場合に処理をステップＳ８８へ移す。
【０３８１】
ステップＳ８８において制御部213は、接続している親端末Ａ'から配信ＯＫパケットを受信したか否かの判断を行い、配信ＯＫパケットを受信していないと判断した場合に処理をステップＳ８７へ戻し、配信ＯＫパケットを受信したと判断した場合に、この親端末Ａ'へのデータ接続処理を終了して処理を図３８のステップＳ７９へ戻す。
【０３８２】
[３．５．４．配信能力の問い合わせ処理]
この配信能力の問い合わせ処理は、図３９に示すステップＳ７９で行うものである。
【０３８３】
図４２に示すように、配信能力の問い合わせ処理において制御部213は、現在接続している親端末Ａ'が放送局１であるか否かの判断を行い（ステップＳ１０６）、親端末Ａ'が放送局１でないと判断した場合に処理をステップＳ１０７へ移し、親端末Ａ'が放送局１であると判断した場合に、この配信能力の問い合わせ処理を終了して処理をステップＳ８０へ移す。
【０３８４】
ステップＳ１０７において制御部213は、タイマーを参照することによって、親端末Ａ'に接続してから所定時間が経過したか否かの判断を行い、所定時間が経過したと判断した場合に処理をステップＳ１０８へ移し、所定時間が経過していないと判断した場合に、この配信能力問い合わせ処理を終了して処理をステップＳ８０へ移す。
【０３８５】
ステップＳ１０８において制御部213は、現在親端末Ａ'に対して配信能力を問い合わせる処理を行っているか否かの判断を行い、配信能力を問い合わせる処理を行っていないと判断した場合に処理をステップＳ１０９へ移し、配信能力を問い合わせ処理を行っていると判断した場合に、この配信能力の問い合わせ処理を終了して処理をステップＳ８０へ移す。
【０３８６】
ステップＳ１０９において制御部213は、親端末Ａ'の配信能力を問い合わせる処理を行い、その後、この配信能力の問い合わせ処理を終了して処理をステップＳ８０へ移す。
[３．５．５．ツリーからの脱退処理]
このツリーからの脱退処理は、図３９に示すステップ８１で行うものである。
【０３８７】
図４３に示すように、ツリーからの脱退処理において制御部213は、ツリーから脱退することを示すパケットを管理サーバ２へ送信することにより、ツリーから脱退することを管理サーバ２に通知し（ステップＳ１０２）、その後、処理をステップＳ１０３へ移す。
【０３８８】
ステップＳ１０３において、制御部213は、親端末Ａ'に配信停止パケットを送信し、その後、処理をステップＳ１０４へ移す。
【０３８９】
ステップＳ１０４において、制御部213は、子端末Ａ'が存在するか否かの判断を行う。すなわち、制御部213は、現在子端末Ａ'と接続しているか否かの判断をおこない、子端末Ａ'と接続していないと判断した場合に、このツリーからの脱退処理を終了して処理をステップＳ８２へ戻す。
【０３９０】
一方、子端末Ａ'と接続していると判断した場合に制御部213は、子端末Ａ'に対して、親端末Ａ'である自身がツリーから脱退することを示すパケットを送信し（ステップＳ１０５）、その後、このツリーからの脱退処理を終了して処理をステップＳ８２へ戻す。
【０３９１】
[３．５．６．信能力の応答処理]
この配信能力の応答処理は、図３９に示すステップＳ６３で行うものである。
【０３９２】
図４４に示すように、配信能力の応答処理において制御部213は、自身の配信能力を、配信応力の問い合わせ先である子端末Ａ'に送信する処理（ステップＳ９３）を行い、その後、この配信能力の応答処理を終了して処理をステップＳ７９へ戻す。
【０３９３】
[３．５．７．配信能力の比較処理]
この配信能力の比較処理は、図３９に示すステップＳ６５で行うものである。
【０３９４】
この配信能力の比較処理において制御部213は比較手段として機能して、上記した方法１（親端末Ａ'と入れ替わって階層構造に再接続していく方法）の場合と、方法２（端末装置Ａ'の配信可能な枝を子端末Ａ'で埋めながら階層構造に再接続する方法）の場合とで異なる処理を行うこととなる。
【０３９５】
方法１の場合、図４５に示すように、制御部213は、比較手段として機能して、親端末Ａ'の配信能力と自分の配信能力とを比較する処理を行い（ステップＳ１１０）、処理をステップＳ１１１へ移す。
【０３９６】
ステップＳ１１１において制御部213は、ステップＳ１１０の比較処理の結果、親端末Ａ'の配信能力よりも自分の配信能力の方が高いか否かの判断を行い、自分の配信能力の方が高いと判断した場合に処理をステップＳ１１２へ移し、親端末Ａ'の配信能力の方が高いと判断した場合に、ハードディスク装置203内部の所定領域に返り値としてＦを記憶させ、その後、この配信能力の比較処理を終了して処理を図３９のステップＳ６６へ移す。
【０３９７】
ステップＳ１１２において制御部213は、親端末Ａ'へ階層入れ替えパケットを送信し、その後、処理をステップＳ１１３へ移す。
【０３９８】
ここで親端末Ａ'へ送信する階層入れ替えパケットには、次の親端末Ａ'となる端末装置Ａ'のＩＰアドレスとポート番号が含まれている。
【０３９９】
ここでは、次の親端末Ａ'となるのは自分自身なので、このときの階層入れ替えパケットには自分のＩＰアドレスとポート番号が含まれていることとなる。そして、この階層入れ替えパケットを受信した親端末Ａ'は、現在データ配信を受けている親端末Ａ'（親の親）のＩＰアドレスとポート番号を、階層入れ替えパケットを送信してきた端末装置Ａ'へ返す。
【０４００】
また、入れ替えを行うタイミングとしては、親端末Ａ’が自分の子端末Ａ’となってから入れ替えるようにする。すなわち、親の親端末Ａ’に配信能力の余裕を作ってから入れ替えを行うようにする。
【０４０１】
ステップＳ１１３において制御部213は、子端末Ａ'が存在しているか否かの判断を行い、ここで子端末Ａ'が存在すると判断した場合には、処理をステップＳ１１４へ移し、子端末Ａ'が存在しないと判断した場合に処理をステップＳ１１５へ移す。
【０４０２】
ステップＳ１１４において制御部213は、子端末Ａ'へ階層入れ替えパケットを送信し、その後、処理をステップＳ１１５へ移す。
【０４０３】
ここで子端末Ａ‘へ送信する階層入れ替えパケットには、親端末Ａ'が変わるため、新しい親端末Ａ'のＩＰアドレスとポート番号が含まれている。
【０４０４】
ステップＳ１１５において制御部213は、新たな親端末Ａ'及び新たな子端末Ａ'と接続したことによるトポロジーの変更を管理サーバ２へ送信した後、ハードディスク装置203内部の所定領域に返り値としてＴを記憶させ、その後、この配信能力の比較処理を終了し、処理を図３９のステップＳ６６へ移す。
【０４０５】
方法２の場合、図４６に示すように、配信能力の比較処理において制御部213は、
比較手段として機能して、親端末Ａ'の配信能力と自分の配信能力とを比較する処理を行い（ステップＳ１２９）、処理をステップＳ１３０へ移す。
【０４０６】
ステップＳ１３０において制御部213は、ステップＳ１２９の比較処理の結果、親端末Ａ'の配信能力よりも自分の配信能力の方が高いか否かの判断を行い、自分の配信能力の方が高いと判断した場合に処理をステップＳ１３１へ移し、親端末Ａ'の配信能力の方が高いと判断した場合に、ハードディスク装置203内部の所定領域に返り値としてＦを記憶させ、その後、この配信能力の比較処理を終了して処理を図３９のステップＳ６６へ移す。
【０４０７】
ステップＳ１３１において制御部213は、親端末Ａ'へ階層入れ替えパケットを送信し、その後、処理をステップＳ１３２へ移す。
【０４０８】
ここで親端末Ａ‘へ送信する階層入れ替えパケットには、新しい親端末Ａ'のＩＰアドレスとポート番号が含まれている。
【０４０９】
ステップＳ１３２において制御部213は、判断手段として機能して、配信能力に余裕があるか否かの判断を行い、配信能力に余裕があると判断した場合に処理をステップＳ１３４へ移し、配信能力に余裕がないと判断した場合に処理をステップＳ１３３へ移す。
【０４１０】
ステップＳ１３３において制御部213は、子端末Ａ'となってからの時間が最も長い端末装置Ａ'へ移動指示を行い、その後、処理をステップＳ１３４へ移す。
【０４１１】
ここでの移動指示には、次の親端末Ａ'となる端末装置Ａ'のＩＰアドレスとポート番号とをデータとして入れるようにしている。
【０４１２】
ステップＳ１３４において制御部213は、新たな親端末Ａ'及び新たな子端末Ａ'と接続したことによるトポロジーの変更を管理サーバ２へ送信した後、ハードディスク装置203内部の所定領域に返り値としてＴを記憶させ、その後、この配信能力の比較処理を終了し、処理を図３９のステップＳ６６へ移す。
【０４１３】
[３．５．８．再生処理]
この再生処理は、図３９に示すステップＳ６９で行うものである。
【０４１４】
図４７に示すように、再生処理において制御部213は、再生手段として機能して、コンテンツデータを再生する処理（ステップＳ９５）を行い、子端末Ａ'が存在しているか否かの判断を行い（ステップＳ９６）、ここで子端末Ａ'が存在すると判断した場合には、転送手段として機能して、子端末Ａ'へコンテンツデータを転送する処理を行い（ステップＳ９７）、子端末Ａ'が存在していないと判断した場合には、この再生処理を終了して処理を図３９のステップＳ７９へ戻す。
【０４１５】
[３．５．９．子端末へのデータ配信処理]
この子端末へのデータ配信処理は、図３９に示すステップ７３で行うものである。
【０４１６】
図４８に示すように、子端末Ａ'へのデータ配信処理において制御部213は、自身の配信能力に余裕があるか否かの判断を行う（ステップＳ８９）。
【０４１７】
すなわち、制御部213は、判断手段として機能して、子端末Ａ'に接続してコンテンツデータを配信可能な状態であるか否かの判断を行い、子端末Ａ'に接続してコンテンツデータを配信可能な状態であると判断した場合に処理をステップＳ９０へ移し、子端末Ａ'に接続してコンテンツデータを配信可能な状態でないと判断した場合に処理をステップＳ９２へ移す。
【０４１８】
ステップＳ９０において制御部213は、現在加速送信中であるか否かの判断を行い、加速送信中でないと判断した場合に処理をステップＳ９１へ移し、加速送信中であると判断した場合に処理をステップＳ９２へ移す。
【０４１９】
ステップＳ９１において制御部213は、配信ＯＫパケットを新たな子端末Ａ'へ送信し、ステップＳ９２において制御部213は配信Ｎ'Ｇパケットを新たな子端末Ａ'へ送信し、その後、この子端末Ａ'へデータ配信処理を終了して処理を図３８に示すステップＳ７９へ戻す。
【０４２０】
[３．５．１０．配信停止処理]
この配信停止処理は、図３９に示すステップＳ７５で行うものである。
【０４２１】
図４９に示すように、配信停止処理において制御部213は、転送手段として機能して、子端末Ａ'へのコンテンツデータの転送を停止する処理（ステップＳ９４）を行い、その後、この配信停止処理を終了して処理を図３８に示すステップＳ７９へ戻す。
【０４２２】
[３．６．端末装置側の判断により階層構造を再構築する際の管理サーバ動作プログラムについて]
管理サーバ２の制御部312は、図５０に示すフローチャートに従って制御を行う。なお、以下の説明では、管理サーバの制御部312を単に制御部312と呼ぶこととする。
【０４２３】
[３．６．１．管理サーバのメイン処理]
図５０に示すように、メイン処理における制御部312は、ツリーへの参加依頼パケットを受信したか否かの判断を行い（ステップＳ１３５）、参加依頼パケットを受信したと判断した場合に処理をステップＳ１４２へ移し、参加依頼パケットを受信していないと判断した場合に処理をステップＳ１３７へ移す。
【０４２４】
ステップＳ１４２において制御部312は、比較手段として機能して、新規端末装置Ｎ'１の配信能力と、既存端末装置Ａ'の配信能力とを比較する処理を行う。
【０４２５】
そして、制御部312は接続先候補選択手段として機能して、その比較結果と（３．４．端末装置Ａ'側の判断により階層構造を再構築する方法について）に記載した基準１〜３とに基づいて接続先候補を選択して処理をステップＳ１３６へ移す。
【０４２６】
ステップＳ１３６において制御部312は、図１５のフローチャートに示す処理と同様の処理（親端末Ａ'の紹介処理ステップ）を行い、その後処理をステップＳ１３５へ戻す。
【０４２７】
ステップＳ１３７において制御部312は、ツリーからの脱退パケットを受信したか否かの判断を行い、脱退パケットを受信したと判断した場合に処理をステップＳ１３８へ移し、脱退パケットを受信していないと判断した場合に処理をステップＳ１３９へ移す。
【０４２８】
ステップＳ１３８において制御部312は、図１７のフローチャートに示す処理と同様の処理（ツリーからの脱退処理ステップ）を行い、その後、処理をステップＳ１３５へ戻す。
【０４２９】
ステップＳ１３９において制御部312は、端末装置Ａ'からトポロジーの変更パケットを受信したか否かの判断を行い、トポロジー変更パケットを受信したと判断した場合に処理をステップＳ１４０へ移し、トポロジー変更パケットを受信していないと判断した場合にその他の処理（ステップＳ１４１）を行い、その後、処理をステップＳ１３５へ戻す。
【０４３０】
ステップＳ１４０において制御部312は、ステップＳ１３９で受信したトポロジー変更パケットをハードディスク装置203内部の所定領域に記憶させることにより、所持しているトポロジー情報を更新し、その後、処理をステップＳ１３５へ戻す。
【０４３１】
上記説明したように、第２実施形態における管理サーバ２の動作を示すフローチャートにおいて、ステップＳ１４２の処理は、制御部312が比較手段及び接続先候補選択手段として機能して行うものであり、ステップＳ１３６の処理は、制御部312が通知手段として機能して行うものである。
【０４３２】
また、端末装置Ａ'の動作を示すフローチャートにおいて、ステップＳ５９、Ｓ７７、Ｓ８５、Ｓ９８の処理は、制御部213が接続先紹介要求送信手段として機能して行うものであり、ステップＳ６０、Ｓ１０１の処理は、制御部213が接続先候補受信手段として機能して行うものであり、ステップＳ６１の処理は、制御部213が接続手段として機能して行うものであり、ステップＳ９５の処理は、制御部213が再生手段として機能して行うものであり、ステップＳ７２の処理は、制御部213が中継依頼受信手段として機能して行うものであり、ステップＳ７３、Ｓ９４の処理は、制御部213が転送手段として機能して行うものであり、ステップＳ６４の処理は、制御部213が配信能力取得手段として機能して行うものであり、ステップＳ６５、Ｓ１１０、Ｓ１２９の処理は、制御部213が比較手段として機能して行うものであり、ステップＳ７１、Ｓ８５の処理は、制御部213が再接続手段として機能して行うものである。
【図面の簡単な説明】
【０４３３】
【図１】コンテンツデータ配信システムの概要構成例を示す図である。
【図２】配信能力の一例を示す図である。
【図３】放送局の概略構成を示す機能ブロック図である。
【図４】第１実施形態における端末装置を示す機能ブロック図である。
【図５】管理サーバの概略構成例を示す機能ブロック図である。
【図６】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図７】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図８】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図９】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図１０】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図１１】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図１２】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図１３】管理サーバ側の判断による階層構造の再構築を示す説明図である。
【図１４】管理サーバのメイン処理を示すフローチャートである。
【図１５】親端末の紹介処理を示すフローチャートである。
【図１６】配信能力の比較処理を示すフローチャートである。
【図１７】ツリーからの脱退処理を示すフローチャートである。
【図１８】次の端末の紹介処理を示すフローチャートである。
【図１９】端末装置のメイン処理を示すフローチャートである。
【図２０】ツリーへの参加依頼処理を示すフローチャートである。
【図２１】親端末へデータ要求処理を示すフローチャートである。
【図２２】子端末へデータ配信処理を示すフローチャートである。
【図２３】配信停止処理を示すフローチャートである。
【図２４】再生処理を示すフローチャートである。
【図２５】ツリーからの脱退処理を示すフローチャートである。
【図２６】第２実施形態における端末装置を示す機能ブロック図である。
【図２７】新規端末装置を最初に接続する方法を示す説明図である。
【図２８】新規端末装置を最初に接続する方法を示す説明図である。
【図２９】新規端末装置を最初に接続する方法を示す説明図である。
【図３０】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３１】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３２】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３３】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３４】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３５】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３６】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３７】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３８】端末装置側の判断による階層構造の再構築を示す説明図である。
【図３９】端末装置のメイン処理を示すフローチャートである。
【図４０】ツリーへの参加依頼処理を示すフローチャートである。
【図４１】親端末への接続処理を示すフローチャートである。
【図４２】配信応力の問い合わせ処理を示すフローチャートである。
【図４３】ツリーからの脱退処理を示すフローチャートである。
【図４４】配信能力の応答処理を示すフローチャートである。
【図４５】配信能力の比較処理を示すフローチャートである。
【図４６】配信能力の比較処理を示すフローチャートである。
【図４７】再生処理を示すフローチャートである。
【図４８】子端末へデータ配信処理を示すフローチャートである。
【図４９】配信停止処理を示すフローチャートである。
【図５０】管理サーバのメイン処理を示すフローチャートである。
【符号の説明】
【０４３４】
１  放送局
２  管理サーバ
Ａ  第１実施形態における端末装置
Ａ' 第２実施形態における端末装置
Ｎ１  第１実施形態における新規端末装置
Ｎ'１  第２実施形態における新規端末装置
１１２  放送局の主制御部
１０２  放送局の第１の記憶部
１０３  放送局の第２の記憶部103
２１３  端末装置の制御部
２０２  端末装置の第１の記憶部
２０３  端末装置の第２の記憶部
３１２  管理サーバの制御部
３０２  管理サーバの第１の記憶部
３０３  管理サーバの第２の記憶部
【図１】
0004760231.tif 000002
【図２】
0004760231.tif 000003
【図３】
0004760231.tif 000004
【図４】
0004760231.tif 000005
【図５】
0004760231.tif 000006
【図６】
0004760231.tif 000007
【図７】
0004760231.tif 000008
【図８】
0004760231.tif 000009
【図９】
0004760231.tif 000010
【図１０】
0004760231.tif 000011
【図１１】
0004760231.tif 000012
【図１２】
0004760231.tif 000013
【図１３】
0004760231.tif 000014
【図１４】
0004760231.tif 000015
【図１５】
0004760231.tif 000016
【図１６】
0004760231.tif 000017
【図１７】
0004760231.tif 000018
【図１８】
0004760231.tif 000019
【図１９】
0004760231.tif 000020
【図２０】
0004760231.tif 000021
【図２１】
0004760231.tif 000022
【図２２】
0004760231.tif 000023
【図２３】
0004760231.tif 000024
【図２４】
0004760231.tif 000025
【図２５】
0004760231.tif 000026
【図２６】
0004760231.tif 000027
【図２７】
0004760231.tif 000028
【図２８】
0004760231.tif 000029
【図２９】
0004760231.tif 000030
【図３０】
0004760231.tif 000031
【図３１】
0004760231.tif 000032
【図３２】
0004760231.tif 000033
【図３３】
0004760231.tif 000034
【図３４】
0004760231.tif 000035
【図３５】
0004760231.tif 000036
【図３６】
0004760231.tif 000037
【図３７】
0004760231.tif 000038
【図３８】
0004760231.tif 000039
【図３９】
0004760231.tif 000040
【図４０】
0004760231.tif 000041
【図４１】
0004760231.tif 000042
【図４２】
0004760231.tif 000043
【図４３】
0004760231.tif 000044
【図４４】
0004760231.tif 000045
【図４５】
0004760231.tif 000046
【図４６】
0004760231.tif 000047
【図４７】
0004760231.tif 000048
【図４８】
0004760231.tif 000049
【図４９】
0004760231.tif 000050
【図５０】
0004760231.tif 000051