(57)【要約】【課題】上流の端末装置を切り替えたときにループが発生しないように、事前に配信経路のループを検知し、ループを回避可能な情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法を提供する。【解決手段】上流から循環接続検知情報を受信した端末装置Ｂは、下流においてコンテンツ情報が流れている配信経路となっていない制御パスの端末装置と、その循環接続検知情報の発信元とが一致するか否かを判断し、一致する場合にループが発生するものと判断する。これにより、ループが発生することを、上流の接続先を切り替える前に事前に判断することができる。また、セカンドノードである端末装置Ｂ０，Ｂ１から下流へ向けて代替上流端末装置探索情報を送信し、代替上流端末装置探索情報を受信した端末装置Ｂであって、前記循環接続検知情報を受信していない端末装置Ｂを代替上流装置とする。代替上流装置へ切り替えることにより、ループを回避することができる。【選択図】図６
2008278337.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムにおける端末装置であって、
自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、
前記制御部は、
自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を送信する循環検知情報送信手段と、
前記循環接続検知情報を受信する循環検知情報受信手段と、
受信した前記循環接続検知情報を、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、
前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、
前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とする端末装置。
【請求項２】
前記制御部は、
受信した前記循環接続検知情報を所定時間記憶する循環検知情報記憶手段と、
前記循環回避指示受信手段により、前記循環接続回避指示情報を受信したことを契機に、所定の前記階層構造で前記情報配信装置と接続している端末装置へ、自装置を識別するための識別情報を含む代替上流端末装置探索情報の配信を要求する探索情報配信要求を送信する探索情報配信要求送信手段と、
前記探索情報配信要求を受信する探索情報配信要求受信手段と、
前記探索情報配信要求を受信したことを契機に、自装置と接続している下流の端末装置へ、前記代替上流端末装置探索情報を配信する探索情報配信手段と、
前記代替上流端末装置探索情報を受信する探索情報受信手段と、
受信した前記代替上流端末装置探索情報を、前記所定の階層構造で自装置に接続した下流の端末装置へ中継する探索情報中継手段と、
受信した前記代替上流端末装置探索情報に対応する端末装置に関する前記循環接続検知情報が前記循環検知情報記憶手段に記憶されていない場合に、前記代替上流端末装置探索情報に対応する端末装置に対して、自装置の下流側への接続を許可する代替上流端末装置接続許可情報を送信する接続許可送信手段と、
前記代替上流端末装置接続許可情報を受信する接続許可受信手段と、
前記代替上流端末装置接続許可情報を送信してきた端末装置と接続する代替上流端末接続手段と、
を有することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記循環検知情報送信手段は、前記循環接続検知情報を時間間隔をあけて繰り返し送信することを特徴とする請求項１又は請求項２に記載の端末装置。
【請求項４】
前記循環検知情報送信手段は、循環接続検知情報を送信する前記時間間隔をランダムに設定することを特徴とする請求項３に記載の端末装置。
【請求項５】
前記循環接続検知情報は、前記循環検知情報中継手段による中継回数を記録する中継回数記録領域を備え、
前記循環検知情報中継手段は、前記中継回数記録領域に記録されている中継回数が所定回数未満である場合に、前記循環接続検知情報を中継することを特徴とする請求項１〜４のいずれか１項に記載の端末装置。
【請求項６】
前記代替上流端末装置探索情報は、前記端末装置に関する所定の条件を記録した所定条件記録領域を備え、
前記接続許可送信手段は、自装置が前記代替上流端末装置探索情報に含まれる前記所定の条件を満たしている場合に、前記代替上流端末装置接続許可情報を送信することを特徴とする請求項２〜５のいずれか１項に記載の端末装置。
【請求項７】
コンピュータに、請求項１〜６のいずれか１項に記載の前記端末装置の各手段として機能させるためのプログラム。
【請求項８】
ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムであって、
前記端末装置は、
自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、
前記制御部は、
自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信する循環検知情報送信手段と、
前記循環接続検知情報を受信する循環検知情報受信手段と、
受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、
前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、
前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とする情報配信システム。
【請求項９】
ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムで、前記端末装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する循環接続回避方法であって、
前記端末装置が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信するステップと、
前記端末装置が前記循環接続検知情報を受信するステップと、
前記端末装置が受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継するステップと、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断するステップと、
前記端末装置が、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信するステップと、
前記循環接続回避指示情報を受信するステップと、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避するステップと、
を有することを特徴とする循環接続回避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法に関するものであり、特に、複数の端末装置が二重化により分散接続したネットワークにおいて、コンテンツ情報を配信する情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法に関する。
【背景技術】
【０００２】
従来、アプリケーション層においてコンテンツ配信経路を管理しながら、コンテンツストリームの情報（以下、コンテンツ情報という。）の中継配信を行うＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）という技術がある。この技術は、パソコンやＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）装置等のノード（以下、端末装置という。）間でＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信を行うことによりコンテンツ情報を配信するものである。
【０００３】
このようなＡＬＭの技術では、配信トポロジーの管理方法や構築方法の違いにより、以下のような方式に分類される。すなわち、配信トポロジーの管理方法の違いにより、ハイブリッド型Ｐ２Ｐ及びピュア型Ｐ２Ｐの方式にそれぞれ分類され、配信トポロジーの構築方法の違いにより、メッシュファースト（Ｍｅｓｈ−Ｆｉｒｓｔ）アプローチ、ツリーファースト（Ｔｒｅｅ−Ｆｉｒｓｔ）アプローチ及びインプリシット（Ｉｍｐｌｉｃｉｔ）アプローチの方式にそれぞれ分類される。
【０００４】
ハイブリッド型Ｐ２Ｐは、共通のトポロジー情報を専用のサーバ装置で管理する方式であり、ピュア型Ｐ２Ｐは、トポロジーの部分情報を分散して個々の端末装置で管理する方式である。また、メッシュファーストアプローチは、メッシュ状のトポロジーを構築し、そこからＲＰＦ（Ｒｅｖｅｒｓｅ  Ｐａｔｈ  Ｆｏｒｗａｒｄｉｎｇ）等によってデータストリームを配信するための配信経路を決定する方式であり、ツリーファーストアプローチは、ツリー状のトポロジーを構築し、そこから個々の端末装置が近隣する端末装置を探索して予備配信経路を冗長化していく方式であり、インプリシットアプローチは、特定のメトリックを用いて制御データ用のトポロジーを構築し、それ自身を配信経路とする方式（ツリーとメッシュが同時に作られるアプローチの方式）である。
【０００５】
メッシュ型トポロジーは、前述したＡＬＭの技術分野に限らず、ＩＰマルチキャストやＬＡＮの技術分野においても採用されている。メッシュ型トポロジーにおいて、ある端末装置は複数の端末装置と接続関係を有して密な制御用通信網により構築されているため、端末装置間の接続が途絶えてストリーム途絶事象が発生した場合であっても、継続した動作を保障するために、二重化のトポロジーが構築される。
【０００６】
しかしながら、端末装置間の接続が途絶えた場合に、ネットワークにそのままコンテンツ情報を配信すると、配信経路に循環接続が発生してしまう。そこで、このような配信経路の循環接続を回避するための手法として、例えば特許文献１に記載のものがある。この手法は、二重化されたメッシュ型トポロジーではないが、メッシュ型トポロジーを有するＡＬＭの技術分野において、配信経路に沿って経路情報を記憶するパケットを流すことにより、ルートの端末装置から注目の端末装置までの間の配信経路（ルートパス）を求め、このルートパスに注目の端末装置が含まれていないことを確認することにより循環接続を検出するものである。そして、上流の端末装置が再接続されるときの上流選択処理において、ルートパスに基づいて自らの端末装置を含まないルートパスを有する端末装置を上流の端末装置とすることにより、循環接続を回避する。
【特許文献１】特開２０００−４９７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述した特許文献１の手法は、配信経路のループを回避するために上流の代替ノードを発見する場合、注目する端末装置から上流へ向けて探索メッセージを送信するプロトコルを用いている。このため、複数の端末装置が探索範囲を広げて処理を実行しようとすると、上流の端末装置において、探索メッセージが集中し処理負荷が高くなるという問題があった。
【０００８】
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、ツリーが二重化されたトポロジーに基づいてコンテンツ配信経路を形成する場合に、上流の端末装置を切り替えたときに循環接続が発生しないように、事前に配信経路の循環接続を検知し、循環接続を回避可能な情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムにおける端末装置であって、自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、前記制御部が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を送信する循環検知情報送信手段と、前記循環接続検知情報を受信する循環検知情報受信手段と、受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とするものである。
【００１０】
また、請求項２の発明は、請求項１に記載の発明において、前記制御部が、受信した前記循環接続検知情報を所定時間記憶する循環検知情報記憶手段と、前記循環回避指示受信手段により、前記循環接続回避指示情報を受信したことを契機に、所定の前記階層構造で前記情報配信装置と接続している端末装置へ、自装置を識別するための識別情報を含む代替上流端末装置探索情報の配信を要求する探索情報配信要求を送信する探索情報配信要求送信手段と、前記探索情報配信要求を受信する探索情報配信要求受信手段と、前記探索情報配信要求を受信したことを契機に、自装置と接続している下流の端末装置へ、前記代替上流端末装置探索情報を配信する探索情報配信手段と、前記代替上流端末装置探索情報を受信する探索情報受信手段と、受信した前記代替上流端末装置探索情報を、前記所定の階層構造で自装置に接続した下流の端末装置へ中継する探索情報中継手段と、受信した前記代替上流端末装置探索情報に対応する端末装置に関する前記循環接続検知情報が前記循環検知情報記憶手段に記憶されていない場合に、前記代替上流端末装置探索情報に対応する端末装置に対して、自装置の下流側への接続を許可する代替上流端末装置接続許可情報を送信する接続許可送信手段と、前記代替上流端末装置接続許可情報を受信する接続許可受信手段と、前記代替上流端末装置接続許可情報を送信してきた端末装置と接続する代替上流端末接続手段と、を有することを特徴とするものである。
【００１１】
また、請求項３の発明は、請求項１又は請求項２に記載の発明において、前記循環検知情報送信手段が、前記循環接続検知情報を時間間隔をあけて繰り返し送信することを特徴とするものである。
【００１２】
また、請求項４の発明は、請求項３に記載の発明において、前記循環検知情報送信手段が、循環接続検知情報を送信する前記時間間隔をランダムに設定することを特徴とするものである。
【００１３】
また、請求項５の発明は、請求項１〜４のいずれか１項に記載の発明において、前記循環接続検知情報が、前記循環検知情報中継手段による中継回数を記録する中継回数記録領域を備え、前記循環検知情報中継手段が、前記中継回数記録領域に記録されている中継回数が所定回数未満である場合に、前記循環接続検知情報を中継することを特徴とするものである。
【００１４】
また、請求項６の発明は、請求項２〜５のいずれか１項に記載の発明において、前記代替上流端末装置探索情報が、前記端末装置に関する所定の条件を記録した所定条件記録領域を備え、前記接続許可送信手段が、自装置が前記代替上流端末装置探索情報に含まれる前記所定の条件を満たしている場合に、前記代替上流端末装置接続許可情報を送信することを特徴とするものである。
【００１５】
また、請求項７の発明は、コンピュータに、請求項１〜６のいずれか１項に記載の前記端末装置の各手段として機能させるためのプログラムである。
【００１６】
また、請求項８の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムであって、前記端末装置が、自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、前記制御部が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信する循環検知情報送信手段と、前記循環接続検知情報を受信する循環検知情報受信手段と、受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とするものである。
【００１７】
請求項９の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムで、前記端末装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する循環接続回避方法であって、前記端末装置が、自装置から前記情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信するステップと、前記端末装置が前記循環接続検知情報を受信するステップと、前記端末装置が受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継するステップと、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断するステップと、前記端末装置が、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信するステップと、前記循環接続回避指示情報を受信するステップと、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避するステップと、を有することを特徴とするものである。
【発明の効果】
【００１８】
本発明によれば、循環接続検知情報に基づいて、配信経路に循環接続が発生することを検知できる。したがって、階層構造における上流の接続先を切り替えようとする端末装置は、循環接続が発生する端末装置に代えて、循環接続が発生しない他の端末装置へ切り替えるようにしたから、事前に、配信経路に循環接続が発生することを回避することができる。また、端末装置は、循環接続が発生することを検知するために、下流の端末装置へ向けて循環接続検知情報を送信するようにしたから、特定の端末装置において、循環接続検知情報が集中することがなく、処理負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施形態について、図面を参照して具体的に説明する。図１は、本発明の実施形態における情報配信システムの基本構成を示す図である。図２は、図１に示す情報配信システムにおいて、端末装置が情報配信システムに新たに参加する場合の手順を示す図である。図３は、ツリーの二重化により形成されたメッシュ型トポロジー上の配信経路と制御パスの例を示す図である。図４は、図３に示すメッシュ型トポロジー上の制御パスを示す図であり、図５は、配信経路を示す図である。図６は、上流の接続先を切り替えた場合に発生する配信経路の循環接続（以下、ループという。）を検知する手法を示す図である。図７は、配信経路のループを回避するために、ループが発生する端末装置に代えてループが発生しない代替上流端末装置を探索する手法を示す図である。図８は、代替上流端末装置を探索した後の再接続処理を示す図である。図９は、端末装置の構成を示す図であり、図１０は、接続候補紹介装置の構成を示す図である。図１１−１〜図１１−４は、端末装置の処理フローを示す図であり、図１２は、接続候補紹介装置の処理フローを示す図である。
【００２０】
［情報配信システムの概略］
まず、本発明の実施形態における情報配信システムの概略について、その基本構成及び処理について説明する。図１は、情報配信システムの基本構成を示す図である。この情報配信システムＳは、情報配信装置Ａと、複数の端末装置Ｂと、接続候補紹介装置Ｃとを備えて構成される。情報配信装置Ａは、コンテンツ情報を端末装置Ｂへ配信する。端末装置Ｂは、ユーザがコンテンツ情報を視聴する装置であり、メッシュ型トポロジーを形成するインターネット上に分散して設けられ、上流の端末装置Ｂ及び下流の端末装置Ｂに関する接続情報が格納されたノード管理テーブルを有する。接続候補紹介装置Ｃは、端末装置Ｂのトポロジー管理情報が格納されたトポロジーデータベース、並びに、情報配信装置Ａ及び端末装置Ｂの所在情報（ＩＰアドレス及びポート番号）等が格納された端末管理データベースを有し、その接続状態を管理すると共に、端末装置がメッシュ型トポロジーに新たに参加する場合にコンテンツ情報を中継可能な上流側に直近の端末装置Ｂ（上流装置）を紹介する。
【００２１】
情報配信装置Ａ及び端末装置Ｂ０，Ｂ１は、例えば放送局設備内に設けられ、端末装置Ｂ０は、０系ツリーのルートに位置したセカンドノードであり、端末装置Ｂ１は、１系ツリーのルートに位置したセカンドノードである。端末装置Ｂ２〜ＢＤには、それぞれ上流装置が２つ接続されるから、メッシュ型トポロジーは、端末装置Ｂが接続される２つのツリーの二重化により形成されている。このように、コンテンツ情報の受信元である上流装置を２つ設けて二重化を形成するのは、端末装置Ｂが離脱した場合にコンテンツ情報の配信が途絶えることの影響を少なくするためである。
【００２２】
また、複数の端末装置Ｂは、接続候補紹介装置Ｃの制御下でメッシュ型トポロジーを形成し、そのトポロジー上にコンテンツ情報の配信経路を形成することにより、情報配信装置Ａから配信されるコンテンツ情報は、全ての端末装置Ｂに中継される。また、各端末装置Ｂは、ノード管理テーブルにより、直近の上流に接続される端末装置Ｂの情報（上流装置の接続情報）及び直近の下流に接続される端末装置Ｂの情報（下流装置の接続情報）を管理する。尚、複数の端末装置Ｂにより形成されたメッシュ型トポロジーを物理トポロジーで表現すると、図１に示すように、インターネット上でルータを介して端末装置Ｂが接続される構成となる。
【００２３】
（トポロジーへの参加）
次に、図２を参照して、端末装置ＢＥがメッシュ型トポロジーに新規に参加する手順について説明する。端末装置ＢＥの新規参加を契機として、端末装置ＢＥが「上流ノード紹介要求メッセージ」を接続候補紹介装置Ｃへ送信すると（図２（１））、接続候補紹介装置Ｃは、トポロジーデータベースに格納されたトポロジー管理情報を読み出し、その情報の端末装置Ｂのうち、下流側に端末装置ＢＥを接続可能な装置を検索し、「検索結果」（上流装置候補／例えば、端末装置ＢＡ，ＢＢ）を端末装置ＢＥへ返信する（同図（２））。ここで、端末装置ＢＥは、二重化されたメッシュ型トポロジーに新規に参加するので、２つの制御パスを異なる上流装置に対して張る必要がある。したがって、接続候補紹介装置Ｃは、２つの上流装置候補を「検索結果」として端末装置ＢＥへ送信する。この場合、接続候補紹介装置Ｃは、端末装置ＢＥが上流の接続先を切り替えた時に、ループが発生する確率を低減させる目的で、可能な限り同じ階層レベルに位置する上流装置候補を２つ検索することが望ましい。ここで、階層レベルとは、情報配信装置Ａを基点として下流側の端末装置Ｂへ向けたツリー構造における階層位置をいう。例えば、端末装置ＢＡ，ＢＢは、情報配信装置Ａから数えて４番目の階層に位置するため、同じ階層レベルに存在することになる。
【００２４】
そして、端末装置ＢＥは、接続候補紹介装置Ｃから取得した２つの上流装置候補である端末装置ＢＡ，ＢＢに対し、それぞれ「接続要求メッセージ」を送信して接続を試みる（同図（３）（４））。端末装置ＢＡ，ＢＢは、「接続要求メッセージ」を受信すると、内部で管理しているノード管理テーブルに端末装置ＢＥの情報を追加し、「接続応答メッセージ」を端末装置ＢＥへ返信する。
【００２５】
端末装置ＢＥは、「接続応答メッセージ」を受信すると、端末装置ＢＡ，ＢＢのいずれか一方を選択し、その装置に対して配信経路として接続するための「ストリーム開始要求メッセージ」を送信する（同図（５））。他方の装置に対しては「ストリーム開始要求メッセージ」を送信しない。端末装置ＢＡ，ＢＢのうちのいずれか一方は、「ストリーム開始要求メッセージ」を受信すると、ストリーム中継用のオブジェクトを準備し、端末装置ＢＥに対してストリーミングを開始する（同図（６））。ここで、ストリーム中継用のオブジェクトとは、上流装置からコンテンツ情報を受信し、下流装置へ中継する処理を行うオブジェクトである。このように、端末装置ＢＥは、上流装置を端末装置ＢＡ，ＢＢとしてメッシュ型トポロジーに参加することができる。
【００２６】
（トポロジーからの離脱）
次に、端末装置ＢＥがメッシュ型トポロジーから離脱する手順について説明する。離脱する端末装置ＢＥが「ストリーム停止要求メッセージ」をストリーム情報の供給元である上流の端末装置ＢＡ，ＢＢのうちのいずれかへ送信し、その後、「接続解除要求メッセージ」を端末装置ＢＡ，ＢＢの双方へ送信する。
【００２７】
端末装置ＢＡ，ＢＢは、「ストリーム停止要求メッセージ」を受信すると、ストリーム中継用オブジェクトを破棄し、端末装置ＢＥに対するストリーミングを停止する。そして、「接続解除要求メッセージ」を受信すると、ノード管理テーブルから端末装置ＢＥの情報を削除し、端末装置ＢＥとの間の接続関係を断ち切る。このように、端末装置ＢＥは、メッシュ型トポロジーから離脱することができる。
【００２８】
ここで、メッシュ型トポロジーから離脱する端末装置ＢＥにおいて、その下流に端末装置が存在する場合には、以下の（ａ）または（ｂ）のいずれかの手法により、配信経路の復元を行う。
（ａ）タイムアウト方式による再生
前記下流の端末装置は、上流の端末装置ＢＥからのストリーミング状態を常時監視し、一定時間の間ストリーム供給が途絶したことを契機として、上流装置である端末装置ＢＥとの間の接続状態を破棄し、新たな上流装置と接続する。
（ｂ）イベント通知方式による再生
端末装置ＢＥは、メッシュ型トポロジーから離脱する際、下流の端末装置に向けて離脱イベントを通知する。当該下流装置は、上流から離脱イベントの通知を受けると、上流装置である端末装置ＢＥとの間の接続状態を破棄し、新たな上流装置と接続する。
【００２９】
［実施例］
次に、本発明の実施形態について詳細に説明する。図３は、ツリーの二重化により形成されたメッシュ型トポロジーについて、その配信経路と制御パスの例を示す図である。図３に示すように、この情報配信システムＳは、情報配信装置Ａの配下に０系のツリー及び１系のツリーを構築し、各端末装置Ｂ２〜ＢＦが両方のツリーに二重に参加することにより、メッシュ型トポロジーを形成する。すなわち、情報配信システムＳは、複数の端末装置Ｂが情報配信装置Ａを頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置Ｂが少なくとも二つの階層構造に参加した状態で、一の階層構造で自装置と接続した上流装置から、コンテンツ情報を受信するものである。情報配信装置Ａはコンテンツソースであり、その下流にセカンドノードとして、０系ツリーのルートとなる端末装置Ｂ０及び１系ツリーのルートとなる端末装置Ｂ１が存在する。また、例えば、端末装置Ｂ２において、その上流側には端末装置Ｂ０，Ｂ５との間の制御パスが存在し、端末装置Ｂ０との間では０系接続である現用系の配信経路を形成しており、端末装置Ｂ５との間では１系接続である待機系の配信経路となり得る制御パスを形成している。
【００３０】
図４は、図３における制御パスを示す図である。図３において、丸印付き太矢印は０系の配信経路を、丸印付き細矢印は０系の制御パスをそれぞれ示し、丸印無し太矢印は１系の配信経路を、丸印無し細矢印は１系の制御パスをそれぞれ示す。また、配信経路は、コンテンツ情報の流れの経路を示し、制御パスは、メッシュ型トポロジーの接続関係を維持するために、コンテンツ情報の配信に用いる制御用メッセージの通信経路を示す。また、各端末装置Ｂの番号（０〜Ｆ）は端末装置Ｂのノード番号を示す。
【００３１】
図５は、図３における配信経路の一部を示す図である。いま、図５に示すように、情報配信装置Ａからのコンテンツ情報が、０系接続の配信経路及び１系接続の配信経路により各端末装置Ｂへ供給されているとする。ここで、端末装置Ｂ０から端末装置Ｂ３へのコンテンツ情報の供給においてストリーム途絶事象が発生し、端末装置Ｂ３が、上流側に設定されている現用系の端末装置Ｂ０から同じく上流側に設定されている待機系の端末装置Ｂ４へ切り替えたとすると、配信経路のループが発生してしまう。そこで、本発明の実施形態では、この配信経路のループの発生を事前に検知し、ループを回避する。以下、それらの手順について詳細に説明する。
【００３２】
（待機系上流装置に対するループ検知手順）
まず、待機系上流装置に対する配信経路のループを検知する手順について説明する。このループ検知は、現用系から待機系への切り替えを行う前に、事前に行われる。各端末装置Ｂは、自装置Ｂに接続した、コンテンツ情報を受信して配信経路となっている下流方向全ての端末装置を指定して、自装置を識別するためのノード識別子（ノードＩＤ）、シーケンス番号及び所在情報（ＩＰアドレス等）を含む自装置専用の「ループ検知パケット」を一定間隔（例えば１０分間隔）で送信する。図６では、端末装置Ｂ３が、コンテンツ情報が流れている下流側の配信経路へ「ループ検知パケット」を送信している。
【００３３】
端末装置Ｂは、上流から「ループ検知パケット」を受信すると、自装置の下流に配信経路がある場合のみ、当該「ループ検知パケット」を下流の配信経路へ転送する。同時に、自装置内部で管理しているループ検知パケット登録テーブルに一定時間（例えば「ループ検知パケット」の送信間隔と同一の１０分間）だけ当該「ループ検知パケット」の受信事象（例えば、配信元のノードＩＤ、所在情報、シーケンス番号及び受信時刻）を、表１に示すように記憶する。
【００３４】
【表１】
2008278337.tif 000003
【００３５】
上流から「ループ検知パケット」を受信した端末装置Ｂは、自装置からみて下流側であって、現用系の配信経路となっていない制御パスに接続される下流の端末装置Ｂが「ループ検知パケット」の発信元であった場合に、当該発信元における待機系上流装置に対してループが発生する可能性があるものと判断する。図６では、上流から「ループ検知パケット」を受信した端末装置Ｂ４は、ノード管理テーブルにより、下流で現用系の配信経路となっていない制御パスに接続される端末装置が端末装置Ｂ３であることを認識し、受信した「ループ検知パケット」のノードＩＤにより発信元が端末装置Ｂ３であることを認識し、これらが一致するから、発信元の端末装置Ｂ３が待機系の上流端末装置Ｂ４に切り替えた場合、端末装置Ｂ３から端末装置Ｂ４へ、そして端末装置Ｂ４から端末装置Ｂ３への配信経路にループが発生するものと判断する。
【００３６】
そして、待機系の上流装置に対する配信経路のループを検知した端末装置Ｂは、「ループ検知パケット」の発信元に対し、ループを回避するように「ループ回避指示メッセージ」を送信する。図６では、端末装置Ｂ４が、発信元の端末装置Ｂ３に対して「ループ回避指示メッセージ」を送信している。
【００３７】
このように、上流から「ループ検知パケット」を受信した端末装置Ｂ４は、下流で現用系の配信経路となっていない制御パスである待機系の配信経路に接続される端末装置Ｂ３と、「ループ検知パケット」の発信元である端末装置Ｂ３とが一致することから、その配信元である端末装置Ｂ３との間で、待機系における配信経路にループが発生するものと判断する。これにより、端末装置Ｂ３が現用系から待機系へ上流装置を切り替えた場合に待機系においてループが発生することを、実際に切り替える前に、事前に判断することができる。
【００３８】
（ループ検知後の代替上流装置への切り替え手順）
次に、待機系において配信経路のループを検知した後に、ループが発生しない上流の端末装置（代替上流装置）へ切り替える手順について説明する。端末装置Ｂは、「ループ回避指示メッセージ」を受信すると、０系または１系のセカンドノード（端末装置Ｂ０または端末装置Ｂ１）に向けて、自装置のノード識別子（ノードＩＤ）、シーケンス番号及び所在情報（ＩＰアドレス等）を含む自装置専用の「代替上流ノード探索パケット要求メッセージ」を送信し、「代替上流ノード探索パケット」を送信するように放送依頼をする。図７では、端末装置Ｂ３が、セカンドノードである端末装置Ｂ１に対して「代替上流ノード探索パケット」の放送依頼を送信している（図７（１））。
【００３９】
セカンドノードである端末装置Ｂ０，Ｂ１は、「代替上流ノード探索パケット要求メッセージ」（「代替上流ノード探索パケット」の放送依頼）を受信すると、下流方向の全ての端末装置Ｂの制御パスを介して、「代替上流ノード探索パケット」を送信する。端末装置Ｂは、上流から「代替上流ノード探索パケット」を受信すると、自装置の下流に制御パスがある場合のみ、当該「代替上流ノード探索パケット」を下流の制御パスへ転送する。
【００４０】
また、「代替上流ノード探索パケット」を受信した端末装置Ｂは、同時に、自装置内部で管理しているループ検知パケット登録テーブルに、受信した「代替上流ノード探索パケット」の発信元と同じノードＩＤが登録されていない場合に、自装置が当該発信元の代替上流装置となり得ることを判断する。そして、その端末装置Ｂは、「代替上流ノード接続許可メッセージ」をその発信元へ送信する。図７では、端末装置Ｂ２は、自装置が当該発信元である端末装置Ｂ３の代替上流装置となり得ることを判断し、「代替上流ノード接続許可メッセージ」をその発信元である端末装置Ｂ３へ送信している（同図（２））。
【００４１】
端末装置Ｂは、「代替上流ノード接続許可メッセージ」を受信すると、自装置の待機系上流装置の制御パスを「代替上流ノード接続許可メッセージ」の発信元へ切り替える。図８では、端末装置Ｂ３は、「代替上流ノード接続許可メッセージ」を端末装置Ｂ２から受信し、自装置の待機系上流装置の制御パスを、端末装置Ｂ４から「代替上流ノード接続許可メッセージ」の発信元である端末装置Ｂ２へ切り替える（図８（３））。
【００４２】
これにより、端末装置Ｂ２は、端末装置Ｂ３からみて下流に存在しないから、端末装置Ｂ３から端末装置Ｂ２へ、そして端末装置Ｂ２から端末装置Ｂ３へのループが発生することはない。したがって、情報配信システムＳにおいて、端末装置Ｂ３が現用系から待機系へ切り替えた場合に待機系においてループ（端末装置Ｂ４との間のループ）が発生することを事前に判断した後、待機系における代替上流装置として端末装置Ｂ２を特定し、端末装置Ｂ３は、上流装置として、ループの発生する端末装置Ｂ４からループの発生しない端末装置Ｂ２へ切り替えることができる。つまり、待機系における配信経路のループを回避することができる。
【００４３】
［端末装置］
次に、情報配信システムＳにおける端末装置Ｂの構成及び処理について説明する。図９は、端末装置Ｂの構成を示す図である。この端末装置Ｂは、一般のパーソナルコンピュータを適用可能であり、内部の機器等に電源を供給する主電源２０２と、主電源２０２を補助する補助電源２０３と、各種情報等を記憶するハードディスク装置２０４と、プログラムに従って所定の処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０５と、インターネットを介して情報配信装置Ａ及び接続候補紹介装置Ｃとの間で通信を行うネットワークインタフェース２０６と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置２０７と、ユーザの操作に従ってユーザ入力用リモコン２２２から所定の情報を入力する入力部を制御する周辺機器制御チップ２０８と、ユーザ入力用リモコン２２２からの所定の情報を赤外線により入力する赤外線ポート２０９と、ＣＰＵ２０５からイメージ情報を受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだ情報を後述の内蔵ディスプレイ２１１に表示するビデオチップ２１０と、ビデオチップ２１０から送信される信号に応じた表示を行う内蔵ディスプレイ２１１と、ＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）音源及びウェーブテーブル（Ｗａｖｅ  Ｔａｂｌｅ）音源等を有する音源チップ２１２と、音源チップ２１２から出力されるオーディオ信号を音波に変換するスピーカ２１３とを備えて構成される。また、これらの各種構成要素はシステムバス２０１を介して相互に接続され、ＣＰＵ２０５及び主記憶装置２０７により制御部２２４を構成する。また、ネットワークインタフェース２０６は、ルータ２２３を介してネットワークに接続される。
【００４４】
（主記憶装置）
また、主記憶装置２０７には、情報配信装置Ａから又は他の端末装置Ｂから受信したコンテンツ情報を一時的に記憶するリングバッファ２１４と、図示しないノード管理テーブルに従って、情報配信装置Ａから又は他の端末装置Ｂから中継されてストリーミング配信されるコンテンツ情報を受信すると共に、受信したコンテンツ情報を下流に接続された他の端末装置Ｂへ中継するために実行されるストリーム制御プログラム２１５と、ノード管理テーブルにより、上流及び下流の端末装置Ｂの所在情報の管理を行うと共に、メッシュ型トポロジーへの参加及び離脱の処理を制御するトポロジー制御プログラム２１６と、配信経路のループを検知し、当該ループを回避するためのループ検知プログラム２１７と、端末装置Ｂのコンピュータとしての基本的な機能を提供するためのオペレーティングシステムプログラム２１８と、内蔵ディスプレイ２１１を制御するための画面制御プログラム２１９と、エンコードされたストリームコンテンツの情報をデコードするためのデコーダプログラム２２０と、上流側から受信した「ループ検知パケット」の受信事象の情報（表１を参照）から成るループ検知パケット登録テーブル２２１とがそれぞれ記憶されている。制御部２２４において、ＣＰＵ２０５は、主記憶装置２０７からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
【００４５】
ここで、オペレーティングシステムプログラム２１８は、ＣＰＵ２０５によって読み出して実行することにより、端末装置Ｂであるコンピュータの基本的な機能を実行可能にする。そして、このオペレーティングシステムプログラム２１８がＣＰＵ２０５によって実行された状態で、主記憶装置２０７に記憶された、オペレーティングシステムプログラム２１８以外の各プログラムが実行される。
【００４６】
尚、主記憶装置２０７の各プログラムは、例えば、インターネットに接続されたサーバ等からダウンロードして記憶するようにしてもよいし、ＣＤ−ＲＯＭ等の記憶媒体に記録してから当該記憶媒体のドライブを介して読み込んで記憶するようにしてもよい。
【００４７】
また、本発明の実施形態では、ストリーム制御プログラム２１５、トポロジー制御プログラム２１６、ループ検知プログラム２１７等の各プログラムをそれぞれ個別に記載しているが、これらのプログラムを一つの情報配信システム用プログラムとして、主記憶装置２０７に記憶させるようにしてもよい。
【００４８】
（制御部）
制御部２２４は、前述のようにＣＰＵ２０５及び主記憶装置２０７から構成され、ＣＰＵ２０５が主記憶装置２０７に記憶された各種プログラムを読み出して実行することにより、端末装置Ｂ全体を統括制御するものである。特に、本発明の実施形態では、端末装置Ｂが上流装置を現用系から待機系へ切り替える際に、待機系における配信経路にループが発生することを回避するために、制御部２２４は、「ループ検知パケット（循環接続検知情報）」を送信する循環検知情報送信手段、「ループ検知パケット」を受信する循環検知情報受信手段、「ループ検知パケット」を中継する循環検知情報中継手段、下流装置であるか否かを判断する下流端末判断手段、「ループ回避指示メッセージ（循環接続回避指示情報）」を送信する循環回避指示送信手段、「ループ回避指示メッセージ」を受信する循環回避指示受信手段、「ループ検知パケット」を記憶する循環検知情報記憶手段、「代替上流ノード探索パケット配信要求メッセージ（探索情報配信要求）」を送信する探索情報配信要求送信手段、「代替上流ノード探索パケット配信要求メッセージ」を受信する探索情報配信要求受信手段、「代替上流ノード探索パケット（代替上流端末装置探索情報）」を配信する探索情報配信手段、代替上流ノード探索パケット」を受信する探索情報受信手段、代替上流ノード探索パケット」を中継する探索情報中継手段、「代替上流ノード接続許可メッセージ（代替上流端末装置接続許可情報）」を送信する接続許可送信手段、「代替上流ノード接続許可メッセージ」を受信する接続許可受信手段、及び、代替上流装置への接続を行う代替上流端末接続手段として機能するようになっている。
【００４９】
以下、端末装置Ｂに備えた制御部２２４の処理について、図１１−１〜図１１−４を用いて詳細に説明する。
（初期化）
ステップＳ０１において、主電源２０２により端末装置Ｂが起動すると、端末装置Ｂに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、ステップＳ０２において、端末装置Ｂは、ユーザ入力用リモコン２２２を介したユーザからの参加要求が入力され、この参加要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーへ参加するための手続きを開始する。
【００５０】
（終了）
ステップＳ１４において、端末装置Ｂの主電源２０２がＯＦＦされたのを契機として各種プログラムの終了処理を実施した後、ステップＳ１５において、制御部２２４は、補助電源２０３をＯＦＦすることにより終了処理が完了する。
【００５１】
（トポロジーへの参加）
前記トポロジーへの参加要求を契機として、端末装置Ｂは参加手続きを開始する。具体的には、ステップＳ１３において、制御部２２４は、「上流ノード紹介要求メッセージ」を接続候補紹介装置Ｃへ送信し、「検索結果」として上流装置候補の受信（応答）を待つ。
【００５２】
ステップＳ１６〜Ｓ１８において、制御部２２４は、接続候補紹介装置Ｃから「検索結果」として上流装置候補を受信すると、「接続要求メッセージ」及び「ストリーム要求メッセージ」を上流装置候補の端末装置へ送信する。これにより、トポロジーへ参加する端末装置と上流装置候補の端末装置との間のセッションが確立する。これらの処理は、０系及び１系の両方について、上流装置に対して実施する。
【００５３】
そして、ステップＳ１９において、制御部２２４は、０系及び１系の上流装置のうち、階層レベルの小さい上流装置に対して「ストリーム開始要求メッセージ」を送信する。階層レベルの小さい上流装置からコンテンツ情報を供給するのは、情報配信装置Ａからのコンテンツ情報の伝播遅延及びストリーム品質の劣化を抑制する点で有利だからである。そして、ステップＳ２０において、制御部２２４は、「トポロジー参加報告」を接続候補紹介装置Ｃへ送信する。これにより、参加を要求する端末装置Ｂは、トポロジーへ参加することができる。
【００５４】
（コンテンツ情報の中継及び再生）
制御部２２４は、上流装置からコンテンツ情報のパケット（コンテンツパケット）を受信した場合（ステップＳ２１；ＹＥＳ）、ステップＳ２２において、自装置直下に下流の端末装置が存在しているか否かを、ノード管理テーブルにより調べる。下流装置が存在する場合は、ステップＳ２３において、受信したコンテンツパケットを中継し、ステップＳ２４へ移行する。下流ノードが存在しない場合は、受信したコンテンツパケットを中継しない。そして、ステップＳ２４において、デコーダプログラム２２０によって、コンテンツパケットをデコードし、デコードしたコンテンツデータをビデオチップ２１０及び音源チップ２１２を介して再生する。
【００５５】
（トポロジーからの離脱）
端末装置Ｂは、ユーザ入力用リモコン２２２を介したユーザからの離脱要求が入力されると（ステップ２５；ＹＥＳ）、この離脱要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーから離脱するための手続きを開始する。ステップＳ２６〜Ｓ２８において、制御部２２４は、現用系の上流装置に対して「ストリーム停止要求メッセージ」及び「接続解除要求メッセージ」を、待機系の上流装置に対して「接続解除要求メッセージ」をそれぞれ送信する。そして、ステップＳ２９において、制御部２２４は、「トポロジー離脱報告」を接続候補紹介装置Ｃへ送信する。これにより、離脱を要求する端末装置Ｂは、トポロジーから離脱することができる。
【００５６】
（下流の端末装置の参加及び離脱）
ステップＳ３０，Ｓ３２において、制御部２２４は、下流装置におけるトポロジーの参加／離脱を契機として、下流装置から「接続要求メッセージ」／「接続解除要求メッセージ」を受信したか否かを判断する。そして、ステップＳ３１，Ｓ３３において、制御部２２４は、各々のメッセージを受信後、下流装置の接続情報を更新する目的で、ノード管理テーブルに対して下流装置に関する情報の登録／削除を実施する。
【００５７】
（ストリーミングの開始及び終了）
ステップＳ３４〜Ｓ３７において、制御部２２４は、下流装置から「ストリーム開始要求メッセージ」／「ストリーム停止要求メッセージ」を受信すると、当該下流装置に対してストリーミングの開始／終了を実施する。
【００５８】
（上流の端末装置の切り替え）
ステップＳ３８〜Ｓ４０において、何らかの不具合が発生して現用系の上流装置からコンテンツ情報が供給されなくなった場合、制御部２２４は、「ストリーム停止要求メッセージ」を現用系の上流装置へ送信し、その後、「ストリーム開始要求メッセージ」を待機系の上流装置へ送信する。これにより、現用系から待機系への上流装置の切り替えが完了する。
【００５９】
（待機系上流装置に対するループ検知）
端末装置Ｂは、所定の時間間隔をあけて定期的（例えば１０分間隔）に、待機系上流装置に対する配信経路のループが存在するか否かの検査を繰り返す。ステップＳ４１〜Ｓ４３において、制御部２２４は、配信経路のループ監視を契機として、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、自装置を識別するための識別情報（自装置のノード識別子、所在情報等）を含む「ループ検知パケット（循環接続検知情報）」を、当該制御部２２４を備えた自装置からコンテンツ情報を受信している下流装置へ送信する。このようなステップを実行する制御部２２４は、循環検知情報送信手段として機能する。
【００６０】
ステップＳ４４において、制御部２２４は、「ループ検知パケット（循環接続検知情報）」を受信したか否かを判断する。このようなステップを実行する制御部２２４は、循環検知情報受信手段として機能する。そして、「ループ検知パケット（循環接続検知情報）」を受信すると（ステップＳ４４；ＹＥＳ）、ステップＳ４５において、制御部２２４は、当該「ループ検知パケット」の識別情報に基づいて、発信元が自装置の下流装置として接続済みであるか否かを、ノード管理テーブルにて判断する。このようなステップを実行する制御部２２４は、下流端末判断手段として機能する。そして、接続済みであると判断した場合（「ループ検知パケット」の発信元が自装置の下流装置である場合）には、ステップＳ４６において、制御部２２４は、自装置と、「ループ検知パケット」の発信元との間で配信経路のループが発生すると判断し、「ループ回避指示メッセージ（循環接続回避指示情報）」を配信元へ送信する。このようなステップを実行する制御部２２４は、循環回避指示送信手段として機能する。接続済みでない場合（「ループ検知パケット」の発信元が自装置の下流装置でない場合）には、ステップＳ４６の送信処理をスキップする。
【００６１】
そして、ステップＳ４７において、制御部２２４は、「ループ検知パケット（循環接続検知情報）」の受信事象（例えば、配信元のノードＩＤ、所在情報、シーケンス番号及び受信時刻）をループ検知パケット登録テーブル２２１に記録する。この場合、制御部２２４は、一定時間（例えば、「ループ検知パケット」を送信してループの存在を検査する時間間隔と同じ時間）経過したときに、この記録を消去する。このようなステップを実行する制御部２２４は、循環検知情報記憶手段として機能する。
【００６２】
そして、ステップＳ４８，Ｓ４９において、制御部２２４は、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、存在している場合は、「ループ検知パケット（循環接続検知情報）」を下流装置へ中継する。存在しない場合は中継しない。このようなステップを実行する制御部２２４は、循環検知情報中継手段として機能する。
【００６３】
他方、ステップＳ５０において、制御部２２４は、「ループ回避指示メッセージ（循環接続回避指示情報）」を受信する。このようなステップを実行する制御部２２４は、循環回避指示受信手段として機能する。そして、ステップＳ５１において、制御部２２４は、自装置を識別するための識別情報（自装置のノード識別子、所在情報等）を含む「代替上流ノード探索パケット配信要求メッセージ（検索情報配信要求）」を０系または１系のセカンドノード（端末装置Ｂ０または端末装置Ｂ１）へ送信し、「代替上流ノード探索パケット（代替上流端末装置探索情報）」を送信するように依頼をする。このようなステップを実行する制御部２２４は、探索情報配信要求送信手段として機能する。
【００６４】
（ループ検知後の代替上流端末装置への切り替え）
ステップＳ５２において、制御部２２４は、前記識別情報（待機系の上流装置に関して、配信経路のループが存在する端末装置の識別情報）を含む「代替上流ノード探索パケット配信要求メッセージ（検索情報配信要求）」を受信したか否かを判断する。このようなステップを実行する制御部２２４は、探索情報配信要求受信手段として機能する。そして、代替上流ノード探索パケット配信要求メッセージを受信すると（ステップＳ５２；ＹＥＳ）、ステップＳ５３，Ｓ５４において、制御部２２４は、代替上流ノード探索パケット配信要求を契機に、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、前記識別情報を含む「代替上流ノード探索パケット（代替上流端末装置探索情報）」を自装置の下流装置へ向けて配信する。このようなステップを実行する制御部２２４は、探索情報配信手段として機能する。
【００６５】
他方、ステップＳ５５において、制御部２２４は、前記識別情報を含む「代替上流ノード探索パケット（代替上流端末装置探索情報）」を受信したか否かを判断する。このようなステップを実行する制御部２２４は、探索情報受信手段として機能する。そして、代替上流ノード探索パケットを受信すると（ステップＳ５５；ＹＥＳ）、ステップＳ５６，Ｓ５７において、制御部２２４は、自装置のループ検知パケット登録テーブル２２１に、発信元が一致する「ループ検知パケット」の受信事象の記録が存在するか否かを判断し、存在していない場合には、「代替上流ノード接続許可メッセージ（代替上流端末装置接続許可情報）」を「代替上流ノード探索パケット」の発信元（「代替上流ノード探索パケット」に含まれる識別情報が示す端末装置）へ送信して、待機系における上流装置に関するループ回避用代替端末装置として接続可能なことを知らせる。このようなステップを実行する制御部２２４は、接続許可送信手段として機能する。
【００６６】
そして、ステップＳ５８，Ｓ５９において、制御部２２４は、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、前記識別情報を含む「代替上流ノード探索パケット（代替上流端末装置探索情報）」を自装置の下流装置へ向けて中継する。このようなステップを実行する制御部２２４は、探索情報中継手段として機能する。
【００６７】
他方、ステップＳ６０において、制御部２２４は、「代替上流ノード接続許可メッセージ（代替上流端末装置接続許可情報）」を受信したか否かを判断する。このようなステップを実行する制御部２２４は、接続許可受信手段として機能する。そして、代替上流ノード接続許可メッセージを受信すると（ステップＳ６０；ＹＥＳ）、ステップＳ６１において、制御部２２４（待機系上流装置に関して、配信経路のループが存在する端末装置の制御部２２４）は、現在の待機系接続を「代替上流ノード接続許可メッセージ（代替上流端末装置接続許可情報）」の発信元へ切り替える。このようなステップを実行する制御部２２４は、代替上流端末接続手段として機能する。これにより、待機系において、配信経路のループが発生することを事前に回避することができる。
【００６８】
［接続候補紹介装置］
次に、情報配信システムＳにおける接続候補紹介装置Ｃの構成及び処理について説明する。図１０は、接続候補紹介装置Ｃの構成を示す図である。この接続候補紹介装置Ｃは、一般のサーバコンピュータを適用可能であり、プログラムに従って所定の処理を実行するＣＰＵ４０２と、端末装置Ｂに関するノード番号、ＩＰアドレス及び接続情報等のトポロジー管理情報が格納されたトポロジーデータベース４１１、並びに、情報配信装置Ａ及び端末装置Ｂの所在情報等が格納された端末管理データベース４１２等により構成されたハードディスク装置４０３と、インターネットを介して端末装置Ｂとの間で通信を行うネットワークインタフェース４０４と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置４０５と、所定の情報を入力可能なキーボード４０７及びマウス４０８の入力部を制御する周辺機器制御チップ４０６と、ＣＰＵ４０２からイメージ情報を受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだ情報を後述のディスプレイ４１０に表示するビデオチップ４０９とを備えて構成される。また、これらの各種構成要素はシステムバス４０１を介して相互に接続され、ＣＰＵ４０２及び主記憶装置４０５により制御部４１９を構成する。
【００６９】
（主記憶装置）
また、主記憶装置４０５には、複数の端末装置Ｂの所在情報（ＩＰアドレス及びポート番号）を管理するための端末管理プログラム４１３と、複数の端末装置Ｂによるメッシュ型トポロジーを構築及び管理するためのトポロジー管理プログラム４１４と、当該接続候補紹介装置Ｃにおける処理全体の運用管理を行う運用管理プログラム４１５と、接続候補紹介装置Ｃのコンピュータとしての基本的な機能を提供するためのＯＳプログラム４１６と、端末装置Ｂから送信される「上流ノード紹介要求」に対応する上流ノード候補を選択し、端末装置Ｂへ検索結果として送信するための接続先紹介プログラム４１７が記憶されている。制御部４１９において、ＣＰＵ４０２は、主記憶装置４０５からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
【００７０】
ここで、オペレーティングシステムプログラム４１６は、ＣＰＵ４０２によって読み出されて実行されることにより、接続候補紹介装置Ｃであるコンピュータの基本的な機能を実行可能にする。そして、このオペレーティングシステムプログラム４１６がＣＰＵ４０２によって実行された状態で、主記憶装置４０５に記憶されたオペレーティングシステムプログラム４１６以外の各プログラムが実行される。
【００７１】
尚、主記憶装置４０５の各プログラムは、例えば、インターネットに接続されたサーバ等からダウンロードして記憶するようにしてもよいし、ＣＤ−ＲＯＭ等の記憶媒体に記録してから当該記憶媒体のドライブを介して読み込んで記憶するようにしてもよい。
【００７２】
（初期化）
ステップＳ１０１において、接続候補紹介装置Ｃが起動すると、接続候補紹介装置Ｃに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、接続候補紹介装置Ｃは、情報配信装置Ａ及び端末装置Ｂから要求メッセージを受信できる状態となる。
【００７３】
（情報配信装置の登録及び削除）
ステップＳ１０２〜Ｓ１０４において、制御部４１９は、端末管理プログラム４１３により、情報配信装置Ａからの「登録要求」を受信すると、情報配信装置Ａの所在情報を端末管理データベース４１２に登録し、新しいチャンネルの情報をトポロジーデータベース４１１に登録する。一方、ステップＳ１０２〜Ｓ１０４において、制御部４１９は、端末管理プログラム４１３により、情報配信装置Ａからの「登録削除要求」を受信すると、情報配信装置Ａの所在情報を端末管理データベース４１２から削除し、該当するチャンネル情報をトポロジーデータベース４１１から削除する。
【００７４】
（上流装置候補の紹介）
ステップＳ１０６〜Ｓ１０８において、制御部４１９は、接続先紹介プログラム４１７により、端末装置Ｂから「上流ノード紹介要求メッセージ」を受信すると、トポロジーデータベース４１１から下流側に接続可能な端末装置Ｂの候補を検索し、２つの上流装置候補を「検索結果」として要求元の端末装置Ｂへ送信する。
【００７５】
（トポロジー情報の更新）
ステップＳ１０９，Ｓ１１０において、制御部４１９は、トポロジー管理プログラム４１４により、端末装置Ｂから「トポロジー参加報告」／「トポロジー離脱報告」を受信すると、トポロジーに変動があったと判断し、トポロジーデータベース４１１を更新する。
【００７６】
以上、端末装置Ｂ及び接続候補紹介装置Ｃの構成及び処理について説明したが、情報配信装置Ａについては、発明内容の特徴を示す構成及び処理が含まれないので、ここでは説明を省略する。
【００７７】
以上のように、本発明の実施形態によれば、情報配信システムＳにおいて、上流から「ループ検知パケット」を受信した端末装置Ｂは、下流で現用系の配信経路となっていない制御パスである待機系に接続される端末装置と、「ループ検知パケット」の発信元とが一致するか否かを判断し、一致する場合に、待機系においてループが発生するものと判断する。これにより、待機系上流装置に対するループが発生することを、実際に現用系から待機系へ切り替える前に、事前に判断することができる。すなわち、待機系におけるループ検知は、前記待機系に接続される端末装置の識別番号と「ループ検知パケット」の発信元の識別番号とが一致するか否かにより判断するようにしたから、簡易な手法により検知が可能となる。また、背景技術において示した特許文献１では、ループ検知のためのパケットを上流へ向けて送信していることから、特定の端末装置においてパケットの集中が起こり易い。これに対し、本発明の実施形態では、「ループ検知パケット」を下流へ向けて送信していることから、特許文献１とは異なり、特定の端末装置においてパケットの集中が起き難く、処理負荷を低減することができる。
【００７８】
また、本発明の実施形態によれば、現用系から待機系へ切り替えた場合に待機系においてループが発生することを事前に判断した後、セカンドノードである端末装置Ｂ０，Ｂ１から下流へ向けて「代替上流ノード検索パケット」を送信し、「代替上流ノード検索パケット」を受信した端末装置であって「ループ検出パケット」を受信していない端末装置を代替上流装置とするようにした。これにより、待機系における上流の端末装置として、ループの発生する端末装置の代わりにループの発生しない代替上流装置へ切り替えることでき、待機系におけるループを回避することができる。つまり、簡易な手法によりループの回避が可能となる。
【００７９】
このように、本発明の実施形態では、待機系における上流装置に対するループ検知と、ループの発生しない代替上流装置の特定とを、現用系から待機系へ実際に切り替える前に行うようにした。従来では、ループは現用系から待機系へ切り替えた後にしか分からなかったが、ループ状態を事前に回避することができるので、情報配信システムＳしての信頼性を向上させることができる。また、前記実施形態では、現用系から待機系へ上流装置を切り替える場合の例を示したが、待機系から現用系へ上流装置を切り替える場合にも同様に適用することができる。
【００８０】
［変形例］
以下、本発明の実施形態の変形例について説明する。前記実施形態において、端末装置Ｂは、所定の時間間隔をあけて定期的に、「ループ検知パケット」を配信経路に沿って下流へ送信し、待機系において配信経路のループが発生するか否かの検査を繰り返すようにしたが、「ループ検知パケット」を送信してループの発生の検査を繰り返すタイミングを、ランダムに行うようにしてもよい。この場合、端末装置Ｂの制御部における循環検知情報送信手段は、ランダムに設定された時間間隔で「ループ検知パケット」を送信するように機能する。例えば、前記実施形態では、端末装置Ｂにおける下流側の最大接続数を２とした場合、情報配信システムＳに１００万の端末装置Ｂが参加したときであっても、ルートパス（端末装置からコンテンツソースである情報配信装置Ａに至るパス）には高々２０ノードしか存在しないので基本的にトラフィックの集中が起きる確率は低いが、前記変形例が加われば集中が起きる確率を一層低下させることが可能となる。
【００８１】
また、前記実施形態において、端末装置Ｂは、「ループ検知パケット」を、メッシュ型トポロジーを形成する最下流の端末装置（リーフノード）にまで中継するようにしたが、「ループ検知パケット」に中継回数を記録する領域を設け、中継する毎にその中継回数をインクリメントするようにし、予め設定された回数未満の場合に当該パケットを中継し、予め設定された回数以上の場合に当該パケットの中継を中止するようにしてもよい。一般に、配信経路に存在するループにはサイズがあり、ループ経路の中継段数が少ないループ（小ループ）は、各端末装置Ｂにおいて現用系と待機系との間で上流端末装置の階層差が小さい場合に起きる。ループ経路の中継段数が多いループ（大ループ）は、各端末装置Ｂにおいて現用系と待機系との間の上流装置の階層差が大きい場合に起きる。そこで、端末装置Ｂにおいて現用系の上流装置から待機系の上流装置へ切り替える場合に、常時、現用系と待機系との間の上流装置の階層差を一定水準以下に抑制するように制御すれば、小ループしか起きえないことになるから、端末装置Ｂは、「ループ検知パケット」を最下流の端末装置にまで転送する必要はない。前記変形例によれば、端末装置Ｂにおいて「ループ検知パケット」の中継処理回数を制限するようにしたから、端末装置Ｂにおいて中継すべき「ループ検知パケット」の総量を減らすことができ、処理負荷を低減することができる。
【００８２】
また、前記実施形態において、セカンドノードである端末装置Ｂ０，Ｂ１は、「代替上流ノード探索パケット」を下流へ向けて送信し、代替上流装置を探索するようにした。この場合、多数の端末装置が代替上流装置に適合することがあり得る。そうすると、適合した代替上流装置から「代替上流ノード接続許可メッセージ」が発信元へ返信され、パケットの集中が生じてしまう。これに対して、変形例では、セカンドノードである端末装置Ｂ０，Ｂ１が、「代替上流ノード探索パケット」に接続条件（例えば、ＡＳ（Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）番号または／及びＩＳＰ名が一致する場合のみ接続するという条件）を付与し、端末装置Ｂが、「代替上流ノード探索パケット」を受信し、代替上流装置の適合処理の際に、前記接続条件に適合した場合「代替上流ノード接続許可メッセージ」を返信する。この場合、端末装置Ｂの制御部における接続許可送信手段は、前述のように機能する。これにより、パケットの集中を回避することができ、処理負荷を低減することができる。
【図面の簡単な説明】
【００８３】
【図１】本実施形態における情報配信システムの基本構成を示す図である。
【図２】端末装置の参加手順を示す図である。
【図３】メッシュ型トポロジー上の配信経路と制御パスの例を示す図である。
【図４】図３における制御パスを示す図である。
【図５】図３における配信経路の一部を示す図である。
【図６】配信経路のループを検知する手法を示す図である。
【図７】代替上流ノードを探索する手法を示す図である。
【図８】代替上流ノードを探索した後の再接続処理を示す図である。
【図９】本実施形態による端末装置の構成を示す図である。
【図１０】情報配信装置の構成を示す図である。
【図１１−１】本実施形態による端末装置の処理フロー（１／４）を示す図である。
【図１１−２】本実施形態による端末装置の処理フロー（２／４）を示す図である。
【図１１−３】本実施形態による端末装置の処理フロー（３／４）を示す図である。
【図１１−４】本実施形態による端末装置の処理フロー（４／４）を示す図である。
【図１２】接続候補紹介装置の処理フローを示す図である。
【符号の説明】
【００８４】
Ｓ  情報配信システム
Ａ  情報配信装置
Ｂ  端末装置
Ｃ  接続候補紹介装置
２０５，４０２  ＣＰＵ
２０７，４０５  主記憶装置
２２４，４１９  制御部
【図１】
2008278337.tif 000004
【図２】
2008278337.tif 000005
【図３】
2008278337.tif 000006
【図４】
2008278337.tif 000007
【図５】
2008278337.tif 000008
【図６】
2008278337.tif 000009
【図７】
2008278337.tif 000010
【図８】
2008278337.tif 000011
【図９】
2008278337.tif 000012
【図１０】
2008278337.tif 000013
【図１１−１】
2008278337.tif 000014
【図１１−２】
2008278337.tif 000015
【図１１−３】
2008278337.tif 000016
【図１１−４】
2008278337.tif 000017
【図１２】
2008278337.tif 000018