説明

ネットワークシステム、情報処理装置及び情報処理用プログラム

【課題】ネットワーク管理装置における処理負担の軽減と、ネットワークシステム全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることが可能なネットワークシステムを提供する。
【解決手段】階層ツリー状に接続された複数のノード2を介して、放送局1からコンテンツが配信される配信システムSにおいて、放送局1を頂点とする階層ツリー状に複数のノード2が接続されてなるベースツリーBTと、ベースツリーBTに含まれるノード2のいずれかである第1ルートノードを頂点とする階層ツリー状に他の複数のノード2が接続されてなる拡張ツリーETと、ベースツリーBTに属する各ノード2のトポロジを制御する接続先紹介サーバ3と、を備え、第1ルートノードが、当該第1ルートノードを頂点とする拡張ツリーETに属する各ノード2のトポロジを制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークシステム、情報処理装置及び情報処理用プログラムの技術分野に属し、より詳細には、配信元から配信される配信情報を、その下流側に複数の階層を構成しつつ接続されている情報処理装置において段階的に中継しつつ配信するネットワークシステム並びに当該ネットワークシステムに含まれる情報処理装置及び当該情報処理装置に含まれている情報処理用プログラムの技術分野に属する。
【背景技術】
【0002】
近年、家庭用のインターネット回線の高速化に伴い、配信元となる一の配信サーバを頂点として各家庭等内にあるパーソナルコンピュータ等を複数個階層ツリー状に接続してネットワークを構成し、そのネットワークを介して上記配信サーバから音楽や映画等のいわゆるコンテンツを配信情報として配信するネットワークシステムが一般化しつつある。
【0003】
なお、当該ネットワークを、その接続態様の観点から見たものを「トポロジ」と称する。また、このようなネットワークのトポロジにおいて、当該ネットワークを構成する各パーソナルコンピュータ等の夫々は、一般に「ノード」と称される。更に、上記ネットワークシステムについての従来技術を開示する特許文献としては、例えば下記特許文献1がある。
【0004】
この特許文献1に記載されている技術においては、新規のノードが階層ツリー構造を有するネットワークシステムに新たに加入する場合、当該新規ノードは、先ず当該ネットワーク外に設けられたネットワーク管理装置に対して新たに加入する旨の問い合わせを行う。そして、当該問い合わせに対するネットワーク管理装置からの回答に含まれている接続先のノード(既に当該ネットワークシステムに加入しているノードのいずれか)に対して接続要求を当該新規ノードから送信することで、当該接続先のノードの直近下流側に当該新規ノードが新たに接続されることで当該新規ノードがネットワークシステムに新たに加入する構成とされている。
【0005】
このとき、上記ネットワーク管理装置は、当該ネットワークシステムに属している全てのノードについてのトポロジ(接続先)を管理する構成となっている。
【特許文献1】特開2006−287351公報(第1図、第2図)
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1記載の技術によると、一台のネットワーク管理装置が全てのノードについてのトポロジを管理するため、当該ノードの数がネットワークシステム内において膨大になると、当該ネットワーク管理装置が処理過多に陥ってしまうという問題点があった。
【0007】
この場合、当該ネットワーク管理装置が処理過多に陥ると、例えば、新たなノードが更にネットワークシステムに加入しようとしてその旨の要求情報を送信しても、対応する接続先の情報を含むネットワーク管理装置からの回答が遅れたり、或いは、あるノードがネットワークシステムから脱退したときのトポロジの再構築に不要な時間がかかってしまい、最悪の場合は上流側のノードで脱退が発生した場合における下流側ノードにおけるコンテンツの配信途絶という事態が発生し得るという問題点が生じる。
【0008】
一方、階層ツリー状のネットワークシステムにおけるコンテンツ配信の安定性又は障害に対する耐性の観点からは、当該ネットワークシステムに属するノードについてのトポロジは、なるべく一元的に管理されることが望ましい。
【0009】
そこで、本願は上記の各問題点並びに要望に鑑みて為されたもので、その目的の一例は、ネットワーク管理装置における処理負担の軽減と、ネットワークシステム全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることが可能なネットワークシステム並びに当該ネットワークシステムに含まれるノード及び当該ノードにおける動作を制御する制御用プログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、請求項1に記載の発明は、階層ツリー状に接続された複数の情報処理装置を介して、配信元装置から配信情報が配信されるネットワークシステムにおいて、前記配信元装置を頂点とする階層ツリー状に複数の前記情報処理装置が接続されてなる第一のサブネットワークシステムと、前記第一のサブネットワークシステムに含まれる前記情報処理装置のいずれかである頂点情報処理装置を頂点とする階層ツリー状に他の複数の前記情報処理装置が接続されてなる第二のサブネットワークシステムと、前記第一のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する接続態様制御装置(接続先紹介サーバ)と、を備え、前記頂点情報処理装置は、当該頂点情報処理装置を前記頂点とする前記第二のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する制御部等の制御手段を備える。
【0011】
よって、第一のサブネットワークシステムに属する頂点情報処理装置を頂点とする第二のサブネットワークシステムの接続態様が、当該頂点情報処理装置内の制御手段により制御されるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【0012】
また、ネットワークシステム全体のうち、配信情報の配信元たる配信元装置を頂点とする第一のサブネットワークシステムに属する各情報処理装置の接続態様を専用の接続態様制御装置により制御するので、配信経路におけるいわゆる上流側に属する情報処理装置の接続態様が最適に制御されることになり、結果としてネットワークシステム全体として安定して配信情報を配信することができる。
【0013】
上記の課題を解決するために、請求項2に記載の発明は、請求項1に記載のネットワークシステムにおいて、前記第一のサブネットワークシステムに属し且つ前記接続態様制御装置により制御される前記情報処理装置の数は、当該接続態様制御装置における前記接続態様の制御可能数に基づいて決定されている。
【0014】
よって、第一のサブネットワークシステムにおいて接続態様制御装置により制御される情報処理装置の数が、当該接続態様制御装置における接続態様の制御可能数に基づいて決定されているので、配信システムに要求される接続態様の安定性(信頼性)に応じて当該接続態様制御装置の機器性能を規定するような柔軟なシステム設計が可能となる。
【0015】
上記の課題を解決するために、請求項3に記載の発明は、請求項2に記載のネットワークシステムにおいて、前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する前記情報処理装置を前記頂点情報処理装置として指定する制御部等の頂点情報処理装置指定手段を備え、前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備える。
【0016】
よって、第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する情報処理装置を第二のサブネットワークシステムに係る頂点情報処理装置として指定し、その旨を示す指定情報を当該指定された情報処理装置の記憶手段内に記憶するので、頂点情報処理装置の役割を担う情報処理装置を選定する規則が簡易なものとなり、システム実装上の作業負荷を軽減できる。
【0017】
上記の課題するために、請求項4に記載の発明は、請求項2に記載のネットワークシステムにおいて、前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する前記情報処理装置を前記頂点情報処理装置として指定する制御部等の頂点情報処理装置指定手段を備え、前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備える。
【0018】
よって、第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する情報処理装置を第二のサブネットワークシステムに係る頂点情報処理装置として指定し、その旨を示す指定情報を当該指定された情報処理装置の記憶手段内に記憶するので、頂点情報処理装置の役割を担う情報処理装置を選定する際に第一のサブネットワーク上における稼動状態の実績を勘案した選定基準を導入することが可能となる(例えば、配信情報の中継品質が安定している情報処理装置を頂点情報処理装置として選定することができる)。
【0019】
上記の課題を解決するために、請求項5に記載の発明は、請求項3又は4に記載のネットワークシステムにおいて、前記頂点情報処理装置指定手段は、各前記情報処理装置における前記配信情報の配信能力又は当該情報処理装置の前記ネットワークシステム内における稼働時間の少なくともいずれか一方を更に考慮して前記頂点情報処理装置としての前記情報処理装置を指定するように構成される。
【0020】
よって、情報処理装置が属する階層だけでなく配信情報の配信能力又はネットワークシステム内における稼働時間の少なくともいずれか一方をも考慮して頂点情報処理装置が指定されるので、第二のサブネットワークシステム夫々の頂点情報処理装置として安定して機能する情報処理装置を指定することができる。
【0021】
上記の課題を解決するために、請求項6に記載の発明は、請求項1から5のいずれか一項に記載のネットワークシステムにおいて、一つの前記第二のサブネットワークシステムに属している前記情報処理装置の数は前記第一のサブネットワークシステムに属している前記情報処理装置の数より少ないように構成される。
【0022】
よって、第二のサブネットワークシステムに属する情報処理装置の数が第一のサブネットワークシステムに属する情報処理装置の数より少ないので、第二のサブネットワークシステムの頂点となる情報処理装置における当該第二のサブネットワークシステムに属する情報処理装置の接続態様の制御負荷が軽減され、当該第二のサブネットワークシステム内における配信情報の配信を安定化することができる。
【0023】
上記の課題を解決するために、請求項7に記載の発明は、請求項1から6のいずれか一項に記載のネットワークシステムにおいて、当該ネットワークシステムに含まれる前記情報処理装置により仮想的なオーバレイネットワークが構成されており、当該オーバレイネットワークに属するいずれかの前記情報処理装置には、各前記頂点情報処理装置を前記ネットワークシステム内において識別するための識別情報を少なくとも記憶する記憶部等の記憶手段が備えられている。
【0024】
よって、少なくとも、第二のサブネットワークシステムにおける頂点情報処理装置を識別するための識別情報が仮想的なオーバレイネットワークを構成するいずれかの情報処理装置に記憶されているので、ネットワークシステムに新たに加入する情報処理装置が、当該加入の際迅速に頂点情報処理装置を検索/発見することができる。
【0025】
上記の課題を解決するために、請求項8に記載の発明は、請求項1から7のいずれか一項に記載のネットワークシステムにおける前記頂点情報処理装置としての情報処理装置であって、前記制御手段を備える。
【0026】
よって、第一のサブネットワークシステムに属し且つ第二のサブネットワークシステムの頂点となる頂点情報処理装置が当該第二のサブネットワークシステムの接続態様を制御する制御手段を備えるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【0027】
上記の課題を解決するために、請求項9に記載の発明は、請求項1から7のいずれか一項に記載のネットワークシステムに新たに参加する情報処理装置において、いずれかの前記頂点情報処理装置を前記ネットワークシステム内において検索する検索手段と、前記検索手段における検索結果に基づいて、前記第一のサブネットワークシステム又は前記第二のサブネットワークシステムのいずれに参加するかを決定する決定手段と、前記決定手段により前記第一のサブネットワークシステムに参加することが決定されたとき、前記接続態様制御装置に対して当該参加の旨を示す参加要求情報を送信し、前記決定手段により前記第二のサブネットワークシステムに参加することが決定されたとき、前記検索された頂点情報処理装置に対して当該参加の旨を示す参加要求情報を送信する参加要求情報送信手段と、を備える。
【0028】
よって、第一のサブネットワークシステムに参加することが決定されたとき、接続態様制御装置に対して参加要求情報を送信すると共に、第二のサブネットワークシステムに参加することが決定されたとき検索された頂点情報処理装置に対して参加要求情報を送信するので、新規にネットワークシステムに参加しようとする情報処理装置であっても迅速にいずれかのサブネットワークシステムに参加することができる。
【0029】
上記の課題を解決するために、請求項10に記載の発明は、請求項9に記載の情報処理装置において、前記決定手段は、前記検索手段による検索において前記頂点情報処理装置が検索できたとき前記第二のサブネットワークシステムに参加すると決定し、前記検索手段による検索において前記頂点情報処理装置が検索できたなかったとき前記第一のサブネットワークシステムに参加すると決定するように構成される。
【0030】
よって、先ず頂点情報処理装置を検索し、当該頂点情報処理装置が検索できたときは第二のサブネットワークシステムに参加すると決定し、当該頂点情報処理装置が検索できなかったときは第一のサブネットワークシステムに参加すると決定するので、新たな情報処理装置が参加すべきサブネットワークシステムを、接続態様制御装置に不要な負担をかけることなく且つ迅速に決定することができる。
【0031】
上記の課題を解決するために、請求項11に記載の発明は、コンピュータを請求項8から10のいずれか一項に記載の情報処理装置として機能させる。
【0032】
よって、第一のサブネットワークシステムに属し且つ第二のサブネットワークシステムの頂点となる頂点情報処理装置が当該第二のサブネットワークシステムの接続態様を制御する制御手段として当該コンピュータが機能するので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【発明の効果】
【0033】
本説明によれば、第一のサブネットワークシステムに属する頂点情報処理装置を頂点とする第二のサブネットワークシステムの接続態様が、当該頂点情報処理装置内の制御手段により制御されるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【0034】
また、ネットワークシステム全体のうち、配信情報の配信元たる配信元装置を頂点とする第一のサブネットワークシステムに属する各情報処理装置の接続態様を専用の接続態様制御装置により制御するので、配信経路におけるいわゆる上流側に属する情報処理装置の接続態様が最適に制御されることになり、結果としてネットワークシステム全体として安定して配信情報を配信することができる。
【0035】
従って、接続態様制御装置に係る処理負担の軽減と、ネットワークシステム全体としての配信情報の配信に係る安定性の向上と、をバランス良く両立させることができる。
【発明を実施するための最良の形態】
【0036】
次に、本発明を実施するための最良の形態について、図面に基づいて説明する。なお、以下に説明する実施形態は、いわゆる階層ツリー型のコンテンツ配信システム(以下、当該コンテンツ配信システムを単に「配信システム」と称する)に対して本発明を適用した場合の実施形態である。
【0037】
(I)第1実施形態
始めに、本発明に係る第1実施形態について、図1乃至図4を用いて説明する。なお、図1及び図2は第1実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図3及び図4は当該配信システムからノードが脱退する場合の処理を例示する図である。
【0038】
(A)配信システムとしての全体構成等
先ず、第1実施形態に係る配信システムの概要構成及び機能について図1を用いて説明する。
【0039】
図1に示すように、第1実施形態に係る配信システムSは、例えばインターネット等のネットワーク(現実世界のネットワーク)を用いて構成されるものである。このとき、当該現実世界のネットワーク10として具体的には、例えば図1の下部枠101内に示すように、IX(Internet eXchange)5、ISP(Internet Service Provider)6、DSL(Digital Subscriber Line)回線事業者(の装置)7、FTTH(Fiber To The Home)回線事業者(の装置)8、ルータ(図示せず)及び通信回線(例えば、電話回線や光ケーブル等)9等を含むネットワーク10を用いることができる。なおここで、図1の下部枠101内において、各通信回線9に対応する実線の太さは、各通信回線9の帯域の広さ(例えば、データ転送速度)を表している。
【0040】
一方、第1実施形態に係る配信システムSは、配信されるコンテンツにおける配信単位に相当する(連続する)パケットの配信元である放送局1と、複数のノード2a、2b、2c、2d、…、と、を含んでおり、図1の下部枠101内に示すようなネットワーク10を基礎として図1の上部枠100内に示すように構成されており、放送局1を頂点(最上位)として、複数のノード2が複数の階層(図1の例では四階層)を形成しつつ通信経路を介してツリー状に接続され、上記連続する複数のパケットが、上流(上位階層)から下流(下位階層)の方向へ各ノード2により中継されつつ配信される。なお、以下の説明において、ノード2a、2b、2c、2d、…、のうち何れかのノードを示す場合には、便宜上、単にノード2という。
【0041】
ここで、上記放送局1は、実際には、放送対象たるコンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、ネットワーク10に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード2は、実際には、例えば各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
【0042】
図1において、上部枠100内に示されるノード2は、配信システムSに参加しているノード2である。そして、当該配信システムSに参加するためには、未参加のノードが、接続先紹介サーバ3(図1下部枠101内参照)に対して参加要求メッセージを送信し、当該接続先紹介サーバ3により参加権限があることを認証される必要がある。
【0043】
この接続先紹介サーバ3は、配信システムSに参加している放送局1及び各ノード2の所在情報(例えば、IP(Internet Protocol)アドレス及びポート番号(待ち受けポート番号)等)と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ(接続態様)を示すトポロジ情報と、を、図示しないデータベースを用いて管理している。そして、当該接続先紹介サーバ3は、未参加のノードからの参加要求に対して上記認証を行った後、当該ノードに対して接続先となる既参加のノード2、言い換えれば、階層ツリー状のトポロジを考慮して選定される参加済のノード2の所在情報を通知するようになっている。これにより、当該所在情報の通知を受けた(これから配信システムSに参加する)ノードは、当該所在情報に基づき、参加済のノード2との接続を確立し、これによって当該配信システムSに参加することになる。
【0044】
なお、配信システムSにおける階層ツリー状のトポロジは、各ノード2に直接接続される下流側のノード2の最大接続数、バランス(対称性)等を考慮して決定されるものであるが、これらに加えて、例えばノード2間のローカリティ(ネットワーク10上における近接度(ホップ数(介在するルータ数)が少ないほど高い)等を考慮して決定されるものでもよい。
【0045】
また、参加済のノード2の電源がオフとなった場合又は当該ノード2に対する通信状態が不良等になった場合等においては、当該ノード2は配信システムSから脱退することとなり、これにより、当該脱退したノード2に直接接続されていた下流側のノード2等は、接続先紹介サーバ3から新たな接続先となる他の参加済のノード2の所在情報を取得して接続を確立する必要がある。
【0046】
更にまた、上記階層ツリー状のトポロジは、放送局1毎、換言すれば、放送チャンネル毎に形成される、すなわち、図1の上部枠100内では、一つの放送チャンネルのみ示している(但し、一つの放送局1で複数の放送チャンネルによる放送を賄う場合もある)ようになっており、例えば参加済のノード2においてそのユーザにより放送チャンネルが切り替えられた場合には、当該ノード2は、切り替え後の放送チャンネルにおける参加済の他のノード2の所在情報を接続先紹介サーバ3から取得して接続を確立する。
【0047】
(B)第1実施形態に係るベースツリー及び拡張ツリーの構成等
次に、第1実施形態に係る配信システムSにおけるトポロジの構成並びに当該配信システムSに対する新規参加の場合の処理について、より具体的に図2を用いて説明する。
【0048】
図2に示すように、放送局1を頂点とする階層ツリー状のトポロジを備える配信システムSは、二種類のサブネットワーク、すなわち、ベースツリーサブネットワークBT(以下、単にベースツリーBTと称する)と、一又は複数の拡張ツリーサブネットワークET(以下、単に拡張ツリーETと称する)と、により構成されている。
【0049】
この構成において、ベースツリーBTは、放送局1を頂点とした階層ツリー状のトポロジにより各ノード2が接続されてなるものである。
【0050】
一方、上記各拡張ツリーETは、ベースツリーBT内の第N階層に属しているノード2(図2の場合はノード2k、2p、2u及び2z)を夫々に頂点とする階層ツリー状のトポロジにより各ノード2が接続されてなるものである。すなわち、例えば図2左端に示す拡張ツリーETの場合は、上記ノード2kを頂点としてノード2l、2m、2n及び2oが階層ツリー状に接続されて当該拡張ツリーETが構成されている。
【0051】
ここで、各拡張ツリーETの頂点となるノード2が属するベースツリーBT内の階層数(図2に例示する場合は「N」)は予め接続先紹介サーバ3において設定されている。その階層数に相当する階層に新たに接続されるノード2がある場合、そのノード2が当該拡張ツリーETの頂点となるべき旨が接続先紹介サーバ3よりそのノード2の参加時においてそのノード2に対して通知される。また、当該階層数の決め方については、当該階層数は、基本的には接続先紹介サーバ3自体の装置性能、言い換えればトポロジ制御処理等の処理能力に依存して予め設定されているものである。
【0052】
即ち、ベースツリーBTに参加しているノード2が、例えばチャンネルの切り替えや再接続等の要因により接続先紹介サーバ3に対して後述する上流ノード紹介要求メッセージMG1を発行するとき、複数のノード2からの当該上流ノード紹介要求メッセージMG1が接続先紹介サーバ3に集中しても一定時間内に対応する応答(後述する上流ノード候補メッセージMG2)を返却できることを配信システムSとして保障するためには、予め設定された一定水準以上の処理能力を有する装置を当該接続先紹介サーバ3として割り当てる必要がある。このとき、例えば現状で一般に流通しているパーソナルコンピュータ等を上記接続先紹介サーバ3として用いる場合、ベースツリーBTとして許容できる参加ノード2の数は例えば10,000ノード程度であり、これに基づくと、一つのノード2の直近下流側に二つ以下のノード2を接続するとすると、第1実施形態に係るベースツリーBTにおける上記階層数Nは「14」となる。
【0053】
また、ベースツリーBTと拡張ツリーET夫々における階層ツリーとしてのサイズ、つまり、最大階層数又は許容参加ノード数の比率として具体的には、ベースツリーBTとしての当該サイズに対して拡張ツリーETとしての当該サイズを小さくするのが好ましい。これは、一般に、階層ツリー型のトポロジを有する配信システムの基本的な性質として、トポロジ変動による堅牢性が低い点が挙げられるので、専用の接続先紹介サーバ3を用いて管理されない拡張ツリーETに関しては、そのサイズをベースツリーBTよりも小さくすることで、上記の脆弱性に起因する影響を最小限に抑えることが可能となる。より具体的には、例えば、配信システムSとして一つのノード2の直近下流側に二つ以下のノード2を接続するとし、配信システムS全体として1,000,000個のノード2が参加することを目標とする場合、ベースツリーBTのサイズは、例えば上記したように10,000ノード規模の階層ツリーとし、各拡張ツリーETは夫々200ノードが参加する小規模の拡張ツリーETを計8,000個(ベースツリーBTの14階層目には8,000ノードを越える拡張ツリーET用のノード2を確保可能である)作る形態が考えられる。
【0054】
(C)第1実施形態に係る配信システムへの参加処理
次に、上述した各ツリーにより構成される配信システムSに対して、新たなノード2が参加する場合の処理について説明する。
【0055】
上述した如く、配信システムSにはその属性が異なる二つのツリー、つまり、ベースツリーBT及び拡張ツリーETが含まれており、よって夫々のツリーに対する参加処理もまた別個のものとなる。
【0056】
先ず、新たなノード2がベースツリーBTへ新規に参加する場合及び既参加のノード2がベースツリーBTから脱退する場合夫々における当該ベースツリーBTに係るトポロジの変更は、接続先紹介サーバ3により制御される。
【0057】
より具体的には、図2に示すノードNが新規にベースツリーBTに参加する場合、当該ノードNは、先ず接続先紹介サーバ3に対して上記参加要求に係る上流ノード紹介要求メッセージMG1を送信する。そして、接続先紹介サーバ3により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード2となる参加済のノード2(図2に例示する場合はノード2j)の所在情報を含む上流ノード候補メッセージMG2が送信されてくると、新規参加のノードNは、当該所在情報により示される既参加のノード2(図2に例示する場合はノード2j)に対して接続要求メッセージMG3を送信する。これにより、当該ノード2(2j)から接続許可応答メッセージMG4を取得することで、当該ノード2(2j)の直近下流側に上記ノードNが接続され、ベースツリーBTへの当該ノードNの参加処理が完了する。
【0058】
なお、当該ノードNが新たに参加した際に属することとなった階層が各拡張ツリーETの頂点となるべきノード2が属する階層(図2の場合第N階層)として予め設定されている階層であった場合には、当該ノードNに対しては、接続先紹介サーバ3より、当該ノードNが今後拡張ツリーETの頂点となるべきノード2であるべき旨が通知される。
【0059】
一方、各拡張ツリーETに対する新たなノード2の参加及び既参加のノード2の当該参加中の拡張ツリーETからの脱退夫々における当該拡張ツリーETに係るトポロジの変更は、当該拡張ツリーET夫々の頂点に接続されるノード2が、下記するDHT(Distributed Hash Table)アルゴリズムを用いたオーバレイネットワークにおけるルートノードとして機能することにより制御される(以下、各拡張ツリーETの頂点に接続されており且つ当該ルートノードとして機能するノード2を、第1ルートノードと称する)。
【0060】
ここで、当該DHTアルゴリズムについて、その概要を説明する。
【0061】
第1実施形態に係る配信システムSに属する全てのノード2は、上記ベースツリーBT及び各拡張ツリーETにおいて夫々階層ツリー状のトポロジを形成すると共に、これに加えて、上記DHTアルゴリズムに基づくオーバレイネットワークOLを形成している。なお、上記ベースツリーBT及び各拡張ツリーET自体も図1の下部枠101内に示される現実のネットワークから見ればオーバレイネットワークであると言えるため、上記オーバレイネットワークOLについては、以降これを第2オーバレイネットワークOLと称する。
【0062】
ここで、当該DHTアルゴリズムは、多数のノード2が属しているコンテンツの配信システムSにおいて、一台のノード2においては、その配信システムSに参加している全てのノード2のうち、必要最低限のノード2の所在情報だけを記憶しておき、当該所在情報を記憶していない他のノード2については、他の各ノード2間で互いに所在情報を中継し合うことで、必要なコンテンツデータ届けてもらうというアルゴリズムであり、より詳細には、例えば特開2006−197400公報の明細書段落番号[0037]乃至[0072]並びに図1乃至図5を参照することができる。そして、第1実施形態に係る各拡張ツリーETの頂点に接続されるノード2は、当該ノード2がベースツリーBTに参加した際において接続先紹介サーバ3より当該頂点に接続されるべきノード2である旨の上記通知を受けた場合、夫々に、当該ノード2を第2オーバレイネットワークOL上において上記第1ルートノードとして登録するための第1ルートノード登録要求メッセージMGrを当該第2オーバレイネットワークOL内に送出する。これにより、それら第1ルートノードをDHTアルゴリズムに基づいて管理するルートノード(以下、当該第1ルートノードの所在情報等を記憶して管理するルートノードを第2ルートノードと称する)であるノード2(図2に例示する場合はノード2t)に対して、当該第1ルートノードとしての登録を行う。なお、当該第1ルートノード登録要求メッセージMGrが第2ルートノード2tまで到達するまでにDHTアルゴリズムに則って経由するノード2(図2に例示する場合はノード2z及び2ac)は、当該経由に当たり、第1ルートノード登録要求メッセージMGrの内容(すなわち、ノード2uが新たな第1ルートノードとなること)を記憶し、これ以降は上記DHTアルゴリズムにおけるいわゆるキャッシュノードとして動作する。
【0063】
そして、図2に示すノードNが、例えばノード2uを第1ルートノードとする拡張ツリーETに新たに参加する場合、当該ノードNは、第2オーバレイネットワークOLに既に参加している自ノードの(オーバレイネットワークOL上の)近隣ノードであるノード2dと接続し、第1ルートノード探索要求メッセージMG5を送信する。そして、DHTアルゴリズムに則って当該メッセージMG5が第2ルートノード2tへ転送され、当該第2ルートノード2tから上記第1ルートノード2uを示す所在情報を含む第1ルートノード探索結果メッセージMG6が当該ノード2d経由で送信されてくると、新規参加のノードNは、当該所在情報により示される第1ルートノード2uに対して拡張ツリーET(ノード2uを第1ルートノードとする拡張ツリーET)への上流ノード紹介要求メッセージMG7を送信する。これにより、当該上流ノード紹介要求メッセージMG7が第1ルートノード2uから下流方向へ転送され、最終的に当該上流ノード紹介要求メッセージMG7に含まれている条件に合致する既参加の一又は複数のノード2(図2に例示する場合はノード2y)から、当該ノード2の所在情報を含む上流ノード候補メッセージMG7−2がノードNに送信される。
【0064】
そして、一又は複数のノード2から上流ノード候補メッセージMG7−2の送信を受けたノードNは、当該上流ノード候補メッセージMG7−2を送信してきたノード2の中から予め設定されている手法によりいずれか一つのノード2を選択し、当該選択したノード2に対して接続要求メッセージMG8を送信する。これにより、当該ノード2(図2に例示する場合はノード2y)から接続許可応答メッセージMG8−2が当該ノードNに送信されと、当該ノード2(2y)の直近下流側に上記ノードNが新たに接続され、これによりノード2uを第1ルートノードとする拡張ツリーETへの当該ノードNの参加処理が完了する。
【0065】
そして、ベースツリーBT及び拡張ツリーET夫々において新たにノード2が参加した以降は、上記放送局1から配信されるコンテンツに相当するコンテンツデータが、当該ベースツリーBT及び拡張ツリーET内を階層に沿って順次上流側から下流側に中継されることにより、各ノード2に対するコンテンツの配信実行される。また、当該配信の過程においては、各拡張ツリーETにおける第1ルートノードは、それの下流側に接続されている各ノード2に対して自身が受信したコンテンツデータをそのまま中継する中継ノードとして機能することとなる。
【0066】
(D)第1実施形態に係る配信システムからの脱退処理
次に、第1実施形態に係る配信システムSからの脱退処理について、図3及び図4を用いて説明する。なお、当該配信システムSからの脱退処理において、上記ベースツリーBTに参加していたいずれかのノード2が脱退する場合と上記拡張ツリーETに参加していたいずれかのノード2が脱退する場合とでは同様の脱退処理が実行される。
【0067】
また、図3及び図4は、例えばその電源スイッチがオフとされたこと等の理由により、上記ベースツリーBTからノード2eが脱退する場合を例示している。更に、以下の説明では、脱退するノード2eの直近下流に接続されているノード2i及び2jに対する処理が異なる二種類の脱退処理について、夫々図3及び図4を用いて説明する。
【0068】
当該脱退処理においては、図3及び図4に例示するように、脱退するノード2eは、当該ノード2eに対するコンテンツの供給元である上流のノード(図3及び図4に示す場合はノード2b)に対して、データ送信停止要求メッセージMG10及び接続解除要求メッセージMG11を夫々送信する。
【0069】
そして、当該二つの要求メッセージを夫々受信したノード2bは、今まで実行させていたコンテンツ中継処理を停止することにより、脱退するノード2eに対するコンテンツの配信を停止させると共に、これと並行してノード2b内のノード管理情報からノード2eに係る情報を削除することで、当該ノード2eとの接続を断とする。これにより、当該ノード2bから脱退するノード2eへのコンテンツの配信は停止されるが、ここで、脱退するノード2eの直近下流側に他のノード(図3及び図4に例示する場合は、ノード2i及び2j)が存在していた場合には、以下に説明する二つの方法のうちいずれかを用いて当該下流側のノード2に対するコンテンツの配信経路の復元処理を行う。
【0070】
すなわち、当該復元処理の第一例としては、いわゆるタイムアウト方式がある。このタイムアウト方式においては、配信システムSを構成している各ノード2(ノード2i及び2jを含む)は、それに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視している。そして、予め設定された一定時間当該コンテンツの配信が途絶したこと(図3において「×」マークにて示す)を契機として直近上流側のノード2(2e)が脱退したものと見なし、当該ノード2(2e)との接続を断とし、新たな他の上流ノード2との接続処理(図2参照)を開始する。
【0071】
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、配信システムSに参加している各ノード2は図3に例示するタイムアウト方式の如き監視処理は実行していない。そして、ノード2eが配信システムSとしてのトポロジから脱退する際、上記データ送信停止要求メッセージMG10及び接続解除要求メッセージMG11を夫々送信すると共に、直近下流に接続されているノード2i及び2jに対して、自身が脱退する旨の脱退報告メッセージMG12を夫々送信する。そして、当該ノード2i及び2jは、直近上流側にあったノード2eからの上記脱退報告メッセージMG12を夫々受信すると、当該ノード2eとの接続状態を断とし、新たな他の上流ノード2との接続処理(図2参照)を開始する。
【0072】
以上夫々説明した処理により、配信システムSにおいてノード2eが脱退した後も、その直近下流にあったノード2i及び2jに対するコンテンツの配信が継続されることとなる。
【0073】
(II)第2実施形態
次に、本発明に係る他の実施形態である第2実施形態について、図5を用いて説明する。なお、図5は第2実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2に示す第1実施形態に係る配信システムSを構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【0074】
上述した第1実施形態に係る配信システムSでは、各拡張ツリーETの頂点となる第1ルートノードが属するベースツリーBT内の階層数は、全ての拡張ツリーETについて一定(図2に示す例では「N」)とされており、当該階層数は接続先紹介サーバ3の処理能力等に基づいて予め設定されているものであった。
【0075】
これに対して、以下に説明する第2実施形態に係る配信システムにおいては、拡張ツリーETの頂点となる第1ルートノードが参加するベースツリーBT内の階層数は一定ではなく、ベースツリーBT内において複数の階層に跨って上記第1ルートノードとなるノード2が接続される。
【0076】
すなわち、図5に例示するように、第2実施形態に係る配信システムSに含まれる各拡張ツリーETのうち、例えば拡張ツリーET1及びET3に係る第1ルートノードは、ベースツリーBT内の第N階層に夫々属するノード2k及び2uであるが、拡張ツリーET2及びET4に係る第1ルートノードは、ベースツリーBT内の第N+1階層に夫々属するノード2p及び2zとされる。
【0077】
このとき、第2実施形態に係る配信システムSにおいて、いずれの階層に属するノード2を拡張ツリーETに係る第1ルートノードとするかは、上記接続先紹介サーバ3の処理能力に加えて、例えばベースツリーBTとしてのトポロジの制御の都合等に基づいて予め当該接続先紹介サーバ3において設定されているものであるが、配信システムS全体としての階層ツリーのバランスを考慮すると、ベースツリーBTの末端付近の階層で且つ連続する複数の階層に属するノード2が上記第1ルートノードとして選択されるのが望ましい。
【0078】
なお、第2実施形態に係る配信システムSに対するノード2の新規参加のための処理及び既参加のノード2の配信システムSからの脱退のための処理については、夫々、拡張ツリーETの頂点となる第1ルートノードの指定がベースツリーBT内の単一の階層に属しているノード2に限らない点を除き、第1実施形態に係る配信システムSに対するノード2の新規参加のための処理及び既参加のノード2の配信システムSからの脱退のための処理と同様であるので、細部の説明は省略する。
【0079】
(III)第3実施形態
次に、本発明に係る更に他の実施形態である第3実施形態について、図6を用いて説明する。なお、図6は第3実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2に示す第1実施形態に係る配信システムSを構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【0080】
上述した第1及び第2実施形態に係る配信システムS及びSでは、各拡張ツリーETの頂点となる第1ルートノードが属すべきベースツリーBT内の階層の選定につき、接続先紹介サーバ3が自己の処理能力に基づいて予め設定することとした。
【0081】
これに対して、以下に説明する第3実施形態に係る配信システムにおいては、拡張ツリーETの頂点となる第1ルートノードにつき、接続先紹介サーバ3の処理能力だけでなく、ベースツリーBTに参加しているノード2夫々自体の属性をも考慮して上記第1ルートノードとなるノード2を選択する。
【0082】
すなわち、第3実施形態に係る配信システムSにおいて、接続先紹介サーバ3は、ベースツリーBTに参加している各ノード2の夫々につき、それ自体の処理能力を示す情報やベースツリーBTに参加している時間(期間)を示す情報を、当該参加している各ノード2毎に記憶する。そして、各拡張ツリーETについての第1ルートノードをベースツリーBTに参加しているノード2から選択するに当たり、接続先紹介サーバ3は、図6に例示するように、当該記憶している各情報に基づき、当該各情報により示される処理能力や参加時間が予め設定されている基準を超えたノード2のみを第1ルートノードとして選択する。図6に例示する場合あれば、図6中ハッチングで示されているノード2k、2p及び2zが、当該基準を超えた処理能力又は参加時間を有していることとなる。そしてこれらのノード2が、夫々に拡張ツリーETに対する第1ルートノードとして選択される。
【0083】
なお、上記処理能力としては、例えばコンテンツデータの配信に供させることが可能なデータ通信の帯域幅や、そのノード2を構成するCPU等の処理速度等が考慮される。
【0084】
この第3実施形態の場合は、第1ルートノードとしての選択に当たっては、基本的にはベースツリーBT内においてそれが属している階層よりも上記処理能力や参加時間の方が重視されて第1ルートノードとしてのノード2が接続先紹介サーバ3により選択される。
【0085】
(IV)第4実施形態
最後に、本発明に係る更に他の実施形態である第4実施形態について、図7を用いて説明する。なお、図7は第4実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2に示す第1実施形態に係る配信システムSを構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【0086】
上述した第1実施形態に係る配信システムSでは、各拡張ツリーETが第2オーバレイネットワークOLを構成しており、いずれかの拡張ツリーETに参加する場合には、当該第2オーバレイネットワークOL上において第1ルートノードの所在情報を蓄積管理している第2ルートノードを介して当該第1ルートノードの所在情報を取得する構成とされていた。
【0087】
これに対して、以下に説明する第4実施形態に係る配信システムSにおいては、図7に例示するように、各拡張ツリーETについての第1ルートノード夫々が第2オーバレイネットワークOLとは異なるメッシュ型の他のオーバレイネットワークMOLを構成し、このオーバレイネットワークMOLに参加しているノード2(第1ルートノードとしてのノード2)の所在情報IPを、当該オーバレイネットワークMOL外に設けられているキャッシュサーバ4に蓄積しておく。なお、第4実施形態に係る配信システムSに含まれているベースツリーBT及び接続先紹介サーバ3夫々自体の構成は、上記第1実施形態乃至第3実施形態のいずれに係るものであってもよい。
【0088】
そして、第4実施形態に係る配信システムSに新たに参加するノードNがある場合、当該ノードNは、先ずキャッシュサーバ4に対してオーバレイネットワークMOLに参加しているノード2(第1ルートノード)のいずれかの紹介を要求する旨の第1ルートノード紹介要求メッセージMG20を送信し、その返答としていずれかのノード2の所在情報IPを含む第1ルートノード候補メッセージMG21を受信する。
【0089】
次に、当該所在情報IPを取得したノード2(図7に例示する場合はノード2p)に対して第1ルートノード探索要求メッセージMG22を送信する。これにより、当該第1ルートノード探索要求メッセージMG22を受信したノード2pは、もし、新規に参加するノードNに対する接続条件に適合する条件を当該ノード2pが備えていなければ、オーバレイネットワークMOLに参加している他の近隣の第1ルートノード(図7に例示する場合は例えばノード2k)に対して当該第1ルートノード探索要求メッセージMG22を中継する。
【0090】
以上の処理をオーバレイネットワークMOL内において繰り返すことにより、新規に参加するノードNの接続条件に適合する第1ルートノード(図7に例示する場合はノード2k)までその第1ルートノード探索要求メッセージMG22が中継されたならば、そのノード2kから上記接続許可応答メッセージMG8−2が当該新規に参加するノードNへ返信され、これにより当該ノードNの拡張ツリーET(図7に例示する場合は、ノード2kが第1ルートノードとなっている拡張ツリーET)への参加処理が完了する。
【実施例1】
【0091】
次に、上記第1実施形態に係る配信システムSに属する放送局1、各ノード2及び接続先紹介サーバ3夫々の具体的な構成及び処理について、第1実施例として図8乃至図14を用いて説明する。
【0092】
なお、図8は第1実施例に係る放送局1の細部構成を示すブロック図であり、図9は第1実施例に係る各ノード2の細部構成を共通的に示すブロック図であり、図10は第1実施例に係る接続先紹介サーバ3の細部構成を示すブロック図である。また図11乃至図13は当該各ノード2において実行される第1実施例に係る処理を共通的に夫々示すフローチャートであり、図14は当該接続先紹介サーバ3において実行される第1実施例に係る処理を示すフローチャートである。
【0093】
始めに、第1実施例に係る放送局1の概要構成及び概要動作について、図8を用いて説明する。
【0094】
図8に示すように、第1実施例に係る放送局1は、演算機能を有するCPU、作業用RAM並びに各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された制御部11と、上記コンテンツデータ(パケット)を記憶保存するためのHDD等から構成された記憶部12と、暗号鍵を用いてコンテンツデータを暗号化するための暗号化用アクセラレータ13と、コンテンツデータを規定のデータ形式へ変換するエンコーダ部14と、通信回線等を介してノード2等との間の情報の通信制御を行うための通信部15と、使用者(オペレータ)からの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス等)16と、を備えて構成され、これらの構成要素は、バス17を介して相互に接続されている。
【0095】
この構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを実行することにより放送局1全体を統括制御し、記憶部12に記憶保存されたコンテンツデータをエンコード部14を用いてデータ形式を変換した後、暗号鍵を用いて暗号化用アクセラレータ13により暗号化させ、当該コンテンツデータを所定のデータ量に分割して連続する複数の上記パケットを生成し、これを通信部15を介してノード2(図1の上部枠100内の例では、ノード2a及び2b)に対してストリーム配信する。
【0096】
なお、各データパケットのペイロード部には、そのコンテンツデータの先頭から連続するパケット番号が記述されている。
【0097】
また、制御部11は、当該コンテンツデータの配信先を、記憶部12に記憶された接続態様(トポロジ)テーブルを参照して決定する。この接続態様テーブルには、少なくとも、放送局1と接続されるノード2、言い換えれば、コンテンツデータの配信先であるノード2のIPアドレス及びポート番号が記述されている。
【0098】
次に、第1実施例に係る各ノード2の概要構成及び概要動作について、図9を用いて説明する。なお、第1実施例に係る各ノード2は基本的に同一の構成を備える。
【0099】
図9に示すように、第1実施例に係るノード2は、演算機能を有するCPU、作業用RAM、各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された制御手段としての制御部21と、各種データ及びプログラム等を記憶するHDD等から構成された記憶手段としての記憶部22と、受信したコンテンツデータを一時的に蓄積(記憶)するバッファメモリ23と、バッファメモリ23に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化するための復号化アクセラレータ24と、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード(データ伸張等)して再生するデコーダ部25と、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する映像処理部26と、当該映像処理部26から出力された映像信号に基づき映像表示するCRT、液晶ディスプレイ等の表示部27と、上記再生されたオーディオデータをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部28と、当該音声処理部28から出力された音声信号を音波として出力するスピーカ29と、通信回線等を介して放送局1や他のノード2等との間の通信制御を行うための通信部29aと、使用者(視聴者)からの各種指示に対応する指示信号を制御部21に対して出力する入力部(例えば、マウス、キーボード、操作パネル或いはリモコン等)29bと、ICカード29eに対する情報の読み書きを行うICカードスロット29cと、を備えて構成され、制御部21、記憶部22、バッファメモリ23、復号化アクセラレータ24、デコーダ部25、通信部29a、入力部29b及びICカードスロット29cは、バス29dを介して相互に接続されている。
【0100】
ここで、ICカード29eは、耐タンパ性があり、つまり、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されており、例えば、配信システムSの運営者等から各ノード2の使用者に配布されるものである。このICカード29eは、CPUからなるICカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、EEPROM等を備えて構成されており、当該不揮発性メモリには、ユーザID、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード2が配信システムSに参加する際に、上述した上流ノード紹介要求メッセージMG1(当該ノード2の所在情報が含まれる)と共に接続先紹介サーバ3に送信される。
【0101】
一方、バッファメモリ23は、例えばFIFO(First In First Out)形式のリングバッファメモリから構成されており、制御部21の制御下、受信ポインタにより示される記憶領域に通信部29aを通じて受信されたコンテンツデータを一時的に蓄積する。
【0102】
このとき、制御部21は、それに含まれるCPUが記憶部22等に記憶されたプログラムを読み出して実行することによりノード2全体を統括制御し、上流から配信されてきた複数のパケットを通信部29aを通じて受信してバッファメモリ23に書き込み、且つ、当該バッファメモリ23に蓄積されているパケット(一定時間過去に受信されたパケット)を読み出して通信部29aを通じて下流のノード2に送信(中継)する。これに加えて、バッファメモリ23は、再生ポインタにより示される当該バッファメモリ23の記憶領域に蓄積されているパケットを読み出し、バス29dを介して復号化アクセラレータ24やデコーダ部25に出力する。
【0103】
なお、上記プログラムは、例えば、ネットワーク10上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【0104】
最後に、第1実施例に係る接続先紹介サーバ3の概要構成及び概要動作について、図10を用いて説明する。
【0105】
図10に示すように、第1実施例に係る接続先紹介サーバ3は、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された頂点情報処理装置指定手段としての制御部35と、各種データ等を記憶保存するためのHDD等から構成された記憶部36と、ネットワーク10を通じてノード2等との間の情報の通信制御を行うための通信部37と、を備えて構成され、これらの構成要素は、バス38を介して相互に接続されている。
【0106】
この構成において、記憶部36内には、配信システムSに参加している放送局1及び各ノード2の所在情報と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ情報と、が記憶されたデータベースが蓄積・記憶されている。
【0107】
そして、制御部35は、それに含まれるCPUが記憶部36等に記憶されたプログラムを実行することにより接続先紹介サーバ3全体を統括制御し、未参加のノード2、例えば、図2に例示するノードNから上記上流ノード紹介要求メッセージMG1が送信されてきたとき、上述した認証処理、例えば参加要求に付加されたデジタル証明書の有効性の判定処理等を行い、有効であれば、当該ノードNの所在情報とデジタル証明書のダイジェスト、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記データベースに記憶する。
【0108】
また、制御部35は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージMG1を送信してきたノードNに対して、接続先候補となる複数の上流ノード2の所在情報及び階層レベル情報、つまり、当該上流ノード2が、第何階層に存在するかを示す情報を含む上記上流ノード候補メッセージMG2を通信部37を通じて送信する。そして、当該上流ノード候補メッセージMG2を受信したノードNにおいては、接続先候補となる複数の上流ノード2の配信システムS内でのネットワーク近接度が比較され、最も近い位置に存在する上流ノード2が選定されて、当該上流ノード2との間で上記接続要求メッセージMG3及び接続許可応答メッセージMG4の授受が為されて接続が確立されることになり、接続が確立された上流ノード2の所在情報が接続先紹介サーバ3に対して送信(返信)される。これに対して、制御部35は、当該ノードNに関するトポロジ情報を上記データベースに記憶する。
【0109】
次に、上述した構成を備えるノード2及び接続先紹介サーバ3における第1実施例に係る処理について、具体的に図11乃至図14を用いて説明する。なお、放送局1は、本発明においても従来の配信システム内における放送局1と同様の処理を行うため、ここでは説明を省略する。
【0110】
(I)ノードとしての処理
先ず、配信システムSに係るノード2における処理について、図11乃至図13を用いて説明する。ここで、第1実施例に係る各ノード2においては、全て、図11乃至図13に示す処理と同一の処理が夫々に実行されている。これにより、一つのノード2が、第1実施形態に係る第1ルートノード又は第2ルートノードとしてのノード2のいずれにもなり得るのである。
【0111】
また、図11においては、第1実施例に係る各ノード2において実行される上記参加処理(ステップS1乃至S18(図2参照))から、受信したパケットの中継処理及び再生処理(ステップS19乃至S22)までを説明する。
【0112】
図11に示すように、第1実施例に係るいずれかのノード2(以下、図11乃至図13を用いてその処理を説明するノード2を、対象ノード2と称する)において、その電源スイッチがオンとされて対象ノード2における主電源及び補助電源がオンとされると、最初に対象ノード2内に記憶されているプログラムや各構成部材夫々が制御部21によって初期化される(ステップS1)。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード2に対する電源供給が全て断とされるまでオンとされている電源である。
【0113】
そして、当該初期化が完了すると、次に、制御部21は、第2オーバレイネットワークOLに既に参加している他のノード2(図2に例示する場合はノード2d)を、例えば図示しない従来のいわゆるディレクトリサーバを参照して検索し、当該既参加のノード2に対して図示しない上流ノード紹介要求メッセージを送信し、これにより当該ノード2d経由で第2オーバレイネットワークOLに参加する(ステップS2)。
【0114】
その後、当該対象ノード2の制御部21は、例えば視聴を希望する放送局1に相当するチャンネルを選択する操作がそのユーザにより実行される等により、配信システムSにその対象ノード2が参加する旨、すなわち、当該選択されたチャンネルに相当するコンテンツデータの受信を希望する旨の操作が為されたか否かを確認する(ステップS3)。
【0115】
そして、当該操作が実行されたときは(ステップS3;YES)、制御部21は、実際に配信システムSに参加するための第1ルートノード探索要求メッセージMG5を、上記第2ルートノードのいずれか(図2に例示する場合はノード2t)を最終宛先として、当該対象ノード2において既知となっている他のノード2(図2に例示する場合はノード2d)に対して送信する(ステップS4)。これにより、当該第1ルートノード探索要求メッセージMG5が上記DHTアルゴリズムに則って中継され、上記最終宛先としての第2ルートノード(ノード2t)に到達すると、それに対する応答として、上記第1ルートノードのいずれか(図2に例示する場合はノード2u)の所在情報がノード2d経由で対象ノード2に返信される。
【0116】
これと並行して、上記第1ルートノード探索要求メッセージMG5送信後の対象ノード2の制御部21は、上記所在情報が一又は複数個のノード2のものとして送信されてきたか否かを監視する(ステップS5)。当該所在情報が送信されてきたならば(ステップS5;YES)、制御部21は、当該送信されてきた所在情報により示される上記第1ルートノード(ノード2u)に対して上流ノード紹介要求メッセージMG7を送信する(ステップS6)。そしてその返答を待つべく、対象ノード2の制御部21は、その制御部21内の図示しない紹介待ちタイマにおける計時を開始する(ステップS7)。この紹介待ちタイマによる計時は、配信システムSに参加している全てのノード2が一般家庭に設置されている例えばパーソナルコンピュータ等であることに鑑み、上記上流ノード紹介要求メッセージMG7に対する応答としての上流ノード候補メッセージMG7−2が直ぐに送信されてこない場合もあり得るので、そのための待機時間を設けるための計時である。
【0117】
その後、制御部21は、対象ノード2における上記電源スイッチがオフとされたか否かを確認し(ステップS9)、オフとされていないときは(ステップS9;NO)、制御部21は、上記ステップS3に戻って上述してきた一連の処理を繰り返す。一方、ステップS9の判定において、電源スイッチがオフとされたときは(ステップS9;YES)、上記主電源をオフとし、それまで参加していた上記第2オーバレイネットワークOLから脱退する処理を実行した後(ステップS10)に上記補助電源もオフとして(ステップS11)、対象ノード2としての処理を終了する。ここで、上記ステップS10の処理として具体的には、制御部21は、上記第2ルートノード(図2に例示する場合はノード2t)を最終宛先としノード2dを介して図示しない脱退要求メッセージを送信する処理が実行される。
【0118】
一方、ステップS5の判定において、第1ルートノードの所在情報が一つも送信されてこない場合は(ステップS5;NO)、その時点でその下流側に新規に参加(接続)できる第1ルートノードが配信システムS内に存在しないこととなるので、制御部21は、今度は上記ベースツリーBTに新たに参加すべく、上記上流ノード紹介要求メッセージMG1を接続先紹介サーバ3に送信した後(ステップS8。図2参照)、上記ステップS9の処理に移行して上述した一連の処理を繰り返す。
【0119】
他方、上記ステップS3の判定において、第一回目の当該ステップS3の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップS3の判定として上流ノード紹介要求メッセージMG1/MG7を接続先紹介サーバ3/上記第1ルートノードへ送信後であるときは(ステップS3;NO)、制御部21は、当該上流ノード紹介要求メッセージMG1/MG7に対する応答としての上記上流ノード候補メッセージMG2/MG7−2を接続先紹介サーバ3/拡張ツリーET内のノード2から受信したか否かを、対象ノード2内の制御部21において確認する(ステップS12)。
【0120】
そして、当該上流ノード候補メッセージMG2/MG7−2を受信しているときは(ステップS12;YES)、制御部21は、当該上流ノード候補メッセージMG2/MG7−2の中から接続対象となる他のノード2、すなわち、ベースツリーBT内のノード2又はいずれかの拡張ツリーET内のノード2のいずれかを選択し、その選択したノード2に対していわゆるNAT(Network Address Translation)越え処理を実行する(ステップS13)。
【0121】
ここで、当該NAT越え処理とは、異なるネットワークセグメント間でパケットの授受を実行するため、ネットワークセグメント毎に設定されているゲートウエイを越える処理を実行するものである。
【0122】
当該NAT越え処理が完了したら、制御部21は、実際のパケットの配信を受けるべく、当該NAT越え処理の対象となったノード2に対して、上記接続要求メッセージMG3/MG8を送信する(ステップS14)。ここで、当該ステップS14においては、上記上流ノード候補メッセージMG2の送信元が接続先紹介サーバ3であるときは、制御部21は、上記接続要求メッセージMG3をその接続先となるノード2(図2に例示する場合はノード2j)に送信し、一方上記上流ノード候補メッセージMG7−2の送信元が拡張ツリーET内のノード2であるときは、制御部21は、上記接続要求メッセージMG8を当該紹介されたノード2(図2に例示する場合はノード2y)に送信することとなる。
【0123】
そして、上記上流ノード紹介要求メッセージMG3/MG8を送信した後は、制御部21は、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを夫々の接続先に向けて送信する(ステップS15)。このとき、当該データ送信開始要求メッセージには、例えばLAN(Local Area Network)におけるゲートウエイのMAC(Media Access Control)アドレスと、当該対象ノード2がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部21は、接続先紹介サーバ3又は第1ルートノードに対して配信システムSのトポロジに対する参加報告メッセージを送信する(ステップS16)。
【0124】
次に、当該トポロジに参加後において、制御部21は、自身(対象ノー2自体)がベースツリーBT内の第N階層に参加したか否か、すなわち、自身がベースツリーBT内において第1ルートノードとなり得るか否かを当該参加時における接続先紹介サーバ3からの通知内容等を参照して確認する(ステップS17)。当該第N階層に参加したのではない場合は(ステップS17;NO)、制御部21は、上記ステップS9の処理に移行して上述した一連の処理を繰り返す。また、ステップS17の判定において、自身が第N階層に参加して第1ルートノードとなり得るものであるときは(ステップS17;YES)、制御部21は、その旨の第1ルートノード登録要求メッセージMGrを第2ルートノードに向けて送信し(ステップS18。図2参照)、その後上記ステップS9の処理に移行して上述した一連の処理を繰り返す。
【0125】
一方、上記ステップS12の判定において、配信システムSに対する参加処理は完了しているものの未だ上流ノード候補メッセージMG2/MG7−2を受信していないときは(ステップS12;NO)、制御部21は、当該参加後に新たなパケットを上流側の他のノード2から受信したか否かを制御部21において確認する(ステップS19)。
【0126】
そして、当該上流側のノード2からパケットを受信していない場合(ステップS19;NO)は、制御部21は、後述の図12に示す処理に移行し、受信した場合には(ステップS19;YES)、次に、当該対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS20)。当該下流側のノード2が存在している場合は(ステップS20;YES)、制御部21は、当該下流側のノード2に対して必要なパケットを中継しつつ(ステップS21)、受信したパケットを自らのデコーダ部25へ出力し、復号したコンテンツを映像処理部26及び音声処理部28を用いて再生し(ステップS22)、その後上記ステップS9の処理に移行して上述した一連の処理を繰り返す。なお、上記ステップS20の判定において、下流側のノード2が存在していない場合は(ステップS20;NO)、制御部21は、そのまま上記ステップS22に移行して自らにおける再生処理を実行する。
【0127】
次に、上記ステップS19の処理において、上流側のノード2からパケットを受信していない場合(ステップS19;NO)以降の処理について、図12を用いて説明する。なお、図12においては、第1実施例に係る対象ノード2において実行される上記脱退処理(ステップS25乃至S30)、当該対象ノード2の下流側において新たに参加する他のノード2の当該参加処理及び脱退処理(ステップS31乃至S34)並びに第1実施例に係るコンテンツデータの配信開始から終了までの処理(ステップS35乃至S38)について夫々説明する。
【0128】
図11に示すステップS19の判定において、パケットを受信していないときは(ステップS19;NO)、制御部21は、図12に示すように、パケット受信待ちの状態で対象ノード2において配信システムSから脱退する旨の操作が為されたか否かを制御部21において確認する(ステップS25)。
【0129】
ステップS25の監視処理中において当該脱退する旨の操作が為されたときは(ステップS25;YES)、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG10及び接続解除要求メッセージMG11を夫々送信する(ステップS26、S27。図3又は図4参照)。そして、制御部21は、接続先紹介サーバ3(ベースツリーBTに参加している対象ノード2の場合)又は対応する第1ルートノード(拡張ツリーETに参加している対象ノード2の場合。図2に例示する場合はノード2u)に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信する(ステップS28)。
【0130】
次に、制御部21は、対象ノード2自身が第1ルートノードであるか否かを確認し(ステップS29)、当該第1ルートノードである場合は(ステップS29;YES)当該第1ルートノードとしての対象ノード2が脱退する旨の図示しない第1ルートノード削除要求メッセージを対応する第2ルートノードに送信した後(ステップS30)に、またステップS29の判定において当該第1ルートノードでない場合(ステップS29;NO)はそのまま、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0131】
一方、ステップS25の判定において、上記脱退する旨の操作が為されないときは(ステップS25;NO)、制御部21は、当該操作の監視中において下流側に接続されている他のノード2から新たな接続要求メッセージMG3/MG8又は接続解除要求メッセージMG11が送信されてきているか否かを確認する(ステップS31、S33)。
【0132】
これにより、当該接続要求メッセージMG3/MG8が送信されてきているときは(ステップS31;YES)、制御部21は、当該接続要求メッセージMG3/MG8に対応して当該下流側の他のノード2の所在情報を記憶部22に記憶されているノード管理情報内に追加(登録)することで当該下流側の他のノード2に対する接続処理を実行し(ステップS32)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0133】
他方、ステップS31及びS33の判定において、新たな接続要求メッセージMG3/MG8は受信していないが(ステップS31;NO)、新たな接続解除要求メッセージMG11を受信しているときは(ステップS33;YES)、制御部21は、当該接続解除要求メッセージMG11に対応して当該下流側の他のノード2の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行し(ステップS34)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0134】
更に、ステップS33の判定において、新たな接続解除要求メッセージMG11も受信していないときは(ステップS33;NO)、制御部21は、下流側に接続されている他のノード2から上記データ送信開始要求メッセージを受信しているか否かを制御部21において確認する(ステップS35)。
【0135】
そして、当該データ送信開始要求メッセージを受信しているときは(ステップS35;YES)、制御部21は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信し(ステップS36)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0136】
他方、ステップS35の判定において、データ送信開始要求メッセージを受信していないときは(ステップS35;NO)、制御部21は、下流側の他のノード2から上記データ送信停止要求メッセージMG10を受信しているか否かを制御部21において確認する(ステップS37)。そして、当該データ送信停止要求メッセージMG10も受信していないときは(ステップS37;NO)、制御部21は、後述の図13に示す処理に移行する。一方当該データ送信停止要求メッセージMG10を受信した場合には(ステップS37;YES)、制御部21は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止し(ステップS38)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0137】
次に、上記ステップS37の判定においてデータ送信停止要求メッセージMG10も受信していない場合(ステップS37;NO)以降の処理について、図13を用いて説明する。なお、図13においては、主として第1実施例に係る拡張ツリーETに対する参加処理について説明する。
【0138】
図12に示すステップS37の判定において、データ送信停止要求メッセージMG10も受信していないときは(ステップS37;NO)、制御部21は、図13に示すように、対象ノード2において上記第1ルートノード探索要求メッセージMG5を受信したか否かを確認する(ステップS40)。そして、当該第1ルートノード探索要求メッセージMG5を受信しているときは(ステップS40;YES)、制御部21は、対象ノード2において自身が第2ルートノードであるか否かを確認する(ステップS41)。自身が当該第2ルートノードとして機能しているときは(ステップS41;YES)、制御部21は、自身が管理している第1ルートノードのいずれかを示す所在情報を含む第1ルートノード探索結果メッセージMG6を、上記第1ルートノード探索要求メッセージMG5の送信元であるノード2に返信し(ステップS42)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0139】
一方、ステップS41の判定において、自身が当該第2ルートノードとして機能していないときは(ステップS41;NO)、制御部21は、第2ルートノードとして機能している他のノード2に対して当該第1ルートノード探索要求メッセージMG5を送信すべく、DHTアルゴリズムに係るいわゆるルーティング情報(上記特開2006−197400公報第4図参照)に基づいて当該第1ルートノード探索要求メッセージMG5を中継し(ステップS43)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0140】
他方、上記ステップS40の判定において、上記第1ルートノード探索要求メッセージMG5を受信していないときは(ステップS40;NO)、制御部21は、対象ノード2自身が上記第1ルートノードとして機能するノード2であり且つ上記上流ノード紹介要求メッセージMG7を受信したか否かを制御部21において確認する(ステップS44)。そして、自身が第1ルートノードとして機能するノード2であり且つ上流ノード紹介要求メッセージMG7を受信しているときは(ステップS44;YES)、制御部21は、自身が頂点となっている拡張ツリーETにおける現在の参加数が、ベースツリーBTとして許容されている階層数との関係等に基づいて当該参加数の上限値として予め設定されている数未満であるか否かを確認する(ステップS45)。当該参加数が上限値以上であるときは(ステップS45;NO)、制御部21は、当該対象ノード2が第1ルートノードとして管理している拡張ツリーET内には現状以上の数のノード2を参加させることが困難であることとなるので、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0141】
一方、ステップS45の判定において、当該参加数が上記上限値未満であるときは(ステップS45;YES)、制御部21は、当該第1ルートノードたる対象ノード2の下流側(拡張ツリーETとしての下流側)に既に他のノード2が参加しており且つ更に当該対象ノード2の直近下流側に更にノード2を追加接続することが可能か否かを確認する(ステップS46)。そして、当該直近下流側に更にノード2を追加接続することが可能であるときは(ステップS46;YES)、当該他のノード2に対して上記上流ノード紹介要求メッセージMG7を中継し(ステップS47)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0142】
なお、当該ステップS47の場合、第1ルートノードたる対象ノード2の下流側へ上記上流ノード紹介要求メッセージMG7が随時中継されることとなるが、いずれかの下流側ノード2においてその直近下流側への接続が可能であると判断された時点で、(当該上流ノード紹介要求メッセージMG7の発信元たるノード2への上記接続許可応答メッセージMG8−2の返信に代えて)当該上流ノード紹介要求メッセージMG7の中継を停止する。
【0143】
他方、ステップS46の判定において、当該直近下流側に更にノード2を追加接続することが不可であるときは(ステップS46;NO)、制御部21は、当該対象ノード2において接続することが可能である旨を含む上記接続許可応答メッセージMG8−2を上記上流ノード紹介要求メッセージMG7の送信元たるノード2に返信し(ステップS49)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0144】
更に、上記ステップS44の判定において、自身が第1ルートノードとして機能するノード2でないときは(ステップS44;NO)、制御部21は、当該第1ルートノードとして機能するノード2ではないが上記上流ノード紹介要求メッセージMG7を受信しているか否かを次に確認する(ステップS48)。受信しているときは(ステップS48;YES)、制御部21は、上記ステップS46に移行して上述した処理を実行する。一方、ステップS48の判定において、当該上流ノード紹介要求メッセージMG7を受信していないときは(ステップS48;NO)、制御部21は、上記第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージのいずれか一方を対象ノード2において受信しているか否かを確認する(ステップS50)。
【0145】
そして、当該第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージのいずれか一方を受信しているときは(ステップS50;YES)、制御部21は、その対象ノード2自身が第2ルートノードとして機能するノード2であるか否かを確認する(ステップS51)。当該第2ルートノードとして機能するノード2であるときは(ステップS51;YES)、制御部21は、受信した第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージの対象である第1ルートノードについての登録情報を対象ノード2の記憶部22内に登録(第1ルートノード登録要求メッセージMGrを受信した場合)又は当該記憶部2から削除(第1ルートノード削除要求メッセージを受信した場合)し(ステップS52)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。一方、ステップS51の判定において、対象ノード2自身が第2ルートノードとして機能するノード2でないときは(ステップS51;NO)、制御部21は、第2ルートノードとして機能している他のノード2に対して当該第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージを送信すべく、DHTアルゴリズムに係る上記ルーティング情報に基づいて当該第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージを中継し(ステップS53)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0146】
他方、上記ステップS50の判定において、第1ルートノード登録要求メッセージMGr又は第1ルートノード削除要求メッセージのいずれも受信していないときは(ステップS50;NO)、制御部21は、他のノード2が第2オーバレイネットワークOLに参加するための上記図示しない上流ノード紹介要求メッセージ又は他のノード2が第2オーバレイネットワークOLから脱退するための上記脱退要求メッセージのいずれか一方を受信したか否かを確認する(ステップS54)。そして、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を受信した場合は(ステップS54;YES)、制御部21は、夫々のメッセージに対応するように対象ノード2の記憶部22に記憶されているルーティング情報を更新する(ステップS55)。その後、制御部21は、対象ノード2自身が第2ルートノードであるか否かに基づいてその図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を他のノード2に対して中継する必要があるか否かを確認する(ステップS56)。これにより、自身が第2ルートノードである場合は、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方は自身内で処理が終了されるものであって中継する必要がないので(ステップS56;NO)、そのまま図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。これに対し、自身が第2ルートノードでない場合は、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方は第2ルートノードとしての他のノード2に中継する必要があるので(ステップS56;YES)、対象ノード2内の上記ルーティング情報に基づいて当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を中継し(ステップS57)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0147】
また、上記ステップS54の判定において、図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれも受信していない場合は(ステップS54;NO)、制御部21は、最後に上記紹介待ちタイマにおける計時(図11ステップS7参照)において予め設定されている待ち時間が経過したか否かを確認する(ステップS58)。そして、当該待ち時間が経過していないときは(ステップS58;NO)、制御部21は、そのまま計時を継続しつつ図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。一方、当該待ち時間が経過したときは(ステップS58;YES)、制御部21は、上記ステップS6において送信したものと同様の上流ノード紹介要求メッセージMG7を、今度は当該ステップS6において送信先とした第1ルートノードとは異なる第1ルートノード(その所在情報は、上記ステップS5において取得した複数の所在情報の一部として取得済である)に対して(対象ノード2として)再度送信する(ステップS59)。そして、制御部21は、上記紹介待ちタイマにおける計時を再度開始し(ステップS60)、図11に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0148】
(II)接続先紹介サーバとしての処理
次に、第1実施例に係る接続先紹介サーバ3における処理について、具体的に図14を用いて説明する。
【0149】
当該第1実施例に係る接続先紹介サーバ3においては、図14に示すように、当該接続先紹介サーバ3としての電源スイッチがオンとされると、制御部35は、最初に当該接続先紹介サーバ3内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2や放送局1からのメッセージ受信を可能とする(ステップS61)。
【0150】
そして、当該初期化が完了すると、制御部35は、新たな放送局1からの登録要求メッセージ又は配信システムS内に既存の放送局1からの削除要求メッセージを受信したか否かを確認する(ステップS62)。いずれかを受信すると(ステップS62;YES)、制御部35は、新たな放送局1の登録の場合はその所在情報を上記データベース内に登録し、更に新しいチャンネルの情報等をトポロジのデータベース内に登録する。また、既存の放送局1の削除の場合は、制御部35は、当該放送局1の所在情報等を上記データベース内から削除し、更に該当するチャンネル情報をトポロジのデータベース内から削除する(ステップS63、S64)。
【0151】
その後、制御部35は、接続先紹介サーバ3としてのサービスを停止するか否かを確認する(ステップS65)。停止する場合は(ステップS65;YES)、制御部35は、そのまま接続先紹介サーバ3の電源をオフとして処理を終了する。一方、ステップS65の判定において、引き続き当該サービスを継続する場合は(ステップS65;NO)、制御部35は、上記ステップS62に戻って上述した一連の処理を繰り返す。
【0152】
他方、上記ステップS62の判定において、放送局1からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないときは(ステップS62;NO)、制御部35は、新たに配信システムSに参加するノード2から上記上流ノード紹介要求メッセージMG1を受信したか否かを制御部35において確認する(ステップS66)。
【0153】
これにより、当該上流ノード紹介要求メッセージMG1を受信しているときは(ステップS66;YES)、制御部35は、蓄積されているトポロジのデータベースから当該上流ノード紹介要求メッセージMG1を送信してきたノード2をその下流側に接続することが可能なノード2(例えば、図2の例ではノード2j)の候補を検索する(ステップS67)。その後、制御部35は、検索された候補に該当するノード2の所在情報等を、上記上流ノード候補メッセージMG2として要求元のノード2へ返信し(ステップS68)、上記ステップS65の処理に移行する。
【0154】
これに対し、ステップS66の判定において、上流ノード紹介要求メッセージMG1も受信していないときは(ステップS66;NO)、制御部35は、いずれかのノード2から上記参加報告メッセージ(図11ステップS16参照)又は脱退報告メッセージ(図12ステップS28参照)を受信したか否かを確認する(ステップS69)。
【0155】
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したときは(ステップS69;YES)、制御部35は、当該受信した報告メッセージの内容に基づいてトポロジの変更があったと判断し、夫々の当該内容に基づいてトポロジのデータベースを更新し(ステップS70)、上記ステップS65の処理に移行する。
【0156】
最後に、上記ステップS69の判定において、参加報告メッセージ又は脱退報告メッセージのいずれも受信していないときは(ステップS69;NO)、制御部35は、そのまま上記ステップS65の処理に移行する。
【実施例2】
【0157】
次に、上記第4実施形態に係る配信システムSに属する放送局1、各ノード2及び接続先紹介サーバ3並びにキャッシュサーバ4夫々の具体的な構成及び処理について、第2実施例として図15乃至図18を用いて説明する。
【0158】
なお、図15乃至図17は当該各ノード2において実行される第2実施例に係る処理を共通的に夫々示すフローチャートであり、図18は当該キャッシュサーバ4において実行される第2実施例に係る処理を示すフローチャートである。
【0159】
ここで、第2実施例に係る放送局、各ノード及び接続先紹介サーバ夫々のハードウエア的な構成は、基本的には第1実施例に係る放送局1、各ノード2及び接続先紹介サーバ3夫々のハードウエア的な構成と同様であるので、以下の第2実施例においては、第1実施例に係る放送局1、各ノード2及び接続先紹介サーバ3と同様の部材については同一の部材番号を付して細部の説明は省略する。また、以下に説明する図15乃至図17において、第1実施例として説明した図11乃至図13と同様の処理については同様のステップ番号を付して細部の説明は省略する。更に、第2実施例に係るキャッシュサーバ4のハードウエア的な構成は、基本的には第1実施例に係る接続先紹介サーバ3のハードウエア的な構成と同様であるので、以下の第2実施例においては、第1実施例に係る接続先紹介サーバ3と同様の部材番号を付し、キャッシュサーバ4の構成としての図示は省略する。
【0160】
(I)ノードとしての処理
先ず、第4実施形態に係る配信システムSに含まれるノード2における処理について、図15乃至図17を用いて説明する。ここで、第2実施例に係る各ノード2の全てにおいては、第1実施例の場合と同様に、図15乃至図17に示す処理と同一の処理が夫々に実行されている。これにより、一つのノード2が、第4実施形態に係る第1ルートノード又は第2ルートノードとしてのノード2のいずれにもなり得るのである。
【0161】
また、図15においては、第2実施例に係る各ノード2において実行される上記参加処理(ステップS1乃至S17及びS75乃至S79)から、受信したパケットの中継処理及び再生処理(ステップS19乃至S22)までを説明する。
【0162】
図15に示すように、第2実施例に係るいずれかのノード2(以下、図15乃至図17を用いてその処理を説明するノード2を、第1実施例と同様に対象ノード2と称する)において、その電源スイッチがオンとされて対象ノード2における主電源及び補助電源がオンとされると、第1実施例に係る対象ノード2と同様のステップS1及びS3の処理(図11参照)が実行される。
【0163】
次に、当該ステップS3の判定において、対象ノード2において配信システムSにその対象ノード2が参加する旨の操作が為されたときは(ステップS3;YES)、制御部21は、上記キャッシュサーバ4に対して上記第1ルートノード紹介要求メッセージMG20を送信する(ステップS75。図7参照)。
【0164】
その後は、第1実施例に係る対象ノード2と同様のステップS5乃至S9及びS11の処理(図11参照)が実行される。
【0165】
一方、ステップS3の判定において、第一回目の当該ステップS3の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップS3の判定として上流ノード紹介要求メッセージMG1/MG20を接続先紹介サーバ3又はキャッシュサーバ4へ送信後であるときは(ステップS3;NO)、第1実施例に係る対象ノード2と同様のステップS12乃至S17の処理(図11参照)が実行される。
【0166】
そして、ステップS17の判定において、自身が第N階層に参加して第1ルートノードとなり得るものであるときは(ステップS17;YES)、制御部21は、キャッシュサーバ4に対して上記ステップS16の処理と同様の参加報告メッセージを送信する(ステップS76)。そして、制御部21は、配信システムSに参加済の他の第1ルートノードを示す所在情報IP等の取得を要求する旨の図示しない第1ルートノード取得要求メッセージを当該キャッシュサーバ4に対して送信する(ステップS77)。
【0167】
その後、制御部21は、当該他の第1ルートノードを示す所在情報IP等が取得できたか否かを監視し(ステップS78)、取得できていないときは(ステップS78;NO)、当該対象ノード2が第1ルートノードとして初めてキャッシュノード4に登録されることとなるので、上記ステップS9に移行して上述した一連の処理を繰り返す。
【0168】
一方、ステップS78の判定において、他の第1ルートノードを示す所在情報IP等が取得できたときは(ステップS78;YES)、制御部21は、当該対象ノード2と当該他の第1ルートノードとの間に接続関係を確立してメッシュ型のオーバレイネットワークMOLを拡張すべく、当該他の第1ルートノードをキャッシュサーバ4に登録を要求する旨の図示しない近隣第1ルートノード登録要求メッセージを送信し(ステップS79)、上記ステップS9に移行して上述した一連の処理を繰り返す。
【0169】
他方、上記ステップS12の判定において、配信システムSに対する参加処理は完了しているものの未だ上流ノード候補メッセージMG2を受信していないときは(ステップS12;NO)、第1実施例に係る対象ノード2と同様のステップS19乃至S22の処理(図11参照)が実行される。
【0170】
次に、上記ステップS19の処理において、上流側のノード2からパケットを受信していない場合(ステップS19;NO)以降の処理について、図16を用いて説明する。なお、図16においては、第2実施例に係る対象ノード2において実行される上記脱退処理(ステップS25乃至S29並びにS80及びS81)、当該対象ノード2の下流側において新たに参加する他のノード2の当該参加処理及び脱退処理(ステップS31乃至S34)並びに第2実施例に係るコンテンツデータの配信開始から終了までの処理(ステップS35乃至S38)について夫々説明する。
【0171】
図15に示すステップS19の判定において、パケットを受信していないときは(ステップS19;NO)、図16に示すように、第1実施例に係る対象ノード2と同様のステップS25乃至S29の処理(図12参照)が実行される。
【0172】
そして、ステップS29の判定において、対象ノード2自身が第1ルートノードである場合は(ステップS29;YES)、制御部21は、キャッシュサーバ4に対して配信システムSから脱退した旨の図示しない脱退報告メッセージを送信する(ステップS80)。そして、制御部21は、当該対象ノード2と接続関係を有している(図15ステップS79参照)近隣の第1ルートノードに対して、自らが配信システムSから離脱する旨の図示しない近隣第1ルートノード離脱メッセージを送信し(ステップS81)、図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0173】
一方、上記ステップS25の判定において、配信システムSから脱退する旨の上記操作が為されないときは(ステップS25;NO)、以降、第1実施例に係る対象ノード2と同様のステップS31乃至S38の処理(図12参照)が実行される。
【0174】
次に、上記ステップS37の判定においてデータ送信停止要求メッセージMG10も受信していない場合(ステップS37;NO)以降の処理について、図17を用いて説明する。なお、図17においては、主として第2実施例に係る拡張ツリーETに対する参加処理(図7参照)について説明する。
【0175】
図16に示すステップS37の判定において、データ送信停止要求メッセージMG10も受信していないときは(ステップS37;NO)、図17に示すように、先ず第1実施例に係る対象ノード2と同様のステップS44乃至S49並びにS58の処理(図13参照)が実行される。
【0176】
そして、当該ステップS58の判定において、予め設定されている待ち時間が経過していないときは(ステップS58;NO)、制御部21は、そのまま計時を継続しつつ図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。一方、当該待ち時間が経過したときは(ステップS58;YES)、制御部21は、既知の第1ルートノード(即ち、キャッシュサーバ4から取得済の第1ルートノード(図15ステップS75参照)の予備)に対して代替となる第1ルートノードを紹介させる旨の上記第1ルートノード紹介要求メッセージMG20を送信する(ステップS82。図7参照)。そして、制御部21は、当該代替となる第1ルートノードから、その所在情報IPが上記第1ルートノード紹介要求メッセージMG20に対応する接続許可応答メッセージMG8−2として返信されてきたか否かを監視する(ステップS83)。
【0177】
当該ステップS83の判定において、制御部21は、必要な所在情報IPが得られないうちは(ステップS83;NO)当該監視を継続する。必要な所在情報IPが得られた場合は(ステップS83;YES)、制御部21は、上記上流ノード紹介要求メッセージMG7を当該取得した所在情報IPにより示される第1ルートノードへ中継する(ステップS84)。そして、制御部21は、上記紹介待ちタイマにおける計時を再度開始し(ステップS60)、図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0178】
他方、ステップS58の判定において、当該待ち時間が経過していないときは(ステップS58;NO)、制御部21は、上記近隣第1ルートノード登録要求メッセージ(図15ステップS79参照)又は上記近隣第1ルートノード離脱メッセージ(図16ステップS81参照)のいずれか一方を対象ノード2において受信したか否かを制御部21により確認する(ステップS85)。そして、当該近隣第1ルートノード登録要求メッセージ又は当該近隣第1ルートノード離脱メッセージのいずれか一方を受信した場合は(ステップS85;YES)、制御部21は、夫々のメッセージに対応するように対象ノード2の記憶部22に記憶されているルーティング情報を更新し(ステップS86)、図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0179】
一方、ステップS85の判定において、当該近隣第1ルートノード登録要求メッセージ又は当該近隣第1ルートノード離脱メッセージのいずれも受信していないときは(ステップS85;NO)、制御部21は、代替となる第1ルートノードを紹介させる旨の上記第1ルートノード紹介要求メッセージMG20を対象ノード2として受信したか否かを確認する(ステップS87)。そして、当該第1ルートノード紹介要求メッセージMG20を受信したときは(ステップS87;YES)、制御部21は、それを他のノード2に中継するか否かを予め設定された判断基準に基づいて判断する(ステップS88)。中継すべき場合は(ステップS88;YES)、制御部21は、近隣の第1ルートノードに対して当該第1ルートノード紹介要求メッセージMG20を転送し(ステップS89)、図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0180】
他方、ステップS88の判定において、当該第1ルートノード紹介要求メッセージMG20を中継すべきでないときは(ステップS88;NO)、制御部21は、近隣の第1ルートノードを対象ノード2の代替として当該第1ルートノード紹介要求メッセージMG20の送信元にその所在情報IP等を返信し(ステップS90)、図15に示すステップS9の処理に移行して上述した一連の処理を繰り返す。
【0181】
(II)キャッシュサーバとしての処理
次に、第2実施例に係るキャッシュサーバ4における処理について、具体的に図18を用いて説明する。なお、第2実施例に係る接続先紹介サーバ3における処理は、基本的には第1実施例に係る接続先紹介サーバ3における処理と同様であるので、以下では説明を省略する。
【0182】
当該第2実施例に係るキャッシュサーバ4においては、図18に示すように、当該キャッシュサーバ4としての電源スイッチがオンとされると、制御部35は、最初に当該キャッシュサーバ4内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2や放送局1からのメッセージ受信を可能とする(ステップS91)。
【0183】
そして、当該初期化が完了すると、制御部35は、新たなノード2からの上記図示しない第1ルートノード取得要求メッセージ(図15ステップS77参照)を受信したか否かを確認する(ステップS92)。そして、当該図示しない第1ルートノード取得要求メッセージを受信したときは(ステップS92;YES)、制御部35は、第1ルートノードを示すキャッシュ情報(一次記憶情報。当該第1ルートノードを示す所在情報IP等を含む)が記憶部36内に記憶されているか否かを確認する(ステップS93)。そして、当該キャッシュ情報が記憶されているときは(ステップS93;YES)、制御部35は、当該記憶されているキャッシュ情報に相当する第1ルートノードの中から複数のものを抽出し、当該抽出したキャッシュ情報に含まれている所在情報IP等を上記図示しない第1ルートノード取得要求メッセージを送信したノード2に対して送信する(ステップS94)。
【0184】
その後、制御部35は、キャッシュサーバ4としてのサービスを停止するか否かを確認し(ステップS95)、停止する場合は(ステップS95;YES)そのままキャッシュサーバ4の電源をオフとして処理を終了する。一方、ステップS95の判定において、引き続き当該サービスを継続する場合は(ステップS95;NO)、制御部35は、上記ステップS92に戻って上述した一連の処理を繰り返す。
【0185】
また、ステップS93の判定において、いずれの第1ルートノードについてもキャッシュ情報が記憶されていないときは(ステップS93;NO)、制御部35は、その旨を示す図示しない取得失敗メッセージを上記図示しない第1ルートノード取得要求メッセージを送信したノード2に対して送信して(ステップS96)、上記ステップS95に移行する。
【0186】
他方、上記ステップS92の判定において、図示しない第1ルートノード取得要求メッセージを受信していないときは(ステップS92;NO)、制御部35は、オーバレイネットワークMOLに新たに参加したノード2からの上記参加報告メッセージ(図15ステップS76参照)を受信したか、又はオーバレイネットワークMOLから脱退したノード2からの上記脱退報告メッセージ(図15ステップS80参照)を受信したか、を、段階的に制御部35において確認する(ステップS97、S99)。
【0187】
そして、上記参加報告メッセージを受信したときは(ステップS97;YES)、制御部35は、当該受信した参加報告メッセージに含まれている第1ルートノードとしての所在情報IP等をキャッシュサーバ4の記憶部35内に記憶させ(ステップS98)、上記ステップS95の処理に移行する。
【0188】
また、上記参加報告メッセージは受信していないが(ステップS97;NO)、上記脱退報告メッセージを受信している場合は(ステップS99;YES)、制御部35は、当該受信した脱退報告メッセージに含まれている第1ルートノードとしての所在情報IP等をキャッシュサーバ4の記憶部35から削除し(ステップS100)、上記ステップS95の処理に移行する。
【0189】
更に、上記ステップS99の判定において上記脱退報告メッセージをも受信していないときは(ステップS99;NO)、制御部35は、そのまま上記ステップS95の処理に移行する。
【0190】
以上夫々説明したように、第1実施形態及び第1実施例に係る配信システムSの動作によれば、ベースツリーBTに属する第1ルートノードとしてのノード2を頂点とする拡張ツリーETのトポロジが、当該第1ルートノードとしてのノード2により制御されるので、配信システムSを構成する全てのノード2のトポロジを接続先紹介サーバ3に制御させることに起因する当該接続先紹介サーバ3の処理過多の発生を防止できる。
【0191】
また、配信システムS全体のうち、放送局1を頂点とするベースツリーBTに属する各ノード2のトポロジを専用の接続先紹介サーバ3により制御するので、配信経路におけるいわゆる上流側に属するノード2のトポロジが最適に制御されることになり、結果として配信システムS全体として安定してコンテンツを配信することができる。
【0192】
従って、接続先紹介サーバ3に係る処理負担の軽減と、配信システムS全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることができる。
【0193】
また、ベースツリーBTにおいて接続先紹介サーバ3により制御されるノード2の数が、当該接続先紹介サーバ3におけるトポロジの制御可能数に基づいて決定されているので、配信システムSに要求されるトポロジの安定性(信頼性)に応じて当該接続先紹介サーバ3の機器性能を規定するような柔軟なシステム設計が可能となる。
【0194】
更に、ベースツリーBTとしての許容階層数Nに相当する階層の直近下位の階層に属するノード2を拡張ツリーETに係る第1ルートノードとして指定し、その旨を示す情報を当該指定されたノード2の記憶部22内に記憶するので、第1ルートノードとしての役割を担うノード2を選定する規則が簡易なものとなり、システム実装上の作業負荷を軽減できる。
【0195】
更にまた、拡張ツリーETに属するノード2の数がベースツリーBTに属するノード2の数より少ないので、拡張ツリーETの頂点となるノード2における当該拡張ツリーETに属するノード2のトポロジの制御負荷が軽減され、当該拡張ツリーET内におけるコンテンツの配信を安定化することができる。
【0196】
また、少なくとも、拡張ツリーETにおける第1ルートノードとしてのノード2を識別するための所在情報が仮想的なオーバレイネットワークOLを構成するいずれかのノード2(第2ルートノード)に記憶されているので、配信システムSに新たに加入するノード2が、当該加入の際迅速に第1ルートノードとしてのノード2を検索/発見することができる。
【0197】
また、第2実施形態に係る配信システムSの動作によれば、ベースツリーBTとしての許容階層数Nに相当する階層を含む複数の階層のいずれかに属するノード2を拡張ツリーETに係る第1ルートノードとして指定し、その旨を示す情報を当該指定されたノード2の記憶部22内に記憶するので、第1ルートノードとしての役割を担うノード2を選定する際にベースツリーBT上における稼動状態の実績を勘案した選定基準を導入することが可能となる(例えば、コンテンツの中継品質が安定しているノード2を第1ルートノードとしてのノード2として選定することができる)。
【0198】
更に、第3実施形態に係る配信システムSの動作によれば、ノード2が属する階層だけでなくコンテンツの配信能力又は配信システムS内における稼働時間の少なくともいずれか一方をも考慮して第1ルートノードとしてのノード2が指定されるので、拡張ツリーET夫々の第1ルートノードとして安定して機能するノード2を指定することができる。
【0199】
更にまた、各配信システムSに新たに参加するノード2の動作によれば、ベースツリーBTに参加することが決定されたとき、接続先紹介サーバ3に対して上流ノード紹介要求メッセージMG1を送信すると共に、拡張ツリーETに参加することが決定されたとき検索された第1ルートノードとしてのノード2に対して上流ノード紹介要求メッセージMG7を送信するので、新規に配信システムSに参加しようとするノード2であっても迅速にいずれかのツリーに参加することができる。
【0200】
また、各配信システムSに新たに参加するノード2の動作によれば、先ず第1ルートノードとしてのノード2を検索し、当該第1ルートノードとしてのノード2が検索できたときは拡張ツリーETに参加すると決定し、当該第1ルートノードとしてのノード2が検索できなかったときはベースツリーBTに参加すると決定するので、新たなノード2が参加すべきいずれかのツリーを、接続先紹介サーバ3に不要な負担をかけることなく且つ迅速に決定することができる。
【0201】
更に、図11乃至図13又は図15乃至図17に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施形態に係るノード2内の制御部21として活用することも可能である。
【0202】
また、図14又は図18に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施形態に係る接続先紹介サーバ3内又はキャッシュサーバ4内の制御部35として活用することも可能である。
【産業上の利用可能性】
【0203】
以上夫々説明したように、本発明はツリー構造を有する配信システムを用いたコンテンツの配信の分野に利用することが可能であり、特に映画や音楽等のリアルタイムの放送の如き、途中で配信が中断してしまうことが不都合なコンテンツの配信の分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【0204】
【図1】第1実施形態に係る配信システムの概要構成を示すブロック図である。
【図2】第1実施形態に係る配信システムの細部構成を示すブロック図である。
【図3】第1実施形態に係る配信システムにおける脱退処理を示す図(I)である。
【図4】第1実施形態に係る配信システムにおける脱退処理を示す図(II)である。
【図5】第2実施形態に係る配信システムの細部構成を示すブロック図である。
【図6】第3実施形態に係る配信システムの細部構成を示すブロック図である。
【図7】第4実施形態に係る配信システムの細部構成を示すブロック図である。
【図8】各実施例に係る放送局の概要構成を示すブロック図である。
【図9】各実施例に係るノードの概要構成を示すブロック図である。
【図10】各実施例に係る接続先紹介サーバの概要構成を示すブロック図である。
【図11】第1実施例に係るノードにおける処理を示すフローチャート(I)である。
【図12】第1実施例に係るノードにおける処理を示すフローチャート(II)である。
【図13】第1実施例に係るノードにおける処理を示すフローチャート(III)である。
【図14】第1実施例に係る接続先紹介サーバにおける処理を示すフローチャートである。
【図15】第2実施例に係るノードにおける処理を示すフローチャート(I)である。
【図16】第2実施例に係るノードにおける処理を示すフローチャート(II)である。
【図17】第2実施例に係るノードにおける処理を示すフローチャート(III)である。
【図18】第2実施例に係るキャッシュサーバにおける処理を示すフローチャートである。
【符号の説明】
【0205】
1 放送局
2、2a、2b、2c、2d、2e、2f、2g、2h、2i、2j、2k、2l、2m、2n、2o、2p、2q、2r、2s、2t、2u、2v、2w、2x、2y、2z、2aa、2ab、2ac、2ad、2xx、2yy、N、N ノード
3 接続先紹介サーバ
4 キャッシュサーバ
5 IX
6 ISP
7 DSL回線事業者
8 FTTH回線事業者
9 通信回線
10 ネットワーク
11、21、35 制御部
12、22、36 記憶部
13 暗号化用アクセラレータ
14 エンコーダ部
15、29a、37 通信部
16、29b 入力部
17、29d、38 バス
23 バッファメモリ
24 復号化アクセラレータ
25 デコーダ部
26 映像処理部
27 表示部
28 音声処理部
29 スピーカ
29e ICカード
29c ICカードスロット
、S、S、S 配信システム
BT ベースツリーサブネットワーク(ベースツリー)
ET、ET1、ET2、ET3、ET4 拡張ツリーサブネットワーク(拡張ツリー)
OL 第2オーバレイネットワーク(オーバレイネットワーク)
MOL オーバレイネットワーク
IP 所在情報
MG1、MG7 上流ノード紹介要求メッセージ
MG2、MG7−2 上流ノード候補メッセージ
MG3、MG8 接続要求メッセージ
MG4、MG8−2 接続許可応答メッセージ
MG5、MG22 第1ルートノード探索要求メッセージ
MG6、MG9 第1ルートノード探索結果メッセージ
MG10 データ送信停止要求メッセージ
MG11 接続解除要求メッセージ
MG12 脱退報告メッセージ
MG20 第1ルートノード紹介要求メッセージ
MG21 第1ルートノード候補メッセージ
MGr 第1ルートノード登録要求メッセージ

【特許請求の範囲】
【請求項1】
階層ツリー状に接続された複数の情報処理装置を介して、配信元装置から配信情報が配信されるネットワークシステムにおいて、
前記配信元装置を頂点とする階層ツリー状に複数の前記情報処理装置が接続されてなる第一のサブネットワークシステムと、
前記第一のサブネットワークシステムに含まれる前記情報処理装置のいずれかである頂点情報処理装置を頂点とする階層ツリー状に他の複数の前記情報処理装置が接続されてなる第二のサブネットワークシステムと、
前記第一のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する接続態様制御装置と、
を備え、
前記頂点情報処理装置は、当該頂点情報処理装置を前記頂点とする前記第二のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する制御手段を備えることを特徴とするネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムにおいて、
前記第一のサブネットワークシステムに属し且つ前記接続態様制御装置により制御される前記情報処理装置の数は、当該接続態様制御装置における前記接続態様の制御可能数に基づいて決定されていることを特徴とするネットワークシステム。
【請求項3】
請求項2に記載のネットワークシステムにおいて、
前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する前記情報処理装置を前記頂点情報処理装置として指定する頂点情報処理装置指定手段を備え、
前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備えることを特徴とするネットワークシステム。
【請求項4】
請求項2に記載のネットワークシステムにおいて、
前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する前記情報処理装置を前記頂点情報処理装置として指定する頂点情報処理装置指定手段を備え、
前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備えることを特徴とするネットワークシステム。
【請求項5】
請求項3又は4に記載のネットワークシステムにおいて、
前記頂点情報処理装置指定手段は、各前記情報処理装置における前記配信情報の配信能力又は当該情報処理装置の前記ネットワークシステム内における稼働時間の少なくともいずれか一方を更に考慮して前記頂点情報処理装置としての前記情報処理装置を指定することを特徴とするネットワークシステム。
【請求項6】
請求項1から5のいずれか一項に記載のネットワークシステムにおいて、
一つの前記第二のサブネットワークシステムに属している前記情報処理装置の数は前記第一のサブネットワークシステムに属している前記情報処理装置の数より少ないことを特徴とするネットワークシステム。
【請求項7】
請求項1から6のいずれか一項に記載のネットワークシステムにおいて、
当該ネットワークシステムに含まれる前記情報処理装置により仮想的なオーバレイネットワークが構成されており、
当該オーバレイネットワークに属するいずれかの前記情報処理装置には、各前記頂点情報処理装置を前記ネットワークシステム内において識別するための識別情報を少なくとも記憶する記憶手段が備えられていることを特徴とするネットワークシステム。
【請求項8】
請求項1から7のいずれか一項に記載のネットワークシステムにおける前記頂点情報処理装置としての情報処理装置であって、
前記制御手段を備えることを特徴とする情報処理装置。
【請求項9】
請求項1から7のいずれか一項に記載のネットワークシステムに新たに参加する情報処理装置において、
いずれかの前記頂点情報処理装置を前記ネットワークシステム内において検索する検索手段と、
前記検索手段における検索結果に基づいて、前記第一のサブネットワークシステム又は前記第二のサブネットワークシステムのいずれに参加するかを決定する決定手段と、
前記決定手段により前記第一のサブネットワークシステムに参加することが決定されたとき、前記接続態様制御装置に対して当該参加の旨を示す参加要求情報を送信し、前記決定手段により前記第二のサブネットワークシステムに参加することが決定されたとき、前記検索された頂点情報処理装置に対して当該参加の旨を示す参加要求情報を送信する参加要求情報送信手段と、
を備えることを特徴とする情報処理装置。
【請求項10】
請求項9に記載の情報処理装置において、
前記決定手段は、
前記検索手段による検索において前記頂点情報処理装置が検索できたとき前記第二のサブネットワークシステムに参加すると決定し、
前記検索手段による検索において前記頂点情報処理装置が検索できたなかったとき前記第一のサブネットワークシステムに参加すると決定することを特徴とする情報処理装置。
【請求項11】
コンピュータを請求項8から10のいずれか一項に記載の情報処理装置として機能させることを特徴とする情報処理用コンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2008−252498(P2008−252498A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−90770(P2007−90770)
【出願日】平成19年3月30日(2007.3.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】