(57)【要約】【課題】ネットワーク管理装置における処理負担の軽減と、ネットワークシステム全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることが可能なネットワークシステムを提供する。【解決手段】階層ツリー状に接続された複数のノード２を介して、放送局１からコンテンツが配信される配信システムＳ１において、放送局１を頂点とする階層ツリー状に複数のノード２が接続されてなるベースツリーＢＴと、ベースツリーＢＴに含まれるノード２のいずれかである第１ルートノードを頂点とする階層ツリー状に他の複数のノード２が接続されてなる拡張ツリーＥＴと、ベースツリーＢＴに属する各ノード２のトポロジを制御する接続先紹介サーバ３と、を備え、第１ルートノードが、当該第１ルートノードを頂点とする拡張ツリーＥＴに属する各ノード２のトポロジを制御する。【選択図】図２
2008252498.tif 000002
【特許請求の範囲】
【請求項１】
階層ツリー状に接続された複数の情報処理装置を介して、配信元装置から配信情報が配信されるネットワークシステムにおいて、
前記配信元装置を頂点とする階層ツリー状に複数の前記情報処理装置が接続されてなる第一のサブネットワークシステムと、
前記第一のサブネットワークシステムに含まれる前記情報処理装置のいずれかである頂点情報処理装置を頂点とする階層ツリー状に他の複数の前記情報処理装置が接続されてなる第二のサブネットワークシステムと、
前記第一のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する接続態様制御装置と、
を備え、
前記頂点情報処理装置は、当該頂点情報処理装置を前記頂点とする前記第二のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する制御手段を備えることを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムにおいて、
前記第一のサブネットワークシステムに属し且つ前記接続態様制御装置により制御される前記情報処理装置の数は、当該接続態様制御装置における前記接続態様の制御可能数に基づいて決定されていることを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムにおいて、
前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する前記情報処理装置を前記頂点情報処理装置として指定する頂点情報処理装置指定手段を備え、
前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備えることを特徴とするネットワークシステム。
【請求項４】
請求項２に記載のネットワークシステムにおいて、
前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する前記情報処理装置を前記頂点情報処理装置として指定する頂点情報処理装置指定手段を備え、
前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備えることを特徴とするネットワークシステム。
【請求項５】
請求項３又は４に記載のネットワークシステムにおいて、
前記頂点情報処理装置指定手段は、各前記情報処理装置における前記配信情報の配信能力又は当該情報処理装置の前記ネットワークシステム内における稼働時間の少なくともいずれか一方を更に考慮して前記頂点情報処理装置としての前記情報処理装置を指定することを特徴とするネットワークシステム。
【請求項６】
請求項１から５のいずれか一項に記載のネットワークシステムにおいて、
一つの前記第二のサブネットワークシステムに属している前記情報処理装置の数は前記第一のサブネットワークシステムに属している前記情報処理装置の数より少ないことを特徴とするネットワークシステム。
【請求項７】
請求項１から６のいずれか一項に記載のネットワークシステムにおいて、
当該ネットワークシステムに含まれる前記情報処理装置により仮想的なオーバレイネットワークが構成されており、
当該オーバレイネットワークに属するいずれかの前記情報処理装置には、各前記頂点情報処理装置を前記ネットワークシステム内において識別するための識別情報を少なくとも記憶する記憶手段が備えられていることを特徴とするネットワークシステム。
【請求項８】
請求項１から７のいずれか一項に記載のネットワークシステムにおける前記頂点情報処理装置としての情報処理装置であって、
前記制御手段を備えることを特徴とする情報処理装置。
【請求項９】
請求項１から７のいずれか一項に記載のネットワークシステムに新たに参加する情報処理装置において、
いずれかの前記頂点情報処理装置を前記ネットワークシステム内において検索する検索手段と、
前記検索手段における検索結果に基づいて、前記第一のサブネットワークシステム又は前記第二のサブネットワークシステムのいずれに参加するかを決定する決定手段と、
前記決定手段により前記第一のサブネットワークシステムに参加することが決定されたとき、前記接続態様制御装置に対して当該参加の旨を示す参加要求情報を送信し、前記決定手段により前記第二のサブネットワークシステムに参加することが決定されたとき、前記検索された頂点情報処理装置に対して当該参加の旨を示す参加要求情報を送信する参加要求情報送信手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
請求項９に記載の情報処理装置において、
前記決定手段は、
前記検索手段による検索において前記頂点情報処理装置が検索できたとき前記第二のサブネットワークシステムに参加すると決定し、
前記検索手段による検索において前記頂点情報処理装置が検索できたなかったとき前記第一のサブネットワークシステムに参加すると決定することを特徴とする情報処理装置。
【請求項１１】
コンピュータを請求項８から１０のいずれか一項に記載の情報処理装置として機能させることを特徴とする情報処理用コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、情報処理装置及び情報処理用プログラムの技術分野に属し、より詳細には、配信元から配信される配信情報を、その下流側に複数の階層を構成しつつ接続されている情報処理装置において段階的に中継しつつ配信するネットワークシステム並びに当該ネットワークシステムに含まれる情報処理装置及び当該情報処理装置に含まれている情報処理用プログラムの技術分野に属する。
【背景技術】
【０００２】
近年、家庭用のインターネット回線の高速化に伴い、配信元となる一の配信サーバを頂点として各家庭等内にあるパーソナルコンピュータ等を複数個階層ツリー状に接続してネットワークを構成し、そのネットワークを介して上記配信サーバから音楽や映画等のいわゆるコンテンツを配信情報として配信するネットワークシステムが一般化しつつある。
【０００３】
なお、当該ネットワークを、その接続態様の観点から見たものを「トポロジ」と称する。また、このようなネットワークのトポロジにおいて、当該ネットワークを構成する各パーソナルコンピュータ等の夫々は、一般に「ノード」と称される。更に、上記ネットワークシステムについての従来技術を開示する特許文献としては、例えば下記特許文献１がある。
【０００４】
この特許文献１に記載されている技術においては、新規のノードが階層ツリー構造を有するネットワークシステムに新たに加入する場合、当該新規ノードは、先ず当該ネットワーク外に設けられたネットワーク管理装置に対して新たに加入する旨の問い合わせを行う。そして、当該問い合わせに対するネットワーク管理装置からの回答に含まれている接続先のノード（既に当該ネットワークシステムに加入しているノードのいずれか）に対して接続要求を当該新規ノードから送信することで、当該接続先のノードの直近下流側に当該新規ノードが新たに接続されることで当該新規ノードがネットワークシステムに新たに加入する構成とされている。
【０００５】
このとき、上記ネットワーク管理装置は、当該ネットワークシステムに属している全てのノードについてのトポロジ（接続先）を管理する構成となっている。
【特許文献１】特開２００６−２８７３５１公報（第１図、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１記載の技術によると、一台のネットワーク管理装置が全てのノードについてのトポロジを管理するため、当該ノードの数がネットワークシステム内において膨大になると、当該ネットワーク管理装置が処理過多に陥ってしまうという問題点があった。
【０００７】
この場合、当該ネットワーク管理装置が処理過多に陥ると、例えば、新たなノードが更にネットワークシステムに加入しようとしてその旨の要求情報を送信しても、対応する接続先の情報を含むネットワーク管理装置からの回答が遅れたり、或いは、あるノードがネットワークシステムから脱退したときのトポロジの再構築に不要な時間がかかってしまい、最悪の場合は上流側のノードで脱退が発生した場合における下流側ノードにおけるコンテンツの配信途絶という事態が発生し得るという問題点が生じる。
【０００８】
一方、階層ツリー状のネットワークシステムにおけるコンテンツ配信の安定性又は障害に対する耐性の観点からは、当該ネットワークシステムに属するノードについてのトポロジは、なるべく一元的に管理されることが望ましい。
【０００９】
そこで、本願は上記の各問題点並びに要望に鑑みて為されたもので、その目的の一例は、ネットワーク管理装置における処理負担の軽減と、ネットワークシステム全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることが可能なネットワークシステム並びに当該ネットワークシステムに含まれるノード及び当該ノードにおける動作を制御する制御用プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、請求項１に記載の発明は、階層ツリー状に接続された複数の情報処理装置を介して、配信元装置から配信情報が配信されるネットワークシステムにおいて、前記配信元装置を頂点とする階層ツリー状に複数の前記情報処理装置が接続されてなる第一のサブネットワークシステムと、前記第一のサブネットワークシステムに含まれる前記情報処理装置のいずれかである頂点情報処理装置を頂点とする階層ツリー状に他の複数の前記情報処理装置が接続されてなる第二のサブネットワークシステムと、前記第一のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する接続態様制御装置（接続先紹介サーバ）と、を備え、前記頂点情報処理装置は、当該頂点情報処理装置を前記頂点とする前記第二のサブネットワークシステムに属する各前記情報処理装置の接続態様を制御する制御部等の制御手段を備える。
【００１１】
よって、第一のサブネットワークシステムに属する頂点情報処理装置を頂点とする第二のサブネットワークシステムの接続態様が、当該頂点情報処理装置内の制御手段により制御されるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【００１２】
また、ネットワークシステム全体のうち、配信情報の配信元たる配信元装置を頂点とする第一のサブネットワークシステムに属する各情報処理装置の接続態様を専用の接続態様制御装置により制御するので、配信経路におけるいわゆる上流側に属する情報処理装置の接続態様が最適に制御されることになり、結果としてネットワークシステム全体として安定して配信情報を配信することができる。
【００１３】
上記の課題を解決するために、請求項２に記載の発明は、請求項１に記載のネットワークシステムにおいて、前記第一のサブネットワークシステムに属し且つ前記接続態様制御装置により制御される前記情報処理装置の数は、当該接続態様制御装置における前記接続態様の制御可能数に基づいて決定されている。
【００１４】
よって、第一のサブネットワークシステムにおいて接続態様制御装置により制御される情報処理装置の数が、当該接続態様制御装置における接続態様の制御可能数に基づいて決定されているので、配信システムに要求される接続態様の安定性（信頼性）に応じて当該接続態様制御装置の機器性能を規定するような柔軟なシステム設計が可能となる。
【００１５】
上記の課題を解決するために、請求項３に記載の発明は、請求項２に記載のネットワークシステムにおいて、前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する前記情報処理装置を前記頂点情報処理装置として指定する制御部等の頂点情報処理装置指定手段を備え、前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備える。
【００１６】
よって、第一のサブネットワークシステムとしての許容階層数に相当する階層の直近下位の階層に属する情報処理装置を第二のサブネットワークシステムに係る頂点情報処理装置として指定し、その旨を示す指定情報を当該指定された情報処理装置の記憶手段内に記憶するので、頂点情報処理装置の役割を担う情報処理装置を選定する規則が簡易なものとなり、システム実装上の作業負荷を軽減できる。
【００１７】
上記の課題するために、請求項４に記載の発明は、請求項２に記載のネットワークシステムにおいて、前記接続態様制御装置は、前記制御可能数に基づいて予め設定されている前記第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する前記情報処理装置を前記頂点情報処理装置として指定する制御部等の頂点情報処理装置指定手段を備え、前記頂点情報処理装置として指定された前記情報処理装置は、当該指定された旨の指定情報を記憶する記憶手段を備える。
【００１８】
よって、第一のサブネットワークシステムとしての許容階層数に相当する階層を含む複数の階層のいずれかに属する情報処理装置を第二のサブネットワークシステムに係る頂点情報処理装置として指定し、その旨を示す指定情報を当該指定された情報処理装置の記憶手段内に記憶するので、頂点情報処理装置の役割を担う情報処理装置を選定する際に第一のサブネットワーク上における稼動状態の実績を勘案した選定基準を導入することが可能となる（例えば、配信情報の中継品質が安定している情報処理装置を頂点情報処理装置として選定することができる）。
【００１９】
上記の課題を解決するために、請求項５に記載の発明は、請求項３又は４に記載のネットワークシステムにおいて、前記頂点情報処理装置指定手段は、各前記情報処理装置における前記配信情報の配信能力又は当該情報処理装置の前記ネットワークシステム内における稼働時間の少なくともいずれか一方を更に考慮して前記頂点情報処理装置としての前記情報処理装置を指定するように構成される。
【００２０】
よって、情報処理装置が属する階層だけでなく配信情報の配信能力又はネットワークシステム内における稼働時間の少なくともいずれか一方をも考慮して頂点情報処理装置が指定されるので、第二のサブネットワークシステム夫々の頂点情報処理装置として安定して機能する情報処理装置を指定することができる。
【００２１】
上記の課題を解決するために、請求項６に記載の発明は、請求項１から５のいずれか一項に記載のネットワークシステムにおいて、一つの前記第二のサブネットワークシステムに属している前記情報処理装置の数は前記第一のサブネットワークシステムに属している前記情報処理装置の数より少ないように構成される。
【００２２】
よって、第二のサブネットワークシステムに属する情報処理装置の数が第一のサブネットワークシステムに属する情報処理装置の数より少ないので、第二のサブネットワークシステムの頂点となる情報処理装置における当該第二のサブネットワークシステムに属する情報処理装置の接続態様の制御負荷が軽減され、当該第二のサブネットワークシステム内における配信情報の配信を安定化することができる。
【００２３】
上記の課題を解決するために、請求項７に記載の発明は、請求項１から６のいずれか一項に記載のネットワークシステムにおいて、当該ネットワークシステムに含まれる前記情報処理装置により仮想的なオーバレイネットワークが構成されており、当該オーバレイネットワークに属するいずれかの前記情報処理装置には、各前記頂点情報処理装置を前記ネットワークシステム内において識別するための識別情報を少なくとも記憶する記憶部等の記憶手段が備えられている。
【００２４】
よって、少なくとも、第二のサブネットワークシステムにおける頂点情報処理装置を識別するための識別情報が仮想的なオーバレイネットワークを構成するいずれかの情報処理装置に記憶されているので、ネットワークシステムに新たに加入する情報処理装置が、当該加入の際迅速に頂点情報処理装置を検索／発見することができる。
【００２５】
上記の課題を解決するために、請求項８に記載の発明は、請求項１から７のいずれか一項に記載のネットワークシステムにおける前記頂点情報処理装置としての情報処理装置であって、前記制御手段を備える。
【００２６】
よって、第一のサブネットワークシステムに属し且つ第二のサブネットワークシステムの頂点となる頂点情報処理装置が当該第二のサブネットワークシステムの接続態様を制御する制御手段を備えるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【００２７】
上記の課題を解決するために、請求項９に記載の発明は、請求項１から７のいずれか一項に記載のネットワークシステムに新たに参加する情報処理装置において、いずれかの前記頂点情報処理装置を前記ネットワークシステム内において検索する検索手段と、前記検索手段における検索結果に基づいて、前記第一のサブネットワークシステム又は前記第二のサブネットワークシステムのいずれに参加するかを決定する決定手段と、前記決定手段により前記第一のサブネットワークシステムに参加することが決定されたとき、前記接続態様制御装置に対して当該参加の旨を示す参加要求情報を送信し、前記決定手段により前記第二のサブネットワークシステムに参加することが決定されたとき、前記検索された頂点情報処理装置に対して当該参加の旨を示す参加要求情報を送信する参加要求情報送信手段と、を備える。
【００２８】
よって、第一のサブネットワークシステムに参加することが決定されたとき、接続態様制御装置に対して参加要求情報を送信すると共に、第二のサブネットワークシステムに参加することが決定されたとき検索された頂点情報処理装置に対して参加要求情報を送信するので、新規にネットワークシステムに参加しようとする情報処理装置であっても迅速にいずれかのサブネットワークシステムに参加することができる。
【００２９】
上記の課題を解決するために、請求項１０に記載の発明は、請求項９に記載の情報処理装置において、前記決定手段は、前記検索手段による検索において前記頂点情報処理装置が検索できたとき前記第二のサブネットワークシステムに参加すると決定し、前記検索手段による検索において前記頂点情報処理装置が検索できたなかったとき前記第一のサブネットワークシステムに参加すると決定するように構成される。
【００３０】
よって、先ず頂点情報処理装置を検索し、当該頂点情報処理装置が検索できたときは第二のサブネットワークシステムに参加すると決定し、当該頂点情報処理装置が検索できなかったときは第一のサブネットワークシステムに参加すると決定するので、新たな情報処理装置が参加すべきサブネットワークシステムを、接続態様制御装置に不要な負担をかけることなく且つ迅速に決定することができる。
【００３１】
上記の課題を解決するために、請求項１１に記載の発明は、コンピュータを請求項８から１０のいずれか一項に記載の情報処理装置として機能させる。
【００３２】
よって、第一のサブネットワークシステムに属し且つ第二のサブネットワークシステムの頂点となる頂点情報処理装置が当該第二のサブネットワークシステムの接続態様を制御する制御手段として当該コンピュータが機能するので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【発明の効果】
【００３３】
本説明によれば、第一のサブネットワークシステムに属する頂点情報処理装置を頂点とする第二のサブネットワークシステムの接続態様が、当該頂点情報処理装置内の制御手段により制御されるので、ネットワークシステムを構成する全ての情報処理装置の接続態様を接続態様制御装置に制御させることに起因する当該接続態様制御装置の処理過多の発生を防止できる。
【００３４】
また、ネットワークシステム全体のうち、配信情報の配信元たる配信元装置を頂点とする第一のサブネットワークシステムに属する各情報処理装置の接続態様を専用の接続態様制御装置により制御するので、配信経路におけるいわゆる上流側に属する情報処理装置の接続態様が最適に制御されることになり、結果としてネットワークシステム全体として安定して配信情報を配信することができる。
【００３５】
従って、接続態様制御装置に係る処理負担の軽減と、ネットワークシステム全体としての配信情報の配信に係る安定性の向上と、をバランス良く両立させることができる。
【発明を実施するための最良の形態】
【００３６】
次に、本発明を実施するための最良の形態について、図面に基づいて説明する。なお、以下に説明する実施形態は、いわゆる階層ツリー型のコンテンツ配信システム（以下、当該コンテンツ配信システムを単に「配信システム」と称する）に対して本発明を適用した場合の実施形態である。
【００３７】
（Ｉ）第１実施形態
始めに、本発明に係る第１実施形態について、図１乃至図４を用いて説明する。なお、図１及び図２は第１実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図３及び図４は当該配信システムからノードが脱退する場合の処理を例示する図である。
【００３８】
（Ａ）配信システムとしての全体構成等
先ず、第１実施形態に係る配信システムの概要構成及び機能について図１を用いて説明する。
【００３９】
図１に示すように、第１実施形態に係る配信システムＳ１は、例えばインターネット等のネットワーク（現実世界のネットワーク）を用いて構成されるものである。このとき、当該現実世界のネットワーク１０として具体的には、例えば図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）５、ＩＳＰ（Internet Service Provider）６、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）７、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）８、ルータ（図示せず）及び通信回線（例えば、電話回線や光ケーブル等）９等を含むネットワーク１０を用いることができる。なおここで、図１の下部枠１０１内において、各通信回線９に対応する実線の太さは、各通信回線９の帯域の広さ（例えば、データ転送速度）を表している。
【００４０】
一方、第１実施形態に係る配信システムＳ１は、配信されるコンテンツにおける配信単位に相当する（連続する）パケットの配信元である放送局１と、複数のノード２ａ、２ｂ、２ｃ、２ｄ、…、と、を含んでおり、図１の下部枠１０１内に示すようなネットワーク１０を基礎として図１の上部枠１００内に示すように構成されており、放送局１を頂点（最上位）として、複数のノード２が複数の階層（図１の例では四階層）を形成しつつ通信経路を介してツリー状に接続され、上記連続する複数のパケットが、上流（上位階層）から下流（下位階層）の方向へ各ノード２により中継されつつ配信される。なお、以下の説明において、ノード２ａ、２ｂ、２ｃ、２ｄ、…、のうち何れかのノードを示す場合には、便宜上、単にノード２という。
【００４１】
ここで、上記放送局１は、実際には、放送対象たるコンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、ネットワーク１０に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード２は、実際には、例えば各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
【００４２】
図１において、上部枠１００内に示されるノード２は、配信システムＳ１に参加しているノード２である。そして、当該配信システムＳ１に参加するためには、未参加のノードが、接続先紹介サーバ３（図１下部枠１０１内参照）に対して参加要求メッセージを送信し、当該接続先紹介サーバ３により参加権限があることを認証される必要がある。
【００４３】
この接続先紹介サーバ３は、配信システムＳ１に参加している放送局１及び各ノード２の所在情報（例えば、ＩＰ（Internet Protocol）アドレス及びポート番号（待ち受けポート番号）等）と、配信システムＳ１における放送局１とノード２及び各ノード２間のトポロジ（接続態様）を示すトポロジ情報と、を、図示しないデータベースを用いて管理している。そして、当該接続先紹介サーバ３は、未参加のノードからの参加要求に対して上記認証を行った後、当該ノードに対して接続先となる既参加のノード２、言い換えれば、階層ツリー状のトポロジを考慮して選定される参加済のノード２の所在情報を通知するようになっている。これにより、当該所在情報の通知を受けた（これから配信システムＳ１に参加する）ノードは、当該所在情報に基づき、参加済のノード２との接続を確立し、これによって当該配信システムＳ１に参加することになる。
【００４４】
なお、配信システムＳ１における階層ツリー状のトポロジは、各ノード２に直接接続される下流側のノード２の最大接続数、バランス（対称性）等を考慮して決定されるものであるが、これらに加えて、例えばノード２間のローカリティ（ネットワーク１０上における近接度（ホップ数（介在するルータ数）が少ないほど高い）等を考慮して決定されるものでもよい。
【００４５】
また、参加済のノード２の電源がオフとなった場合又は当該ノード２に対する通信状態が不良等になった場合等においては、当該ノード２は配信システムＳ１から脱退することとなり、これにより、当該脱退したノード２に直接接続されていた下流側のノード２等は、接続先紹介サーバ３から新たな接続先となる他の参加済のノード２の所在情報を取得して接続を確立する必要がある。
【００４６】
更にまた、上記階層ツリー状のトポロジは、放送局１毎、換言すれば、放送チャンネル毎に形成される、すなわち、図１の上部枠１００内では、一つの放送チャンネルのみ示している（但し、一つの放送局１で複数の放送チャンネルによる放送を賄う場合もある）ようになっており、例えば参加済のノード２においてそのユーザにより放送チャンネルが切り替えられた場合には、当該ノード２は、切り替え後の放送チャンネルにおける参加済の他のノード２の所在情報を接続先紹介サーバ３から取得して接続を確立する。
【００４７】
（Ｂ）第１実施形態に係るベースツリー及び拡張ツリーの構成等
次に、第１実施形態に係る配信システムＳ１におけるトポロジの構成並びに当該配信システムＳ１に対する新規参加の場合の処理について、より具体的に図２を用いて説明する。
【００４８】
図２に示すように、放送局１を頂点とする階層ツリー状のトポロジを備える配信システムＳ１は、二種類のサブネットワーク、すなわち、ベースツリーサブネットワークＢＴ（以下、単にベースツリーＢＴと称する）と、一又は複数の拡張ツリーサブネットワークＥＴ（以下、単に拡張ツリーＥＴと称する）と、により構成されている。
【００４９】
この構成において、ベースツリーＢＴは、放送局１を頂点とした階層ツリー状のトポロジにより各ノード２が接続されてなるものである。
【００５０】
一方、上記各拡張ツリーＥＴは、ベースツリーＢＴ内の第Ｎ階層に属しているノード２（図２の場合はノード２ｋ、２ｐ、２ｕ及び２ｚ）を夫々に頂点とする階層ツリー状のトポロジにより各ノード２が接続されてなるものである。すなわち、例えば図２左端に示す拡張ツリーＥＴの場合は、上記ノード２ｋを頂点としてノード２ｌ、２ｍ、２ｎ及び２ｏが階層ツリー状に接続されて当該拡張ツリーＥＴが構成されている。
【００５１】
ここで、各拡張ツリーＥＴの頂点となるノード２が属するベースツリーＢＴ内の階層数（図２に例示する場合は「Ｎ」）は予め接続先紹介サーバ３において設定されている。その階層数に相当する階層に新たに接続されるノード２がある場合、そのノード２が当該拡張ツリーＥＴの頂点となるべき旨が接続先紹介サーバ３よりそのノード２の参加時においてそのノード２に対して通知される。また、当該階層数の決め方については、当該階層数は、基本的には接続先紹介サーバ３自体の装置性能、言い換えればトポロジ制御処理等の処理能力に依存して予め設定されているものである。
【００５２】
即ち、ベースツリーＢＴに参加しているノード２が、例えばチャンネルの切り替えや再接続等の要因により接続先紹介サーバ３に対して後述する上流ノード紹介要求メッセージＭＧ１を発行するとき、複数のノード２からの当該上流ノード紹介要求メッセージＭＧ１が接続先紹介サーバ３に集中しても一定時間内に対応する応答（後述する上流ノード候補メッセージＭＧ２）を返却できることを配信システムＳ１として保障するためには、予め設定された一定水準以上の処理能力を有する装置を当該接続先紹介サーバ３として割り当てる必要がある。このとき、例えば現状で一般に流通しているパーソナルコンピュータ等を上記接続先紹介サーバ３として用いる場合、ベースツリーＢＴとして許容できる参加ノード２の数は例えば１０，０００ノード程度であり、これに基づくと、一つのノード２の直近下流側に二つ以下のノード２を接続するとすると、第１実施形態に係るベースツリーＢＴにおける上記階層数Ｎは「１４」となる。
【００５３】
また、ベースツリーＢＴと拡張ツリーＥＴ夫々における階層ツリーとしてのサイズ、つまり、最大階層数又は許容参加ノード数の比率として具体的には、ベースツリーＢＴとしての当該サイズに対して拡張ツリーＥＴとしての当該サイズを小さくするのが好ましい。これは、一般に、階層ツリー型のトポロジを有する配信システムの基本的な性質として、トポロジ変動による堅牢性が低い点が挙げられるので、専用の接続先紹介サーバ３を用いて管理されない拡張ツリーＥＴに関しては、そのサイズをベースツリーＢＴよりも小さくすることで、上記の脆弱性に起因する影響を最小限に抑えることが可能となる。より具体的には、例えば、配信システムＳ１として一つのノード２の直近下流側に二つ以下のノード２を接続するとし、配信システムＳ１全体として１，０００，０００個のノード２が参加することを目標とする場合、ベースツリーＢＴのサイズは、例えば上記したように１０，０００ノード規模の階層ツリーとし、各拡張ツリーＥＴは夫々２００ノードが参加する小規模の拡張ツリーＥＴを計８，０００個（ベースツリーＢＴの１４階層目には８，０００ノードを越える拡張ツリーＥＴ用のノード２を確保可能である）作る形態が考えられる。
【００５４】
（Ｃ）第１実施形態に係る配信システムへの参加処理
次に、上述した各ツリーにより構成される配信システムＳ１に対して、新たなノード２が参加する場合の処理について説明する。
【００５５】
上述した如く、配信システムＳ１にはその属性が異なる二つのツリー、つまり、ベースツリーＢＴ及び拡張ツリーＥＴが含まれており、よって夫々のツリーに対する参加処理もまた別個のものとなる。
【００５６】
先ず、新たなノード２がベースツリーＢＴへ新規に参加する場合及び既参加のノード２がベースツリーＢＴから脱退する場合夫々における当該ベースツリーＢＴに係るトポロジの変更は、接続先紹介サーバ３により制御される。
【００５７】
より具体的には、図２に示すノードＮ１が新規にベースツリーＢＴに参加する場合、当該ノードＮ１は、先ず接続先紹介サーバ３に対して上記参加要求に係る上流ノード紹介要求メッセージＭＧ１を送信する。そして、接続先紹介サーバ３により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード２となる参加済のノード２（図２に例示する場合はノード２ｊ）の所在情報を含む上流ノード候補メッセージＭＧ２が送信されてくると、新規参加のノードＮ１は、当該所在情報により示される既参加のノード２（図２に例示する場合はノード２ｊ）に対して接続要求メッセージＭＧ３を送信する。これにより、当該ノード２（２ｊ）から接続許可応答メッセージＭＧ４を取得することで、当該ノード２（２ｊ）の直近下流側に上記ノードＮ１が接続され、ベースツリーＢＴへの当該ノードＮ１の参加処理が完了する。
【００５８】
なお、当該ノードＮ１が新たに参加した際に属することとなった階層が各拡張ツリーＥＴの頂点となるべきノード２が属する階層（図２の場合第Ｎ階層）として予め設定されている階層であった場合には、当該ノードＮ１に対しては、接続先紹介サーバ３より、当該ノードＮ１が今後拡張ツリーＥＴの頂点となるべきノード２であるべき旨が通知される。
【００５９】
一方、各拡張ツリーＥＴに対する新たなノード２の参加及び既参加のノード２の当該参加中の拡張ツリーＥＴからの脱退夫々における当該拡張ツリーＥＴに係るトポロジの変更は、当該拡張ツリーＥＴ夫々の頂点に接続されるノード２が、下記するＤＨＴ（Distributed Hash Table）アルゴリズムを用いたオーバレイネットワークにおけるルートノードとして機能することにより制御される（以下、各拡張ツリーＥＴの頂点に接続されており且つ当該ルートノードとして機能するノード２を、第１ルートノードと称する）。
【００６０】
ここで、当該ＤＨＴアルゴリズムについて、その概要を説明する。
【００６１】
第１実施形態に係る配信システムＳ１に属する全てのノード２は、上記ベースツリーＢＴ及び各拡張ツリーＥＴにおいて夫々階層ツリー状のトポロジを形成すると共に、これに加えて、上記ＤＨＴアルゴリズムに基づくオーバレイネットワークＯＬを形成している。なお、上記ベースツリーＢＴ及び各拡張ツリーＥＴ自体も図１の下部枠１０１内に示される現実のネットワークから見ればオーバレイネットワークであると言えるため、上記オーバレイネットワークＯＬについては、以降これを第２オーバレイネットワークＯＬと称する。
【００６２】
ここで、当該ＤＨＴアルゴリズムは、多数のノード２が属しているコンテンツの配信システムＳ１において、一台のノード２においては、その配信システムＳ１に参加している全てのノード２のうち、必要最低限のノード２の所在情報だけを記憶しておき、当該所在情報を記憶していない他のノード２については、他の各ノード２間で互いに所在情報を中継し合うことで、必要なコンテンツデータ届けてもらうというアルゴリズムであり、より詳細には、例えば特開２００６−１９７４００公報の明細書段落番号［００３７］乃至［００７２］並びに図１乃至図５を参照することができる。そして、第１実施形態に係る各拡張ツリーＥＴの頂点に接続されるノード２は、当該ノード２がベースツリーＢＴに参加した際において接続先紹介サーバ３より当該頂点に接続されるべきノード２である旨の上記通知を受けた場合、夫々に、当該ノード２を第２オーバレイネットワークＯＬ上において上記第１ルートノードとして登録するための第１ルートノード登録要求メッセージＭＧrを当該第２オーバレイネットワークＯＬ内に送出する。これにより、それら第１ルートノードをＤＨＴアルゴリズムに基づいて管理するルートノード（以下、当該第１ルートノードの所在情報等を記憶して管理するルートノードを第２ルートノードと称する）であるノード２（図２に例示する場合はノード２ｔ）に対して、当該第１ルートノードとしての登録を行う。なお、当該第１ルートノード登録要求メッセージＭＧrが第２ルートノード２ｔまで到達するまでにＤＨＴアルゴリズムに則って経由するノード２（図２に例示する場合はノード２ｚ及び２ａｃ）は、当該経由に当たり、第１ルートノード登録要求メッセージＭＧrの内容（すなわち、ノード２ｕが新たな第１ルートノードとなること）を記憶し、これ以降は上記ＤＨＴアルゴリズムにおけるいわゆるキャッシュノードとして動作する。
【００６３】
そして、図２に示すノードＮ２が、例えばノード２ｕを第１ルートノードとする拡張ツリーＥＴに新たに参加する場合、当該ノードＮ２は、第２オーバレイネットワークＯＬに既に参加している自ノードの（オーバレイネットワークＯＬ上の）近隣ノードであるノード２ｄと接続し、第１ルートノード探索要求メッセージＭＧ５を送信する。そして、ＤＨＴアルゴリズムに則って当該メッセージＭＧ５が第２ルートノード２ｔへ転送され、当該第２ルートノード２ｔから上記第１ルートノード２ｕを示す所在情報を含む第１ルートノード探索結果メッセージＭＧ６が当該ノード２ｄ経由で送信されてくると、新規参加のノードＮ２は、当該所在情報により示される第１ルートノード２ｕに対して拡張ツリーＥＴ（ノード２ｕを第１ルートノードとする拡張ツリーＥＴ）への上流ノード紹介要求メッセージＭＧ７を送信する。これにより、当該上流ノード紹介要求メッセージＭＧ７が第１ルートノード２ｕから下流方向へ転送され、最終的に当該上流ノード紹介要求メッセージＭＧ７に含まれている条件に合致する既参加の一又は複数のノード２（図２に例示する場合はノード２ｙ）から、当該ノード２の所在情報を含む上流ノード候補メッセージＭＧ７−２がノードＮ２に送信される。
【００６４】
そして、一又は複数のノード２から上流ノード候補メッセージＭＧ７−２の送信を受けたノードＮ２は、当該上流ノード候補メッセージＭＧ７−２を送信してきたノード２の中から予め設定されている手法によりいずれか一つのノード２を選択し、当該選択したノード２に対して接続要求メッセージＭＧ８を送信する。これにより、当該ノード２（図２に例示する場合はノード２ｙ）から接続許可応答メッセージＭＧ８−２が当該ノードＮ２に送信されと、当該ノード２（２ｙ）の直近下流側に上記ノードＮ２が新たに接続され、これによりノード２ｕを第１ルートノードとする拡張ツリーＥＴへの当該ノードＮ２の参加処理が完了する。
【００６５】
そして、ベースツリーＢＴ及び拡張ツリーＥＴ夫々において新たにノード２が参加した以降は、上記放送局１から配信されるコンテンツに相当するコンテンツデータが、当該ベースツリーＢＴ及び拡張ツリーＥＴ内を階層に沿って順次上流側から下流側に中継されることにより、各ノード２に対するコンテンツの配信実行される。また、当該配信の過程においては、各拡張ツリーＥＴにおける第１ルートノードは、それの下流側に接続されている各ノード２に対して自身が受信したコンテンツデータをそのまま中継する中継ノードとして機能することとなる。
【００６６】
（Ｄ）第１実施形態に係る配信システムからの脱退処理
次に、第１実施形態に係る配信システムＳ１からの脱退処理について、図３及び図４を用いて説明する。なお、当該配信システムＳ１からの脱退処理において、上記ベースツリーＢＴに参加していたいずれかのノード２が脱退する場合と上記拡張ツリーＥＴに参加していたいずれかのノード２が脱退する場合とでは同様の脱退処理が実行される。
【００６７】
また、図３及び図４は、例えばその電源スイッチがオフとされたこと等の理由により、上記ベースツリーＢＴからノード２ｅが脱退する場合を例示している。更に、以下の説明では、脱退するノード２ｅの直近下流に接続されているノード２ｉ及び２ｊに対する処理が異なる二種類の脱退処理について、夫々図３及び図４を用いて説明する。
【００６８】
当該脱退処理においては、図３及び図４に例示するように、脱退するノード２ｅは、当該ノード２ｅに対するコンテンツの供給元である上流のノード（図３及び図４に示す場合はノード２ｂ）に対して、データ送信停止要求メッセージＭＧ１０及び接続解除要求メッセージＭＧ１１を夫々送信する。
【００６９】
そして、当該二つの要求メッセージを夫々受信したノード２ｂは、今まで実行させていたコンテンツ中継処理を停止することにより、脱退するノード２ｅに対するコンテンツの配信を停止させると共に、これと並行してノード２ｂ内のノード管理情報からノード２ｅに係る情報を削除することで、当該ノード２ｅとの接続を断とする。これにより、当該ノード２ｂから脱退するノード２ｅへのコンテンツの配信は停止されるが、ここで、脱退するノード２ｅの直近下流側に他のノード（図３及び図４に例示する場合は、ノード２ｉ及び２ｊ）が存在していた場合には、以下に説明する二つの方法のうちいずれかを用いて当該下流側のノード２に対するコンテンツの配信経路の復元処理を行う。
【００７０】
すなわち、当該復元処理の第一例としては、いわゆるタイムアウト方式がある。このタイムアウト方式においては、配信システムＳ１を構成している各ノード２（ノード２ｉ及び２ｊを含む）は、それに対応する直近上流側に接続されているノード２からのコンテンツの配信状態を常時監視している。そして、予め設定された一定時間当該コンテンツの配信が途絶したこと（図３において「×」マークにて示す）を契機として直近上流側のノード２（２ｅ）が脱退したものと見なし、当該ノード２（２ｅ）との接続を断とし、新たな他の上流ノード２との接続処理（図２参照）を開始する。
【００７１】
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、配信システムＳ１に参加している各ノード２は図３に例示するタイムアウト方式の如き監視処理は実行していない。そして、ノード２ｅが配信システムＳ１としてのトポロジから脱退する際、上記データ送信停止要求メッセージＭＧ１０及び接続解除要求メッセージＭＧ１１を夫々送信すると共に、直近下流に接続されているノード２ｉ及び２ｊに対して、自身が脱退する旨の脱退報告メッセージＭＧ１２を夫々送信する。そして、当該ノード２ｉ及び２ｊは、直近上流側にあったノード２ｅからの上記脱退報告メッセージＭＧ１２を夫々受信すると、当該ノード２ｅとの接続状態を断とし、新たな他の上流ノード２との接続処理（図２参照）を開始する。
【００７２】
以上夫々説明した処理により、配信システムＳ１においてノード２ｅが脱退した後も、その直近下流にあったノード２ｉ及び２ｊに対するコンテンツの配信が継続されることとなる。
【００７３】
（II）第２実施形態
次に、本発明に係る他の実施形態である第２実施形態について、図５を用いて説明する。なお、図５は第２実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図２に示す第１実施形態に係る配信システムＳ１を構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【００７４】
上述した第１実施形態に係る配信システムＳ１では、各拡張ツリーＥＴの頂点となる第１ルートノードが属するベースツリーＢＴ内の階層数は、全ての拡張ツリーＥＴについて一定（図２に示す例では「Ｎ」）とされており、当該階層数は接続先紹介サーバ３の処理能力等に基づいて予め設定されているものであった。
【００７５】
これに対して、以下に説明する第２実施形態に係る配信システムにおいては、拡張ツリーＥＴの頂点となる第１ルートノードが参加するベースツリーＢＴ内の階層数は一定ではなく、ベースツリーＢＴ内において複数の階層に跨って上記第１ルートノードとなるノード２が接続される。
【００７６】
すなわち、図５に例示するように、第２実施形態に係る配信システムＳ２に含まれる各拡張ツリーＥＴのうち、例えば拡張ツリーＥＴ１及びＥＴ３に係る第１ルートノードは、ベースツリーＢＴ内の第Ｎ階層に夫々属するノード２ｋ及び２ｕであるが、拡張ツリーＥＴ２及びＥＴ４に係る第１ルートノードは、ベースツリーＢＴ内の第Ｎ＋１階層に夫々属するノード２ｐ及び２ｚとされる。
【００７７】
このとき、第２実施形態に係る配信システムＳ２において、いずれの階層に属するノード２を拡張ツリーＥＴに係る第１ルートノードとするかは、上記接続先紹介サーバ３の処理能力に加えて、例えばベースツリーＢＴとしてのトポロジの制御の都合等に基づいて予め当該接続先紹介サーバ３において設定されているものであるが、配信システムＳ２全体としての階層ツリーのバランスを考慮すると、ベースツリーＢＴの末端付近の階層で且つ連続する複数の階層に属するノード２が上記第１ルートノードとして選択されるのが望ましい。
【００７８】
なお、第２実施形態に係る配信システムＳ２に対するノード２の新規参加のための処理及び既参加のノード２の配信システムＳ２からの脱退のための処理については、夫々、拡張ツリーＥＴの頂点となる第１ルートノードの指定がベースツリーＢＴ内の単一の階層に属しているノード２に限らない点を除き、第１実施形態に係る配信システムＳ１に対するノード２の新規参加のための処理及び既参加のノード２の配信システムＳ１からの脱退のための処理と同様であるので、細部の説明は省略する。
【００７９】
（III）第３実施形態
次に、本発明に係る更に他の実施形態である第３実施形態について、図６を用いて説明する。なお、図６は第３実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図２に示す第１実施形態に係る配信システムＳ１を構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【００８０】
上述した第１及び第２実施形態に係る配信システムＳ１及びＳ２では、各拡張ツリーＥＴの頂点となる第１ルートノードが属すべきベースツリーＢＴ内の階層の選定につき、接続先紹介サーバ３が自己の処理能力に基づいて予め設定することとした。
【００８１】
これに対して、以下に説明する第３実施形態に係る配信システムにおいては、拡張ツリーＥＴの頂点となる第１ルートノードにつき、接続先紹介サーバ３の処理能力だけでなく、ベースツリーＢＴに参加しているノード２夫々自体の属性をも考慮して上記第１ルートノードとなるノード２を選択する。
【００８２】
すなわち、第３実施形態に係る配信システムＳ３において、接続先紹介サーバ３は、ベースツリーＢＴに参加している各ノード２の夫々につき、それ自体の処理能力を示す情報やベースツリーＢＴに参加している時間（期間）を示す情報を、当該参加している各ノード２毎に記憶する。そして、各拡張ツリーＥＴについての第１ルートノードをベースツリーＢＴに参加しているノード２から選択するに当たり、接続先紹介サーバ３は、図６に例示するように、当該記憶している各情報に基づき、当該各情報により示される処理能力や参加時間が予め設定されている基準を超えたノード２のみを第１ルートノードとして選択する。図６に例示する場合あれば、図６中ハッチングで示されているノード２ｋ、２ｐ及び２ｚが、当該基準を超えた処理能力又は参加時間を有していることとなる。そしてこれらのノード２が、夫々に拡張ツリーＥＴに対する第１ルートノードとして選択される。
【００８３】
なお、上記処理能力としては、例えばコンテンツデータの配信に供させることが可能なデータ通信の帯域幅や、そのノード２を構成するＣＰＵ等の処理速度等が考慮される。
【００８４】
この第３実施形態の場合は、第１ルートノードとしての選択に当たっては、基本的にはベースツリーＢＴ内においてそれが属している階層よりも上記処理能力や参加時間の方が重視されて第１ルートノードとしてのノード２が接続先紹介サーバ３により選択される。
【００８５】
（IV）第４実施形態
最後に、本発明に係る更に他の実施形態である第４実施形態について、図７を用いて説明する。なお、図７は第４実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図２に示す第１実施形態に係る配信システムＳ１を構成する各装置と同様の構成部材については同一の部材番号を付して細部の説明は省略する。
【００８６】
上述した第１実施形態に係る配信システムＳ１では、各拡張ツリーＥＴが第２オーバレイネットワークＯＬを構成しており、いずれかの拡張ツリーＥＴに参加する場合には、当該第２オーバレイネットワークＯＬ上において第１ルートノードの所在情報を蓄積管理している第２ルートノードを介して当該第１ルートノードの所在情報を取得する構成とされていた。
【００８７】
これに対して、以下に説明する第４実施形態に係る配信システムＳ４においては、図７に例示するように、各拡張ツリーＥＴについての第１ルートノード夫々が第２オーバレイネットワークＯＬとは異なるメッシュ型の他のオーバレイネットワークＭＯＬを構成し、このオーバレイネットワークＭＯＬに参加しているノード２（第１ルートノードとしてのノード２）の所在情報ＩＰを、当該オーバレイネットワークＭＯＬ外に設けられているキャッシュサーバ４に蓄積しておく。なお、第４実施形態に係る配信システムＳ４に含まれているベースツリーＢＴ及び接続先紹介サーバ３夫々自体の構成は、上記第１実施形態乃至第３実施形態のいずれに係るものであってもよい。
【００８８】
そして、第４実施形態に係る配信システムＳ４に新たに参加するノードＮ２がある場合、当該ノードＮ２は、先ずキャッシュサーバ４に対してオーバレイネットワークＭＯＬに参加しているノード２（第１ルートノード）のいずれかの紹介を要求する旨の第１ルートノード紹介要求メッセージＭＧ２０を送信し、その返答としていずれかのノード２の所在情報ＩＰを含む第１ルートノード候補メッセージＭＧ２１を受信する。
【００８９】
次に、当該所在情報ＩＰを取得したノード２（図７に例示する場合はノード２ｐ）に対して第１ルートノード探索要求メッセージＭＧ２２を送信する。これにより、当該第１ルートノード探索要求メッセージＭＧ２２を受信したノード２ｐは、もし、新規に参加するノードＮ２に対する接続条件に適合する条件を当該ノード２ｐが備えていなければ、オーバレイネットワークＭＯＬに参加している他の近隣の第１ルートノード（図７に例示する場合は例えばノード２ｋ）に対して当該第１ルートノード探索要求メッセージＭＧ２２を中継する。
【００９０】
以上の処理をオーバレイネットワークＭＯＬ内において繰り返すことにより、新規に参加するノードＮ２の接続条件に適合する第１ルートノード（図７に例示する場合はノード２ｋ）までその第１ルートノード探索要求メッセージＭＧ２２が中継されたならば、そのノード２ｋから上記接続許可応答メッセージＭＧ８−２が当該新規に参加するノードＮ２へ返信され、これにより当該ノードＮ２の拡張ツリーＥＴ（図７に例示する場合は、ノード２ｋが第１ルートノードとなっている拡張ツリーＥＴ）への参加処理が完了する。
【実施例１】
【００９１】
次に、上記第１実施形態に係る配信システムＳ１に属する放送局１、各ノード２及び接続先紹介サーバ３夫々の具体的な構成及び処理について、第１実施例として図８乃至図１４を用いて説明する。
【００９２】
なお、図８は第１実施例に係る放送局１の細部構成を示すブロック図であり、図９は第１実施例に係る各ノード２の細部構成を共通的に示すブロック図であり、図１０は第１実施例に係る接続先紹介サーバ３の細部構成を示すブロック図である。また図１１乃至図１３は当該各ノード２において実行される第１実施例に係る処理を共通的に夫々示すフローチャートであり、図１４は当該接続先紹介サーバ３において実行される第１実施例に係る処理を示すフローチャートである。
【００９３】
始めに、第１実施例に係る放送局１の概要構成及び概要動作について、図８を用いて説明する。
【００９４】
図８に示すように、第１実施例に係る放送局１は、演算機能を有するＣＰＵ、作業用ＲＡＭ並びに各種データ及びプログラム（ＯＳ（オペレーティングシステム）及び各種アプリケーションを含む）を記憶するＲＯＭ等から構成された制御部１１と、上記コンテンツデータ（パケット）を記憶保存するためのＨＤＤ等から構成された記憶部１２と、暗号鍵を用いてコンテンツデータを暗号化するための暗号化用アクセラレータ１３と、コンテンツデータを規定のデータ形式へ変換するエンコーダ部１４と、通信回線等を介してノード２等との間の情報の通信制御を行うための通信部１５と、使用者（オペレータ）からの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス等）１６と、を備えて構成され、これらの構成要素は、バス１７を介して相互に接続されている。
【００９５】
この構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを実行することにより放送局１全体を統括制御し、記憶部１２に記憶保存されたコンテンツデータをエンコード部１４を用いてデータ形式を変換した後、暗号鍵を用いて暗号化用アクセラレータ１３により暗号化させ、当該コンテンツデータを所定のデータ量に分割して連続する複数の上記パケットを生成し、これを通信部１５を介してノード２（図１の上部枠１００内の例では、ノード２ａ及び２ｂ）に対してストリーム配信する。
【００９６】
なお、各データパケットのペイロード部には、そのコンテンツデータの先頭から連続するパケット番号が記述されている。
【００９７】
また、制御部１１は、当該コンテンツデータの配信先を、記憶部１２に記憶された接続態様（トポロジ）テーブルを参照して決定する。この接続態様テーブルには、少なくとも、放送局１と接続されるノード２、言い換えれば、コンテンツデータの配信先であるノード２のＩＰアドレス及びポート番号が記述されている。
【００９８】
次に、第１実施例に係る各ノード２の概要構成及び概要動作について、図９を用いて説明する。なお、第１実施例に係る各ノード２は基本的に同一の構成を備える。
【００９９】
図９に示すように、第１実施例に係るノード２は、演算機能を有するＣＰＵ、作業用ＲＡＭ、各種データ及びプログラム（ＯＳ（オペレーティングシステム）及び各種アプリケーションを含む）を記憶するＲＯＭ等から構成された制御手段としての制御部２１と、各種データ及びプログラム等を記憶するＨＤＤ等から構成された記憶手段としての記憶部２２と、受信したコンテンツデータを一時的に蓄積（記憶）するバッファメモリ２３と、バッファメモリ２３に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化するための復号化アクセラレータ２４と、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード（データ伸張等）して再生するデコーダ部２５と、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する映像処理部２６と、当該映像処理部２６から出力された映像信号に基づき映像表示するＣＲＴ、液晶ディスプレイ等の表示部２７と、上記再生されたオーディオデータをアナログ音声信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２８と、当該音声処理部２８から出力された音声信号を音波として出力するスピーカ２９と、通信回線等を介して放送局１や他のノード２等との間の通信制御を行うための通信部２９ａと、使用者（視聴者）からの各種指示に対応する指示信号を制御部２１に対して出力する入力部（例えば、マウス、キーボード、操作パネル或いはリモコン等）２９ｂと、ＩＣカード２９ｅに対する情報の読み書きを行うＩＣカードスロット２９ｃと、を備えて構成され、制御部２１、記憶部２２、バッファメモリ２３、復号化アクセラレータ２４、デコーダ部２５、通信部２９ａ、入力部２９ｂ及びＩＣカードスロット２９ｃは、バス２９ｄを介して相互に接続されている。
【０１００】
ここで、ＩＣカード２９ｅは、耐タンパ性があり、つまり、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されており、例えば、配信システムＳの運営者等から各ノード２の使用者に配布されるものである。このＩＣカード２９ｅは、ＣＰＵからなるＩＣカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、ＥＥＰＲＯＭ等を備えて構成されており、当該不揮発性メモリには、ユーザＩＤ、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード２が配信システムＳに参加する際に、上述した上流ノード紹介要求メッセージＭＧ１（当該ノード２の所在情報が含まれる）と共に接続先紹介サーバ３に送信される。
【０１０１】
一方、バッファメモリ２３は、例えばＦＩＦＯ（First In First Out）形式のリングバッファメモリから構成されており、制御部２１の制御下、受信ポインタにより示される記憶領域に通信部２９ａを通じて受信されたコンテンツデータを一時的に蓄積する。
【０１０２】
このとき、制御部２１は、それに含まれるＣＰＵが記憶部２２等に記憶されたプログラムを読み出して実行することによりノード２全体を統括制御し、上流から配信されてきた複数のパケットを通信部２９ａを通じて受信してバッファメモリ２３に書き込み、且つ、当該バッファメモリ２３に蓄積されているパケット（一定時間過去に受信されたパケット）を読み出して通信部２９ａを通じて下流のノード２に送信（中継）する。これに加えて、バッファメモリ２３は、再生ポインタにより示される当該バッファメモリ２３の記憶領域に蓄積されているパケットを読み出し、バス２９ｄを介して復号化アクセラレータ２４やデコーダ部２５に出力する。
【０１０３】
なお、上記プログラムは、例えば、ネットワーク１０上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【０１０４】
最後に、第１実施例に係る接続先紹介サーバ３の概要構成及び概要動作について、図１０を用いて説明する。
【０１０５】
図１０に示すように、第１実施例に係る接続先紹介サーバ３は、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラム（ＯＳ（オペレーティングシステム）及び各種アプリケーションを含む）を記憶するＲＯＭ等から構成された頂点情報処理装置指定手段としての制御部３５と、各種データ等を記憶保存するためのＨＤＤ等から構成された記憶部３６と、ネットワーク１０を通じてノード２等との間の情報の通信制御を行うための通信部３７と、を備えて構成され、これらの構成要素は、バス３８を介して相互に接続されている。
【０１０６】
この構成において、記憶部３６内には、配信システムＳ１に参加している放送局１及び各ノード２の所在情報と、配信システムＳ１における放送局１とノード２及び各ノード２間のトポロジ情報と、が記憶されたデータベースが蓄積・記憶されている。
【０１０７】
そして、制御部３５は、それに含まれるＣＰＵが記憶部３６等に記憶されたプログラムを実行することにより接続先紹介サーバ３全体を統括制御し、未参加のノード２、例えば、図２に例示するノードＮ１から上記上流ノード紹介要求メッセージＭＧ１が送信されてきたとき、上述した認証処理、例えば参加要求に付加されたデジタル証明書の有効性の判定処理等を行い、有効であれば、当該ノードＮ１の所在情報とデジタル証明書のダイジェスト、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記データベースに記憶する。
【０１０８】
また、制御部３５は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージＭＧ１を送信してきたノードＮ１に対して、接続先候補となる複数の上流ノード２の所在情報及び階層レベル情報、つまり、当該上流ノード２が、第何階層に存在するかを示す情報を含む上記上流ノード候補メッセージＭＧ２を通信部３７を通じて送信する。そして、当該上流ノード候補メッセージＭＧ２を受信したノードＮ１においては、接続先候補となる複数の上流ノード２の配信システムＳ１内でのネットワーク近接度が比較され、最も近い位置に存在する上流ノード２が選定されて、当該上流ノード２との間で上記接続要求メッセージＭＧ３及び接続許可応答メッセージＭＧ４の授受が為されて接続が確立されることになり、接続が確立された上流ノード２の所在情報が接続先紹介サーバ３に対して送信（返信）される。これに対して、制御部３５は、当該ノードＮ１に関するトポロジ情報を上記データベースに記憶する。
【０１０９】
次に、上述した構成を備えるノード２及び接続先紹介サーバ３における第１実施例に係る処理について、具体的に図１１乃至図１４を用いて説明する。なお、放送局１は、本発明においても従来の配信システム内における放送局１と同様の処理を行うため、ここでは説明を省略する。
【０１１０】
（Ｉ）ノードとしての処理
先ず、配信システムＳ１に係るノード２における処理について、図１１乃至図１３を用いて説明する。ここで、第１実施例に係る各ノード２においては、全て、図１１乃至図１３に示す処理と同一の処理が夫々に実行されている。これにより、一つのノード２が、第１実施形態に係る第１ルートノード又は第２ルートノードとしてのノード２のいずれにもなり得るのである。
【０１１１】
また、図１１においては、第１実施例に係る各ノード２において実行される上記参加処理（ステップＳ１乃至Ｓ１８（図２参照））から、受信したパケットの中継処理及び再生処理（ステップＳ１９乃至Ｓ２２）までを説明する。
【０１１２】
図１１に示すように、第１実施例に係るいずれかのノード２（以下、図１１乃至図１３を用いてその処理を説明するノード２を、対象ノード２と称する）において、その電源スイッチがオンとされて対象ノード２における主電源及び補助電源がオンとされると、最初に対象ノード２内に記憶されているプログラムや各構成部材夫々が制御部２１によって初期化される（ステップＳ１）。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード２に対する電源供給が全て断とされるまでオンとされている電源である。
【０１１３】
そして、当該初期化が完了すると、次に、制御部２１は、第２オーバレイネットワークＯＬに既に参加している他のノード２（図２に例示する場合はノード２ｄ）を、例えば図示しない従来のいわゆるディレクトリサーバを参照して検索し、当該既参加のノード２に対して図示しない上流ノード紹介要求メッセージを送信し、これにより当該ノード２ｄ経由で第２オーバレイネットワークＯＬに参加する（ステップＳ２）。
【０１１４】
その後、当該対象ノード２の制御部２１は、例えば視聴を希望する放送局１に相当するチャンネルを選択する操作がそのユーザにより実行される等により、配信システムＳ１にその対象ノード２が参加する旨、すなわち、当該選択されたチャンネルに相当するコンテンツデータの受信を希望する旨の操作が為されたか否かを確認する（ステップＳ３）。
【０１１５】
そして、当該操作が実行されたときは（ステップＳ３；ＹＥＳ）、制御部２１は、実際に配信システムＳ１に参加するための第１ルートノード探索要求メッセージＭＧ５を、上記第２ルートノードのいずれか（図２に例示する場合はノード２ｔ）を最終宛先として、当該対象ノード２において既知となっている他のノード２（図２に例示する場合はノード２ｄ）に対して送信する（ステップＳ４）。これにより、当該第１ルートノード探索要求メッセージＭＧ５が上記ＤＨＴアルゴリズムに則って中継され、上記最終宛先としての第２ルートノード（ノード２ｔ）に到達すると、それに対する応答として、上記第１ルートノードのいずれか（図２に例示する場合はノード２ｕ）の所在情報がノード２ｄ経由で対象ノード２に返信される。
【０１１６】
これと並行して、上記第１ルートノード探索要求メッセージＭＧ５送信後の対象ノード２の制御部２１は、上記所在情報が一又は複数個のノード２のものとして送信されてきたか否かを監視する（ステップＳ５）。当該所在情報が送信されてきたならば（ステップＳ５；ＹＥＳ）、制御部２１は、当該送信されてきた所在情報により示される上記第１ルートノード（ノード２ｕ）に対して上流ノード紹介要求メッセージＭＧ７を送信する（ステップＳ６）。そしてその返答を待つべく、対象ノード２の制御部２１は、その制御部２１内の図示しない紹介待ちタイマにおける計時を開始する（ステップＳ７）。この紹介待ちタイマによる計時は、配信システムＳ１に参加している全てのノード２が一般家庭に設置されている例えばパーソナルコンピュータ等であることに鑑み、上記上流ノード紹介要求メッセージＭＧ７に対する応答としての上流ノード候補メッセージＭＧ７−２が直ぐに送信されてこない場合もあり得るので、そのための待機時間を設けるための計時である。
【０１１７】
その後、制御部２１は、対象ノード２における上記電源スイッチがオフとされたか否かを確認し（ステップＳ９）、オフとされていないときは（ステップＳ９；ＮＯ）、制御部２１は、上記ステップＳ３に戻って上述してきた一連の処理を繰り返す。一方、ステップＳ９の判定において、電源スイッチがオフとされたときは（ステップＳ９；ＹＥＳ）、上記主電源をオフとし、それまで参加していた上記第２オーバレイネットワークＯＬから脱退する処理を実行した後（ステップＳ１０）に上記補助電源もオフとして（ステップＳ１１）、対象ノード２としての処理を終了する。ここで、上記ステップＳ１０の処理として具体的には、制御部２１は、上記第２ルートノード（図２に例示する場合はノード２ｔ）を最終宛先としノード２ｄを介して図示しない脱退要求メッセージを送信する処理が実行される。
【０１１８】
一方、ステップＳ５の判定において、第１ルートノードの所在情報が一つも送信されてこない場合は（ステップＳ５；ＮＯ）、その時点でその下流側に新規に参加（接続）できる第１ルートノードが配信システムＳ１内に存在しないこととなるので、制御部２１は、今度は上記ベースツリーＢＴに新たに参加すべく、上記上流ノード紹介要求メッセージＭＧ１を接続先紹介サーバ３に送信した後（ステップＳ８。図２参照）、上記ステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１１９】
他方、上記ステップＳ３の判定において、第一回目の当該ステップＳ３の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップＳ３の判定として上流ノード紹介要求メッセージＭＧ１／ＭＧ７を接続先紹介サーバ３／上記第１ルートノードへ送信後であるときは（ステップＳ３；ＮＯ）、制御部２１は、当該上流ノード紹介要求メッセージＭＧ１／ＭＧ７に対する応答としての上記上流ノード候補メッセージＭＧ２／ＭＧ７−２を接続先紹介サーバ３／拡張ツリーＥＴ内のノード２から受信したか否かを、対象ノード２内の制御部２１において確認する（ステップＳ１２）。
【０１２０】
そして、当該上流ノード候補メッセージＭＧ２／ＭＧ７−２を受信しているときは（ステップＳ１２；ＹＥＳ）、制御部２１は、当該上流ノード候補メッセージＭＧ２／ＭＧ７−２の中から接続対象となる他のノード２、すなわち、ベースツリーＢＴ内のノード２又はいずれかの拡張ツリーＥＴ内のノード２のいずれかを選択し、その選択したノード２に対していわゆるＮＡＴ（Network Address Translation）越え処理を実行する（ステップＳ１３）。
【０１２１】
ここで、当該ＮＡＴ越え処理とは、異なるネットワークセグメント間でパケットの授受を実行するため、ネットワークセグメント毎に設定されているゲートウエイを越える処理を実行するものである。
【０１２２】
当該ＮＡＴ越え処理が完了したら、制御部２１は、実際のパケットの配信を受けるべく、当該ＮＡＴ越え処理の対象となったノード２に対して、上記接続要求メッセージＭＧ３／ＭＧ８を送信する（ステップＳ１４）。ここで、当該ステップＳ１４においては、上記上流ノード候補メッセージＭＧ２の送信元が接続先紹介サーバ３であるときは、制御部２１は、上記接続要求メッセージＭＧ３をその接続先となるノード２（図２に例示する場合はノード２ｊ）に送信し、一方上記上流ノード候補メッセージＭＧ７−２の送信元が拡張ツリーＥＴ内のノード２であるときは、制御部２１は、上記接続要求メッセージＭＧ８を当該紹介されたノード２（図２に例示する場合はノード２ｙ）に送信することとなる。
【０１２３】
そして、上記上流ノード紹介要求メッセージＭＧ３／ＭＧ８を送信した後は、制御部２１は、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを夫々の接続先に向けて送信する（ステップＳ１５）。このとき、当該データ送信開始要求メッセージには、例えばＬＡＮ（Local Area Network）におけるゲートウエイのＭＡＣ（Media Access Control）アドレスと、当該対象ノード２がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部２１は、接続先紹介サーバ３又は第１ルートノードに対して配信システムＳ１のトポロジに対する参加報告メッセージを送信する（ステップＳ１６）。
【０１２４】
次に、当該トポロジに参加後において、制御部２１は、自身（対象ノー２自体）がベースツリーＢＴ内の第Ｎ階層に参加したか否か、すなわち、自身がベースツリーＢＴ内において第１ルートノードとなり得るか否かを当該参加時における接続先紹介サーバ３からの通知内容等を参照して確認する（ステップＳ１７）。当該第Ｎ階層に参加したのではない場合は（ステップＳ１７；ＮＯ）、制御部２１は、上記ステップＳ９の処理に移行して上述した一連の処理を繰り返す。また、ステップＳ１７の判定において、自身が第Ｎ階層に参加して第１ルートノードとなり得るものであるときは（ステップＳ１７；ＹＥＳ）、制御部２１は、その旨の第１ルートノード登録要求メッセージＭＧrを第２ルートノードに向けて送信し（ステップＳ１８。図２参照）、その後上記ステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１２５】
一方、上記ステップＳ１２の判定において、配信システムＳ１に対する参加処理は完了しているものの未だ上流ノード候補メッセージＭＧ２／ＭＧ７−２を受信していないときは（ステップＳ１２；ＮＯ）、制御部２１は、当該参加後に新たなパケットを上流側の他のノード２から受信したか否かを制御部２１において確認する（ステップＳ１９）。
【０１２６】
そして、当該上流側のノード２からパケットを受信していない場合（ステップＳ１９；ＮＯ）は、制御部２１は、後述の図１２に示す処理に移行し、受信した場合には（ステップＳ１９；ＹＥＳ）、次に、当該対象ノード２に対して下流側に接続されている他のノード２が存在しているか否かを確認する（ステップＳ２０）。当該下流側のノード２が存在している場合は（ステップＳ２０；ＹＥＳ）、制御部２１は、当該下流側のノード２に対して必要なパケットを中継しつつ（ステップＳ２１）、受信したパケットを自らのデコーダ部２５へ出力し、復号したコンテンツを映像処理部２６及び音声処理部２８を用いて再生し（ステップＳ２２）、その後上記ステップＳ９の処理に移行して上述した一連の処理を繰り返す。なお、上記ステップＳ２０の判定において、下流側のノード２が存在していない場合は（ステップＳ２０；ＮＯ）、制御部２１は、そのまま上記ステップＳ２２に移行して自らにおける再生処理を実行する。
【０１２７】
次に、上記ステップＳ１９の処理において、上流側のノード２からパケットを受信していない場合（ステップＳ１９；ＮＯ）以降の処理について、図１２を用いて説明する。なお、図１２においては、第１実施例に係る対象ノード２において実行される上記脱退処理（ステップＳ２５乃至Ｓ３０）、当該対象ノード２の下流側において新たに参加する他のノード２の当該参加処理及び脱退処理（ステップＳ３１乃至Ｓ３４）並びに第１実施例に係るコンテンツデータの配信開始から終了までの処理（ステップＳ３５乃至Ｓ３８）について夫々説明する。
【０１２８】
図１１に示すステップＳ１９の判定において、パケットを受信していないときは（ステップＳ１９；ＮＯ）、制御部２１は、図１２に示すように、パケット受信待ちの状態で対象ノード２において配信システムＳ１から脱退する旨の操作が為されたか否かを制御部２１において確認する（ステップＳ２５）。
【０１２９】
ステップＳ２５の監視処理中において当該脱退する旨の操作が為されたときは（ステップＳ２５；ＹＥＳ）、制御部２１は、その時点で接続されている直近上流のノード２に対してデータ送信停止要求メッセージＭＧ１０及び接続解除要求メッセージＭＧ１１を夫々送信する（ステップＳ２６、Ｓ２７。図３又は図４参照）。そして、制御部２１は、接続先紹介サーバ３（ベースツリーＢＴに参加している対象ノード２の場合）又は対応する第１ルートノード（拡張ツリーＥＴに参加している対象ノード２の場合。図２に例示する場合はノード２ｕ）に対して配信システムＳ１のトポロジから脱退した旨の図示しない脱退報告メッセージを送信する（ステップＳ２８）。
【０１３０】
次に、制御部２１は、対象ノード２自身が第１ルートノードであるか否かを確認し（ステップＳ２９）、当該第１ルートノードである場合は（ステップＳ２９；ＹＥＳ）当該第１ルートノードとしての対象ノード２が脱退する旨の図示しない第１ルートノード削除要求メッセージを対応する第２ルートノードに送信した後（ステップＳ３０）に、またステップＳ２９の判定において当該第１ルートノードでない場合（ステップＳ２９；ＮＯ）はそのまま、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３１】
一方、ステップＳ２５の判定において、上記脱退する旨の操作が為されないときは（ステップＳ２５；ＮＯ）、制御部２１は、当該操作の監視中において下流側に接続されている他のノード２から新たな接続要求メッセージＭＧ３／ＭＧ８又は接続解除要求メッセージＭＧ１１が送信されてきているか否かを確認する（ステップＳ３１、Ｓ３３）。
【０１３２】
これにより、当該接続要求メッセージＭＧ３／ＭＧ８が送信されてきているときは（ステップＳ３１；ＹＥＳ）、制御部２１は、当該接続要求メッセージＭＧ３／ＭＧ８に対応して当該下流側の他のノード２の所在情報を記憶部２２に記憶されているノード管理情報内に追加（登録）することで当該下流側の他のノード２に対する接続処理を実行し（ステップＳ３２）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３３】
他方、ステップＳ３１及びＳ３３の判定において、新たな接続要求メッセージＭＧ３／ＭＧ８は受信していないが（ステップＳ３１；ＮＯ）、新たな接続解除要求メッセージＭＧ１１を受信しているときは（ステップＳ３３；ＹＥＳ）、制御部２１は、当該接続解除要求メッセージＭＧ１１に対応して当該下流側の他のノード２の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード２の削除処理を実行し（ステップＳ３４）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３４】
更に、ステップＳ３３の判定において、新たな接続解除要求メッセージＭＧ１１も受信していないときは（ステップＳ３３；ＮＯ）、制御部２１は、下流側に接続されている他のノード２から上記データ送信開始要求メッセージを受信しているか否かを制御部２１において確認する（ステップＳ３５）。
【０１３５】
そして、当該データ送信開始要求メッセージを受信しているときは（ステップＳ３５；ＹＥＳ）、制御部２１は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード２に送信し（ステップＳ３６）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３６】
他方、ステップＳ３５の判定において、データ送信開始要求メッセージを受信していないときは（ステップＳ３５；ＮＯ）、制御部２１は、下流側の他のノード２から上記データ送信停止要求メッセージＭＧ１０を受信しているか否かを制御部２１において確認する（ステップＳ３７）。そして、当該データ送信停止要求メッセージＭＧ１０も受信していないときは（ステップＳ３７；ＮＯ）、制御部２１は、後述の図１３に示す処理に移行する。一方当該データ送信停止要求メッセージＭＧ１０を受信した場合には（ステップＳ３７；ＹＥＳ）、制御部２１は、下流側の他のノード２に対するコンテンツデータとしてのパケットの送信を停止し（ステップＳ３８）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３７】
次に、上記ステップＳ３７の判定においてデータ送信停止要求メッセージＭＧ１０も受信していない場合（ステップＳ３７；ＮＯ）以降の処理について、図１３を用いて説明する。なお、図１３においては、主として第１実施例に係る拡張ツリーＥＴに対する参加処理について説明する。
【０１３８】
図１２に示すステップＳ３７の判定において、データ送信停止要求メッセージＭＧ１０も受信していないときは（ステップＳ３７；ＮＯ）、制御部２１は、図１３に示すように、対象ノード２において上記第１ルートノード探索要求メッセージＭＧ５を受信したか否かを確認する（ステップＳ４０）。そして、当該第１ルートノード探索要求メッセージＭＧ５を受信しているときは（ステップＳ４０；ＹＥＳ）、制御部２１は、対象ノード２において自身が第２ルートノードであるか否かを確認する（ステップＳ４１）。自身が当該第２ルートノードとして機能しているときは（ステップＳ４１；ＹＥＳ）、制御部２１は、自身が管理している第１ルートノードのいずれかを示す所在情報を含む第１ルートノード探索結果メッセージＭＧ６を、上記第１ルートノード探索要求メッセージＭＧ５の送信元であるノード２に返信し（ステップＳ４２）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１３９】
一方、ステップＳ４１の判定において、自身が当該第２ルートノードとして機能していないときは（ステップＳ４１；ＮＯ）、制御部２１は、第２ルートノードとして機能している他のノード２に対して当該第１ルートノード探索要求メッセージＭＧ５を送信すべく、ＤＨＴアルゴリズムに係るいわゆるルーティング情報（上記特開２００６−１９７４００公報第４図参照）に基づいて当該第１ルートノード探索要求メッセージＭＧ５を中継し（ステップＳ４３）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４０】
他方、上記ステップＳ４０の判定において、上記第１ルートノード探索要求メッセージＭＧ５を受信していないときは（ステップＳ４０；ＮＯ）、制御部２１は、対象ノード２自身が上記第１ルートノードとして機能するノード２であり且つ上記上流ノード紹介要求メッセージＭＧ７を受信したか否かを制御部２１において確認する（ステップＳ４４）。そして、自身が第１ルートノードとして機能するノード２であり且つ上流ノード紹介要求メッセージＭＧ７を受信しているときは（ステップＳ４４；ＹＥＳ）、制御部２１は、自身が頂点となっている拡張ツリーＥＴにおける現在の参加数が、ベースツリーＢＴとして許容されている階層数との関係等に基づいて当該参加数の上限値として予め設定されている数未満であるか否かを確認する（ステップＳ４５）。当該参加数が上限値以上であるときは（ステップＳ４５；ＮＯ）、制御部２１は、当該対象ノード２が第１ルートノードとして管理している拡張ツリーＥＴ内には現状以上の数のノード２を参加させることが困難であることとなるので、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４１】
一方、ステップＳ４５の判定において、当該参加数が上記上限値未満であるときは（ステップＳ４５；ＹＥＳ）、制御部２１は、当該第１ルートノードたる対象ノード２の下流側（拡張ツリーＥＴとしての下流側）に既に他のノード２が参加しており且つ更に当該対象ノード２の直近下流側に更にノード２を追加接続することが可能か否かを確認する（ステップＳ４６）。そして、当該直近下流側に更にノード２を追加接続することが可能であるときは（ステップＳ４６；ＹＥＳ）、当該他のノード２に対して上記上流ノード紹介要求メッセージＭＧ７を中継し（ステップＳ４７）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４２】
なお、当該ステップＳ４７の場合、第１ルートノードたる対象ノード２の下流側へ上記上流ノード紹介要求メッセージＭＧ７が随時中継されることとなるが、いずれかの下流側ノード２においてその直近下流側への接続が可能であると判断された時点で、（当該上流ノード紹介要求メッセージＭＧ７の発信元たるノード２への上記接続許可応答メッセージＭＧ８−２の返信に代えて）当該上流ノード紹介要求メッセージＭＧ７の中継を停止する。
【０１４３】
他方、ステップＳ４６の判定において、当該直近下流側に更にノード２を追加接続することが不可であるときは（ステップＳ４６；ＮＯ）、制御部２１は、当該対象ノード２において接続することが可能である旨を含む上記接続許可応答メッセージＭＧ８−２を上記上流ノード紹介要求メッセージＭＧ７の送信元たるノード２に返信し（ステップＳ４９）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４４】
更に、上記ステップＳ４４の判定において、自身が第１ルートノードとして機能するノード２でないときは（ステップＳ４４；ＮＯ）、制御部２１は、当該第１ルートノードとして機能するノード２ではないが上記上流ノード紹介要求メッセージＭＧ７を受信しているか否かを次に確認する（ステップＳ４８）。受信しているときは（ステップＳ４８；ＹＥＳ）、制御部２１は、上記ステップＳ４６に移行して上述した処理を実行する。一方、ステップＳ４８の判定において、当該上流ノード紹介要求メッセージＭＧ７を受信していないときは（ステップＳ４８；ＮＯ）、制御部２１は、上記第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージのいずれか一方を対象ノード２において受信しているか否かを確認する（ステップＳ５０）。
【０１４５】
そして、当該第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージのいずれか一方を受信しているときは（ステップＳ５０；ＹＥＳ）、制御部２１は、その対象ノード２自身が第２ルートノードとして機能するノード２であるか否かを確認する（ステップＳ５１）。当該第２ルートノードとして機能するノード２であるときは（ステップＳ５１；ＹＥＳ）、制御部２１は、受信した第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージの対象である第１ルートノードについての登録情報を対象ノード２の記憶部２２内に登録（第１ルートノード登録要求メッセージＭＧrを受信した場合）又は当該記憶部２から削除（第１ルートノード削除要求メッセージを受信した場合）し（ステップＳ５２）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。一方、ステップＳ５１の判定において、対象ノード２自身が第２ルートノードとして機能するノード２でないときは（ステップＳ５１；ＮＯ）、制御部２１は、第２ルートノードとして機能している他のノード２に対して当該第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージを送信すべく、ＤＨＴアルゴリズムに係る上記ルーティング情報に基づいて当該第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージを中継し（ステップＳ５３）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４６】
他方、上記ステップＳ５０の判定において、第１ルートノード登録要求メッセージＭＧr又は第１ルートノード削除要求メッセージのいずれも受信していないときは（ステップＳ５０；ＮＯ）、制御部２１は、他のノード２が第２オーバレイネットワークＯＬに参加するための上記図示しない上流ノード紹介要求メッセージ又は他のノード２が第２オーバレイネットワークＯＬから脱退するための上記脱退要求メッセージのいずれか一方を受信したか否かを確認する（ステップＳ５４）。そして、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を受信した場合は（ステップＳ５４；ＹＥＳ）、制御部２１は、夫々のメッセージに対応するように対象ノード２の記憶部２２に記憶されているルーティング情報を更新する（ステップＳ５５）。その後、制御部２１は、対象ノード２自身が第２ルートノードであるか否かに基づいてその図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を他のノード２に対して中継する必要があるか否かを確認する（ステップＳ５６）。これにより、自身が第２ルートノードである場合は、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方は自身内で処理が終了されるものであって中継する必要がないので（ステップＳ５６；ＮＯ）、そのまま図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。これに対し、自身が第２ルートノードでない場合は、当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方は第２ルートノードとしての他のノード２に中継する必要があるので（ステップＳ５６；ＹＥＳ）、対象ノード２内の上記ルーティング情報に基づいて当該図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれか一方を中継し（ステップＳ５７）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４７】
また、上記ステップＳ５４の判定において、図示しない上流ノード紹介要求メッセージ又は脱退要求メッセージのいずれも受信していない場合は（ステップＳ５４；ＮＯ）、制御部２１は、最後に上記紹介待ちタイマにおける計時（図１１ステップＳ７参照）において予め設定されている待ち時間が経過したか否かを確認する（ステップＳ５８）。そして、当該待ち時間が経過していないときは（ステップＳ５８；ＮＯ）、制御部２１は、そのまま計時を継続しつつ図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。一方、当該待ち時間が経過したときは（ステップＳ５８；ＹＥＳ）、制御部２１は、上記ステップＳ６において送信したものと同様の上流ノード紹介要求メッセージＭＧ７を、今度は当該ステップＳ６において送信先とした第１ルートノードとは異なる第１ルートノード（その所在情報は、上記ステップＳ５において取得した複数の所在情報の一部として取得済である）に対して（対象ノード２として）再度送信する（ステップＳ５９）。そして、制御部２１は、上記紹介待ちタイマにおける計時を再度開始し（ステップＳ６０）、図１１に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１４８】
（II）接続先紹介サーバとしての処理
次に、第１実施例に係る接続先紹介サーバ３における処理について、具体的に図１４を用いて説明する。
【０１４９】
当該第１実施例に係る接続先紹介サーバ３においては、図１４に示すように、当該接続先紹介サーバ３としての電源スイッチがオンとされると、制御部３５は、最初に当該接続先紹介サーバ３内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード２や放送局１からのメッセージ受信を可能とする（ステップＳ６１）。
【０１５０】
そして、当該初期化が完了すると、制御部３５は、新たな放送局１からの登録要求メッセージ又は配信システムＳ１内に既存の放送局１からの削除要求メッセージを受信したか否かを確認する（ステップＳ６２）。いずれかを受信すると（ステップＳ６２；ＹＥＳ）、制御部３５は、新たな放送局１の登録の場合はその所在情報を上記データベース内に登録し、更に新しいチャンネルの情報等をトポロジのデータベース内に登録する。また、既存の放送局１の削除の場合は、制御部３５は、当該放送局１の所在情報等を上記データベース内から削除し、更に該当するチャンネル情報をトポロジのデータベース内から削除する（ステップＳ６３、Ｓ６４）。
【０１５１】
その後、制御部３５は、接続先紹介サーバ３としてのサービスを停止するか否かを確認する（ステップＳ６５）。停止する場合は（ステップＳ６５；ＹＥＳ）、制御部３５は、そのまま接続先紹介サーバ３の電源をオフとして処理を終了する。一方、ステップＳ６５の判定において、引き続き当該サービスを継続する場合は（ステップＳ６５；ＮＯ）、制御部３５は、上記ステップＳ６２に戻って上述した一連の処理を繰り返す。
【０１５２】
他方、上記ステップＳ６２の判定において、放送局１からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないときは（ステップＳ６２；ＮＯ）、制御部３５は、新たに配信システムＳ１に参加するノード２から上記上流ノード紹介要求メッセージＭＧ１を受信したか否かを制御部３５において確認する（ステップＳ６６）。
【０１５３】
これにより、当該上流ノード紹介要求メッセージＭＧ１を受信しているときは（ステップＳ６６；ＹＥＳ）、制御部３５は、蓄積されているトポロジのデータベースから当該上流ノード紹介要求メッセージＭＧ１を送信してきたノード２をその下流側に接続することが可能なノード２（例えば、図２の例ではノード２ｊ）の候補を検索する（ステップＳ６７）。その後、制御部３５は、検索された候補に該当するノード２の所在情報等を、上記上流ノード候補メッセージＭＧ２として要求元のノード２へ返信し（ステップＳ６８）、上記ステップＳ６５の処理に移行する。
【０１５４】
これに対し、ステップＳ６６の判定において、上流ノード紹介要求メッセージＭＧ１も受信していないときは（ステップＳ６６；ＮＯ）、制御部３５は、いずれかのノード２から上記参加報告メッセージ（図１１ステップＳ１６参照）又は脱退報告メッセージ（図１２ステップＳ２８参照）を受信したか否かを確認する（ステップＳ６９）。
【０１５５】
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したときは（ステップＳ６９；ＹＥＳ）、制御部３５は、当該受信した報告メッセージの内容に基づいてトポロジの変更があったと判断し、夫々の当該内容に基づいてトポロジのデータベースを更新し（ステップＳ７０）、上記ステップＳ６５の処理に移行する。
【０１５６】
最後に、上記ステップＳ６９の判定において、参加報告メッセージ又は脱退報告メッセージのいずれも受信していないときは（ステップＳ６９；ＮＯ）、制御部３５は、そのまま上記ステップＳ６５の処理に移行する。
【実施例２】
【０１５７】
次に、上記第４実施形態に係る配信システムＳ４に属する放送局１、各ノード２及び接続先紹介サーバ３並びにキャッシュサーバ４夫々の具体的な構成及び処理について、第２実施例として図１５乃至図１８を用いて説明する。
【０１５８】
なお、図１５乃至図１７は当該各ノード２において実行される第２実施例に係る処理を共通的に夫々示すフローチャートであり、図１８は当該キャッシュサーバ４において実行される第２実施例に係る処理を示すフローチャートである。
【０１５９】
ここで、第２実施例に係る放送局、各ノード及び接続先紹介サーバ夫々のハードウエア的な構成は、基本的には第１実施例に係る放送局１、各ノード２及び接続先紹介サーバ３夫々のハードウエア的な構成と同様であるので、以下の第２実施例においては、第１実施例に係る放送局１、各ノード２及び接続先紹介サーバ３と同様の部材については同一の部材番号を付して細部の説明は省略する。また、以下に説明する図１５乃至図１７において、第１実施例として説明した図１１乃至図１３と同様の処理については同様のステップ番号を付して細部の説明は省略する。更に、第２実施例に係るキャッシュサーバ４のハードウエア的な構成は、基本的には第１実施例に係る接続先紹介サーバ３のハードウエア的な構成と同様であるので、以下の第２実施例においては、第１実施例に係る接続先紹介サーバ３と同様の部材番号を付し、キャッシュサーバ４の構成としての図示は省略する。
【０１６０】
（Ｉ）ノードとしての処理
先ず、第４実施形態に係る配信システムＳ４に含まれるノード２における処理について、図１５乃至図１７を用いて説明する。ここで、第２実施例に係る各ノード２の全てにおいては、第１実施例の場合と同様に、図１５乃至図１７に示す処理と同一の処理が夫々に実行されている。これにより、一つのノード２が、第４実施形態に係る第１ルートノード又は第２ルートノードとしてのノード２のいずれにもなり得るのである。
【０１６１】
また、図１５においては、第２実施例に係る各ノード２において実行される上記参加処理（ステップＳ１乃至Ｓ１７及びＳ７５乃至Ｓ７９）から、受信したパケットの中継処理及び再生処理（ステップＳ１９乃至Ｓ２２）までを説明する。
【０１６２】
図１５に示すように、第２実施例に係るいずれかのノード２（以下、図１５乃至図１７を用いてその処理を説明するノード２を、第１実施例と同様に対象ノード２と称する）において、その電源スイッチがオンとされて対象ノード２における主電源及び補助電源がオンとされると、第１実施例に係る対象ノード２と同様のステップＳ１及びＳ３の処理（図１１参照）が実行される。
【０１６３】
次に、当該ステップＳ３の判定において、対象ノード２において配信システムＳ４にその対象ノード２が参加する旨の操作が為されたときは（ステップＳ３；ＹＥＳ）、制御部２１は、上記キャッシュサーバ４に対して上記第１ルートノード紹介要求メッセージＭＧ２０を送信する（ステップＳ７５。図７参照）。
【０１６４】
その後は、第１実施例に係る対象ノード２と同様のステップＳ５乃至Ｓ９及びＳ１１の処理（図１１参照）が実行される。
【０１６５】
一方、ステップＳ３の判定において、第一回目の当該ステップＳ３の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップＳ３の判定として上流ノード紹介要求メッセージＭＧ１／ＭＧ２０を接続先紹介サーバ３又はキャッシュサーバ４へ送信後であるときは（ステップＳ３；ＮＯ）、第１実施例に係る対象ノード２と同様のステップＳ１２乃至Ｓ１７の処理（図１１参照）が実行される。
【０１６６】
そして、ステップＳ１７の判定において、自身が第Ｎ階層に参加して第１ルートノードとなり得るものであるときは（ステップＳ１７；ＹＥＳ）、制御部２１は、キャッシュサーバ４に対して上記ステップＳ１６の処理と同様の参加報告メッセージを送信する（ステップＳ７６）。そして、制御部２１は、配信システムＳ４に参加済の他の第１ルートノードを示す所在情報ＩＰ等の取得を要求する旨の図示しない第１ルートノード取得要求メッセージを当該キャッシュサーバ４に対して送信する（ステップＳ７７）。
【０１６７】
その後、制御部２１は、当該他の第１ルートノードを示す所在情報ＩＰ等が取得できたか否かを監視し（ステップＳ７８）、取得できていないときは（ステップＳ７８；ＮＯ）、当該対象ノード２が第１ルートノードとして初めてキャッシュノード４に登録されることとなるので、上記ステップＳ９に移行して上述した一連の処理を繰り返す。
【０１６８】
一方、ステップＳ７８の判定において、他の第１ルートノードを示す所在情報ＩＰ等が取得できたときは（ステップＳ７８；ＹＥＳ）、制御部２１は、当該対象ノード２と当該他の第１ルートノードとの間に接続関係を確立してメッシュ型のオーバレイネットワークＭＯＬを拡張すべく、当該他の第１ルートノードをキャッシュサーバ４に登録を要求する旨の図示しない近隣第１ルートノード登録要求メッセージを送信し（ステップＳ７９）、上記ステップＳ９に移行して上述した一連の処理を繰り返す。
【０１６９】
他方、上記ステップＳ１２の判定において、配信システムＳ４に対する参加処理は完了しているものの未だ上流ノード候補メッセージＭＧ２を受信していないときは（ステップＳ１２；ＮＯ）、第１実施例に係る対象ノード２と同様のステップＳ１９乃至Ｓ２２の処理（図１１参照）が実行される。
【０１７０】
次に、上記ステップＳ１９の処理において、上流側のノード２からパケットを受信していない場合（ステップＳ１９；ＮＯ）以降の処理について、図１６を用いて説明する。なお、図１６においては、第２実施例に係る対象ノード２において実行される上記脱退処理（ステップＳ２５乃至Ｓ２９並びにＳ８０及びＳ８１）、当該対象ノード２の下流側において新たに参加する他のノード２の当該参加処理及び脱退処理（ステップＳ３１乃至Ｓ３４）並びに第２実施例に係るコンテンツデータの配信開始から終了までの処理（ステップＳ３５乃至Ｓ３８）について夫々説明する。
【０１７１】
図１５に示すステップＳ１９の判定において、パケットを受信していないときは（ステップＳ１９；ＮＯ）、図１６に示すように、第１実施例に係る対象ノード２と同様のステップＳ２５乃至Ｓ２９の処理（図１２参照）が実行される。
【０１７２】
そして、ステップＳ２９の判定において、対象ノード２自身が第１ルートノードである場合は（ステップＳ２９；ＹＥＳ）、制御部２１は、キャッシュサーバ４に対して配信システムＳ４から脱退した旨の図示しない脱退報告メッセージを送信する（ステップＳ８０）。そして、制御部２１は、当該対象ノード２と接続関係を有している（図１５ステップＳ７９参照）近隣の第１ルートノードに対して、自らが配信システムＳ４から離脱する旨の図示しない近隣第１ルートノード離脱メッセージを送信し（ステップＳ８１）、図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１７３】
一方、上記ステップＳ２５の判定において、配信システムＳ４から脱退する旨の上記操作が為されないときは（ステップＳ２５；ＮＯ）、以降、第１実施例に係る対象ノード２と同様のステップＳ３１乃至Ｓ３８の処理（図１２参照）が実行される。
【０１７４】
次に、上記ステップＳ３７の判定においてデータ送信停止要求メッセージＭＧ１０も受信していない場合（ステップＳ３７；ＮＯ）以降の処理について、図１７を用いて説明する。なお、図１７においては、主として第２実施例に係る拡張ツリーＥＴに対する参加処理（図７参照）について説明する。
【０１７５】
図１６に示すステップＳ３７の判定において、データ送信停止要求メッセージＭＧ１０も受信していないときは（ステップＳ３７；ＮＯ）、図１７に示すように、先ず第１実施例に係る対象ノード２と同様のステップＳ４４乃至Ｓ４９並びにＳ５８の処理（図１３参照）が実行される。
【０１７６】
そして、当該ステップＳ５８の判定において、予め設定されている待ち時間が経過していないときは（ステップＳ５８；ＮＯ）、制御部２１は、そのまま計時を継続しつつ図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。一方、当該待ち時間が経過したときは（ステップＳ５８；ＹＥＳ）、制御部２１は、既知の第１ルートノード（即ち、キャッシュサーバ４から取得済の第１ルートノード（図１５ステップＳ７５参照）の予備）に対して代替となる第１ルートノードを紹介させる旨の上記第１ルートノード紹介要求メッセージＭＧ２０を送信する（ステップＳ８２。図７参照）。そして、制御部２１は、当該代替となる第１ルートノードから、その所在情報ＩＰが上記第１ルートノード紹介要求メッセージＭＧ２０に対応する接続許可応答メッセージＭＧ８−２として返信されてきたか否かを監視する（ステップＳ８３）。
【０１７７】
当該ステップＳ８３の判定において、制御部２１は、必要な所在情報ＩＰが得られないうちは（ステップＳ８３；ＮＯ）当該監視を継続する。必要な所在情報ＩＰが得られた場合は（ステップＳ８３；ＹＥＳ）、制御部２１は、上記上流ノード紹介要求メッセージＭＧ７を当該取得した所在情報ＩＰにより示される第１ルートノードへ中継する（ステップＳ８４）。そして、制御部２１は、上記紹介待ちタイマにおける計時を再度開始し（ステップＳ６０）、図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１７８】
他方、ステップＳ５８の判定において、当該待ち時間が経過していないときは（ステップＳ５８；ＮＯ）、制御部２１は、上記近隣第１ルートノード登録要求メッセージ（図１５ステップＳ７９参照）又は上記近隣第１ルートノード離脱メッセージ（図１６ステップＳ８１参照）のいずれか一方を対象ノード２において受信したか否かを制御部２１により確認する（ステップＳ８５）。そして、当該近隣第１ルートノード登録要求メッセージ又は当該近隣第１ルートノード離脱メッセージのいずれか一方を受信した場合は（ステップＳ８５；ＹＥＳ）、制御部２１は、夫々のメッセージに対応するように対象ノード２の記憶部２２に記憶されているルーティング情報を更新し（ステップＳ８６）、図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１７９】
一方、ステップＳ８５の判定において、当該近隣第１ルートノード登録要求メッセージ又は当該近隣第１ルートノード離脱メッセージのいずれも受信していないときは（ステップＳ８５；ＮＯ）、制御部２１は、代替となる第１ルートノードを紹介させる旨の上記第１ルートノード紹介要求メッセージＭＧ２０を対象ノード２として受信したか否かを確認する（ステップＳ８７）。そして、当該第１ルートノード紹介要求メッセージＭＧ２０を受信したときは（ステップＳ８７；ＹＥＳ）、制御部２１は、それを他のノード２に中継するか否かを予め設定された判断基準に基づいて判断する（ステップＳ８８）。中継すべき場合は（ステップＳ８８；ＹＥＳ）、制御部２１は、近隣の第１ルートノードに対して当該第１ルートノード紹介要求メッセージＭＧ２０を転送し（ステップＳ８９）、図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１８０】
他方、ステップＳ８８の判定において、当該第１ルートノード紹介要求メッセージＭＧ２０を中継すべきでないときは（ステップＳ８８；ＮＯ）、制御部２１は、近隣の第１ルートノードを対象ノード２の代替として当該第１ルートノード紹介要求メッセージＭＧ２０の送信元にその所在情報ＩＰ等を返信し（ステップＳ９０）、図１５に示すステップＳ９の処理に移行して上述した一連の処理を繰り返す。
【０１８１】
（II）キャッシュサーバとしての処理
次に、第２実施例に係るキャッシュサーバ４における処理について、具体的に図１８を用いて説明する。なお、第２実施例に係る接続先紹介サーバ３における処理は、基本的には第１実施例に係る接続先紹介サーバ３における処理と同様であるので、以下では説明を省略する。
【０１８２】
当該第２実施例に係るキャッシュサーバ４においては、図１８に示すように、当該キャッシュサーバ４としての電源スイッチがオンとされると、制御部３５は、最初に当該キャッシュサーバ４内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード２や放送局１からのメッセージ受信を可能とする（ステップＳ９１）。
【０１８３】
そして、当該初期化が完了すると、制御部３５は、新たなノード２からの上記図示しない第１ルートノード取得要求メッセージ（図１５ステップＳ７７参照）を受信したか否かを確認する（ステップＳ９２）。そして、当該図示しない第１ルートノード取得要求メッセージを受信したときは（ステップＳ９２；ＹＥＳ）、制御部３５は、第１ルートノードを示すキャッシュ情報（一次記憶情報。当該第１ルートノードを示す所在情報ＩＰ等を含む）が記憶部３６内に記憶されているか否かを確認する（ステップＳ９３）。そして、当該キャッシュ情報が記憶されているときは（ステップＳ９３；ＹＥＳ）、制御部３５は、当該記憶されているキャッシュ情報に相当する第１ルートノードの中から複数のものを抽出し、当該抽出したキャッシュ情報に含まれている所在情報ＩＰ等を上記図示しない第１ルートノード取得要求メッセージを送信したノード２に対して送信する（ステップＳ９４）。
【０１８４】
その後、制御部３５は、キャッシュサーバ４としてのサービスを停止するか否かを確認し（ステップＳ９５）、停止する場合は（ステップＳ９５；ＹＥＳ）そのままキャッシュサーバ４の電源をオフとして処理を終了する。一方、ステップＳ９５の判定において、引き続き当該サービスを継続する場合は（ステップＳ９５；ＮＯ）、制御部３５は、上記ステップＳ９２に戻って上述した一連の処理を繰り返す。
【０１８５】
また、ステップＳ９３の判定において、いずれの第１ルートノードについてもキャッシュ情報が記憶されていないときは（ステップＳ９３；ＮＯ）、制御部３５は、その旨を示す図示しない取得失敗メッセージを上記図示しない第１ルートノード取得要求メッセージを送信したノード２に対して送信して（ステップＳ９６）、上記ステップＳ９５に移行する。
【０１８６】
他方、上記ステップＳ９２の判定において、図示しない第１ルートノード取得要求メッセージを受信していないときは（ステップＳ９２；ＮＯ）、制御部３５は、オーバレイネットワークＭＯＬに新たに参加したノード２からの上記参加報告メッセージ（図１５ステップＳ７６参照）を受信したか、又はオーバレイネットワークＭＯＬから脱退したノード２からの上記脱退報告メッセージ（図１５ステップＳ８０参照）を受信したか、を、段階的に制御部３５において確認する（ステップＳ９７、Ｓ９９）。
【０１８７】
そして、上記参加報告メッセージを受信したときは（ステップＳ９７；ＹＥＳ）、制御部３５は、当該受信した参加報告メッセージに含まれている第１ルートノードとしての所在情報ＩＰ等をキャッシュサーバ４の記憶部３５内に記憶させ（ステップＳ９８）、上記ステップＳ９５の処理に移行する。
【０１８８】
また、上記参加報告メッセージは受信していないが（ステップＳ９７；ＮＯ）、上記脱退報告メッセージを受信している場合は（ステップＳ９９；ＹＥＳ）、制御部３５は、当該受信した脱退報告メッセージに含まれている第１ルートノードとしての所在情報ＩＰ等をキャッシュサーバ４の記憶部３５から削除し（ステップＳ１００）、上記ステップＳ９５の処理に移行する。
【０１８９】
更に、上記ステップＳ９９の判定において上記脱退報告メッセージをも受信していないときは（ステップＳ９９；ＮＯ）、制御部３５は、そのまま上記ステップＳ９５の処理に移行する。
【０１９０】
以上夫々説明したように、第１実施形態及び第１実施例に係る配信システムＳ１の動作によれば、ベースツリーＢＴに属する第１ルートノードとしてのノード２を頂点とする拡張ツリーＥＴのトポロジが、当該第１ルートノードとしてのノード２により制御されるので、配信システムＳ１を構成する全てのノード２のトポロジを接続先紹介サーバ３に制御させることに起因する当該接続先紹介サーバ３の処理過多の発生を防止できる。
【０１９１】
また、配信システムＳ１全体のうち、放送局１を頂点とするベースツリーＢＴに属する各ノード２のトポロジを専用の接続先紹介サーバ３により制御するので、配信経路におけるいわゆる上流側に属するノード２のトポロジが最適に制御されることになり、結果として配信システムＳ１全体として安定してコンテンツを配信することができる。
【０１９２】
従って、接続先紹介サーバ３に係る処理負担の軽減と、配信システムＳ１全体としてのコンテンツの配信に係る安定性の向上と、をバランス良く両立させることができる。
【０１９３】
また、ベースツリーＢＴにおいて接続先紹介サーバ３により制御されるノード２の数が、当該接続先紹介サーバ３におけるトポロジの制御可能数に基づいて決定されているので、配信システムＳ１に要求されるトポロジの安定性（信頼性）に応じて当該接続先紹介サーバ３の機器性能を規定するような柔軟なシステム設計が可能となる。
【０１９４】
更に、ベースツリーＢＴとしての許容階層数Ｎに相当する階層の直近下位の階層に属するノード２を拡張ツリーＥＴに係る第１ルートノードとして指定し、その旨を示す情報を当該指定されたノード２の記憶部２２内に記憶するので、第１ルートノードとしての役割を担うノード２を選定する規則が簡易なものとなり、システム実装上の作業負荷を軽減できる。
【０１９５】
更にまた、拡張ツリーＥＴに属するノード２の数がベースツリーＢＴに属するノード２の数より少ないので、拡張ツリーＥＴの頂点となるノード２における当該拡張ツリーＥＴに属するノード２のトポロジの制御負荷が軽減され、当該拡張ツリーＥＴ内におけるコンテンツの配信を安定化することができる。
【０１９６】
また、少なくとも、拡張ツリーＥＴにおける第１ルートノードとしてのノード２を識別するための所在情報が仮想的なオーバレイネットワークＯＬを構成するいずれかのノード２（第２ルートノード）に記憶されているので、配信システムＳ１に新たに加入するノード２が、当該加入の際迅速に第１ルートノードとしてのノード２を検索／発見することができる。
【０１９７】
また、第２実施形態に係る配信システムＳ２の動作によれば、ベースツリーＢＴとしての許容階層数Ｎに相当する階層を含む複数の階層のいずれかに属するノード２を拡張ツリーＥＴに係る第１ルートノードとして指定し、その旨を示す情報を当該指定されたノード２の記憶部２２内に記憶するので、第１ルートノードとしての役割を担うノード２を選定する際にベースツリーＢＴ上における稼動状態の実績を勘案した選定基準を導入することが可能となる（例えば、コンテンツの中継品質が安定しているノード２を第１ルートノードとしてのノード２として選定することができる）。
【０１９８】
更に、第３実施形態に係る配信システムＳ３の動作によれば、ノード２が属する階層だけでなくコンテンツの配信能力又は配信システムＳ３内における稼働時間の少なくともいずれか一方をも考慮して第１ルートノードとしてのノード２が指定されるので、拡張ツリーＥＴ夫々の第１ルートノードとして安定して機能するノード２を指定することができる。
【０１９９】
更にまた、各配信システムＳに新たに参加するノード２の動作によれば、ベースツリーＢＴに参加することが決定されたとき、接続先紹介サーバ３に対して上流ノード紹介要求メッセージＭＧ１を送信すると共に、拡張ツリーＥＴに参加することが決定されたとき検索された第１ルートノードとしてのノード２に対して上流ノード紹介要求メッセージＭＧ７を送信するので、新規に配信システムＳに参加しようとするノード２であっても迅速にいずれかのツリーに参加することができる。
【０２００】
また、各配信システムＳに新たに参加するノード２の動作によれば、先ず第１ルートノードとしてのノード２を検索し、当該第１ルートノードとしてのノード２が検索できたときは拡張ツリーＥＴに参加すると決定し、当該第１ルートノードとしてのノード２が検索できなかったときはベースツリーＢＴに参加すると決定するので、新たなノード２が参加すべきいずれかのツリーを、接続先紹介サーバ３に不要な負担をかけることなく且つ迅速に決定することができる。
【０２０１】
更に、図１１乃至図１３又は図１５乃至図１７に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施形態に係るノード２内の制御部２１として活用することも可能である。
【０２０２】
また、図１４又は図１８に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施形態に係る接続先紹介サーバ３内又はキャッシュサーバ４内の制御部３５として活用することも可能である。
【産業上の利用可能性】
【０２０３】
以上夫々説明したように、本発明はツリー構造を有する配信システムを用いたコンテンツの配信の分野に利用することが可能であり、特に映画や音楽等のリアルタイムの放送の如き、途中で配信が中断してしまうことが不都合なコンテンツの配信の分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【０２０４】
【図１】第１実施形態に係る配信システムの概要構成を示すブロック図である。
【図２】第１実施形態に係る配信システムの細部構成を示すブロック図である。
【図３】第１実施形態に係る配信システムにおける脱退処理を示す図（Ｉ）である。
【図４】第１実施形態に係る配信システムにおける脱退処理を示す図（II）である。
【図５】第２実施形態に係る配信システムの細部構成を示すブロック図である。
【図６】第３実施形態に係る配信システムの細部構成を示すブロック図である。
【図７】第４実施形態に係る配信システムの細部構成を示すブロック図である。
【図８】各実施例に係る放送局の概要構成を示すブロック図である。
【図９】各実施例に係るノードの概要構成を示すブロック図である。
【図１０】各実施例に係る接続先紹介サーバの概要構成を示すブロック図である。
【図１１】第１実施例に係るノードにおける処理を示すフローチャート（Ｉ）である。
【図１２】第１実施例に係るノードにおける処理を示すフローチャート（II）である。
【図１３】第１実施例に係るノードにおける処理を示すフローチャート（III）である。
【図１４】第１実施例に係る接続先紹介サーバにおける処理を示すフローチャートである。
【図１５】第２実施例に係るノードにおける処理を示すフローチャート（Ｉ）である。
【図１６】第２実施例に係るノードにおける処理を示すフローチャート（II）である。
【図１７】第２実施例に係るノードにおける処理を示すフローチャート（III）である。
【図１８】第２実施例に係るキャッシュサーバにおける処理を示すフローチャートである。
【符号の説明】
【０２０５】
１    放送局
２、２ａ、２ｂ、２ｃ、２ｄ、２ｅ、２ｆ、２ｇ、２ｈ、２ｉ、２ｊ、２ｋ、２ｌ、２ｍ、２ｎ、２ｏ、２ｐ、２ｑ、２ｒ、２ｓ、２ｔ、２ｕ、２ｖ、２ｗ、２ｘ、２ｙ、２ｚ、２ａａ、２ａｂ、２ａｃ、２ａｄ、２ｘｘ、２ｙｙ、Ｎ１、Ｎ２    ノード
３    接続先紹介サーバ
４    キャッシュサーバ
５    ＩＸ
６    ＩＳＰ
７    ＤＳＬ回線事業者
８    ＦＴＴＨ回線事業者
９    通信回線
１０    ネットワーク
１１、２１、３５    制御部
１２、２２、３６    記憶部
１３    暗号化用アクセラレータ
１４    エンコーダ部
１５、２９ａ、３７    通信部
１６、２９ｂ    入力部
１７、２９ｄ、３８    バス
２３    バッファメモリ
２４    復号化アクセラレータ
２５    デコーダ部
２６    映像処理部
２７    表示部
２８    音声処理部
２９    スピーカ
２９ｅ    ＩＣカード
２９ｃ    ＩＣカードスロット
Ｓ１、Ｓ２、Ｓ３、Ｓ４    配信システム
ＢＴ    ベースツリーサブネットワーク（ベースツリー）
ＥＴ、ＥＴ１、ＥＴ２、ＥＴ３、ＥＴ４    拡張ツリーサブネットワーク（拡張ツリー）
ＯＬ    第２オーバレイネットワーク（オーバレイネットワーク）
ＭＯＬ    オーバレイネットワーク
ＩＰ    所在情報
ＭＧ１、ＭＧ７    上流ノード紹介要求メッセージ
ＭＧ２、ＭＧ７−２    上流ノード候補メッセージ
ＭＧ３、ＭＧ８    接続要求メッセージ
ＭＧ４、ＭＧ８−２    接続許可応答メッセージ
ＭＧ５、ＭＧ２２    第１ルートノード探索要求メッセージ
ＭＧ６、ＭＧ９    第１ルートノード探索結果メッセージ
ＭＧ１０    データ送信停止要求メッセージ
ＭＧ１１    接続解除要求メッセージ
ＭＧ１２    脱退報告メッセージ
ＭＧ２０    第１ルートノード紹介要求メッセージ
ＭＧ２１    第１ルートノード候補メッセージ
ＭＧr    第１ルートノード登録要求メッセージ
【図１】
2008252498.tif 000003
【図２】
2008252498.tif 000004
【図３】
2008252498.tif 000005
【図４】
2008252498.tif 000006
【図５】
2008252498.tif 000007
【図６】
2008252498.tif 000008
【図７】
2008252498.tif 000009
【図８】
2008252498.tif 000010
【図９】
2008252498.tif 000011
【図１０】
2008252498.tif 000012
【図１１】
2008252498.tif 000013
【図１２】
2008252498.tif 000014
【図１３】
2008252498.tif 000015
【図１４】
2008252498.tif 000016
【図１５】
2008252498.tif 000017
【図１６】
2008252498.tif 000018
【図１７】
2008252498.tif 000019
【図１８】
2008252498.tif 000020