JP2009124662A - ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム - Google Patents
ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム Download PDFInfo
- Publication number
- JP2009124662A JP2009124662A JP2007299474A JP2007299474A JP2009124662A JP 2009124662 A JP2009124662 A JP 2009124662A JP 2007299474 A JP2007299474 A JP 2007299474A JP 2007299474 A JP2007299474 A JP 2007299474A JP 2009124662 A JP2009124662 A JP 2009124662A
- Authority
- JP
- Japan
- Prior art keywords
- node
- connection
- node device
- tree
- information
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】本発明は、各ノード装置におけるコンテンツデータの受信品質や再生品質を向上させ、システム全体の安定性を向上させることが可能なツリー型放送システム、接続処理方法、及びノード装置、ノード処理プログラムを提供する。
【解決手段】下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する。当該接続解除情報を受信した第二のノード装置は、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定し、当該第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する。当該接続可能情報を受信した第三のノード装置は、上記第一のノード装置に新たに接続する。
【選択図】図3
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
近年、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されており、例えば、特許文献1に開示されるようなツリー型放送(配信)システムが提案されている。かかるツリー型放送システムにおいては、該システムに参加している複数のノード装置が放送局(例えば、放送装置)を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送(ストリーム配信)されたコンテンツデータ(例えば、映像データ及び音声データ等)が、上位階層(上流)のノード装置から下位階層(下流)のノード装置に順次転送(ストリーム中継処理)されるようになっている。
このようなツリー型放送システムにおいては、ユーザによるチャンネル切り替えや装置電源断等のノード脱退(離脱)事象によってコンテンツ放送経路が一時的に分断されることがあるため、その分断された放送経路の下流に位置するノード装置においては、コンテンツデータの受信品質や再生品質が損なわれてしまう。このため、各ノード装置は、ツリー型放送システム(トポロジー)に参加する際に、より上流に位置するノード装置を接続先紹介サーバから紹介してもらい、当該紹介されたノード装置に接続することが望ましいのであるが、通常、一つのノード装置に接続可能な数は制限されており、必ずしもより上流のノード装置に接続できるとは限らない。
特開2006−33514号公報
ところで、ツリー型放送システムに参加したノード装置は、自己が接続している上流のノード装置からのコンテンツストリームが途絶えない限り、当該ノード装置に接続し続けることになる。
しかしながら、ノード装置の参加、脱退がダイナミックに行われるツリー型放送システムでは、参加後に、より上流のノード装置に接続できる余地が生じたにも関わらず、現状の接続状態を維持し、コンテンツデータの受信品質や再生品質が損なわれてしまう可能性が高い下流に位置し続けてしまうという問題がある。このことは、システム全体の安定性を低下させてしまうことになる。
そこで、本発明は、以上の問題等に鑑みてなされたものであり、各ノード装置におけるコンテンツデータの受信品質や再生品質を向上させ、システム全体の安定性を向上させることが可能なツリー型放送システム、接続処理方法、及びノード装置、ノード処理プログラムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおいて、下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する接続解除情報送信手段を備え、上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、前記第一のノード装置から送信されてきた接続解除情報を受信する接続解除情報受信手段と、前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定するノード選定手段と、前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する接続可能情報送信手段と、を備え、前記第三のノード装置は、前記第二のノード装置から送信されてきた接続可能情報を受信する接続可能情報受信手段と、前記受信された接続可能情報に応じて、前記第一のノード装置に新たに接続し、且つ、前記第二のノード装置との接続を解除するための接続処理を行う接続処理手段と、を備えることを特徴とする。
この発明によれば、上記第三のノード装置は、ツリー型放送システムの参加後に、より上位階層のノード装置に接続できる余地が生じた場合、迅速にそのノード装置に接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
請求項2に記載の発明は、請求項1に記載のツリー型放送システムにおいて、前記第三のノード装置は、前記接続処理の結果、前記第一のノード装置への接続が成功したか否かを示す接続成功可否情報を前記第二のノード装置に対して送信する接続成功可否情報送信手段を更に備え、前記第二のノード装置は、前記第三のノード装置から送信されてきた接続成功可否情報を受信する接続成功可否情報受信手段を更に備え、前記受信された接続成功可否情報に接続成功でないことが示されている場合、前記ノード選定手段は、前記下位階層の第三のノード装置のうち、未だ選定していない第三のノード装置を選定し、前記接続解除情報送信手段は、当該選定した第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信することを特徴とする。
この発明によれば、選定された第三のノード装置が第一のノード装置への接続が失敗した場合であっても、別の第三のノード装置を選定して迅速に第一のノード装置の接続処理を行わせることができる。
請求項3に記載の発明は、請求項1又は2に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、何れか一つの第三のノード装置をランダムに選定することを特徴とする。
請求項4に記載の発明は、請求項1又は2に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、自己との接続時間が最も長い前記第三のノード装置を優先して選定することを特徴とする。
この発明によれば、よりツリー型放送システムから脱退することが少ない第三のノード装置をより上位階層に位置させることができ、システム全体の安定性を向上させることができる。
請求項5に記載の発明は、請求項1又は2に記載のツリー型放送システムにおいて、前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、その下位階層として接続されているノード装置数が最も多い前記第三のノード装置を優先して選定することを特徴とする。
この発明によれば、下流階層側にコンテンツデータを中継するのに重要な位置づけにある第三のノード装置をより上位階層に位置させることができ、システム全体の安定性を向上させることができる。
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載のツリー型放送システムに含まれる前記第二のノード装置であって、前記接続解除情報受信手段、前記ノード選定手段、及び接続解除情報送信手段を備えることを特徴とする。
請求項7に記載のノード処理プログラムの発明は、コンピュータを、請求項6に記載の第二のノード装置として機能させることを特徴とする。
請求項8に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおける接続処理方法であって、下位階層として複数のノード装置が接続されている第一のノード装置が、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する工程を備え、上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、前記第一のノード装置から送信されてきた接続解除情報を受信する工程と、前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定する工程と、前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する工程と、を備え、前記第三のノード装置は、前記第二のノード装置から送信されてきた接続可能情報を受信する工程と、前記受信された接続可能情報に応じて、前記第一のノード装置に接続するための接続処理を行う工程と、を備えることを特徴とする。
本発明によれば、上記第三のノード装置は、ツリー型放送システムの参加後に、より上位階層のノード装置に接続できる余地が生じた場合、迅速にそのノード装置に接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。
[1.ツリー型放送システムの構成等]
始めに、図1等を参照して、本発明の一実施形態に係るツリー型放送システム全体の概要構成及び機能について説明する。
[1.ツリー型放送システムの構成等]
始めに、図1等を参照して、本発明の一実施形態に係るツリー型放送システム全体の概要構成及び機能について説明する。
図1は、本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有のノードIDが割り当てられている。
そして、本実施形態に係るツリー型放送システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成(構成)されるピアツーピア方式のネットワークシステムとなっている。なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。
このようなツリー型放送システムSにおいては、該システムSに参加(トポロジーに参加)している複数のノードNnが放送局10(放送装置の一例)を最上位として複数の階層を形成しつつネットワーク8を介してツリー状に接続され、当該放送局10から放送(例えばストリームミング配信方式で放送)されたコンテンツデータが、上流のノードNnから下流のノードNnに順次転送(ALM(Application Layer Multicast))されるようになっている。
また、ツリー型放送システムSにおいて形成されたトポロジーは、接続先紹介サーバ20により管理されている。そして、接続先紹介サーバ20は、ノードNnからの接続先紹介要求に応じて当該ノードNnに対してツリー型放送システムSにおける接続先となる上流のノードNnを紹介するようになっている。
図2は、ノードN12がツリー型放送システムSへの参加する際の様子を示した概念図である。
図2の例において、ノードN12がツリー型放送システムSに参加(言い換えれば、トポロジーに参加)する場合、先ず、当該ノードN12は、接続先紹介サーバ20へ上流ノード紹介要求メッセージ(M)を送信する(1)。接続先紹介サーバ20は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能な(下流側に直接接続されたノード数が接続許容数に達していない)ノードNnを検索し、1以上の上流ノード候補のネットワークアドレス情報(例えば、IP(Internet Protocol)アドレス及びポート番号)等を含む上流ノード候補紹介メッセージをノードN12へ返信(接続可能ノード紹介)する(2)。次に、ノードN12は、接続先紹介サーバ20から取得した上流ノード候補の中から一つの例えばノードN2を選択し、当該ノードN2へ接続要求メッセージを送信する(3)。次に、ノードN2は、内部で管理しているノード管理テーブルにノードN12の情報を追加し、ノードN12へ接続許可応答メッセージを返信する(4)。次に、ノードN12は、ノードN2へストリーム開始要求メッセージを送信する(5)。最後に、ノードN2は、装置内部にストリーム中継用のオブジェクトを準備し、ノードN12に対してストリーミングを開始する(6)。こうして、ツリー型放送システムSへのノードN12の参加が完了する。
一方、ノードN12がツリー型放送システムSから脱退(離脱)する場合、当該ノードN12は、ストリーム供給元である上流のノードN2に対してストリーム停止要求メッセージと接続解除要求メッセージを送信する。これに応じて、ノードN2は、ストリーム中継用オブジェクトを破棄することでノードN12に対するストリーミングを停止し、同時にノード管理テーブルからノードN12の情報を削除することでノードN2との接続関係を断ち切る。
さらに、本実施形態においては、下流のノードNnは、上流に接続できる余地がある場合、現在接続している上流のノードNnより上流のノードNnに再接続するようになっている。
図3は、下流のノードNnが、より上流のノードNnに接続できる余地が生じた場合に、当該ノードNnに再接続する際の様子を示した概念図である。
図3(A)の例では、複数(ここでは、2つ)の下流の(下位階層として)ノードN5及びN12が接続されているノードN2(第一のノード装置の一例)は、例えば下流の一方のノードN12との接続が解除された場合に、未だ接続されている下流の他方のノードN5(第二のノード装置の一例)に対して、接続が解除されたことを示す接続解除メッセージ(接続解除情報の一例)を送信する(10)。
一方、上流の(上位階層として)ノードN2が接続されており、かつ、下流の(下位階層として)ノードN10及びN11(第三のノード装置の一例)が接続されているノードN5は、上流のノードN2から送信されてきた接続解除メッセージを受信したとき、当該受信された接続解除メッセージに応じて、接続されている下流のノードN10及びN11のうち、何れかの例えばノードN10を選定するようになっている。そして、当該ノードN5は、選定されたノードN10に対して、ノードN2への接続が可能になったことを示す接続可能メッセージ(接続可能情報の一例)を送信する(11)。
一方、上記ノードN10は、上流のノードN5から送信されてきた接続可能メッセージを受信したとき、当該受信された接続可能メッセージに応じて、より上流のノードN2へ接続要求メッセージを送信して(12)、図3(B)に示すように新たに接続し、且つ、上流のノードN5との接続を解除するための接続処理を行うようになっている。
なお、図3の例において、ノードN5が親ノード、当該親ノードの上流のノードN2は爺ノード、当該親ノードの下流のノードN10及びN11は子ノードとして位置づけられる。
[1−2.放送局10の構成等]
次に、図4を参照して、放送局10の構成及び機能について説明する。
[1−2.放送局10の構成等]
次に、図4を参照して、放送局10の構成及び機能について説明する。
図4は、放送局10の概要構成例を示す図である。
放送局10は、図4に示すように、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、音源チップ108、キーボード109、マウス110、ディスプレイ111、及び内蔵スピーカ112等を備えて構成されている。また、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、及び音源チップ108は、システムバス113を介して相互に接続されている。また、放送局10は、ルータ114を介してネットワーク8に接続される。
主記憶装置102は、RAM及びROM等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、及びデコーダ(プログラム)等が記憶されている。また、主記憶装置102は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局10に接続されたノードNnの情報(例えば、IPアドレス及びポート番号等)が登録される。また、主記憶装置102は、バッファメモリ(例えば、リングバッファ)を有する。
また、ハードディスク装置103には、放送用コンテンツデータが記録されている。
CPU104は、主記憶装置102に記憶された各種プログラムにしたがって(つまり、プログラムの実行により)、例えばハードディスク装置103に記録されたコンテンツデータをパケット化し、ノード管理テーブルに登録されたノードNnに対して放送(ストリーム配信)する放送処理を行う。
なお、このような放送局10として、専用の放送サーバの他、何れかのノードNnが適用されても良い。
[1−3.接続先紹介サーバ20の構成等]
次に、図5を参照して、接続先紹介サーバ20の構成及び機能について説明する。
[1−3.接続先紹介サーバ20の構成等]
次に、図5を参照して、接続先紹介サーバ20の構成及び機能について説明する。
図5は、接続先紹介サーバ20の概要構成例を示す図である。
接続先紹介サーバ20は、図5に示すように、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、ビデオチップ207、キーボード208、マウス209、及びディスプレイ210等を備えて構成されている。また、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、及びビデオチップ207は、システムバス211を介して相互に接続されている。また、接続先紹介サーバ20は、ルータ212を介してネットワーク8に接続される。
主記憶装置202は、RAM及びROM等を備えて構成されており、オペレーティングシステム、放送局管理プログラム、トポロジー管理プログラム、接続先紹介プログラム、及び運用管理プログラム等のサーバ処理プログラムが記憶されている。
また、ハードディスク装置203には、放送局管理データベース及びトポロジーデータベースが構築されている。放送局管理データベースには、各放送局10の所在情報(例えば、IPアドレス及びポート番号等)が放送チャンネル情報(例えばチャンネル番号)に対応付けられて登録される。また、トポロジーデータベースには、トポロジー管理情報が登録されている。かかるトポロジー管理情報は、放送チャンネル毎に存在し、放送チャンル情報に対応付けられている。そして、トポロジー管理情報には、トポロジーに参加している各ノードNn毎に、ネットワークアドレス情報(例えばIPアドレス及びポート番号)、現在接続されている下流のノードNnを示す情報(例えば、ノードID)、現在接続されている下流のノードNnの接続数、下流のノードNnの接続許容数(例えば、2、これより多くても良い)、及び転送能力等の情報が対応付けられて含まれている。ここで、転送能力とは、例えば、ノードNnのCPUの処理速度(GHz)やネットワーク8における有効帯域(例えば、データ転送速度(bps))のことをいう。
CPU204は、主記憶装置202に記憶された各種プログラムにしたがって、例えば新たにトポロジーへ参加希望するノードNnからの接続先紹介要求に応じて上記トポロジー管理情報から下流に接続可能なノードNnを検索し、検索された1以上のノードNnの候補を接続先として紹介する紹介処理を行う。
[1−4.ノードNnの構成等]
次に、図6を参照して、ノードNnの構成及び機能について説明する。
[1−4.ノードNnの構成等]
次に、図6を参照して、ノードNnの構成及び機能について説明する。
図6は、ノードNnの概要構成例を示す図である。
ノードNnは、図6に示すように、主電源301、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、音源チップ308、キーボード309、マウス310、ディスプレイ311、及び内蔵スピーカ312等を備えて構成されている。また、補助電源301b、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、及び音源チップ308は、システムバス313を介して相互に接続されている。また、ノードNnは、ルータ314を介してネットワーク8に接続される。
なお、ノードNnとしては、PC、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
主記憶装置302は、RAM及びROM等を備えて構成されており、オペレーティングシステム、画面制御プログラム、ストリーム制御プログラム、トポロジー制御プログラム、及びデコーダ等が記憶されている。
また、主記憶装置302には、受信したコンテンツデータを一時的に蓄積するためのバッファメモリ(例えば、リングバッファ)を有する。また、主記憶装置302は、ノード管理テーブルを記憶している。ノード管理テーブルには、自ノード(自己)に接続されている下流のノードNnのネットワークアドレス情報(IPアドレス及びポート番号等)が登録される。
そして、CPU304は、主記憶装置302に記憶された各種プログラム(本発明のノード処理プログラムを含む)にしたがって、ツリー型放送システムS(ある放送チャンネルに係るトポロジー)に参加するための参加処理を実行し、参加後に放送局10又は上流ノードNnから放送されネットワークインタフェース305を介して受信されたコンテンツデータのパケット(コンテンツストリーム)をバッファリングさせつつ再生処理を行う。
ここで、上記参加処理では、接続先紹介サーバ20に対して接続先紹介要求がなされ、接続先紹介サーバ20から紹介された上流のノードNnに接続(セッション確立)してストリーム開始要求がなされる。
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツデータ(例えば、ビデオデータ及びオーディオデータ)が読み出されデコーダによりデコードされる。そして、デコードされたビデオデータ(映像情報)がビデオチップ307を通じてディスプレイ311に出力され、デコードされたオーディオデータ(音声情報)が音源チップ308を通じて内蔵スピーカ312(又は図示しない外部スピーカ)から出力される。
また、自ノードに下流のノードNnが接続されている場合、CPU304は、バッファメモリに蓄積されたコンテンツデータの各パケットを当該下流のノードNnに転送(コンテンツストリームの中継)する転送処理を行う。
更に、CPU304は、下流のノードNnからストリーム停止要求メッセージと接続解除要求メッセージを受信した場合、当該ノードNnに対するストリーミングを停止し、ノード管理テーブルから当該ノードNnの情報を削除することで当該ノードNnとの接続を解除する。
このように、下流のノードNnとの接続が解除された場合、上述した爺ノードのCPU304は、接続解除情報送信手段として機能し、未だ接続されている下流の別のノードNn(親ノード)に対して、接続が解除されたことを示す接続解除メッセージを送信する送信処理を行う。かかる接続解除メッセージには、自ノードのネットワークアドレス情報が含まれる。
一方、親ノードのCPU34は、接続解除情報受信手段として機能して上流の爺ノードから接続解除メッセージを受信した場合、当該接続解除メッセージに応じて、ノード選定手段として機能し、自ノードに接続されている複数の子ノードのうち、何れかの子ノードを選定する選定処理を行う。
かかる選定処理においては、例えば、複数の子ノードのうち、何れか一つの子ノードがランダム(乱数発生により)に選定される。或いは、複数の子ノードのうち、自ノードとの接続時間が最も長い子ノードが優先されて(最も接続時間が長い順に)選定されるように構成しても良い。ここで、自ノードとの接続時間は、例えばCPU34により計測され、接続されている子ノード毎に管理されるようになっており、例えば今回のセッションの接続継続時間とすることができる。或いは、複数回のセッションに亘って計測された接続の累積時間であっても良い。また、上記選定処理では、複数の子ノードのうち、夫々の子ノードに接続されている下流のノードnの接続数が最も多い子ノードが優先されて選定されるように構成しても良い。当該子ノードの下流のノードNnの接続数を示す情報は、例えば夫々の子ノードから任意のタイミングで取得されるか、或いは接続先紹介サーバ20から取得される。
そして、親ノードのCPU34は、接続可能情報送信手段として機能し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する送信処理を行う。かかる接続可能メッセージには、受信された接続解除メッセージ中の爺ノードのネットワークアドレス情報が含まれる。
一方、子ノードのCPU34は、接続可能情報受信手段として機能して、親ノードから送信されてきた接続可能メッセージを受信した場合、当該接続可能メッセージに応じて、接続処理手段として機能し、当該接続可能メッセージに示される爺ノードのネットワークアドレス情報にしたがって2つ上位の階層に位置する爺ノードに接続し、且つ、それまで接続していた親ノードとの接続を解除するための接続処理を行う。そして、当該子ノードのCPU34は、接続成功可否情報送信手段として機能し、当該接続処理の結果、爺ノードへの接続が成功したか否かを示す接続成功可否メッセージ(接続成功可否情報の一例)を親ノードに対して送信する送信処理を行う。なお、子ノードは、爺ノードへの接続が成功した場合には、接続先を爺ノードに変更したことを示す接続変更メッセージ(例えば、爺ノードのネットワークアドレス情報が含まれる)を接続先紹介サーバ20に送信することになる。これにより、接続先紹介サーバ20により管理されるトポロジー管理情報が変更されることになる。
一方、親ノードのCPU34は、接続成功可否情報受信手段として機能して、子ノードから送信されてきた接続成功可否メッセージを受信した場合、当該接続成功可否メッセージに接続成功でないこと(つまり、接続失敗)が示されているとき、子ノードのうち、未だ選定していない子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する送信処理を行う。
[2.ツリー型放送システムSの動作]
次に、図7を参照して、本実施形態に係るツリー型放送システムSの動作について説明する。
[2.ツリー型放送システムSの動作]
次に、図7を参照して、本実施形態に係るツリー型放送システムSの動作について説明する。
図7(A)は、爺ノードにおけるCPU304により実行される処理を示すフローチャートであり、図7(B)は、親ノードにおけるCPU304により実行される処理を示すフローチャートであり、図7(C)は、子ノードにおけるCPU304により実行される処理を示すフローチャートである。
図7(A)の処理は、例えば爺ノード(例えば、図3におけるノードN2)のCPU304により親ノードとの接続解除が検知された場合に開始される。
先ず、爺ノードのCPU304は、変数iに0をセットし(ステップS1)、当該爺ノードに接続されている親ノードの接続数が当該変数iより大きいか否かを判別する(ステップS2)。
そして、親ノードの接続数が当該変数iより大きい場合には(ステップS2:YES)、爺ノードのCPU304は、当該爺ノードに接続されている親ノードのうち、i番目(例えば、ノード管理テーブルへの登録順に決定される)の親ノードに対して、上述した接続解除メッセージを、ネットワークインタフェース305を通じて送信する(ステップS3)。次いで、爺ノードのCPU304は、iを1インクリメントし(ステップS4)、ステップS2に戻る。こうして、ステップS2において親ノードの接続数が当該変数iより大きくないと判別される(ステップS2:NO)までステップS3の処理が繰り返され、爺ノードの下流側に接続される全ての親ノード(一部の親ノードでも良い)に対して順次、接続解除メッセージが送信されることになる。
次に、図7(B)の処理は、爺ノードからの接続解除メッセージが受信された場合に開始される。
先ず、親ノードのCPU304は、当該親ノードに接続されている子ノードの順序を決定する(ステップS11)。例えば、当該順序がランダムに決定、例えば、複数の子ノードのうち0番目がランダムに決定し、次に1番目がランダムに決定されるというように、親ノードに接続されている子ノードの順序が決定される。或いは、自ノードとの接続時間が長い順に子ノードの順序が決定されるように構成しても良いし、子ノードに接続されている下流のノードnの接続数が多い順に子ノードの順序が決定されるように構成しても良い。
次いで、親ノードのCPU304は、変数iに0をセットし(ステップS12)、当該親ノードに接続されている子ノードの接続数が当該変数iより大きいか否かを判別する(ステップS13)。
そして、子ノードの接続数が当該変数iより大きい場合には(ステップS13:YES)、親ノードのCPU304は、当該親ノードに接続されている子ノードのうち、上記決定された順序におけるi番目の子ノードを選定し、当該子ノードに対して、上述した接続可能メッセージを、ネットワークインタフェース305を通じて送信する(ステップS14)。
一方、図7(C)の処理は、親ノードからの接続可能メッセージが受信された場合に開始される。先ず、子ノードのCPU304は、受信された接続可能メッセージに応じて、当該接続可能メッセージに示される爺ノードのネットワークアドレス情報にしたがって当該爺ノードへの接続処理を行う(ステップS21)。例えば、子ノードから爺ノードに接続要求メッセージが送信される。かかる接続要求メッセージを受信した爺ノードは、当該子ノードの接続要求を許可するか否かを判定し、許可する場合には、当該子ノードに対して接続許可応答メッセージを返信し、許可しない場合(例えば、既に別のノードNnからの接続要求がありこれに対して接続許可応答された場合等)には、当該子ノードに対して接続拒否応答メッセージを返信する。
次いで、子ノードのCPU304は、爺ノードへの接続に成功したか否かを判別する(ステップS22)。そして、子ノードのCPU304は、例えば爺ノードからの接続拒否応答メッセージが受信された場合、爺ノードへの接続に成功しない(失敗した)と判別し(ステップS22:NO)、接続成功可否メッセージを接続失敗に設定する(ステップS23)。
一方、子ノードのCPU304は、例えば爺ノードからの接続許可応答メッセージが受信された場合、爺ノードへの接続に成功したと判別し(ステップS22:YES)、親ノードとの接続を解除(ステップS24)、例えばストリーム停止要求メッセージと接続解除要求メッセージを親ノードに送信する。
次いで、子ノードのCPU304は、接続成功可否メッセージを接続成功に設定する(ステップS25)。
次いで、子ノードのCPU304は、接続先を爺ノードに変更したことを示す接続変更メッセージを、ネットワークインタフェース305を通じて接続先紹介サーバ20に対して送信する(ステップS26)。
次いで、子ノードのCPU304は、上記接続成功又は接続失敗が設定された接続成功可否メッセージを親ノードに対して、ネットワークインタフェース305を通じて送信する(ステップS27)。
一方、図7(B)の処理に戻り、子ノードからの接続成功可否メッセージが受信される(ステップS15)と、親ノードのCPU304は、当該接続成功可否メッセージに接続成功が示されているか、又は接続失敗が示されているかを判別し(ステップS16)、接続成功である場合には(ステップS16:接続成功)、当該処理を終了する。一方、接続失敗である場合には(ステップS16:接続失敗)、親ノードのCPU304は、iを1インクリメントし(ステップS17)、ステップS13に戻る。こうして、ステップS13において親ノードの接続数が当該変数iより大きくないと判別される(ステップS13:NO)か、又は子ノードから接続成功が示される接続成功可否メッセージが受信されるまで、ステップS14〜S17の処理が繰り返される。つまり、親ノードの下流側に接続される子ノードに対して、上記ステップS11で決定された子ノードの順序でステップS14〜S17の処理が行われる。
以上説明したように、上記実施形態によれば、爺ノードは、自己の下流に複数接続されている何れかの親ノードとの接続が解除された場合に、接続されている他の親ノードに対して、接続が解除されたことを示す接続解除メッセージを送信し、当該接続解除メッセージを受信した親ノードは、自己の下流に複数接続されている子ノードのうち、少なくとも一つの子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信する。そして、当該接続可能メッセージを受信した子ノードは、爺ノードに新たに接続し、且つ、親ノードとの接続を解除するための接続処理を行うように構成したので、トポロジーの参加後に、より上流のノードNnに接続できる余地が生じた場合、迅速にそのノードNnに接続を変更することができるので、コンテンツデータの受信品質や再生品質を向上させ、ひいては、システム全体の安定性を向上させることができる。
また、上記子ノードは、上記接続処理の結果、爺ノードへの接続が成功したか否かを示す接続成功可否メッセージを親ノードに対して送信し、当該接続成功可否メッセージを受信した親ノードは、当該接続成功可否メッセージに接続成功でないことが示されている場合、未だ選定していない子ノードを選定し、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成したので、選定された子ノードが爺ノードへの接続が失敗した場合であっても、別の子ノードを選定して迅速に爺ノードへの接続処理を行わせることができる。
また、上記親ノードは、自己の下流に複数接続されている子ノードのうち、自己との接続時間が最も長い子ノードを優先して選定して、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成すれば、よりトポロジーから脱退することが少ない子ノードをより上流に位置させることができ、システム全体の安定性を向上させることができる。
また、上記親ノードは、自己の下流に複数接続されている子ノードのうち、その下流側に接続されているノード数が最も多い子ノードを優先して選定して、当該選定した子ノードに対して、爺ノードへの接続が可能になったことを示す接続可能メッセージを送信するように構成すれば、下流にコンテンツデータを中継するのに重要な位置づけにある子ノードをより上流に位置させることができ、システム全体の安定性を向上させることができる。
8 ネットワーク
9 オーバーレイネットワーク
10 放送局
20 接続先紹介サーバ
101,201,301 主電源
102,202,302 主記憶装置
103,203,303 ハードディスク装置
104,204,304 CPU
105,205,305 ネットワークインタフェース
106,206,306 周辺機器制御チップ
107,207,307 ビデオチップ
108,308 音源チップ
109,208,309 キーボード
110,209,310 マウス
111,210,311 ディスプレイ
112,312 内蔵スピーカ
113,211,313 システムバス
114,212,314 ルータ
Nn ノード
S ツリー型放送システム
9 オーバーレイネットワーク
10 放送局
20 接続先紹介サーバ
101,201,301 主電源
102,202,302 主記憶装置
103,203,303 ハードディスク装置
104,204,304 CPU
105,205,305 ネットワークインタフェース
106,206,306 周辺機器制御チップ
107,207,307 ビデオチップ
108,308 音源チップ
109,208,309 キーボード
110,209,310 マウス
111,210,311 ディスプレイ
112,312 内蔵スピーカ
113,211,313 システムバス
114,212,314 ルータ
Nn ノード
S ツリー型放送システム
Claims (8)
- 複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおいて、
下位階層として複数のノード装置が接続されている第一のノード装置は、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する接続解除情報送信手段を備え、
上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、
前記第一のノード装置から送信されてきた接続解除情報を受信する接続解除情報受信手段と、
前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定するノード選定手段と、
前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する接続可能情報送信手段と、
を備え、
前記第三のノード装置は、
前記第二のノード装置から送信されてきた接続可能情報を受信する接続可能情報受信手段と、
前記受信された接続可能情報に応じて、前記第一のノード装置に新たに接続し、且つ、前記第二のノード装置との接続を解除するための接続処理を行う接続処理手段と、
を備えることを特徴とするツリー型放送システム。 - 請求項1に記載のツリー型放送システムにおいて、
前記第三のノード装置は、前記接続処理の結果、前記第一のノード装置への接続が成功したか否かを示す接続成功可否情報を前記第二のノード装置に対して送信する接続成功可否情報送信手段を更に備え、
前記第二のノード装置は、
前記第三のノード装置から送信されてきた接続成功可否情報を受信する接続成功可否情報受信手段を更に備え、
前記受信された接続成功可否情報に接続成功でないことが示されている場合、前記ノード選定手段は、前記下位階層の第三のノード装置のうち、未だ選定していない第三のノード装置を選定し、前記接続解除情報送信手段は、当該選定した第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信することを特徴とするツリー型放送システム。 - 請求項1又は2に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、何れか一つの第三のノード装置をランダムに選定することを特徴とするツリー型放送システム。 - 請求項1又は2に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、自己との接続時間が最も長い前記第三のノード装置を優先して選定することを特徴とするツリー型放送システム。 - 請求項1又は2に記載のツリー型放送システムにおいて、
前記ノード選定手段は、複数の前記下位階層の第三のノード装置のうち、その下位階層として接続されているノード装置数が最も多い前記第三のノード装置を優先して選定することを特徴とするツリー型放送システム。 - 請求項1乃至5の何れか一項に記載のツリー型放送システムに含まれる前記第二のノード装置であって、
前記接続解除情報受信手段、前記ノード選定手段、及び接続解除情報送信手段を備えることを特徴とするノード装置。 - コンピュータを、請求項6に記載の第二のノード装置として機能させることを特徴とするノード処理プログラム。
- 複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された情報が、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおける接続処理方法であって、
下位階層として複数のノード装置が接続されている第一のノード装置が、何れかの前記下位階層のノード装置との接続が解除された場合に、接続されている下位階層のノード装置に対して、接続が解除されたことを示す接続解除情報を送信する工程を備え、
上位階層として前記第一のノード装置が接続されており、且つ、下位階層として少なくとも一つの第三のノード装置が接続されている第二のノード装置は、
前記第一のノード装置から送信されてきた接続解除情報を受信する工程と、
前記受信された接続解除情報に応じて、接続されている下位階層の第三のノード装置のうち、少なくとも一つの第三のノード装置を選定する工程と、
前記選定された第三のノード装置に対して、前記第一のノード装置への接続が可能になったことを示す接続可能情報を送信する工程と、
を備え、
前記第三のノード装置は、
前記第二のノード装置から送信されてきた接続可能情報を受信する工程と、
前記受信された接続可能情報に応じて、前記第一のノード装置に接続するための接続処理を行う工程と、
を備えることを特徴とする接続処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007299474A JP2009124662A (ja) | 2007-11-19 | 2007-11-19 | ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007299474A JP2009124662A (ja) | 2007-11-19 | 2007-11-19 | ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009124662A true JP2009124662A (ja) | 2009-06-04 |
Family
ID=40816286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007299474A Withdrawn JP2009124662A (ja) | 2007-11-19 | 2007-11-19 | ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009124662A (ja) |
-
2007
- 2007-11-19 JP JP2007299474A patent/JP2009124662A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4518169B2 (ja) | ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム | |
US8159949B2 (en) | Linked-list hybrid peer-to-peer system and method for optimizing throughput speed and preventing data starvation | |
JP5092877B2 (ja) | ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム | |
JP4840329B2 (ja) | ツリー型放送システム、再接続処理方法、ノード装置、ノード処理プログラム、サーバ装置、及びサーバ処理プログラム | |
JP4661751B2 (ja) | 離脱可否制御装置、ツリー型配信システム、ノード装置離脱制御方法、離脱可否制御プログラム及び情報処理プログラム | |
WO2006011309A1 (ja) | 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等 | |
US8134937B2 (en) | Distributed content storage system, content storage method, node device, and node processing program | |
JP2008278337A (ja) | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法 | |
JP5115509B2 (ja) | コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム | |
WO2018171396A1 (zh) | 一种数据传输方法、装置及系统 | |
JP4770790B2 (ja) | ツリー型放送システム、ツリー型放送システムへの参加及び脱退方法、ノード装置、及びノード処理プログラム | |
CN102307216B (zh) | 多媒体电话p2p流媒体广播方法及系统 | |
WO2010025635A1 (zh) | 一种播放切换方法、媒体服务器、用户终端和系统 | |
JP2009124662A (ja) | ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム | |
JP4623030B2 (ja) | ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等 | |
JP5067259B2 (ja) | ツリー型放送システム、ノード接続方法、ノード装置、及びノード処理プログラム | |
CN116112696A (zh) | 直播方法、系统、bier控制器、路由器、设备及可读介质 | |
Ha et al. | Topology and architecture design for peer to peer video live streaming system on mobile broadcasting social media | |
JP2008294625A (ja) | 通信システム、特定情報配信方法、ノード装置、特定情報配信装置、ノード処理プログラム、及び特定情報配信処理プログラム | |
JP2009200725A (ja) | 情報配信システム及び同システムにおける階層構造の形成方法及びプログラム | |
JP5182016B2 (ja) | ノード紹介装置、ノード紹介処理プログラム、ツリー型放送システム、及びノード紹介処理方法 | |
JP2008236538A (ja) | ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム | |
JP2011008709A (ja) | 情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラム | |
KR100776791B1 (ko) | 다대다 통신 서비스 제공 시스템 및 방법 | |
JP5472228B2 (ja) | 受信端末及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100215 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110414 |