(57)【要約】 【課題】本発明は、各ノード装置におけるコンテンツデータの受信品質や再生品質を向上させ、システム全体の安定性を向上させることが可能なツリー型放送システム、接続処理方法、及びノード装置、ノード処理プログラムを提供する。【解決手段】下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する。当該接続解除情報を受信した第二のノード装置は、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定し、当該第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する。当該接続可能情報を受信した第三のノード装置は、上記第一のノード装置に新たに接続する。  【選択図】図３
2009124662.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおいて、
下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する接続解除情報送信手段を備え、
上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、
前記第一のノード装置から送信されてきた接続解除情報を受信する接続解除情報受信手段と、
前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定するノード選定手段と、
前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する接続可能情報送信手段と、
を備え、
前記第三のノード装置は、
前記第二のノード装置から送信されてきた接続可能情報を受信する接続可能情報受信手段と、
前記受信された接続可能情報に応じて、前記第一のノード装置に新たに接続し、且つ、前記第二のノード装置との接続を解除するための接続処理を行う接続処理手段と、
を備えることを特徴とするツリー型放送システム。
【請求項２】
請求項１に記載のツリー型放送システムにおいて、
前記第三のノード装置は、前記接続処理の結果、前記第一のノード装置への接続が成功したか否かを示す接続成功可否情報を前記第二のノード装置に対して送信する接続成功可否情報送信手段を更に備え、
前記第二のノード装置は、
前記第三のノード装置から送信されてきた接続成功可否情報を受信する接続成功可否情報受信手段を更に備え、
前記受信された接続成功可否情報に接続成功でないことが示されている場合、前記ノード選定手段は、前記下位階層の第三のノード装置のうち、未だ選定していない第三のノード装置を選定し、前記接続解除情報送信手段は、当該選定した第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信することを特徴とするツリー型放送システム。
【請求項３】
請求項１又は２に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、何れか一つの第三のノード装置をランダムに選定することを特徴とするツリー型放送システム。
【請求項４】
請求項１又は２に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、自己との接続時間が最も長い前記第三のノード装置を優先して選定することを特徴とするツリー型放送システム。
【請求項５】
請求項１又は２に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、その下位階層として接続されているノード装置数が最も多い前記第三のノード装置を優先して選定することを特徴とするツリー型放送システム。
【請求項６】
請求項１乃至５の何れか一項に記載のツリー型放送システムに含まれる前記第二のノード装置であって、
前記接続解除情報受信手段、前記ノード選定手段、及び接続解除情報送信手段を備えることを特徴とするノード装置。
【請求項７】
コンピュータを、請求項６に記載の第二のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項８】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおける接続処理方法であって、
下位階層として複数のノード装置が接続されている第一のノード装置が、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する工程を備え、
上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、
前記第一のノード装置から送信されてきた接続解除情報を受信する工程と、
前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定する工程と、
前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する工程と、
を備え、
前記第三のノード装置は、
前記第二のノード装置から送信されてきた接続可能情報を受信する工程と、
前記受信された接続可能情報に応じて、前記第一のノード装置に接続するための接続処理を行う工程と、
を備えることを特徴とする接続処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されており、例えば、特許文献１に開示されるようなツリー型放送（配信）システムが提案されている。かかるツリー型放送システムにおいては、該システムに参加している複数のノード装置が放送局（例えば、放送装置）を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送（ストリーム配信）されたコンテンツデータ（例えば、映像データ及び音声データ等）が、上位階層（上流）のノード装置から下位階層（下流）のノード装置に順次転送（ストリーム中継処理）されるようになっている。
【０００３】
このようなツリー型放送システムにおいては、ユーザによるチャンネル切り替えや装置電源断等のノード脱退（離脱）事象によってコンテンツ放送経路が一時的に分断されることがあるため、その分断された放送経路の下流に位置するノード装置においては、コンテンツデータの受信品質や再生品質が損なわれてしまう。このため、各ノード装置は、ツリー型放送システム（トポロジー）に参加する際に、より上流に位置するノード装置を接続先紹介サーバから紹介してもらい、当該紹介されたノード装置に接続することが望ましいのであるが、通常、一つのノード装置に接続可能な数は制限されており、必ずしもより上流のノード装置に接続できるとは限らない。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ツリー型放送システムに参加したノード装置は、自己が接続している上流のノード装置からのコンテンツストリームが途絶えない限り、当該ノード装置に接続し続けることになる。
【０００５】
しかしながら、ノード装置の参加、脱退がダイナミックに行われるツリー型放送システムでは、参加後に、より上流のノード装置に接続できる余地が生じたにも関わらず、現状の接続状態を維持し、コンテンツデータの受信品質や再生品質が損なわれてしまう可能性が高い下流に位置し続けてしまうという問題がある。このことは、システム全体の安定性を低下させてしまうことになる。
【０００６】
そこで、本発明は、以上の問題等に鑑みてなされたものであり、各ノード装置におけるコンテンツデータの受信品質や再生品質を向上させ、システム全体の安定性を向上させることが可能なツリー型放送システム、接続処理方法、及びノード装置、ノード処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおいて、下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する接続解除情報送信手段を備え、上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、前記第一のノード装置から送信されてきた接続解除情報を受信する接続解除情報受信手段と、前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定するノード選定手段と、前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する接続可能情報送信手段と、を備え、前記第三のノード装置は、前記第二のノード装置から送信されてきた接続可能情報を受信する接続可能情報受信手段と、前記受信された接続可能情報に応じて、前記第一のノード装置に新たに接続し、且つ、前記第二のノード装置との接続を解除するための接続処理を行う接続処理手段と、を備えることを特徴とする。
【０００８】
この発明によれば、上記第三のノード装置は、ツリー型放送システムの参加後に、より上位階層のノード装置に接続できる余地が生じた場合、迅速にそのノード装置に接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
【０００９】
請求項２に記載の発明は、請求項１に記載のツリー型放送システムにおいて、前記第三のノード装置は、前記接続処理の結果、前記第一のノード装置への接続が成功したか否かを示す接続成功可否情報を前記第二のノード装置に対して送信する接続成功可否情報送信手段を更に備え、前記第二のノード装置は、前記第三のノード装置から送信されてきた接続成功可否情報を受信する接続成功可否情報受信手段を更に備え、前記受信された接続成功可否情報に接続成功でないことが示されている場合、前記ノード選定手段は、前記下位階層の第三のノード装置のうち、未だ選定していない第三のノード装置を選定し、前記接続解除情報送信手段は、当該選定した第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信することを特徴とする。
【００１０】
この発明によれば、選定された第三のノード装置が第一のノード装置への接続が失敗した場合であっても、別の第三のノード装置を選定して迅速に第一のノード装置の接続処理を行わせることができる。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、何れか一つの第三のノード装置をランダムに選定することを特徴とする。
【００１２】
請求項４に記載の発明は、請求項１又は２に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、自己との接続時間が最も長い前記第三のノード装置を優先して選定することを特徴とする。
【００１３】
この発明によれば、よりツリー型放送システムから脱退することが少ない第三のノード装置をより上位階層に位置させることができ、システム全体の安定性を向上させることができる。
【００１４】
請求項５に記載の発明は、請求項１又は２に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、その下位階層として接続されているノード装置数が最も多い前記第三のノード装置を優先して選定することを特徴とする。
【００１５】
この発明によれば、下流階層側にコンテンツデータを中継するのに重要な位置づけにある第三のノード装置をより上位階層に位置させることができ、システム全体の安定性を向上させることができる。
【００１６】
請求項６に記載の発明は、請求項１乃至５の何れか一項に記載のツリー型放送システムに含まれる前記第二のノード装置であって、前記接続解除情報受信手段、前記ノード選定手段、及び接続解除情報送信手段を備えることを特徴とする。
【００１７】
請求項７に記載のノード処理プログラムの発明は、コンピュータを、請求項６に記載の第二のノード装置として機能させることを特徴とする。
【００１８】
請求項８に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおける接続処理方法であって、下位階層として複数のノード装置が接続されている第一のノード装置が、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する工程を備え、上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、前記第一のノード装置から送信されてきた接続解除情報を受信する工程と、前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定する工程と、前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する工程と、を備え、前記第三のノード装置は、前記第二のノード装置から送信されてきた接続可能情報を受信する工程と、前記受信された接続可能情報に応じて、前記第一のノード装置に接続するための接続処理を行う工程と、を備えることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、上記第三のノード装置は、ツリー型放送システムの参加後に、より上位階層のノード装置に接続できる余地が生じた場合、迅速にそのノード装置に接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の最良の実施形態を図面に基づいて説明する。
［１．ツリー型放送システムの構成等］
始めに、図１等を参照して、本発明の一実施形態に係るツリー型放送システム全体の概要構成及び機能について説明する。
【００２１】
図１は、本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【００２２】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２３】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有のノードＩＤが割り当てられている。
【００２４】
そして、本実施形態に係るツリー型放送システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成（構成）されるピアツーピア方式のネットワークシステムとなっている。なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。
【００２５】
このようなツリー型放送システムＳにおいては、該システムＳに参加（トポロジーに参加）している複数のノードＮｎが放送局１０（放送装置の一例）を最上位として複数の階層を形成しつつネットワーク８を介してツリー状に接続され、当該放送局１０から放送（例えばストリームミング配信方式で放送）されたコンテンツデータが、上流のノードＮｎから下流のノードＮｎに順次転送（ＡＬＭ（Application Layer Multicast））されるようになっている。
【００２６】
また、ツリー型放送システムＳにおいて形成されたトポロジーは、接続先紹介サーバ２０により管理されている。そして、接続先紹介サーバ２０は、ノードＮｎからの接続先紹介要求に応じて当該ノードＮｎに対してツリー型放送システムＳにおける接続先となる上流のノードＮｎを紹介するようになっている。
【００２７】
図２は、ノードＮ１２がツリー型放送システムＳへの参加する際の様子を示した概念図である。
【００２８】
図２の例において、ノードＮ１２がツリー型放送システムＳに参加（言い換えれば、トポロジーに参加）する場合、先ず、当該ノードＮ１２は、接続先紹介サーバ２０へ上流ノード紹介要求メッセージ（Ｍ）を送信する（１）。接続先紹介サーバ２０は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能な（下流側に直接接続されたノード数が接続許容数に達していない）ノードＮｎを検索し、１以上の上流ノード候補のネットワークアドレス情報（例えば、ＩＰ（Internet Protocol）アドレス及びポート番号）等を含む上流ノード候補紹介メッセージをノードＮ１２へ返信（接続可能ノード紹介）する（２）。次に、ノードＮ１２は、接続先紹介サーバ２０から取得した上流ノード候補の中から一つの例えばノードＮ２を選択し、当該ノードＮ２へ接続要求メッセージを送信する（３）。次に、ノードＮ２は、内部で管理しているノード管理テーブルにノードＮ１２の情報を追加し、ノードＮ１２へ接続許可応答メッセージを返信する（４）。次に、ノードＮ１２は、ノードＮ２へストリーム開始要求メッセージを送信する（５）。最後に、ノードＮ２は、装置内部にストリーム中継用のオブジェクトを準備し、ノードＮ１２に対してストリーミングを開始する（６）。こうして、ツリー型放送システムＳへのノードＮ１２の参加が完了する。
【００２９】
一方、ノードＮ１２がツリー型放送システムＳから脱退（離脱）する場合、当該ノードＮ１２は、ストリーム供給元である上流のノードＮ２に対してストリーム停止要求メッセージと接続解除要求メッセージを送信する。これに応じて、ノードＮ２は、ストリーム中継用オブジェクトを破棄することでノードＮ１２に対するストリーミングを停止し、同時にノード管理テーブルからノードＮ１２の情報を削除することでノードＮ２との接続関係を断ち切る。
【００３０】
さらに、本実施形態においては、下流のノードＮｎは、上流に接続できる余地がある場合、現在接続している上流のノードＮｎより上流のノードＮｎに再接続するようになっている。
【００３１】
図３は、下流のノードＮｎが、より上流のノードＮｎに接続できる余地が生じた場合に、当該ノードＮｎに再接続する際の様子を示した概念図である。
【００３２】
図３（Ａ）の例では、複数（ここでは、２つ）の下流の（下位階層として）ノードＮ５及びＮ１２が接続されているノードＮ２（第一のノード装置の一例）は、例えば下流の一方のノードＮ１２との接続が解除された場合に、未だ接続されている下流の他方のノードＮ５（第二のノード装置の一例）に対して、接続が解除されたことを示す接続解除メッセージ（接続解除情報の一例）を送信する（１０）。
【００３３】
一方、上流の（上位階層として）ノードＮ２が接続されており、かつ、下流の（下位階層として）ノードＮ１０及びＮ１１（第三のノード装置の一例）が接続されているノードＮ５は、上流のノードＮ２から送信されてきた接続解除メッセージを受信したとき、当該受信された接続解除メッセージに応じて、接続されている下流のノードＮ１０及びＮ１１のうち、何れかの例えばノードＮ１０を選定するようになっている。そして、当該ノードＮ５は、選定されたノードＮ１０に対して、ノードＮ２への接続が可能になったことを示す接続可能メッセージ（接続可能情報の一例）を送信する（１１）。
【００３４】
一方、上記ノードＮ１０は、上流のノードＮ５から送信されてきた接続可能メッセージを受信したとき、当該受信された接続可能メッセージに応じて、より上流のノードＮ２へ接続要求メッセージを送信して（１２）、図３（Ｂ）に示すように新たに接続し、且つ、上流のノードＮ５との接続を解除するための接続処理を行うようになっている。
【００３５】
なお、図３の例において、ノードＮ５が親ノード、当該親ノードの上流のノードＮ２は爺ノード、当該親ノードの下流のノードＮ１０及びＮ１１は子ノードとして位置づけられる。
［１−２．放送局１０の構成等］
次に、図４を参照して、放送局１０の構成及び機能について説明する。
【００３６】
図４は、放送局１０の概要構成例を示す図である。
【００３７】
放送局１０は、図４に示すように、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、音源チップ１０８、キーボード１０９、マウス１１０、ディスプレイ１１１、及び内蔵スピーカ１１２等を備えて構成されている。また、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、及び音源チップ１０８は、システムバス１１３を介して相互に接続されている。また、放送局１０は、ルータ１１４を介してネットワーク８に接続される。
【００３８】
主記憶装置１０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、及びデコーダ（プログラム）等が記憶されている。また、主記憶装置１０２は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局１０に接続されたノードＮｎの情報（例えば、ＩＰアドレス及びポート番号等）が登録される。また、主記憶装置１０２は、バッファメモリ（例えば、リングバッファ）を有する。
【００３９】
また、ハードディスク装置１０３には、放送用コンテンツデータが記録されている。
【００４０】
ＣＰＵ１０４は、主記憶装置１０２に記憶された各種プログラムにしたがって（つまり、プログラムの実行により）、例えばハードディスク装置１０３に記録されたコンテンツデータをパケット化し、ノード管理テーブルに登録されたノードＮｎに対して放送（ストリーム配信）する放送処理を行う。
【００４１】
なお、このような放送局１０として、専用の放送サーバの他、何れかのノードＮｎが適用されても良い。
［１−３．接続先紹介サーバ２０の構成等］
次に、図５を参照して、接続先紹介サーバ２０の構成及び機能について説明する。
【００４２】
図５は、接続先紹介サーバ２０の概要構成例を示す図である。
【００４３】
接続先紹介サーバ２０は、図５に示すように、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、ビデオチップ２０７、キーボード２０８、マウス２０９、及びディスプレイ２１０等を備えて構成されている。また、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、及びビデオチップ２０７は、システムバス２１１を介して相互に接続されている。また、接続先紹介サーバ２０は、ルータ２１２を介してネットワーク８に接続される。
【００４４】
主記憶装置２０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、放送局管理プログラム、トポロジー管理プログラム、接続先紹介プログラム、及び運用管理プログラム等のサーバ処理プログラムが記憶されている。
【００４５】
また、ハードディスク装置２０３には、放送局管理データベース及びトポロジーデータベースが構築されている。放送局管理データベースには、各放送局１０の所在情報（例えば、ＩＰアドレス及びポート番号等）が放送チャンネル情報（例えばチャンネル番号）に対応付けられて登録される。また、トポロジーデータベースには、トポロジー管理情報が登録されている。かかるトポロジー管理情報は、放送チャンネル毎に存在し、放送チャンル情報に対応付けられている。そして、トポロジー管理情報には、トポロジーに参加している各ノードＮｎ毎に、ネットワークアドレス情報（例えばＩＰアドレス及びポート番号）、現在接続されている下流のノードＮｎを示す情報（例えば、ノードＩＤ）、現在接続されている下流のノードＮｎの接続数、下流のノードＮｎの接続許容数（例えば、２、これより多くても良い）、及び転送能力等の情報が対応付けられて含まれている。ここで、転送能力とは、例えば、ノードＮｎのＣＰＵの処理速度（ＧＨｚ）やネットワーク８における有効帯域（例えば、データ転送速度（ｂｐｓ））のことをいう。
【００４６】
ＣＰＵ２０４は、主記憶装置２０２に記憶された各種プログラムにしたがって、例えば新たにトポロジーへ参加希望するノードＮｎからの接続先紹介要求に応じて上記トポロジー管理情報から下流に接続可能なノードＮｎを検索し、検索された１以上のノードＮｎの候補を接続先として紹介する紹介処理を行う。
［１−４．ノードＮｎの構成等］
次に、図６を参照して、ノードＮｎの構成及び機能について説明する。
【００４７】
図６は、ノードＮｎの概要構成例を示す図である。
【００４８】
ノードＮｎは、図６に示すように、主電源３０１、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、音源チップ３０８、キーボード３０９、マウス３１０、ディスプレイ３１１、及び内蔵スピーカ３１２等を備えて構成されている。また、補助電源３０１ｂ、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、及び音源チップ３０８は、システムバス３１３を介して相互に接続されている。また、ノードＮｎは、ルータ３１４を介してネットワーク８に接続される。
【００４９】
なお、ノードＮｎとしては、ＰＣ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００５０】
主記憶装置３０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、画面制御プログラム、ストリーム制御プログラム、トポロジー制御プログラム、及びデコーダ等が記憶されている。
【００５１】
また、主記憶装置３０２には、受信したコンテンツデータを一時的に蓄積するためのバッファメモリ（例えば、リングバッファ）を有する。また、主記憶装置３０２は、ノード管理テーブルを記憶している。ノード管理テーブルには、自ノード（自己）に接続されている下流のノードＮｎのネットワークアドレス情報（ＩＰアドレス及びポート番号等）が登録される。
【００５２】
そして、ＣＰＵ３０４は、主記憶装置３０２に記憶された各種プログラム（本発明のノード処理プログラムを含む）にしたがって、ツリー型放送システムＳ（ある放送チャンネルに係るトポロジー）に参加するための参加処理を実行し、参加後に放送局１０又は上流ノードＮｎから放送されネットワークインタフェース３０５を介して受信されたコンテンツデータのパケット（コンテンツストリーム）をバッファリングさせつつ再生処理を行う。
【００５３】
ここで、上記参加処理では、接続先紹介サーバ２０に対して接続先紹介要求がなされ、接続先紹介サーバ２０から紹介された上流のノードＮｎに接続（セッション確立）してストリーム開始要求がなされる。
【００５４】
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツデータ（例えば、ビデオデータ及びオーディオデータ）が読み出されデコーダによりデコードされる。そして、デコードされたビデオデータ（映像情報）がビデオチップ３０７を通じてディスプレイ３１１に出力され、デコードされたオーディオデータ（音声情報）が音源チップ３０８を通じて内蔵スピーカ３１２（又は図示しない外部スピーカ）から出力される。
【００５５】
また、自ノードに下流のノードＮｎが接続されている場合、ＣＰＵ３０４は、バッファメモリに蓄積されたコンテンツデータの各パケットを当該下流のノードＮｎに転送（コンテンツストリームの中継）する転送処理を行う。
【００５６】
更に、ＣＰＵ３０４は、下流のノードＮｎからストリーム停止要求メッセージと接続解除要求メッセージを受信した場合、当該ノードＮｎに対するストリーミングを停止し、ノード管理テーブルから当該ノードＮｎの情報を削除することで当該ノードＮｎとの接続を解除する。
【００５７】
このように、下流のノードＮｎとの接続が解除された場合、上述した爺ノードのＣＰＵ３０４は、接続解除情報送信手段として機能し、未だ接続されている下流の別のノードＮｎ（親ノード）に対して、接続が解除されたことを示す接続解除メッセージを送信する送信処理を行う。かかる接続解除メッセージには、自ノードのネットワークアドレス情報が含まれる。
【００５８】
一方、親ノードのＣＰＵ３４は、接続解除情報受信手段として機能して上流の爺ノードから接続解除メッセージを受信した場合、当該接続解除メッセージに応じて、ノード選定手段として機能し、自ノードに接続されている複数の子ノードのうち、何れかの子ノードを選定する選定処理を行う。
【００５９】
かかる選定処理においては、例えば、複数の子ノードのうち、何れか一つの子ノードがランダム（乱数発生により）に選定される。或いは、複数の子ノードのうち、自ノードとの接続時間が最も長い子ノードが優先されて（最も接続時間が長い順に）選定されるように構成しても良い。ここで、自ノードとの接続時間は、例えばＣＰＵ３４により計測され、接続されている子ノード毎に管理されるようになっており、例えば今回のセッションの接続継続時間とすることができる。或いは、複数回のセッションに亘って計測された接続の累積時間であっても良い。また、上記選定処理では、複数の子ノードのうち、夫々の子ノードに接続されている下流のノードｎの接続数が最も多い子ノードが優先されて選定されるように構成しても良い。当該子ノードの下流のノードＮｎの接続数を示す情報は、例えば夫々の子ノードから任意のタイミングで取得されるか、或いは接続先紹介サーバ２０から取得される。
【００６０】
そして、親ノードのＣＰＵ３４は、接続可能情報送信手段として機能し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する送信処理を行う。かかる接続可能メッセージには、受信された接続解除メッセージ中の爺ノードのネットワークアドレス情報が含まれる。
【００６１】
一方、子ノードのＣＰＵ３４は、接続可能情報受信手段として機能して、親ノードから送信されてきた接続可能メッセージを受信した場合、当該接続可能メッセージに応じて、接続処理手段として機能し、当該接続可能メッセージに示される爺ノードのネットワークアドレス情報にしたがって２つ上位の階層に位置する爺ノードに接続し、且つ、それまで接続していた親ノードとの接続を解除するための接続処理を行う。そして、当該子ノードのＣＰＵ３４は、接続成功可否情報送信手段として機能し、当該接続処理の結果、爺ノードへの接続が成功したか否かを示す接続成功可否メッセージ（接続成功可否情報の一例）を親ノードに対して送信する送信処理を行う。なお、子ノードは、爺ノードへの接続が成功した場合には、接続先を爺ノードに変更したことを示す接続変更メッセージ（例えば、爺ノードのネットワークアドレス情報が含まれる）を接続先紹介サーバ２０に送信することになる。これにより、接続先紹介サーバ２０により管理されるトポロジー管理情報が変更されることになる。
【００６２】
一方、親ノードのＣＰＵ３４は、接続成功可否情報受信手段として機能して、子ノードから送信されてきた接続成功可否メッセージを受信した場合、当該接続成功可否メッセージに接続成功でないこと（つまり、接続失敗）が示されているとき、子ノードのうち、未だ選定していない子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する送信処理を行う。
［２．ツリー型放送システムＳの動作］
次に、図７を参照して、本実施形態に係るツリー型放送システムＳの動作について説明する。
【００６３】
図７（Ａ）は、爺ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートであり、図７（Ｂ）は、親ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートであり、図７（Ｃ）は、子ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【００６４】
図７（Ａ）の処理は、例えば爺ノード（例えば、図３におけるノードＮ２）のＣＰＵ３０４により親ノードとの接続解除が検知された場合に開始される。
【００６５】
先ず、爺ノードのＣＰＵ３０４は、変数ｉに０をセットし（ステップＳ１）、当該爺ノードに接続されている親ノードの接続数が当該変数ｉより大きいか否かを判別する（ステップＳ２）。
【００６６】
そして、親ノードの接続数が当該変数ｉより大きい場合には（ステップＳ２：ＹＥＳ）、爺ノードのＣＰＵ３０４は、当該爺ノードに接続されている親ノードのうち、ｉ番目（例えば、ノード管理テーブルへの登録順に決定される）の親ノードに対して、上述した接続解除メッセージを、ネットワークインタフェース３０５を通じて送信する（ステップＳ３）。次いで、爺ノードのＣＰＵ３０４は、ｉを１インクリメントし（ステップＳ４）、ステップＳ２に戻る。こうして、ステップＳ２において親ノードの接続数が当該変数ｉより大きくないと判別される（ステップＳ２：ＮＯ）までステップＳ３の処理が繰り返され、爺ノードの下流側に接続される全ての親ノード（一部の親ノードでも良い）に対して順次、接続解除メッセージが送信されることになる。
【００６７】
次に、図７（Ｂ）の処理は、爺ノードからの接続解除メッセージが受信された場合に開始される。
【００６８】
先ず、親ノードのＣＰＵ３０４は、当該親ノードに接続されている子ノードの順序を決定する（ステップＳ１１）。例えば、当該順序がランダムに決定、例えば、複数の子ノードのうち０番目がランダムに決定し、次に１番目がランダムに決定されるというように、親ノードに接続されている子ノードの順序が決定される。或いは、自ノードとの接続時間が長い順に子ノードの順序が決定されるように構成しても良いし、子ノードに接続されている下流のノードｎの接続数が多い順に子ノードの順序が決定されるように構成しても良い。
【００６９】
次いで、親ノードのＣＰＵ３０４は、変数ｉに０をセットし（ステップＳ１２）、当該親ノードに接続されている子ノードの接続数が当該変数ｉより大きいか否かを判別する（ステップＳ１３）。
【００７０】
そして、子ノードの接続数が当該変数ｉより大きい場合には（ステップＳ１３：ＹＥＳ）、親ノードのＣＰＵ３０４は、当該親ノードに接続されている子ノードのうち、上記決定された順序におけるｉ番目の子ノードを選定し、当該子ノードに対して、上述した接続可能メッセージを、ネットワークインタフェース３０５を通じて送信する（ステップＳ１４）。
【００７１】
一方、図７（Ｃ）の処理は、親ノードからの接続可能メッセージが受信された場合に開始される。先ず、子ノードのＣＰＵ３０４は、受信された接続可能メッセージに応じて、当該接続可能メッセージに示される爺ノードのネットワークアドレス情報にしたがって当該爺ノードへの接続処理を行う（ステップＳ２１）。例えば、子ノードから爺ノードに接続要求メッセージが送信される。かかる接続要求メッセージを受信した爺ノードは、当該子ノードの接続要求を許可するか否かを判定し、許可する場合には、当該子ノードに対して接続許可応答メッセージを返信し、許可しない場合（例えば、既に別のノードＮｎからの接続要求がありこれに対して接続許可応答された場合等）には、当該子ノードに対して接続拒否応答メッセージを返信する。
【００７２】
次いで、子ノードのＣＰＵ３０４は、爺ノードへの接続に成功したか否かを判別する（ステップＳ２２）。そして、子ノードのＣＰＵ３０４は、例えば爺ノードからの接続拒否応答メッセージが受信された場合、爺ノードへの接続に成功しない（失敗した）と判別し（ステップＳ２２：ＮＯ）、接続成功可否メッセージを接続失敗に設定する（ステップＳ２３）。
【００７３】
一方、子ノードのＣＰＵ３０４は、例えば爺ノードからの接続許可応答メッセージが受信された場合、爺ノードへの接続に成功したと判別し（ステップＳ２２：ＹＥＳ）、親ノードとの接続を解除（ステップＳ２４）、例えばストリーム停止要求メッセージと接続解除要求メッセージを親ノードに送信する。
【００７４】
次いで、子ノードのＣＰＵ３０４は、接続成功可否メッセージを接続成功に設定する（ステップＳ２５）。
【００７５】
次いで、子ノードのＣＰＵ３０４は、接続先を爺ノードに変更したことを示す接続変更メッセージを、ネットワークインタフェース３０５を通じて接続先紹介サーバ２０に対して送信する（ステップＳ２６）。
【００７６】
次いで、子ノードのＣＰＵ３０４は、上記接続成功又は接続失敗が設定された接続成功可否メッセージを親ノードに対して、ネットワークインタフェース３０５を通じて送信する（ステップＳ２７）。
【００７７】
一方、図７（Ｂ）の処理に戻り、子ノードからの接続成功可否メッセージが受信される（ステップＳ１５）と、親ノードのＣＰＵ３０４は、当該接続成功可否メッセージに接続成功が示されているか、又は接続失敗が示されているかを判別し（ステップＳ１６）、接続成功である場合には（ステップＳ１６：接続成功）、当該処理を終了する。一方、接続失敗である場合には（ステップＳ１６：接続失敗）、親ノードのＣＰＵ３０４は、ｉを１インクリメントし（ステップＳ１７）、ステップＳ１３に戻る。こうして、ステップＳ１３において親ノードの接続数が当該変数ｉより大きくないと判別される（ステップＳ１３：ＮＯ）か、又は子ノードから接続成功が示される接続成功可否メッセージが受信されるまで、ステップＳ１４〜Ｓ１７の処理が繰り返される。つまり、親ノードの下流側に接続される子ノードに対して、上記ステップＳ１１で決定された子ノードの順序でステップＳ１４〜Ｓ１７の処理が行われる。
【００７８】
以上説明したように、上記実施形態によれば、爺ノードは、自己の下流に複数接続されている何れかの親ノードとの接続が解除された場合に、接続されている他の親ノードに対して、接続が解除されたことを示す接続解除メッセージを送信し、当該接続解除メッセージを受信した親ノードは、自己の下流に複数接続されている子ノードのうち、少なくとも一つの子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する。そして、当該接続可能メッセージを受信した子ノードは、爺ノードに新たに接続し、且つ、親ノードとの接続を解除するための接続処理を行うように構成したので、トポロジーの参加後に、より上流のノードＮｎに接続できる余地が生じた場合、迅速にそのノードＮｎに接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
【００７９】
また、上記子ノードは、上記接続処理の結果、爺ノードへの接続が成功したか否かを示す接続成功可否メッセージを親ノードに対して送信し、当該接続成功可否メッセージを受信した親ノードは、当該接続成功可否メッセージに接続成功でないことが示されている場合、未だ選定していない子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成したので、選定された子ノードが爺ノードへの接続が失敗した場合であっても、別の子ノードを選定して迅速に爺ノードへの接続処理を行わせることができる。
【００８０】
また、上記親ノードは、自己の下流に複数接続されている子ノードのうち、自己との接続時間が最も長い子ノードを優先して選定して、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成すれば、よりトポロジーから脱退することが少ない子ノードをより上流に位置させることができ、システム全体の安定性を向上させることができる。
【００８１】
また、上記親ノードは、自己の下流に複数接続されている子ノードのうち、その下流側に接続されているノード数が最も多い子ノードを優先して選定して、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成すれば、下流にコンテンツデータを中継するのに重要な位置づけにある子ノードをより上流に位置させることができ、システム全体の安定性を向上させることができる。
【図面の簡単な説明】
【００８２】
【図１】本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ノードＮ１２がツリー型放送システムＳへの参加する際の様子を示した概念図である。
【図３】下流のノードＮｎが、より上流のノードＮｎに接続できる余地が生じた場合に、当該ノードＮｎに再接続する際の様子を示した概念図である。
【図４】放送局１０の概要構成例を示す図である。
【図５】接続先紹介サーバ２０の概要構成例を示す図である。
【図６】ノードＮｎの概要構成例を示す図である。
【図７】（Ａ）は、爺ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートであり、（Ｂ）は、親ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートであり、（Ｃ）は、子ノードにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【符号の説明】
【００８３】
８  ネットワーク
９  オーバーレイネットワーク
１０  放送局
２０  接続先紹介サーバ
１０１，２０１，３０１  主電源
１０２，２０２，３０２  主記憶装置
１０３，２０３，３０３  ハードディスク装置
１０４，２０４，３０４  ＣＰＵ
１０５，２０５，３０５  ネットワークインタフェース
１０６，２０６，３０６  周辺機器制御チップ
１０７，２０７，３０７  ビデオチップ
１０８，３０８  音源チップ
１０９，２０８，３０９  キーボード
１１０，２０９，３１０  マウス
１１１，２１０，３１１  ディスプレイ
１１２，３１２  内蔵スピーカ
１１３，２１１，３１３  システムバス
１１４，２１２，３１４  ルータ
Ｎｎ  ノード
Ｓ  ツリー型放送システム
【図１】
2009124662.tif 000003
【図２】
2009124662.tif 000004
【図３】
2009124662.tif 000005
【図４】
2009124662.tif 000006
【図５】
2009124662.tif 000007
【図６】
2009124662.tif 000008
【図７】
2009124662.tif 000009