JP2008278337A - 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 - Google Patents
情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 Download PDFInfo
- Publication number
- JP2008278337A JP2008278337A JP2007121199A JP2007121199A JP2008278337A JP 2008278337 A JP2008278337 A JP 2008278337A JP 2007121199 A JP2007121199 A JP 2007121199A JP 2007121199 A JP2007121199 A JP 2007121199A JP 2008278337 A JP2008278337 A JP 2008278337A
- Authority
- JP
- Japan
- Prior art keywords
- terminal device
- information
- connection
- circulation
- upstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/247—Multipath using M:N active or standby paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Abstract
【課題】上流の端末装置を切り替えたときにループが発生しないように、事前に配信経路のループを検知し、ループを回避可能な情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法を提供する。
【解決手段】上流から循環接続検知情報を受信した端末装置Bは、下流においてコンテンツ情報が流れている配信経路となっていない制御パスの端末装置と、その循環接続検知情報の発信元とが一致するか否かを判断し、一致する場合にループが発生するものと判断する。これにより、ループが発生することを、上流の接続先を切り替える前に事前に判断することができる。また、セカンドノードである端末装置B0,B1から下流へ向けて代替上流端末装置探索情報を送信し、代替上流端末装置探索情報を受信した端末装置Bであって、前記循環接続検知情報を受信していない端末装置Bを代替上流装置とする。代替上流装置へ切り替えることにより、ループを回避することができる。
【選択図】図6
【解決手段】上流から循環接続検知情報を受信した端末装置Bは、下流においてコンテンツ情報が流れている配信経路となっていない制御パスの端末装置と、その循環接続検知情報の発信元とが一致するか否かを判断し、一致する場合にループが発生するものと判断する。これにより、ループが発生することを、上流の接続先を切り替える前に事前に判断することができる。また、セカンドノードである端末装置B0,B1から下流へ向けて代替上流端末装置探索情報を送信し、代替上流端末装置探索情報を受信した端末装置Bであって、前記循環接続検知情報を受信していない端末装置Bを代替上流装置とする。代替上流装置へ切り替えることにより、ループを回避することができる。
【選択図】図6
Description
本発明は、情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法に関するものであり、特に、複数の端末装置が二重化により分散接続したネットワークにおいて、コンテンツ情報を配信する情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法に関する。
従来、アプリケーション層においてコンテンツ配信経路を管理しながら、コンテンツストリームの情報(以下、コンテンツ情報という。)の中継配信を行うALM(Application Layer Multicast)という技術がある。この技術は、パソコンやSTB(Set Top Box)装置等のノード(以下、端末装置という。)間でP2P(Peer to Peer)通信を行うことによりコンテンツ情報を配信するものである。
このようなALMの技術では、配信トポロジーの管理方法や構築方法の違いにより、以下のような方式に分類される。すなわち、配信トポロジーの管理方法の違いにより、ハイブリッド型P2P及びピュア型P2Pの方式にそれぞれ分類され、配信トポロジーの構築方法の違いにより、メッシュファースト(Mesh−First)アプローチ、ツリーファースト(Tree−First)アプローチ及びインプリシット(Implicit)アプローチの方式にそれぞれ分類される。
ハイブリッド型P2Pは、共通のトポロジー情報を専用のサーバ装置で管理する方式であり、ピュア型P2Pは、トポロジーの部分情報を分散して個々の端末装置で管理する方式である。また、メッシュファーストアプローチは、メッシュ状のトポロジーを構築し、そこからRPF(Reverse Path Forwarding)等によってデータストリームを配信するための配信経路を決定する方式であり、ツリーファーストアプローチは、ツリー状のトポロジーを構築し、そこから個々の端末装置が近隣する端末装置を探索して予備配信経路を冗長化していく方式であり、インプリシットアプローチは、特定のメトリックを用いて制御データ用のトポロジーを構築し、それ自身を配信経路とする方式(ツリーとメッシュが同時に作られるアプローチの方式)である。
メッシュ型トポロジーは、前述したALMの技術分野に限らず、IPマルチキャストやLANの技術分野においても採用されている。メッシュ型トポロジーにおいて、ある端末装置は複数の端末装置と接続関係を有して密な制御用通信網により構築されているため、端末装置間の接続が途絶えてストリーム途絶事象が発生した場合であっても、継続した動作を保障するために、二重化のトポロジーが構築される。
しかしながら、端末装置間の接続が途絶えた場合に、ネットワークにそのままコンテンツ情報を配信すると、配信経路に循環接続が発生してしまう。そこで、このような配信経路の循環接続を回避するための手法として、例えば特許文献1に記載のものがある。この手法は、二重化されたメッシュ型トポロジーではないが、メッシュ型トポロジーを有するALMの技術分野において、配信経路に沿って経路情報を記憶するパケットを流すことにより、ルートの端末装置から注目の端末装置までの間の配信経路(ルートパス)を求め、このルートパスに注目の端末装置が含まれていないことを確認することにより循環接続を検出するものである。そして、上流の端末装置が再接続されるときの上流選択処理において、ルートパスに基づいて自らの端末装置を含まないルートパスを有する端末装置を上流の端末装置とすることにより、循環接続を回避する。
特開2000−49779号公報
前述した特許文献1の手法は、配信経路のループを回避するために上流の代替ノードを発見する場合、注目する端末装置から上流へ向けて探索メッセージを送信するプロトコルを用いている。このため、複数の端末装置が探索範囲を広げて処理を実行しようとすると、上流の端末装置において、探索メッセージが集中し処理負荷が高くなるという問題があった。
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、ツリーが二重化されたトポロジーに基づいてコンテンツ配信経路を形成する場合に、上流の端末装置を切り替えたときに循環接続が発生しないように、事前に配信経路の循環接続を検知し、循環接続を回避可能な情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法を提供することにある。
上記課題を解決するため、請求項1の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムにおける端末装置であって、自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、前記制御部が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を送信する循環検知情報送信手段と、前記循環接続検知情報を受信する循環検知情報受信手段と、受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とするものである。
また、請求項2の発明は、請求項1に記載の発明において、前記制御部が、受信した前記循環接続検知情報を所定時間記憶する循環検知情報記憶手段と、前記循環回避指示受信手段により、前記循環接続回避指示情報を受信したことを契機に、所定の前記階層構造で前記情報配信装置と接続している端末装置へ、自装置を識別するための識別情報を含む代替上流端末装置探索情報の配信を要求する探索情報配信要求を送信する探索情報配信要求送信手段と、前記探索情報配信要求を受信する探索情報配信要求受信手段と、前記探索情報配信要求を受信したことを契機に、自装置と接続している下流の端末装置へ、前記代替上流端末装置探索情報を配信する探索情報配信手段と、前記代替上流端末装置探索情報を受信する探索情報受信手段と、受信した前記代替上流端末装置探索情報を、前記所定の階層構造で自装置に接続した下流の端末装置へ中継する探索情報中継手段と、受信した前記代替上流端末装置探索情報に対応する端末装置に関する前記循環接続検知情報が前記循環検知情報記憶手段に記憶されていない場合に、前記代替上流端末装置探索情報に対応する端末装置に対して、自装置の下流側への接続を許可する代替上流端末装置接続許可情報を送信する接続許可送信手段と、前記代替上流端末装置接続許可情報を受信する接続許可受信手段と、前記代替上流端末装置接続許可情報を送信してきた端末装置と接続する代替上流端末接続手段と、を有することを特徴とするものである。
また、請求項3の発明は、請求項1又は請求項2に記載の発明において、前記循環検知情報送信手段が、前記循環接続検知情報を時間間隔をあけて繰り返し送信することを特徴とするものである。
また、請求項4の発明は、請求項3に記載の発明において、前記循環検知情報送信手段が、循環接続検知情報を送信する前記時間間隔をランダムに設定することを特徴とするものである。
また、請求項5の発明は、請求項1〜4のいずれか1項に記載の発明において、前記循環接続検知情報が、前記循環検知情報中継手段による中継回数を記録する中継回数記録領域を備え、前記循環検知情報中継手段が、前記中継回数記録領域に記録されている中継回数が所定回数未満である場合に、前記循環接続検知情報を中継することを特徴とするものである。
また、請求項6の発明は、請求項2〜5のいずれか1項に記載の発明において、前記代替上流端末装置探索情報が、前記端末装置に関する所定の条件を記録した所定条件記録領域を備え、前記接続許可送信手段が、自装置が前記代替上流端末装置探索情報に含まれる前記所定の条件を満たしている場合に、前記代替上流端末装置接続許可情報を送信することを特徴とするものである。
また、請求項7の発明は、コンピュータに、請求項1〜6のいずれか1項に記載の前記端末装置の各手段として機能させるためのプログラムである。
また、請求項8の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムであって、前記端末装置が、自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、前記制御部が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信する循環検知情報送信手段と、前記循環接続検知情報を受信する循環検知情報受信手段と、受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とするものである。
請求項9の発明は、ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムで、前記端末装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する循環接続回避方法であって、前記端末装置が、自装置から前記情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信するステップと、前記端末装置が前記循環接続検知情報を受信するステップと、前記端末装置が受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継するステップと、受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断するステップと、前記端末装置が、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信するステップと、前記循環接続回避指示情報を受信するステップと、上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避するステップと、を有することを特徴とするものである。
本発明によれば、循環接続検知情報に基づいて、配信経路に循環接続が発生することを検知できる。したがって、階層構造における上流の接続先を切り替えようとする端末装置は、循環接続が発生する端末装置に代えて、循環接続が発生しない他の端末装置へ切り替えるようにしたから、事前に、配信経路に循環接続が発生することを回避することができる。また、端末装置は、循環接続が発生することを検知するために、下流の端末装置へ向けて循環接続検知情報を送信するようにしたから、特定の端末装置において、循環接続検知情報が集中することがなく、処理負荷を軽減することができる。
以下、本発明の一実施形態について、図面を参照して具体的に説明する。図1は、本発明の実施形態における情報配信システムの基本構成を示す図である。図2は、図1に示す情報配信システムにおいて、端末装置が情報配信システムに新たに参加する場合の手順を示す図である。図3は、ツリーの二重化により形成されたメッシュ型トポロジー上の配信経路と制御パスの例を示す図である。図4は、図3に示すメッシュ型トポロジー上の制御パスを示す図であり、図5は、配信経路を示す図である。図6は、上流の接続先を切り替えた場合に発生する配信経路の循環接続(以下、ループという。)を検知する手法を示す図である。図7は、配信経路のループを回避するために、ループが発生する端末装置に代えてループが発生しない代替上流端末装置を探索する手法を示す図である。図8は、代替上流端末装置を探索した後の再接続処理を示す図である。図9は、端末装置の構成を示す図であり、図10は、接続候補紹介装置の構成を示す図である。図11−1〜図11−4は、端末装置の処理フローを示す図であり、図12は、接続候補紹介装置の処理フローを示す図である。
[情報配信システムの概略]
まず、本発明の実施形態における情報配信システムの概略について、その基本構成及び処理について説明する。図1は、情報配信システムの基本構成を示す図である。この情報配信システムSは、情報配信装置Aと、複数の端末装置Bと、接続候補紹介装置Cとを備えて構成される。情報配信装置Aは、コンテンツ情報を端末装置Bへ配信する。端末装置Bは、ユーザがコンテンツ情報を視聴する装置であり、メッシュ型トポロジーを形成するインターネット上に分散して設けられ、上流の端末装置B及び下流の端末装置Bに関する接続情報が格納されたノード管理テーブルを有する。接続候補紹介装置Cは、端末装置Bのトポロジー管理情報が格納されたトポロジーデータベース、並びに、情報配信装置A及び端末装置Bの所在情報(IPアドレス及びポート番号)等が格納された端末管理データベースを有し、その接続状態を管理すると共に、端末装置がメッシュ型トポロジーに新たに参加する場合にコンテンツ情報を中継可能な上流側に直近の端末装置B(上流装置)を紹介する。
まず、本発明の実施形態における情報配信システムの概略について、その基本構成及び処理について説明する。図1は、情報配信システムの基本構成を示す図である。この情報配信システムSは、情報配信装置Aと、複数の端末装置Bと、接続候補紹介装置Cとを備えて構成される。情報配信装置Aは、コンテンツ情報を端末装置Bへ配信する。端末装置Bは、ユーザがコンテンツ情報を視聴する装置であり、メッシュ型トポロジーを形成するインターネット上に分散して設けられ、上流の端末装置B及び下流の端末装置Bに関する接続情報が格納されたノード管理テーブルを有する。接続候補紹介装置Cは、端末装置Bのトポロジー管理情報が格納されたトポロジーデータベース、並びに、情報配信装置A及び端末装置Bの所在情報(IPアドレス及びポート番号)等が格納された端末管理データベースを有し、その接続状態を管理すると共に、端末装置がメッシュ型トポロジーに新たに参加する場合にコンテンツ情報を中継可能な上流側に直近の端末装置B(上流装置)を紹介する。
情報配信装置A及び端末装置B0,B1は、例えば放送局設備内に設けられ、端末装置B0は、0系ツリーのルートに位置したセカンドノードであり、端末装置B1は、1系ツリーのルートに位置したセカンドノードである。端末装置B2〜BDには、それぞれ上流装置が2つ接続されるから、メッシュ型トポロジーは、端末装置Bが接続される2つのツリーの二重化により形成されている。このように、コンテンツ情報の受信元である上流装置を2つ設けて二重化を形成するのは、端末装置Bが離脱した場合にコンテンツ情報の配信が途絶えることの影響を少なくするためである。
また、複数の端末装置Bは、接続候補紹介装置Cの制御下でメッシュ型トポロジーを形成し、そのトポロジー上にコンテンツ情報の配信経路を形成することにより、情報配信装置Aから配信されるコンテンツ情報は、全ての端末装置Bに中継される。また、各端末装置Bは、ノード管理テーブルにより、直近の上流に接続される端末装置Bの情報(上流装置の接続情報)及び直近の下流に接続される端末装置Bの情報(下流装置の接続情報)を管理する。尚、複数の端末装置Bにより形成されたメッシュ型トポロジーを物理トポロジーで表現すると、図1に示すように、インターネット上でルータを介して端末装置Bが接続される構成となる。
(トポロジーへの参加)
次に、図2を参照して、端末装置BEがメッシュ型トポロジーに新規に参加する手順について説明する。端末装置BEの新規参加を契機として、端末装置BEが「上流ノード紹介要求メッセージ」を接続候補紹介装置Cへ送信すると(図2(1))、接続候補紹介装置Cは、トポロジーデータベースに格納されたトポロジー管理情報を読み出し、その情報の端末装置Bのうち、下流側に端末装置BEを接続可能な装置を検索し、「検索結果」(上流装置候補/例えば、端末装置BA,BB)を端末装置BEへ返信する(同図(2))。ここで、端末装置BEは、二重化されたメッシュ型トポロジーに新規に参加するので、2つの制御パスを異なる上流装置に対して張る必要がある。したがって、接続候補紹介装置Cは、2つの上流装置候補を「検索結果」として端末装置BEへ送信する。この場合、接続候補紹介装置Cは、端末装置BEが上流の接続先を切り替えた時に、ループが発生する確率を低減させる目的で、可能な限り同じ階層レベルに位置する上流装置候補を2つ検索することが望ましい。ここで、階層レベルとは、情報配信装置Aを基点として下流側の端末装置Bへ向けたツリー構造における階層位置をいう。例えば、端末装置BA,BBは、情報配信装置Aから数えて4番目の階層に位置するため、同じ階層レベルに存在することになる。
次に、図2を参照して、端末装置BEがメッシュ型トポロジーに新規に参加する手順について説明する。端末装置BEの新規参加を契機として、端末装置BEが「上流ノード紹介要求メッセージ」を接続候補紹介装置Cへ送信すると(図2(1))、接続候補紹介装置Cは、トポロジーデータベースに格納されたトポロジー管理情報を読み出し、その情報の端末装置Bのうち、下流側に端末装置BEを接続可能な装置を検索し、「検索結果」(上流装置候補/例えば、端末装置BA,BB)を端末装置BEへ返信する(同図(2))。ここで、端末装置BEは、二重化されたメッシュ型トポロジーに新規に参加するので、2つの制御パスを異なる上流装置に対して張る必要がある。したがって、接続候補紹介装置Cは、2つの上流装置候補を「検索結果」として端末装置BEへ送信する。この場合、接続候補紹介装置Cは、端末装置BEが上流の接続先を切り替えた時に、ループが発生する確率を低減させる目的で、可能な限り同じ階層レベルに位置する上流装置候補を2つ検索することが望ましい。ここで、階層レベルとは、情報配信装置Aを基点として下流側の端末装置Bへ向けたツリー構造における階層位置をいう。例えば、端末装置BA,BBは、情報配信装置Aから数えて4番目の階層に位置するため、同じ階層レベルに存在することになる。
そして、端末装置BEは、接続候補紹介装置Cから取得した2つの上流装置候補である端末装置BA,BBに対し、それぞれ「接続要求メッセージ」を送信して接続を試みる(同図(3)(4))。端末装置BA,BBは、「接続要求メッセージ」を受信すると、内部で管理しているノード管理テーブルに端末装置BEの情報を追加し、「接続応答メッセージ」を端末装置BEへ返信する。
端末装置BEは、「接続応答メッセージ」を受信すると、端末装置BA,BBのいずれか一方を選択し、その装置に対して配信経路として接続するための「ストリーム開始要求メッセージ」を送信する(同図(5))。他方の装置に対しては「ストリーム開始要求メッセージ」を送信しない。端末装置BA,BBのうちのいずれか一方は、「ストリーム開始要求メッセージ」を受信すると、ストリーム中継用のオブジェクトを準備し、端末装置BEに対してストリーミングを開始する(同図(6))。ここで、ストリーム中継用のオブジェクトとは、上流装置からコンテンツ情報を受信し、下流装置へ中継する処理を行うオブジェクトである。このように、端末装置BEは、上流装置を端末装置BA,BBとしてメッシュ型トポロジーに参加することができる。
(トポロジーからの離脱)
次に、端末装置BEがメッシュ型トポロジーから離脱する手順について説明する。離脱する端末装置BEが「ストリーム停止要求メッセージ」をストリーム情報の供給元である上流の端末装置BA,BBのうちのいずれかへ送信し、その後、「接続解除要求メッセージ」を端末装置BA,BBの双方へ送信する。
次に、端末装置BEがメッシュ型トポロジーから離脱する手順について説明する。離脱する端末装置BEが「ストリーム停止要求メッセージ」をストリーム情報の供給元である上流の端末装置BA,BBのうちのいずれかへ送信し、その後、「接続解除要求メッセージ」を端末装置BA,BBの双方へ送信する。
端末装置BA,BBは、「ストリーム停止要求メッセージ」を受信すると、ストリーム中継用オブジェクトを破棄し、端末装置BEに対するストリーミングを停止する。そして、「接続解除要求メッセージ」を受信すると、ノード管理テーブルから端末装置BEの情報を削除し、端末装置BEとの間の接続関係を断ち切る。このように、端末装置BEは、メッシュ型トポロジーから離脱することができる。
ここで、メッシュ型トポロジーから離脱する端末装置BEにおいて、その下流に端末装置が存在する場合には、以下の(a)または(b)のいずれかの手法により、配信経路の復元を行う。
(a)タイムアウト方式による再生
前記下流の端末装置は、上流の端末装置BEからのストリーミング状態を常時監視し、一定時間の間ストリーム供給が途絶したことを契機として、上流装置である端末装置BEとの間の接続状態を破棄し、新たな上流装置と接続する。
(b)イベント通知方式による再生
端末装置BEは、メッシュ型トポロジーから離脱する際、下流の端末装置に向けて離脱イベントを通知する。当該下流装置は、上流から離脱イベントの通知を受けると、上流装置である端末装置BEとの間の接続状態を破棄し、新たな上流装置と接続する。
(a)タイムアウト方式による再生
前記下流の端末装置は、上流の端末装置BEからのストリーミング状態を常時監視し、一定時間の間ストリーム供給が途絶したことを契機として、上流装置である端末装置BEとの間の接続状態を破棄し、新たな上流装置と接続する。
(b)イベント通知方式による再生
端末装置BEは、メッシュ型トポロジーから離脱する際、下流の端末装置に向けて離脱イベントを通知する。当該下流装置は、上流から離脱イベントの通知を受けると、上流装置である端末装置BEとの間の接続状態を破棄し、新たな上流装置と接続する。
[実施例]
次に、本発明の実施形態について詳細に説明する。図3は、ツリーの二重化により形成されたメッシュ型トポロジーについて、その配信経路と制御パスの例を示す図である。図3に示すように、この情報配信システムSは、情報配信装置Aの配下に0系のツリー及び1系のツリーを構築し、各端末装置B2〜BFが両方のツリーに二重に参加することにより、メッシュ型トポロジーを形成する。すなわち、情報配信システムSは、複数の端末装置Bが情報配信装置Aを頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置Bが少なくとも二つの階層構造に参加した状態で、一の階層構造で自装置と接続した上流装置から、コンテンツ情報を受信するものである。情報配信装置Aはコンテンツソースであり、その下流にセカンドノードとして、0系ツリーのルートとなる端末装置B0及び1系ツリーのルートとなる端末装置B1が存在する。また、例えば、端末装置B2において、その上流側には端末装置B0,B5との間の制御パスが存在し、端末装置B0との間では0系接続である現用系の配信経路を形成しており、端末装置B5との間では1系接続である待機系の配信経路となり得る制御パスを形成している。
次に、本発明の実施形態について詳細に説明する。図3は、ツリーの二重化により形成されたメッシュ型トポロジーについて、その配信経路と制御パスの例を示す図である。図3に示すように、この情報配信システムSは、情報配信装置Aの配下に0系のツリー及び1系のツリーを構築し、各端末装置B2〜BFが両方のツリーに二重に参加することにより、メッシュ型トポロジーを形成する。すなわち、情報配信システムSは、複数の端末装置Bが情報配信装置Aを頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置Bが少なくとも二つの階層構造に参加した状態で、一の階層構造で自装置と接続した上流装置から、コンテンツ情報を受信するものである。情報配信装置Aはコンテンツソースであり、その下流にセカンドノードとして、0系ツリーのルートとなる端末装置B0及び1系ツリーのルートとなる端末装置B1が存在する。また、例えば、端末装置B2において、その上流側には端末装置B0,B5との間の制御パスが存在し、端末装置B0との間では0系接続である現用系の配信経路を形成しており、端末装置B5との間では1系接続である待機系の配信経路となり得る制御パスを形成している。
図4は、図3における制御パスを示す図である。図3において、丸印付き太矢印は0系の配信経路を、丸印付き細矢印は0系の制御パスをそれぞれ示し、丸印無し太矢印は1系の配信経路を、丸印無し細矢印は1系の制御パスをそれぞれ示す。また、配信経路は、コンテンツ情報の流れの経路を示し、制御パスは、メッシュ型トポロジーの接続関係を維持するために、コンテンツ情報の配信に用いる制御用メッセージの通信経路を示す。また、各端末装置Bの番号(0〜F)は端末装置Bのノード番号を示す。
図5は、図3における配信経路の一部を示す図である。いま、図5に示すように、情報配信装置Aからのコンテンツ情報が、0系接続の配信経路及び1系接続の配信経路により各端末装置Bへ供給されているとする。ここで、端末装置B0から端末装置B3へのコンテンツ情報の供給においてストリーム途絶事象が発生し、端末装置B3が、上流側に設定されている現用系の端末装置B0から同じく上流側に設定されている待機系の端末装置B4へ切り替えたとすると、配信経路のループが発生してしまう。そこで、本発明の実施形態では、この配信経路のループの発生を事前に検知し、ループを回避する。以下、それらの手順について詳細に説明する。
(待機系上流装置に対するループ検知手順)
まず、待機系上流装置に対する配信経路のループを検知する手順について説明する。このループ検知は、現用系から待機系への切り替えを行う前に、事前に行われる。各端末装置Bは、自装置Bに接続した、コンテンツ情報を受信して配信経路となっている下流方向全ての端末装置を指定して、自装置を識別するためのノード識別子(ノードID)、シーケンス番号及び所在情報(IPアドレス等)を含む自装置専用の「ループ検知パケット」を一定間隔(例えば10分間隔)で送信する。図6では、端末装置B3が、コンテンツ情報が流れている下流側の配信経路へ「ループ検知パケット」を送信している。
まず、待機系上流装置に対する配信経路のループを検知する手順について説明する。このループ検知は、現用系から待機系への切り替えを行う前に、事前に行われる。各端末装置Bは、自装置Bに接続した、コンテンツ情報を受信して配信経路となっている下流方向全ての端末装置を指定して、自装置を識別するためのノード識別子(ノードID)、シーケンス番号及び所在情報(IPアドレス等)を含む自装置専用の「ループ検知パケット」を一定間隔(例えば10分間隔)で送信する。図6では、端末装置B3が、コンテンツ情報が流れている下流側の配信経路へ「ループ検知パケット」を送信している。
端末装置Bは、上流から「ループ検知パケット」を受信すると、自装置の下流に配信経路がある場合のみ、当該「ループ検知パケット」を下流の配信経路へ転送する。同時に、自装置内部で管理しているループ検知パケット登録テーブルに一定時間(例えば「ループ検知パケット」の送信間隔と同一の10分間)だけ当該「ループ検知パケット」の受信事象(例えば、配信元のノードID、所在情報、シーケンス番号及び受信時刻)を、表1に示すように記憶する。
上流から「ループ検知パケット」を受信した端末装置Bは、自装置からみて下流側であって、現用系の配信経路となっていない制御パスに接続される下流の端末装置Bが「ループ検知パケット」の発信元であった場合に、当該発信元における待機系上流装置に対してループが発生する可能性があるものと判断する。図6では、上流から「ループ検知パケット」を受信した端末装置B4は、ノード管理テーブルにより、下流で現用系の配信経路となっていない制御パスに接続される端末装置が端末装置B3であることを認識し、受信した「ループ検知パケット」のノードIDにより発信元が端末装置B3であることを認識し、これらが一致するから、発信元の端末装置B3が待機系の上流端末装置B4に切り替えた場合、端末装置B3から端末装置B4へ、そして端末装置B4から端末装置B3への配信経路にループが発生するものと判断する。
そして、待機系の上流装置に対する配信経路のループを検知した端末装置Bは、「ループ検知パケット」の発信元に対し、ループを回避するように「ループ回避指示メッセージ」を送信する。図6では、端末装置B4が、発信元の端末装置B3に対して「ループ回避指示メッセージ」を送信している。
このように、上流から「ループ検知パケット」を受信した端末装置B4は、下流で現用系の配信経路となっていない制御パスである待機系の配信経路に接続される端末装置B3と、「ループ検知パケット」の発信元である端末装置B3とが一致することから、その配信元である端末装置B3との間で、待機系における配信経路にループが発生するものと判断する。これにより、端末装置B3が現用系から待機系へ上流装置を切り替えた場合に待機系においてループが発生することを、実際に切り替える前に、事前に判断することができる。
(ループ検知後の代替上流装置への切り替え手順)
次に、待機系において配信経路のループを検知した後に、ループが発生しない上流の端末装置(代替上流装置)へ切り替える手順について説明する。端末装置Bは、「ループ回避指示メッセージ」を受信すると、0系または1系のセカンドノード(端末装置B0または端末装置B1)に向けて、自装置のノード識別子(ノードID)、シーケンス番号及び所在情報(IPアドレス等)を含む自装置専用の「代替上流ノード探索パケット要求メッセージ」を送信し、「代替上流ノード探索パケット」を送信するように放送依頼をする。図7では、端末装置B3が、セカンドノードである端末装置B1に対して「代替上流ノード探索パケット」の放送依頼を送信している(図7(1))。
次に、待機系において配信経路のループを検知した後に、ループが発生しない上流の端末装置(代替上流装置)へ切り替える手順について説明する。端末装置Bは、「ループ回避指示メッセージ」を受信すると、0系または1系のセカンドノード(端末装置B0または端末装置B1)に向けて、自装置のノード識別子(ノードID)、シーケンス番号及び所在情報(IPアドレス等)を含む自装置専用の「代替上流ノード探索パケット要求メッセージ」を送信し、「代替上流ノード探索パケット」を送信するように放送依頼をする。図7では、端末装置B3が、セカンドノードである端末装置B1に対して「代替上流ノード探索パケット」の放送依頼を送信している(図7(1))。
セカンドノードである端末装置B0,B1は、「代替上流ノード探索パケット要求メッセージ」(「代替上流ノード探索パケット」の放送依頼)を受信すると、下流方向の全ての端末装置Bの制御パスを介して、「代替上流ノード探索パケット」を送信する。端末装置Bは、上流から「代替上流ノード探索パケット」を受信すると、自装置の下流に制御パスがある場合のみ、当該「代替上流ノード探索パケット」を下流の制御パスへ転送する。
また、「代替上流ノード探索パケット」を受信した端末装置Bは、同時に、自装置内部で管理しているループ検知パケット登録テーブルに、受信した「代替上流ノード探索パケット」の発信元と同じノードIDが登録されていない場合に、自装置が当該発信元の代替上流装置となり得ることを判断する。そして、その端末装置Bは、「代替上流ノード接続許可メッセージ」をその発信元へ送信する。図7では、端末装置B2は、自装置が当該発信元である端末装置B3の代替上流装置となり得ることを判断し、「代替上流ノード接続許可メッセージ」をその発信元である端末装置B3へ送信している(同図(2))。
端末装置Bは、「代替上流ノード接続許可メッセージ」を受信すると、自装置の待機系上流装置の制御パスを「代替上流ノード接続許可メッセージ」の発信元へ切り替える。図8では、端末装置B3は、「代替上流ノード接続許可メッセージ」を端末装置B2から受信し、自装置の待機系上流装置の制御パスを、端末装置B4から「代替上流ノード接続許可メッセージ」の発信元である端末装置B2へ切り替える(図8(3))。
これにより、端末装置B2は、端末装置B3からみて下流に存在しないから、端末装置B3から端末装置B2へ、そして端末装置B2から端末装置B3へのループが発生することはない。したがって、情報配信システムSにおいて、端末装置B3が現用系から待機系へ切り替えた場合に待機系においてループ(端末装置B4との間のループ)が発生することを事前に判断した後、待機系における代替上流装置として端末装置B2を特定し、端末装置B3は、上流装置として、ループの発生する端末装置B4からループの発生しない端末装置B2へ切り替えることができる。つまり、待機系における配信経路のループを回避することができる。
[端末装置]
次に、情報配信システムSにおける端末装置Bの構成及び処理について説明する。図9は、端末装置Bの構成を示す図である。この端末装置Bは、一般のパーソナルコンピュータを適用可能であり、内部の機器等に電源を供給する主電源202と、主電源202を補助する補助電源203と、各種情報等を記憶するハードディスク装置204と、プログラムに従って所定の処理を実行するCPU(Central Processing Unit)205と、インターネットを介して情報配信装置A及び接続候補紹介装置Cとの間で通信を行うネットワークインタフェース206と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置207と、ユーザの操作に従ってユーザ入力用リモコン222から所定の情報を入力する入力部を制御する周辺機器制御チップ208と、ユーザ入力用リモコン222からの所定の情報を赤外線により入力する赤外線ポート209と、CPU205からイメージ情報を受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだ情報を後述の内蔵ディスプレイ211に表示するビデオチップ210と、ビデオチップ210から送信される信号に応じた表示を行う内蔵ディスプレイ211と、FM(Frequency Modulation)音源及びウェーブテーブル(Wave Table)音源等を有する音源チップ212と、音源チップ212から出力されるオーディオ信号を音波に変換するスピーカ213とを備えて構成される。また、これらの各種構成要素はシステムバス201を介して相互に接続され、CPU205及び主記憶装置207により制御部224を構成する。また、ネットワークインタフェース206は、ルータ223を介してネットワークに接続される。
次に、情報配信システムSにおける端末装置Bの構成及び処理について説明する。図9は、端末装置Bの構成を示す図である。この端末装置Bは、一般のパーソナルコンピュータを適用可能であり、内部の機器等に電源を供給する主電源202と、主電源202を補助する補助電源203と、各種情報等を記憶するハードディスク装置204と、プログラムに従って所定の処理を実行するCPU(Central Processing Unit)205と、インターネットを介して情報配信装置A及び接続候補紹介装置Cとの間で通信を行うネットワークインタフェース206と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置207と、ユーザの操作に従ってユーザ入力用リモコン222から所定の情報を入力する入力部を制御する周辺機器制御チップ208と、ユーザ入力用リモコン222からの所定の情報を赤外線により入力する赤外線ポート209と、CPU205からイメージ情報を受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだ情報を後述の内蔵ディスプレイ211に表示するビデオチップ210と、ビデオチップ210から送信される信号に応じた表示を行う内蔵ディスプレイ211と、FM(Frequency Modulation)音源及びウェーブテーブル(Wave Table)音源等を有する音源チップ212と、音源チップ212から出力されるオーディオ信号を音波に変換するスピーカ213とを備えて構成される。また、これらの各種構成要素はシステムバス201を介して相互に接続され、CPU205及び主記憶装置207により制御部224を構成する。また、ネットワークインタフェース206は、ルータ223を介してネットワークに接続される。
(主記憶装置)
また、主記憶装置207には、情報配信装置Aから又は他の端末装置Bから受信したコンテンツ情報を一時的に記憶するリングバッファ214と、図示しないノード管理テーブルに従って、情報配信装置Aから又は他の端末装置Bから中継されてストリーミング配信されるコンテンツ情報を受信すると共に、受信したコンテンツ情報を下流に接続された他の端末装置Bへ中継するために実行されるストリーム制御プログラム215と、ノード管理テーブルにより、上流及び下流の端末装置Bの所在情報の管理を行うと共に、メッシュ型トポロジーへの参加及び離脱の処理を制御するトポロジー制御プログラム216と、配信経路のループを検知し、当該ループを回避するためのループ検知プログラム217と、端末装置Bのコンピュータとしての基本的な機能を提供するためのオペレーティングシステムプログラム218と、内蔵ディスプレイ211を制御するための画面制御プログラム219と、エンコードされたストリームコンテンツの情報をデコードするためのデコーダプログラム220と、上流側から受信した「ループ検知パケット」の受信事象の情報(表1を参照)から成るループ検知パケット登録テーブル221とがそれぞれ記憶されている。制御部224において、CPU205は、主記憶装置207からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
また、主記憶装置207には、情報配信装置Aから又は他の端末装置Bから受信したコンテンツ情報を一時的に記憶するリングバッファ214と、図示しないノード管理テーブルに従って、情報配信装置Aから又は他の端末装置Bから中継されてストリーミング配信されるコンテンツ情報を受信すると共に、受信したコンテンツ情報を下流に接続された他の端末装置Bへ中継するために実行されるストリーム制御プログラム215と、ノード管理テーブルにより、上流及び下流の端末装置Bの所在情報の管理を行うと共に、メッシュ型トポロジーへの参加及び離脱の処理を制御するトポロジー制御プログラム216と、配信経路のループを検知し、当該ループを回避するためのループ検知プログラム217と、端末装置Bのコンピュータとしての基本的な機能を提供するためのオペレーティングシステムプログラム218と、内蔵ディスプレイ211を制御するための画面制御プログラム219と、エンコードされたストリームコンテンツの情報をデコードするためのデコーダプログラム220と、上流側から受信した「ループ検知パケット」の受信事象の情報(表1を参照)から成るループ検知パケット登録テーブル221とがそれぞれ記憶されている。制御部224において、CPU205は、主記憶装置207からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
ここで、オペレーティングシステムプログラム218は、CPU205によって読み出して実行することにより、端末装置Bであるコンピュータの基本的な機能を実行可能にする。そして、このオペレーティングシステムプログラム218がCPU205によって実行された状態で、主記憶装置207に記憶された、オペレーティングシステムプログラム218以外の各プログラムが実行される。
尚、主記憶装置207の各プログラムは、例えば、インターネットに接続されたサーバ等からダウンロードして記憶するようにしてもよいし、CD−ROM等の記憶媒体に記録してから当該記憶媒体のドライブを介して読み込んで記憶するようにしてもよい。
また、本発明の実施形態では、ストリーム制御プログラム215、トポロジー制御プログラム216、ループ検知プログラム217等の各プログラムをそれぞれ個別に記載しているが、これらのプログラムを一つの情報配信システム用プログラムとして、主記憶装置207に記憶させるようにしてもよい。
(制御部)
制御部224は、前述のようにCPU205及び主記憶装置207から構成され、CPU205が主記憶装置207に記憶された各種プログラムを読み出して実行することにより、端末装置B全体を統括制御するものである。特に、本発明の実施形態では、端末装置Bが上流装置を現用系から待機系へ切り替える際に、待機系における配信経路にループが発生することを回避するために、制御部224は、「ループ検知パケット(循環接続検知情報)」を送信する循環検知情報送信手段、「ループ検知パケット」を受信する循環検知情報受信手段、「ループ検知パケット」を中継する循環検知情報中継手段、下流装置であるか否かを判断する下流端末判断手段、「ループ回避指示メッセージ(循環接続回避指示情報)」を送信する循環回避指示送信手段、「ループ回避指示メッセージ」を受信する循環回避指示受信手段、「ループ検知パケット」を記憶する循環検知情報記憶手段、「代替上流ノード探索パケット配信要求メッセージ(探索情報配信要求)」を送信する探索情報配信要求送信手段、「代替上流ノード探索パケット配信要求メッセージ」を受信する探索情報配信要求受信手段、「代替上流ノード探索パケット(代替上流端末装置探索情報)」を配信する探索情報配信手段、代替上流ノード探索パケット」を受信する探索情報受信手段、代替上流ノード探索パケット」を中継する探索情報中継手段、「代替上流ノード接続許可メッセージ(代替上流端末装置接続許可情報)」を送信する接続許可送信手段、「代替上流ノード接続許可メッセージ」を受信する接続許可受信手段、及び、代替上流装置への接続を行う代替上流端末接続手段として機能するようになっている。
制御部224は、前述のようにCPU205及び主記憶装置207から構成され、CPU205が主記憶装置207に記憶された各種プログラムを読み出して実行することにより、端末装置B全体を統括制御するものである。特に、本発明の実施形態では、端末装置Bが上流装置を現用系から待機系へ切り替える際に、待機系における配信経路にループが発生することを回避するために、制御部224は、「ループ検知パケット(循環接続検知情報)」を送信する循環検知情報送信手段、「ループ検知パケット」を受信する循環検知情報受信手段、「ループ検知パケット」を中継する循環検知情報中継手段、下流装置であるか否かを判断する下流端末判断手段、「ループ回避指示メッセージ(循環接続回避指示情報)」を送信する循環回避指示送信手段、「ループ回避指示メッセージ」を受信する循環回避指示受信手段、「ループ検知パケット」を記憶する循環検知情報記憶手段、「代替上流ノード探索パケット配信要求メッセージ(探索情報配信要求)」を送信する探索情報配信要求送信手段、「代替上流ノード探索パケット配信要求メッセージ」を受信する探索情報配信要求受信手段、「代替上流ノード探索パケット(代替上流端末装置探索情報)」を配信する探索情報配信手段、代替上流ノード探索パケット」を受信する探索情報受信手段、代替上流ノード探索パケット」を中継する探索情報中継手段、「代替上流ノード接続許可メッセージ(代替上流端末装置接続許可情報)」を送信する接続許可送信手段、「代替上流ノード接続許可メッセージ」を受信する接続許可受信手段、及び、代替上流装置への接続を行う代替上流端末接続手段として機能するようになっている。
以下、端末装置Bに備えた制御部224の処理について、図11−1〜図11−4を用いて詳細に説明する。
(初期化)
ステップS01において、主電源202により端末装置Bが起動すると、端末装置Bに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、ステップS02において、端末装置Bは、ユーザ入力用リモコン222を介したユーザからの参加要求が入力され、この参加要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーへ参加するための手続きを開始する。
(初期化)
ステップS01において、主電源202により端末装置Bが起動すると、端末装置Bに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、ステップS02において、端末装置Bは、ユーザ入力用リモコン222を介したユーザからの参加要求が入力され、この参加要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーへ参加するための手続きを開始する。
(終了)
ステップS14において、端末装置Bの主電源202がOFFされたのを契機として各種プログラムの終了処理を実施した後、ステップS15において、制御部224は、補助電源203をOFFすることにより終了処理が完了する。
ステップS14において、端末装置Bの主電源202がOFFされたのを契機として各種プログラムの終了処理を実施した後、ステップS15において、制御部224は、補助電源203をOFFすることにより終了処理が完了する。
(トポロジーへの参加)
前記トポロジーへの参加要求を契機として、端末装置Bは参加手続きを開始する。具体的には、ステップS13において、制御部224は、「上流ノード紹介要求メッセージ」を接続候補紹介装置Cへ送信し、「検索結果」として上流装置候補の受信(応答)を待つ。
前記トポロジーへの参加要求を契機として、端末装置Bは参加手続きを開始する。具体的には、ステップS13において、制御部224は、「上流ノード紹介要求メッセージ」を接続候補紹介装置Cへ送信し、「検索結果」として上流装置候補の受信(応答)を待つ。
ステップS16〜S18において、制御部224は、接続候補紹介装置Cから「検索結果」として上流装置候補を受信すると、「接続要求メッセージ」及び「ストリーム要求メッセージ」を上流装置候補の端末装置へ送信する。これにより、トポロジーへ参加する端末装置と上流装置候補の端末装置との間のセッションが確立する。これらの処理は、0系及び1系の両方について、上流装置に対して実施する。
そして、ステップS19において、制御部224は、0系及び1系の上流装置のうち、階層レベルの小さい上流装置に対して「ストリーム開始要求メッセージ」を送信する。階層レベルの小さい上流装置からコンテンツ情報を供給するのは、情報配信装置Aからのコンテンツ情報の伝播遅延及びストリーム品質の劣化を抑制する点で有利だからである。そして、ステップS20において、制御部224は、「トポロジー参加報告」を接続候補紹介装置Cへ送信する。これにより、参加を要求する端末装置Bは、トポロジーへ参加することができる。
(コンテンツ情報の中継及び再生)
制御部224は、上流装置からコンテンツ情報のパケット(コンテンツパケット)を受信した場合(ステップS21;YES)、ステップS22において、自装置直下に下流の端末装置が存在しているか否かを、ノード管理テーブルにより調べる。下流装置が存在する場合は、ステップS23において、受信したコンテンツパケットを中継し、ステップS24へ移行する。下流ノードが存在しない場合は、受信したコンテンツパケットを中継しない。そして、ステップS24において、デコーダプログラム220によって、コンテンツパケットをデコードし、デコードしたコンテンツデータをビデオチップ210及び音源チップ212を介して再生する。
制御部224は、上流装置からコンテンツ情報のパケット(コンテンツパケット)を受信した場合(ステップS21;YES)、ステップS22において、自装置直下に下流の端末装置が存在しているか否かを、ノード管理テーブルにより調べる。下流装置が存在する場合は、ステップS23において、受信したコンテンツパケットを中継し、ステップS24へ移行する。下流ノードが存在しない場合は、受信したコンテンツパケットを中継しない。そして、ステップS24において、デコーダプログラム220によって、コンテンツパケットをデコードし、デコードしたコンテンツデータをビデオチップ210及び音源チップ212を介して再生する。
(トポロジーからの離脱)
端末装置Bは、ユーザ入力用リモコン222を介したユーザからの離脱要求が入力されると(ステップ25;YES)、この離脱要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーから離脱するための手続きを開始する。ステップS26〜S28において、制御部224は、現用系の上流装置に対して「ストリーム停止要求メッセージ」及び「接続解除要求メッセージ」を、待機系の上流装置に対して「接続解除要求メッセージ」をそれぞれ送信する。そして、ステップS29において、制御部224は、「トポロジー離脱報告」を接続候補紹介装置Cへ送信する。これにより、離脱を要求する端末装置Bは、トポロジーから離脱することができる。
端末装置Bは、ユーザ入力用リモコン222を介したユーザからの離脱要求が入力されると(ステップ25;YES)、この離脱要求を契機として、コンテンツ情報の配信を行うメッシュ型トポロジーから離脱するための手続きを開始する。ステップS26〜S28において、制御部224は、現用系の上流装置に対して「ストリーム停止要求メッセージ」及び「接続解除要求メッセージ」を、待機系の上流装置に対して「接続解除要求メッセージ」をそれぞれ送信する。そして、ステップS29において、制御部224は、「トポロジー離脱報告」を接続候補紹介装置Cへ送信する。これにより、離脱を要求する端末装置Bは、トポロジーから離脱することができる。
(下流の端末装置の参加及び離脱)
ステップS30,S32において、制御部224は、下流装置におけるトポロジーの参加/離脱を契機として、下流装置から「接続要求メッセージ」/「接続解除要求メッセージ」を受信したか否かを判断する。そして、ステップS31,S33において、制御部224は、各々のメッセージを受信後、下流装置の接続情報を更新する目的で、ノード管理テーブルに対して下流装置に関する情報の登録/削除を実施する。
ステップS30,S32において、制御部224は、下流装置におけるトポロジーの参加/離脱を契機として、下流装置から「接続要求メッセージ」/「接続解除要求メッセージ」を受信したか否かを判断する。そして、ステップS31,S33において、制御部224は、各々のメッセージを受信後、下流装置の接続情報を更新する目的で、ノード管理テーブルに対して下流装置に関する情報の登録/削除を実施する。
(ストリーミングの開始及び終了)
ステップS34〜S37において、制御部224は、下流装置から「ストリーム開始要求メッセージ」/「ストリーム停止要求メッセージ」を受信すると、当該下流装置に対してストリーミングの開始/終了を実施する。
ステップS34〜S37において、制御部224は、下流装置から「ストリーム開始要求メッセージ」/「ストリーム停止要求メッセージ」を受信すると、当該下流装置に対してストリーミングの開始/終了を実施する。
(上流の端末装置の切り替え)
ステップS38〜S40において、何らかの不具合が発生して現用系の上流装置からコンテンツ情報が供給されなくなった場合、制御部224は、「ストリーム停止要求メッセージ」を現用系の上流装置へ送信し、その後、「ストリーム開始要求メッセージ」を待機系の上流装置へ送信する。これにより、現用系から待機系への上流装置の切り替えが完了する。
ステップS38〜S40において、何らかの不具合が発生して現用系の上流装置からコンテンツ情報が供給されなくなった場合、制御部224は、「ストリーム停止要求メッセージ」を現用系の上流装置へ送信し、その後、「ストリーム開始要求メッセージ」を待機系の上流装置へ送信する。これにより、現用系から待機系への上流装置の切り替えが完了する。
(待機系上流装置に対するループ検知)
端末装置Bは、所定の時間間隔をあけて定期的(例えば10分間隔)に、待機系上流装置に対する配信経路のループが存在するか否かの検査を繰り返す。ステップS41〜S43において、制御部224は、配信経路のループ監視を契機として、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、自装置を識別するための識別情報(自装置のノード識別子、所在情報等)を含む「ループ検知パケット(循環接続検知情報)」を、当該制御部224を備えた自装置からコンテンツ情報を受信している下流装置へ送信する。このようなステップを実行する制御部224は、循環検知情報送信手段として機能する。
端末装置Bは、所定の時間間隔をあけて定期的(例えば10分間隔)に、待機系上流装置に対する配信経路のループが存在するか否かの検査を繰り返す。ステップS41〜S43において、制御部224は、配信経路のループ監視を契機として、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、自装置を識別するための識別情報(自装置のノード識別子、所在情報等)を含む「ループ検知パケット(循環接続検知情報)」を、当該制御部224を備えた自装置からコンテンツ情報を受信している下流装置へ送信する。このようなステップを実行する制御部224は、循環検知情報送信手段として機能する。
ステップS44において、制御部224は、「ループ検知パケット(循環接続検知情報)」を受信したか否かを判断する。このようなステップを実行する制御部224は、循環検知情報受信手段として機能する。そして、「ループ検知パケット(循環接続検知情報)」を受信すると(ステップS44;YES)、ステップS45において、制御部224は、当該「ループ検知パケット」の識別情報に基づいて、発信元が自装置の下流装置として接続済みであるか否かを、ノード管理テーブルにて判断する。このようなステップを実行する制御部224は、下流端末判断手段として機能する。そして、接続済みであると判断した場合(「ループ検知パケット」の発信元が自装置の下流装置である場合)には、ステップS46において、制御部224は、自装置と、「ループ検知パケット」の発信元との間で配信経路のループが発生すると判断し、「ループ回避指示メッセージ(循環接続回避指示情報)」を配信元へ送信する。このようなステップを実行する制御部224は、循環回避指示送信手段として機能する。接続済みでない場合(「ループ検知パケット」の発信元が自装置の下流装置でない場合)には、ステップS46の送信処理をスキップする。
そして、ステップS47において、制御部224は、「ループ検知パケット(循環接続検知情報)」の受信事象(例えば、配信元のノードID、所在情報、シーケンス番号及び受信時刻)をループ検知パケット登録テーブル221に記録する。この場合、制御部224は、一定時間(例えば、「ループ検知パケット」を送信してループの存在を検査する時間間隔と同じ時間)経過したときに、この記録を消去する。このようなステップを実行する制御部224は、循環検知情報記憶手段として機能する。
そして、ステップS48,S49において、制御部224は、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、存在している場合は、「ループ検知パケット(循環接続検知情報)」を下流装置へ中継する。存在しない場合は中継しない。このようなステップを実行する制御部224は、循環検知情報中継手段として機能する。
他方、ステップS50において、制御部224は、「ループ回避指示メッセージ(循環接続回避指示情報)」を受信する。このようなステップを実行する制御部224は、循環回避指示受信手段として機能する。そして、ステップS51において、制御部224は、自装置を識別するための識別情報(自装置のノード識別子、所在情報等)を含む「代替上流ノード探索パケット配信要求メッセージ(検索情報配信要求)」を0系または1系のセカンドノード(端末装置B0または端末装置B1)へ送信し、「代替上流ノード探索パケット(代替上流端末装置探索情報)」を送信するように依頼をする。このようなステップを実行する制御部224は、探索情報配信要求送信手段として機能する。
(ループ検知後の代替上流端末装置への切り替え)
ステップS52において、制御部224は、前記識別情報(待機系の上流装置に関して、配信経路のループが存在する端末装置の識別情報)を含む「代替上流ノード探索パケット配信要求メッセージ(検索情報配信要求)」を受信したか否かを判断する。このようなステップを実行する制御部224は、探索情報配信要求受信手段として機能する。そして、代替上流ノード探索パケット配信要求メッセージを受信すると(ステップS52;YES)、ステップS53,S54において、制御部224は、代替上流ノード探索パケット配信要求を契機に、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、前記識別情報を含む「代替上流ノード探索パケット(代替上流端末装置探索情報)」を自装置の下流装置へ向けて配信する。このようなステップを実行する制御部224は、探索情報配信手段として機能する。
ステップS52において、制御部224は、前記識別情報(待機系の上流装置に関して、配信経路のループが存在する端末装置の識別情報)を含む「代替上流ノード探索パケット配信要求メッセージ(検索情報配信要求)」を受信したか否かを判断する。このようなステップを実行する制御部224は、探索情報配信要求受信手段として機能する。そして、代替上流ノード探索パケット配信要求メッセージを受信すると(ステップS52;YES)、ステップS53,S54において、制御部224は、代替上流ノード探索パケット配信要求を契機に、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、前記識別情報を含む「代替上流ノード探索パケット(代替上流端末装置探索情報)」を自装置の下流装置へ向けて配信する。このようなステップを実行する制御部224は、探索情報配信手段として機能する。
他方、ステップS55において、制御部224は、前記識別情報を含む「代替上流ノード探索パケット(代替上流端末装置探索情報)」を受信したか否かを判断する。このようなステップを実行する制御部224は、探索情報受信手段として機能する。そして、代替上流ノード探索パケットを受信すると(ステップS55;YES)、ステップS56,S57において、制御部224は、自装置のループ検知パケット登録テーブル221に、発信元が一致する「ループ検知パケット」の受信事象の記録が存在するか否かを判断し、存在していない場合には、「代替上流ノード接続許可メッセージ(代替上流端末装置接続許可情報)」を「代替上流ノード探索パケット」の発信元(「代替上流ノード探索パケット」に含まれる識別情報が示す端末装置)へ送信して、待機系における上流装置に関するループ回避用代替端末装置として接続可能なことを知らせる。このようなステップを実行する制御部224は、接続許可送信手段として機能する。
そして、ステップS58,S59において、制御部224は、自装置直下に下流装置が存在しているか否かをノード管理テーブルにより調べ、前記識別情報を含む「代替上流ノード探索パケット(代替上流端末装置探索情報)」を自装置の下流装置へ向けて中継する。このようなステップを実行する制御部224は、探索情報中継手段として機能する。
他方、ステップS60において、制御部224は、「代替上流ノード接続許可メッセージ(代替上流端末装置接続許可情報)」を受信したか否かを判断する。このようなステップを実行する制御部224は、接続許可受信手段として機能する。そして、代替上流ノード接続許可メッセージを受信すると(ステップS60;YES)、ステップS61において、制御部224(待機系上流装置に関して、配信経路のループが存在する端末装置の制御部224)は、現在の待機系接続を「代替上流ノード接続許可メッセージ(代替上流端末装置接続許可情報)」の発信元へ切り替える。このようなステップを実行する制御部224は、代替上流端末接続手段として機能する。これにより、待機系において、配信経路のループが発生することを事前に回避することができる。
[接続候補紹介装置]
次に、情報配信システムSにおける接続候補紹介装置Cの構成及び処理について説明する。図10は、接続候補紹介装置Cの構成を示す図である。この接続候補紹介装置Cは、一般のサーバコンピュータを適用可能であり、プログラムに従って所定の処理を実行するCPU402と、端末装置Bに関するノード番号、IPアドレス及び接続情報等のトポロジー管理情報が格納されたトポロジーデータベース411、並びに、情報配信装置A及び端末装置Bの所在情報等が格納された端末管理データベース412等により構成されたハードディスク装置403と、インターネットを介して端末装置Bとの間で通信を行うネットワークインタフェース404と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置405と、所定の情報を入力可能なキーボード407及びマウス408の入力部を制御する周辺機器制御チップ406と、CPU402からイメージ情報を受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだ情報を後述のディスプレイ410に表示するビデオチップ409とを備えて構成される。また、これらの各種構成要素はシステムバス401を介して相互に接続され、CPU402及び主記憶装置405により制御部419を構成する。
次に、情報配信システムSにおける接続候補紹介装置Cの構成及び処理について説明する。図10は、接続候補紹介装置Cの構成を示す図である。この接続候補紹介装置Cは、一般のサーバコンピュータを適用可能であり、プログラムに従って所定の処理を実行するCPU402と、端末装置Bに関するノード番号、IPアドレス及び接続情報等のトポロジー管理情報が格納されたトポロジーデータベース411、並びに、情報配信装置A及び端末装置Bの所在情報等が格納された端末管理データベース412等により構成されたハードディスク装置403と、インターネットを介して端末装置Bとの間で通信を行うネットワークインタフェース404と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置405と、所定の情報を入力可能なキーボード407及びマウス408の入力部を制御する周辺機器制御チップ406と、CPU402からイメージ情報を受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだ情報を後述のディスプレイ410に表示するビデオチップ409とを備えて構成される。また、これらの各種構成要素はシステムバス401を介して相互に接続され、CPU402及び主記憶装置405により制御部419を構成する。
(主記憶装置)
また、主記憶装置405には、複数の端末装置Bの所在情報(IPアドレス及びポート番号)を管理するための端末管理プログラム413と、複数の端末装置Bによるメッシュ型トポロジーを構築及び管理するためのトポロジー管理プログラム414と、当該接続候補紹介装置Cにおける処理全体の運用管理を行う運用管理プログラム415と、接続候補紹介装置Cのコンピュータとしての基本的な機能を提供するためのOSプログラム416と、端末装置Bから送信される「上流ノード紹介要求」に対応する上流ノード候補を選択し、端末装置Bへ検索結果として送信するための接続先紹介プログラム417が記憶されている。制御部419において、CPU402は、主記憶装置405からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
また、主記憶装置405には、複数の端末装置Bの所在情報(IPアドレス及びポート番号)を管理するための端末管理プログラム413と、複数の端末装置Bによるメッシュ型トポロジーを構築及び管理するためのトポロジー管理プログラム414と、当該接続候補紹介装置Cにおける処理全体の運用管理を行う運用管理プログラム415と、接続候補紹介装置Cのコンピュータとしての基本的な機能を提供するためのOSプログラム416と、端末装置Bから送信される「上流ノード紹介要求」に対応する上流ノード候補を選択し、端末装置Bへ検索結果として送信するための接続先紹介プログラム417が記憶されている。制御部419において、CPU402は、主記憶装置405からこれらのプログラムを読み出し、それぞれのプログラムに従った機能を実行する。
ここで、オペレーティングシステムプログラム416は、CPU402によって読み出されて実行されることにより、接続候補紹介装置Cであるコンピュータの基本的な機能を実行可能にする。そして、このオペレーティングシステムプログラム416がCPU402によって実行された状態で、主記憶装置405に記憶されたオペレーティングシステムプログラム416以外の各プログラムが実行される。
尚、主記憶装置405の各プログラムは、例えば、インターネットに接続されたサーバ等からダウンロードして記憶するようにしてもよいし、CD−ROM等の記憶媒体に記録してから当該記憶媒体のドライブを介して読み込んで記憶するようにしてもよい。
(初期化)
ステップS101において、接続候補紹介装置Cが起動すると、接続候補紹介装置Cに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、接続候補紹介装置Cは、情報配信装置A及び端末装置Bから要求メッセージを受信できる状態となる。
ステップS101において、接続候補紹介装置Cが起動すると、接続候補紹介装置Cに記憶された各種プログラムが初期化される。この各種プログラムの初期化が完了した後、接続候補紹介装置Cは、情報配信装置A及び端末装置Bから要求メッセージを受信できる状態となる。
(情報配信装置の登録及び削除)
ステップS102〜S104において、制御部419は、端末管理プログラム413により、情報配信装置Aからの「登録要求」を受信すると、情報配信装置Aの所在情報を端末管理データベース412に登録し、新しいチャンネルの情報をトポロジーデータベース411に登録する。一方、ステップS102〜S104において、制御部419は、端末管理プログラム413により、情報配信装置Aからの「登録削除要求」を受信すると、情報配信装置Aの所在情報を端末管理データベース412から削除し、該当するチャンネル情報をトポロジーデータベース411から削除する。
ステップS102〜S104において、制御部419は、端末管理プログラム413により、情報配信装置Aからの「登録要求」を受信すると、情報配信装置Aの所在情報を端末管理データベース412に登録し、新しいチャンネルの情報をトポロジーデータベース411に登録する。一方、ステップS102〜S104において、制御部419は、端末管理プログラム413により、情報配信装置Aからの「登録削除要求」を受信すると、情報配信装置Aの所在情報を端末管理データベース412から削除し、該当するチャンネル情報をトポロジーデータベース411から削除する。
(上流装置候補の紹介)
ステップS106〜S108において、制御部419は、接続先紹介プログラム417により、端末装置Bから「上流ノード紹介要求メッセージ」を受信すると、トポロジーデータベース411から下流側に接続可能な端末装置Bの候補を検索し、2つの上流装置候補を「検索結果」として要求元の端末装置Bへ送信する。
ステップS106〜S108において、制御部419は、接続先紹介プログラム417により、端末装置Bから「上流ノード紹介要求メッセージ」を受信すると、トポロジーデータベース411から下流側に接続可能な端末装置Bの候補を検索し、2つの上流装置候補を「検索結果」として要求元の端末装置Bへ送信する。
(トポロジー情報の更新)
ステップS109,S110において、制御部419は、トポロジー管理プログラム414により、端末装置Bから「トポロジー参加報告」/「トポロジー離脱報告」を受信すると、トポロジーに変動があったと判断し、トポロジーデータベース411を更新する。
ステップS109,S110において、制御部419は、トポロジー管理プログラム414により、端末装置Bから「トポロジー参加報告」/「トポロジー離脱報告」を受信すると、トポロジーに変動があったと判断し、トポロジーデータベース411を更新する。
以上、端末装置B及び接続候補紹介装置Cの構成及び処理について説明したが、情報配信装置Aについては、発明内容の特徴を示す構成及び処理が含まれないので、ここでは説明を省略する。
以上のように、本発明の実施形態によれば、情報配信システムSにおいて、上流から「ループ検知パケット」を受信した端末装置Bは、下流で現用系の配信経路となっていない制御パスである待機系に接続される端末装置と、「ループ検知パケット」の発信元とが一致するか否かを判断し、一致する場合に、待機系においてループが発生するものと判断する。これにより、待機系上流装置に対するループが発生することを、実際に現用系から待機系へ切り替える前に、事前に判断することができる。すなわち、待機系におけるループ検知は、前記待機系に接続される端末装置の識別番号と「ループ検知パケット」の発信元の識別番号とが一致するか否かにより判断するようにしたから、簡易な手法により検知が可能となる。また、背景技術において示した特許文献1では、ループ検知のためのパケットを上流へ向けて送信していることから、特定の端末装置においてパケットの集中が起こり易い。これに対し、本発明の実施形態では、「ループ検知パケット」を下流へ向けて送信していることから、特許文献1とは異なり、特定の端末装置においてパケットの集中が起き難く、処理負荷を低減することができる。
また、本発明の実施形態によれば、現用系から待機系へ切り替えた場合に待機系においてループが発生することを事前に判断した後、セカンドノードである端末装置B0,B1から下流へ向けて「代替上流ノード検索パケット」を送信し、「代替上流ノード検索パケット」を受信した端末装置であって「ループ検出パケット」を受信していない端末装置を代替上流装置とするようにした。これにより、待機系における上流の端末装置として、ループの発生する端末装置の代わりにループの発生しない代替上流装置へ切り替えることでき、待機系におけるループを回避することができる。つまり、簡易な手法によりループの回避が可能となる。
このように、本発明の実施形態では、待機系における上流装置に対するループ検知と、ループの発生しない代替上流装置の特定とを、現用系から待機系へ実際に切り替える前に行うようにした。従来では、ループは現用系から待機系へ切り替えた後にしか分からなかったが、ループ状態を事前に回避することができるので、情報配信システムSしての信頼性を向上させることができる。また、前記実施形態では、現用系から待機系へ上流装置を切り替える場合の例を示したが、待機系から現用系へ上流装置を切り替える場合にも同様に適用することができる。
[変形例]
以下、本発明の実施形態の変形例について説明する。前記実施形態において、端末装置Bは、所定の時間間隔をあけて定期的に、「ループ検知パケット」を配信経路に沿って下流へ送信し、待機系において配信経路のループが発生するか否かの検査を繰り返すようにしたが、「ループ検知パケット」を送信してループの発生の検査を繰り返すタイミングを、ランダムに行うようにしてもよい。この場合、端末装置Bの制御部における循環検知情報送信手段は、ランダムに設定された時間間隔で「ループ検知パケット」を送信するように機能する。例えば、前記実施形態では、端末装置Bにおける下流側の最大接続数を2とした場合、情報配信システムSに100万の端末装置Bが参加したときであっても、ルートパス(端末装置からコンテンツソースである情報配信装置Aに至るパス)には高々20ノードしか存在しないので基本的にトラフィックの集中が起きる確率は低いが、前記変形例が加われば集中が起きる確率を一層低下させることが可能となる。
以下、本発明の実施形態の変形例について説明する。前記実施形態において、端末装置Bは、所定の時間間隔をあけて定期的に、「ループ検知パケット」を配信経路に沿って下流へ送信し、待機系において配信経路のループが発生するか否かの検査を繰り返すようにしたが、「ループ検知パケット」を送信してループの発生の検査を繰り返すタイミングを、ランダムに行うようにしてもよい。この場合、端末装置Bの制御部における循環検知情報送信手段は、ランダムに設定された時間間隔で「ループ検知パケット」を送信するように機能する。例えば、前記実施形態では、端末装置Bにおける下流側の最大接続数を2とした場合、情報配信システムSに100万の端末装置Bが参加したときであっても、ルートパス(端末装置からコンテンツソースである情報配信装置Aに至るパス)には高々20ノードしか存在しないので基本的にトラフィックの集中が起きる確率は低いが、前記変形例が加われば集中が起きる確率を一層低下させることが可能となる。
また、前記実施形態において、端末装置Bは、「ループ検知パケット」を、メッシュ型トポロジーを形成する最下流の端末装置(リーフノード)にまで中継するようにしたが、「ループ検知パケット」に中継回数を記録する領域を設け、中継する毎にその中継回数をインクリメントするようにし、予め設定された回数未満の場合に当該パケットを中継し、予め設定された回数以上の場合に当該パケットの中継を中止するようにしてもよい。一般に、配信経路に存在するループにはサイズがあり、ループ経路の中継段数が少ないループ(小ループ)は、各端末装置Bにおいて現用系と待機系との間で上流端末装置の階層差が小さい場合に起きる。ループ経路の中継段数が多いループ(大ループ)は、各端末装置Bにおいて現用系と待機系との間の上流装置の階層差が大きい場合に起きる。そこで、端末装置Bにおいて現用系の上流装置から待機系の上流装置へ切り替える場合に、常時、現用系と待機系との間の上流装置の階層差を一定水準以下に抑制するように制御すれば、小ループしか起きえないことになるから、端末装置Bは、「ループ検知パケット」を最下流の端末装置にまで転送する必要はない。前記変形例によれば、端末装置Bにおいて「ループ検知パケット」の中継処理回数を制限するようにしたから、端末装置Bにおいて中継すべき「ループ検知パケット」の総量を減らすことができ、処理負荷を低減することができる。
また、前記実施形態において、セカンドノードである端末装置B0,B1は、「代替上流ノード探索パケット」を下流へ向けて送信し、代替上流装置を探索するようにした。この場合、多数の端末装置が代替上流装置に適合することがあり得る。そうすると、適合した代替上流装置から「代替上流ノード接続許可メッセージ」が発信元へ返信され、パケットの集中が生じてしまう。これに対して、変形例では、セカンドノードである端末装置B0,B1が、「代替上流ノード探索パケット」に接続条件(例えば、AS(Autonomous System)番号または/及びISP名が一致する場合のみ接続するという条件)を付与し、端末装置Bが、「代替上流ノード探索パケット」を受信し、代替上流装置の適合処理の際に、前記接続条件に適合した場合「代替上流ノード接続許可メッセージ」を返信する。この場合、端末装置Bの制御部における接続許可送信手段は、前述のように機能する。これにより、パケットの集中を回避することができ、処理負荷を低減することができる。
S 情報配信システム
A 情報配信装置
B 端末装置
C 接続候補紹介装置
205,402 CPU
207,405 主記憶装置
224,419 制御部
A 情報配信装置
B 端末装置
C 接続候補紹介装置
205,402 CPU
207,405 主記憶装置
224,419 制御部
Claims (9)
- ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムにおける端末装置であって、
自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、
前記制御部は、
自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を送信する循環検知情報送信手段と、
前記循環接続検知情報を受信する循環検知情報受信手段と、
受信した前記循環接続検知情報を、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、
前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、
前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とする端末装置。 - 前記制御部は、
受信した前記循環接続検知情報を所定時間記憶する循環検知情報記憶手段と、
前記循環回避指示受信手段により、前記循環接続回避指示情報を受信したことを契機に、所定の前記階層構造で前記情報配信装置と接続している端末装置へ、自装置を識別するための識別情報を含む代替上流端末装置探索情報の配信を要求する探索情報配信要求を送信する探索情報配信要求送信手段と、
前記探索情報配信要求を受信する探索情報配信要求受信手段と、
前記探索情報配信要求を受信したことを契機に、自装置と接続している下流の端末装置へ、前記代替上流端末装置探索情報を配信する探索情報配信手段と、
前記代替上流端末装置探索情報を受信する探索情報受信手段と、
受信した前記代替上流端末装置探索情報を、前記所定の階層構造で自装置に接続した下流の端末装置へ中継する探索情報中継手段と、
受信した前記代替上流端末装置探索情報に対応する端末装置に関する前記循環接続検知情報が前記循環検知情報記憶手段に記憶されていない場合に、前記代替上流端末装置探索情報に対応する端末装置に対して、自装置の下流側への接続を許可する代替上流端末装置接続許可情報を送信する接続許可送信手段と、
前記代替上流端末装置接続許可情報を受信する接続許可受信手段と、
前記代替上流端末装置接続許可情報を送信してきた端末装置と接続する代替上流端末接続手段と、
を有することを特徴とする請求項1に記載の端末装置。 - 前記循環検知情報送信手段は、前記循環接続検知情報を時間間隔をあけて繰り返し送信することを特徴とする請求項1又は請求項2に記載の端末装置。
- 前記循環検知情報送信手段は、循環接続検知情報を送信する前記時間間隔をランダムに設定することを特徴とする請求項3に記載の端末装置。
- 前記循環接続検知情報は、前記循環検知情報中継手段による中継回数を記録する中継回数記録領域を備え、
前記循環検知情報中継手段は、前記中継回数記録領域に記録されている中継回数が所定回数未満である場合に、前記循環接続検知情報を中継することを特徴とする請求項1〜4のいずれか1項に記載の端末装置。 - 前記代替上流端末装置探索情報は、前記端末装置に関する所定の条件を記録した所定条件記録領域を備え、
前記接続許可送信手段は、自装置が前記代替上流端末装置探索情報に含まれる前記所定の条件を満たしている場合に、前記代替上流端末装置接続許可情報を送信することを特徴とする請求項2〜5のいずれか1項に記載の端末装置。 - コンピュータに、請求項1〜6のいずれか1項に記載の前記端末装置の各手段として機能させるためのプログラム。
- ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムであって、
前記端末装置は、
自装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する制御部を備え、
前記制御部は、
自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信する循環検知情報送信手段と、
前記循環接続検知情報を受信する循環検知情報受信手段と、
受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継する循環検知情報中継手段と、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断する下流端末判断手段と、
前記下流端末判断手段により、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信する循環回避指示送信手段と、
前記循環接続回避指示情報を受信する循環回避指示受信手段とを有し、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避することを特徴とする情報配信システム。 - ネットワークを介してコンテンツ情報を配信する情報配信装置と、前記ネットワークに接続して前記情報配信装置から配信されるコンテンツ情報を受信する複数の端末装置とを備え、前記ネットワーク上に、前記複数の端末装置が前記情報配信装置を頂点として多層に論理接続されて形成される階層構造を複数設け、各端末装置が少なくとも二つの前記階層構造に参加した状態で、一の階層構造で自装置と接続した上流の端末装置から、前記コンテンツ情報を受信する情報配信システムで、前記端末装置が前記コンテンツ情報を受信する端末装置を、前記一の階層構造で自装置と接続した上流の端末装置から、他の階層構造で自装置と接続した上流の端末装置に切替えた際に、前記コンテンツ情報の配信経路に循環接続が発生することを回避する循環接続回避方法であって、
前記端末装置が、自装置から前記コンテンツ情報を受信している自装置に接続した下流の端末装置へ、自装置を識別するための識別情報を含む循環接続検知情報を、時間間隔をあけて繰り返し送信するステップと、
前記端末装置が前記循環接続検知情報を受信するステップと、
前記端末装置が受信した前記循環接続検知情報を、自装置から前記情報を受信している自装置に接続した下流の端末装置へ中継するステップと、
受信した前記循環接続検知情報に対応する端末装置が、前記複数の階層構造のなかで、自装置に接続している下流の端末装置であるか否かを判断するステップと、
前記端末装置が、自装置に接続している下流の端末装置であると判断した場合に、前記循環接続検知情報に対応する端末装置へ、循環接続の回避を指示する循環接続回避指示情報を送信するステップと、
前記循環接続回避指示情報を受信するステップと、
上流の端末装置を、前記循環接続回避指示情報を送信してきた端末装置から他の端末装置に替えることによって、前記コンテンツ情報の配信経路に循環接続が発生することを回避するステップと、
を有することを特徴とする循環接続回避方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007121199A JP2008278337A (ja) | 2007-05-01 | 2007-05-01 | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 |
US12/078,037 US7836210B2 (en) | 2007-05-01 | 2008-03-26 | Information distribution system, terminal apparatus used in such system, recording medium on which program is recorded, and loop connection avoidance method |
EP20080251228 EP1988669A1 (en) | 2007-05-01 | 2008-03-31 | Information distribution system, terminal apparatus used in such system, recording medium on which program is recorded, and loop connection avoidance method |
CN2008100958316A CN101309161B (zh) | 2007-05-01 | 2008-04-29 | 信息分发系统,该信息分发系统中应用的终端设备以及环路连接避免方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007121199A JP2008278337A (ja) | 2007-05-01 | 2007-05-01 | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008278337A true JP2008278337A (ja) | 2008-11-13 |
Family
ID=39744873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007121199A Withdrawn JP2008278337A (ja) | 2007-05-01 | 2007-05-01 | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7836210B2 (ja) |
EP (1) | EP1988669A1 (ja) |
JP (1) | JP2008278337A (ja) |
CN (1) | CN101309161B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014212366A (ja) * | 2013-04-17 | 2014-11-13 | 富士通株式会社 | ノード装置、通信方法および通信プログラム |
KR101628770B1 (ko) * | 2014-12-30 | 2016-06-10 | 주식회사 시큐아이 | 계층 구조를 갖는 통합 관리 시스템에서 네트워크 관리 장치 및 그 동작 방법 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035711B (zh) * | 2009-09-24 | 2014-02-05 | 中兴通讯股份有限公司 | 一种以太环网保护中防止地址表重复刷新的方法及系统 |
TWI424713B (zh) * | 2009-12-02 | 2014-01-21 | Realtek Semiconductor Corp | 迴圈偵測方法及應用其之網路裝置 |
JP5682620B2 (ja) * | 2010-03-17 | 2015-03-11 | 日本電気株式会社 | 経路選択方法、情報処理装置、ネットワークシステムおよび経路選択プログラム |
US9054978B2 (en) * | 2011-02-07 | 2015-06-09 | Nec Corporation | Path selection method and control server |
KR101889761B1 (ko) * | 2011-06-09 | 2018-09-21 | 삼성전자주식회사 | 컨텐츠 이름 기반의 네트워크 장치 및 컨텐츠 보호 방법 |
JP6279175B2 (ja) * | 2015-11-26 | 2018-02-14 | 三菱電機株式会社 | 中継装置および通信ネットワーク |
CN107613032A (zh) * | 2016-07-11 | 2018-01-19 | 中兴通讯股份有限公司 | 信息的通告方法、转发条目的生成方法及装置 |
CN109391526B (zh) * | 2018-11-27 | 2020-12-18 | 锐捷网络股份有限公司 | 一种网络环路的检测方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5705998A (en) * | 1994-08-24 | 1998-01-06 | Siemens Aktiengesellschaft | Method for routing telecommunication calls in a network |
US5831975A (en) * | 1996-04-04 | 1998-11-03 | Lucent Technologies Inc. | System and method for hierarchical multicast routing in ATM networks |
JP3688877B2 (ja) * | 1997-08-08 | 2005-08-31 | 株式会社東芝 | ノード装置及びラベルスイッチングパスのループ検出方法 |
US6032194A (en) * | 1997-12-24 | 2000-02-29 | Cisco Technology, Inc. | Method and apparatus for rapidly reconfiguring computer networks |
JP2000049779A (ja) | 1998-07-31 | 2000-02-18 | Nippon Telegr & Teleph Corp <Ntt> | ディジタル通信ネットワーク上のエンドノードによるマルチキャスト情報配布方法 |
US6373826B1 (en) * | 1998-12-15 | 2002-04-16 | Nortel Networks Limited | Spanning tree algorithm |
US6798739B1 (en) * | 1999-06-07 | 2004-09-28 | Nortel Networks Limited | Mechanism for splicing trees |
US6879594B1 (en) * | 1999-06-07 | 2005-04-12 | Nortel Networks Limited | System and method for loop avoidance in multi-protocol label switching |
US6665305B1 (en) * | 2000-01-04 | 2003-12-16 | Cisco Technology, Inc. | System and method for detecting subscriber loops |
US6954437B1 (en) * | 2000-06-30 | 2005-10-11 | Intel Corporation | Method and apparatus for avoiding transient loops during network topology adoption |
US7539154B1 (en) * | 2000-10-17 | 2009-05-26 | Cisco Technology, Inc. | Method and apparatus to detect and break loop configuration |
US6857027B1 (en) * | 2000-11-14 | 2005-02-15 | 3Com Corporation | Intelligent network topology and configuration verification using a method of loop detection |
US7076594B2 (en) * | 2000-12-22 | 2006-07-11 | Cisco Technology, Inc. | Apparatus and method for preventing one way connectivity loops in a computer network |
US6717922B2 (en) * | 2002-03-04 | 2004-04-06 | Foundry Networks, Inc. | Network configuration protocol and method for rapid traffic recovery and loop avoidance in ring topologies |
US6952690B2 (en) * | 2002-08-22 | 2005-10-04 | International Business Machines Corporation | Loop detection in rule-based expert systems |
US7558205B1 (en) * | 2003-08-01 | 2009-07-07 | Foundry Networks, Inc. | System and method for detecting and isolating a remote loop |
JP3947146B2 (ja) * | 2003-09-18 | 2007-07-18 | 富士通株式会社 | ルーティングループ検出プログラム及びルーティングループ検出方法 |
JP2006033275A (ja) * | 2004-07-14 | 2006-02-02 | Fujitsu Ltd | ループフレーム検知装置およびループフレーム検知方法 |
JP4696498B2 (ja) | 2004-08-20 | 2011-06-08 | ブラザー工業株式会社 | 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等 |
JP4293964B2 (ja) * | 2004-09-29 | 2009-07-08 | 富士通株式会社 | ループ接続検出方法及び装置 |
JP2007121199A (ja) | 2005-10-31 | 2007-05-17 | Omron Corp | 密度測定装置および密度測定方法 |
-
2007
- 2007-05-01 JP JP2007121199A patent/JP2008278337A/ja not_active Withdrawn
-
2008
- 2008-03-26 US US12/078,037 patent/US7836210B2/en not_active Expired - Fee Related
- 2008-03-31 EP EP20080251228 patent/EP1988669A1/en not_active Withdrawn
- 2008-04-29 CN CN2008100958316A patent/CN101309161B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014212366A (ja) * | 2013-04-17 | 2014-11-13 | 富士通株式会社 | ノード装置、通信方法および通信プログラム |
KR101628770B1 (ko) * | 2014-12-30 | 2016-06-10 | 주식회사 시큐아이 | 계층 구조를 갖는 통합 관리 시스템에서 네트워크 관리 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101309161A (zh) | 2008-11-19 |
US20080275999A1 (en) | 2008-11-06 |
CN101309161B (zh) | 2011-11-02 |
US7836210B2 (en) | 2010-11-16 |
EP1988669A1 (en) | 2008-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008278337A (ja) | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 | |
JP5619290B2 (ja) | マルチキャストブランチ、プロトコルインデペンデントマルチキャストルータおよびレイヤ2交換機のプルーニング方法 | |
US7855979B2 (en) | Separability control device, tree-type delivery system, node device separation control method, memory medium memorizing separability control program, memory medium memorizing information process program | |
JP4518169B2 (ja) | ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム | |
US11509572B2 (en) | Optimizing IP multicast delivery with use of local source nodes and the propagation of advertisements therefor | |
US7924856B2 (en) | Tree-shaped broadcasting system, packet transmitting method, node device, and computer-readable medium | |
US9660836B2 (en) | Network topology discovery | |
CN109981308B (zh) | 报文传输方法及装置 | |
KR101870475B1 (ko) | 링 네트워크 토폴로지를 위한 멀티캐스트 듀얼 조인 | |
JP5115509B2 (ja) | コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム | |
WO2016131359A1 (zh) | 环型组网组播线路切换的方法及装置 | |
EP2571201A1 (en) | Method, device and system for forwarding data under protocol independent multicast (pim) dual join | |
JP5522801B2 (ja) | 受信端末およびその制御プログラム | |
WO2012103748A1 (zh) | 一种组播控制方法、路由设备及组播系统 | |
JP2006197470A (ja) | データストリーム配信システム、ノード、配信経路決定装置、及び配信経路決定プログラム | |
US8327023B2 (en) | Querier election method, router, and network system | |
JP5067259B2 (ja) | ツリー型放送システム、ノード接続方法、ノード装置、及びノード処理プログラム | |
JP2009200725A (ja) | 情報配信システム及び同システムにおける階層構造の形成方法及びプログラム | |
JP2012175464A (ja) | 端末装置、接続管理サーバ、端末装置用プログラム、接続管理サーバ用プログラム及びコンテンツ配信システム | |
JP6231896B2 (ja) | コンテンツ配信システム、p2p端末、及び接続切替え方法 | |
WO2016090804A1 (zh) | 信息获取方法、装置和路由器 | |
WO2015161735A1 (zh) | 路径检测方法、宿节点设备及通信系统 | |
JP5022393B2 (ja) | 利用者端末、利用者端末プログラム及び配信ツリーの接続切替方法 | |
JP5616801B2 (ja) | 利用者端末および配信トポロジ組替プログラム | |
JP2007129779A (ja) | データ配信方法、データ配信システム、データ受信装置、データ中継装置、データ受信装置及びデータ配信用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100118 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110414 |