JP2009054045A - 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム - Google Patents

情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム Download PDF

Info

Publication number
JP2009054045A
JP2009054045A JP2007221699A JP2007221699A JP2009054045A JP 2009054045 A JP2009054045 A JP 2009054045A JP 2007221699 A JP2007221699 A JP 2007221699A JP 2007221699 A JP2007221699 A JP 2007221699A JP 2009054045 A JP2009054045 A JP 2009054045A
Authority
JP
Japan
Prior art keywords
reconnection
information processing
node
information
occurrences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007221699A
Other languages
English (en)
Inventor
Yasushi Yanagihara
靖司 柳原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007221699A priority Critical patent/JP2009054045A/ja
Publication of JP2009054045A publication Critical patent/JP2009054045A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】トポロジの分断が発生し得る場合でもそれから適切に復帰させることで、配信システムにおけるトポロジの安定化を図ることが可能な配信システム等を提供する。
【解決手段】配信システム内においてノードが再接続を行う際、当該配信システムとしてのトポロジが安定しているときは、再接続先として最適なノードを選んで再接続を行う。一方、配信システムとしてのトポロジが不安定であるときは、ランダムにノードを選んで再接続を行う。トポロジの安定度は、配信システム内における単位時間当たりの再接続の発生数を用いて判断する。
【選択図】図11

Description

本発明は、情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラムの技術分野に属する。より詳細には、配信元から配信される動画や音楽等の配信情報を、その下流側に複数の階層を構成しつつ接続されている情報処理装置において段階的に中継しつつ配信するネットワークシステム及びそれに含まれる当該情報処理装置等の技術分野に属する。
近年、家庭用のインターネット回線の高速化が著しい。そして、この高速化に伴い、配信元となる一の配信サーバ(放送局)を頂点として各家庭等内にあるパーソナルコンピュータ又はセットトップボックス等を複数個階層ツリー状に接続してネットワークを構成し、そのネットワークを介して上記配信サーバから上記配信情報を配信するコンテンツ配信システムが一般化しつつある。
ここで、映画又は音楽等の当該配信情報を、以下、適宜「コンテンツ」と称する。また、当該コンテンツ配信システムを、以下、単に「配信システム」と称する。更に、当該ネットワークを、その接続態様の観点から見たものを「トポロジ」と称する。
一方、このようなネットワークのトポロジにおいて、当該ネットワークを構成する各パーソナルコンピュータ等の夫々(情報処理装置)は、一般に「ノード」と称される。更に、上記配信システムについての従来技術を開示する文献としては、例えば下記非特許文献1がある。
ここで、上記配信システムにおいては、階層ツリー構造においてコンテンツを中継しているノードにおいて、例えばその電源がオフとされたこと等に起因してそのノードにおける中継機能が停止する(トポロジが分断される)場合が起こり得る。この場合、当該非特許文献1記載の従来技術では、当該中継機能が停止したノードを除く他のノードを含む新たなトポロジが、上記配信サーバを頂点として自動的に再構築されることとされている。
このとき、非特許文献1には、上記トポロジの分断を迅速に修復する方法として、下流側のノードにおいて、予備となる他の上流側のノード(中継機能が停止したノード以外の他のノード)との接続を予め確保しておき、トポロジ分断時には当該予備の上流側ノードに切り換える方式が開示されている。そして、当該予備の上流側ノードを予め選択する際には、常にコンテンツの中継に最適な他のノードを上流側のノードとして探索する構成とされている。
國近洋平,甲藤二郎 他,"予備親探索機能を有したアプリケーションレベルマルチキャスト",電子情報通信学会技術研究報告IN2003-210,2004年3月
しかしながら、上記非特許文献1記載の従来技術における予備のノードの選択手法では、複数のノードが同時期に予備のノードを予め探索しようとする場合、いずれのノードも、コンテンツの配信に最適な他のノードを予備ノードとして探索することとなる。よってこの場合、ある一つのノードを複数のノードが夫々の予備ノードとして同時に探索することとなり、結果的に、探索するノード間において探索先のコンフリクト(探索先の衝突現象)が発生し易くなる。そして、探索先のコンフリクトが発生すると、ノードはトポロジ分断からの回復が全体的に遅れることとなり、結果としてコンテンツ配信の途絶等の事象を生起し、配信システムとしての安定性が著しく損なわれる場合があるという問題点があった。
そこで、本発明は、上記の問題点に鑑みて為されたもので、その目的は、任意の頻度でトポロジの分断が発生し得る状況下でも、当該分断状態からノードをトポロジへ効率的に復帰させることで、ネットワークシステムにおけるトポロジの安定化を図ることが可能なネットワークシステム及びそれに含まれる情報処理装置等を提供することにある。
上記の課題を解決するために、請求項1に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において、前記ネットワークシステムに含まれる前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する通信部等の取得手段と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する制御部等の再接続制御手段と、前記選択された再接続の方法に基づいて当該再接続を行う制御部等の再接続手段と、を備え、前記再接続制御手段は、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択するように構成される。
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるとき(即ち、ネットワークシステムとしてのトポロジが不安定なとき)には第1再接続方法を選択し、再接続の発生数が閾値発生数未満であるとき(即ち、ネットワークシステムとしてのトポロジが安定なとき)には第2再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
上記の課題を解決するために、請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記第2再接続方法は、前記配信情報の配信状態が最も良好な他の前記情報処理装置を前記再接続先として選択する再接続方法であるように構成される。
よって、第2再接続方法が、配信情報の配信状態が最も良好な他の情報処理装置を再接続先として選択する再接続方法であるので、ネットワークシステム内における再接続の発生数が閾値発生数未満である場合に、より高速に配信情報の配信を受けられる再接続先を選択することができる。
上記の課題を解決するために、請求項3に記載の発明は、請求項1又は2に記載の情報処理装置において、前記再接続先の候補となる前記情報処理装置を示す候補情報を記憶する記憶部等の記憶手段を更に備え、前記再接続制御手段は、前記選択された再接続方法に則り、前記記憶されている候補情報により示される前記情報処理装置の中から前記再接続先となる前記情報処理装置を選択し、前記再接続手段は、前記選択された情報処理装置に対して再接続を行うように構成される。
よって、予め記憶されている候補情報により示される情報処理装置の中から再接続先を選択するので、改めて再接続先を検索する必要がなく、夫々の再接続方法に則って迅速に再接続先を選択することができる。
上記の課題を解決するために、請求項4に記載の発明は、請求項3に記載の情報処理装置において、前記記憶手段には、当該情報処理装置から送信された情報が転送される際に経由する他の前記情報処理装置の数が、当該情報処理装置から見て予め設定された閾値数以下となる前記ネットワークの範囲内にある他の前記情報処理装置を示す前記候補情報のみを記憶しているように構成される。
よって、送信された情報が転送される際に経由する他の情報処理装置の数が閾値数以下となるネットワークの範囲内にある他の情報処理装置を示す候補情報のみを記憶するので、情報処理装置間を伝送される候補情報の情報量を一定値以内に限定することが可能となり、ネットワークにかかる負荷を低減させることができる。
上記の課題を解決するために、請求項5に記載の発明は、請求項1から4のいずれか一項に記載の前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置であって、各前記情報処理装置における前記発生数を検出する制御部等の検出手段と、前記検出された発生数に基づき、前記再接続状況情報を生成する制御部等の生成手段と、前記生成された再接続状況情報を各前記情報処理装置に送信する通信部等の送信手段と、を備える。
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
上記の課題を解決するために、請求項6に記載の発明は、請求項5に記載の制御装置において、前記検出手段は、前記ネットワークシステムに含まれる前記情報処理装置を分類して得られる複数の情報処理装置群毎に前記発生数を検出し、前記生成手段は、前記情報処理装置群毎に前記再接続状況情報を生成し、更に前記送信手段は、前記生成された再接続状況情報を、対応する前記情報処理装置群に含まれる前記情報処理装置宛に送信するように構成される。
よって、情報処理装置群毎に再接続状況情報を生成し、当該情報処理装置群毎に当該再接続状況情報を送信するので、結果として各情報処理装置群毎に再接続方法が選択されて再接続が実行されることとなり、ネットワークシステム全体としてより効率的且つ安定的に再接続先を制御することができる。
上記の課題を解決するために、請求項7に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムであって、各前記情報処理装置と制御装置と、を含むネットワークシステムにおいて、各前記情報処理装置は、前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する通信部等の取得手段と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段であって、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択する制御部等の再接続制御手段と、前記選択された再接続の方法に基づいて当該再接続を行う制御部等の再接続手段と、を備え、前記制御装置は、各前記情報処理装置における前記発生数を検出する制御部等の検出手段と、前記検出された発生数に基づき、前記再接続状況情報を生成する制御部等の生成手段と、前記生成された再接続状況情報を各前記情報処理装置に送信する通信部等の送信手段と、を備える。
よって、制御装置において再接続状況情報を生成し、これを各情報処理装置に送信すると共に、再接続状況情報を受信した各情報処理装置において、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第1再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第2再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
上記の課題を解決するために、請求項8に記載の発明は、複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において実行される情報処理方法であって、前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得工程と、前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御工程と、を含み、前記再接続制御工程においては、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択するように構成される。
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第1再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第2再接続方法を選択して再接続を行うので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
上記の課題を解決するために、請求項9に記載の発明は、請求項8に記載の前記情報処理方法が実行される前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置において実行される制御方法であって、各前記情報処理装置における前記発生数を検出する検出工程と、前記検出された発生数に基づき、前記再接続状況情報を生成する生成工程と、前記生成された再接続状況情報を各前記情報処理装置に送信する送信工程と、を含む。
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
上記の課題を解決するために、請求項10に記載の発明は、コンピュータを、請求項1から4のいずれか一項に記載の前記情報処理装置として機能させる。
よって、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第1再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第2再接続方法を選択して再接続を行うようにコンピュータが機能するので、ネットワークシステム内における再接続の発生数に応じて他の情報処理装置の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
上記の課題を解決するために、請求項11に記載の発明は、コンピュータを、請求項5又は6に記載の前記制御装置として機能させる。
よって、ネットワークシステムに属する制御装置において各情報処理装置における再接続の発生数を検出し、これを用いて生成した再接続状況情報を各情報処理装置に送信するようにコンピュータが機能するので、一元的に効率よく再接続状況情報を生成して各情報処理装置に送信することができる。
本発明によれば、ネットワークシステム内における再接続の発生数が閾値発生数以上であるときには第1再接続方法を選択し、再接続の発生数が閾値発生数未満であるときには第2再接続方法を選択して再接続を行うので、再接続の発生数が多い状況では当該情報記録装置において生起した探索処理と他の情報処置装置において生起した探索処理との間で探索先が衝突しないように作用し、他方で再接続の発生数が少ない状況では最適な接続条件をもつ他の(予備の)情報処理装置を探索するようにすることができる。
従って、再接続の発生数に応じて再接続先を最適化することで、ネットワークシステムにおけるトポロジの安定化を図ることができる。
次に、本発明を実施するための最良の形態について、図1乃至図7を用いて説明する。なお、以下に説明する実施形態は、いわゆる階層ツリー型の配信システムに対して本発明を適用した場合の実施形態である。
また、図1は実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2は当該配信システムに対してノードが新たに参加する場合の処理を例示する図である。更に、図3は当該配信システムからノードが脱退する場合の処理を例示する図であり、図4は実施形態に係る後述の近隣ノードキャッシュ情報について例示する図である。また、図5は当該配信システムにおけるノードの再接続の処理を例示する図であり、図6は実施形態に係る再接続処理を例示する図である。最後に図7は本発明に係る再接続処理についての変形形態を示す図である。
(I)配信システムとしての全体構成等
先ず、実施形態に係る配信システムの概要構成及び機能について図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の帯域の広さ(例えば、データ転送速度)を表している。
一方、実施形態に係る配信システムSは、配信されるコンテンツにおける配信単位に相当する(連続する)パケットの配信元(配信サーバ)である放送局1と、複数のノード2a、2b、2c、2d、…、と、を含んでいる。そして、配信システムSは、図1の下部枠101内に示すようなネットワーク10を基礎として図1の上部枠100内に示すように構成されている。
より具体的に配信システムSは、放送局1を頂点(最上位)として、複数のノード2が複数の階層(図1の例では四階層)を形成しつつ通信経路(実際には、ネットワーク10としての通信回線9)を介してツリー状に接続されている。この構成において、コンテンツの配信時には、上記連続する複数のパケットが、上流(上位階層)から下流(下位階層)の方向へ各ノード2により中継されつつ配信される。なお、以下の説明において、ノード2a、2b、2c、2d、…、のうち何れかのノードを示す場合には、便宜上、単にノード2という。
ここで、上記放送局1は、実際には、放送対象たる上記コンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、ネットワーク10に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード2は、実際には、例えば各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
図1において、上部枠100内に示されるノード2は、配信システムSに参加しているノード2である。そして、当該配信システムSに参加するためには、未参加のノードが、後述する如く接続先紹介サーバ3(図1下部枠101内参照)に対して参加要求メッセージを送信し、当該接続先紹介サーバ3により参加権限があることを認証される必要がある。
この接続先紹介サーバ3は、配信システムSに参加している放送局1及び各ノード2の所在情報(例えば、IP(Internet Protocol)アドレス及びポート番号(待ち受けポート番号)等)と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ(接続態様)を示すトポロジ情報と、を、図示しないデータベースを用いて管理している。そして、当該接続先紹介サーバ3は、未参加のノードからの参加要求に対して上記認証(参加認証)を行った後、当該ノードに対して接続先となる既参加のノード2(換言すれば、階層ツリー状のトポロジを考慮して選定される参加済のノード2)の所在情報を通知するようになっている。これにより、当該所在情報の通知を受けてこれから配信システムSに参加するノードは、当該所在情報に基づき、参加済のノード2との接続を確立し、これによって当該配信システムSに参加することになる。
なお、配信システムSにおける階層ツリー状のトポロジは、各ノード2に直接接続される下流側のノード2の最大接続数(例えば実施形態に係る配信システムSの場合は二つ)、バランス(対称性)等を考慮して接続先紹介サーバ3において決定される。また、これらに加えて、例えばノード2間のローカリティ(ネットワーク10上における近接度(ホップ数が少ないほど高い)等を考慮して決定されるものでもよい。なおここで、上記「ホップ数」とは、そのノード2から送信された情報又はメッセージが転送される際に経由する他のノード2の数を言う。
一方、参加済のノード2の電源がオフとなった場合又は当該ノード2に対する通信状態が不良等になった場合等においては、当該ノード2は配信システムSから脱退する。そして、当該ノードの脱退が発生すると、脱退したノード2に直接接続されていた下流側のノード2等は、接続先紹介サーバ3から新たな接続先となる他の参加済のノード2の所在情報を取得して接続を確立する必要がある。なお、以下の説明では、当該新たな接続先への接続変更を、適宜「再接続」と称する。
更にまた、上記階層ツリー状のトポロジは、放送局1毎、換言すれば、放送チャンネル毎に形成される。即ち、図1の上部枠100内では、一つの放送チャンネルのみ示している(但し、一つの放送局1で複数の放送チャンネルによる放送を賄う場合もある)。そして、例えば参加済のノード2においてそのユーザにより放送チャンネルが切り替えられた場合には、当該ノード2は、切り替え後の放送チャンネルにおける参加済の他のノード2の所在情報を接続先紹介サーバ3から取得して接続を確立する。
(II)実施形態に係る配信ステムの構成及び当該配信システムへの参加処理等
次に、実施形態に係る配信システムSにおけるトポロジの構成並びに当該配信システムSに対する新規参加の場合の処理について、より具体的に図2を用いて説明する。
例えば図2に示す新たなノードNが新規に配信システムSに参加する場合、当該ノードNは、先ず接続先紹介サーバ3に対して上記参加要求に係る上流ノード紹介要求メッセージMG1を送信する。そして、接続先紹介サーバ3により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード2となる参加済のノード2(図2に例示する場合はノード2b)の所在情報を含む上流ノード候補メッセージMG2が送信されてくると、新規参加のノードNは、当該所在情報により示される既参加のノード2(図2に例示する場合はノード2b)に対して接続要求メッセージMG3を送信する。これにより、当該ノード2(2b)から接続許可応答メッセージMG4を取得することで、ノードNは、当該ノード2(2b)の直近下流側に接続され、配信システムSへの当該ノードNの参加処理が完了する。
そして、配信システムSにおいて新たにノード2が参加した以降は、上記放送局1から配信されるコンテンツに相当するコンテンツデータが、当該配信システムS内を階層に沿って順次上流側から下流側に中継されることにより、各ノード2に対するコンテンツの配信が実行される。
(III)実施形態に係る配信システムからの脱退処理
次に、実施形態に係る配信システムSからのノード2の脱退処理について、図3を用いて説明する。なお、図3は、例えばその電源スイッチがオフとされたこと等の理由により、上記配信システムSからノード2eが脱退する場合を例示している。更に、以下の説明では、脱退するノード2eの直近下流に接続されているノード2j及び2kに対する処理が異なる二種類の脱退処理について、夫々図3(a)及び図3(b)を用いて説明する。
当該脱退処理においては、図3に例示するように、脱退するノード2eは、当該ノード2eに対するコンテンツの供給元である上流のノード(図3に示す場合はノード2b)に対して、データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する。
そして、当該二つの要求メッセージを夫々受信したノード2bは、今まで実行させていたコンテンツ中継処理を停止することにより、脱退するノード2eに対するコンテンツの配信を停止させる。その後、ノード2bは、上記コンテンツの配信停止処理と並行してノード2b内のノード管理情報からノード2eに係る情報を削除することで、当該ノード2eとの接続を断とする。これにより、当該ノード2bから脱退するノード2eへのコンテンツの配信は停止される。ここで、脱退するノード2eの直近下流側に他のノード(図3に例示する場合は、ノード2j及び2k)が存在していた場合には、以下に説明する二つの方法のうちいずれかを用いて、当該下流側のノード2に対するコンテンツの配信経路の復元処理を行う。
即ち、当該復元処理の第一例として、配信システムSを構成している各ノード2(ノード2j及び2kを含む)は、それに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視している。そして、コンテンツの配信状態が悪化したこと(図3(a)において「×」マークにて示す)を契機として直近上流側のノード2(2e)が脱退したものと見なし、当該ノード2(2e)との接続を断とし、新たな他の上流ノード2との再接続処理(図2参照)を開始する。
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、配信システムSに参加している各ノード2は図3(a)に例示する配信状態の監視方式の如き監視処理は実行していない。そして、ノード2eが配信システムSとしてのトポロジから脱退する際、上記データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信すると共に、直近下流に接続されているノード2j及び2kに対して、自身が脱退する旨の脱退報告メッセージMG7を夫々送信する。そして、当該ノード2j及び2kは、直近上流側にあったノード2eからの上記脱退報告メッセージMG7を夫々受信すると、当該ノード2eとの接続状態を断とし、新たな他の上流ノード2との再接続処理(図2参照)を開始する。
以上夫々説明した処理により、配信システムSにおいてノード2eが脱退した後も、その直近下流にあったノード2j及び2kに対するコンテンツの配信が継続されることとなる。
(IV)実施形態に係る近隣ノードキャッシュ情報について
次に、実施形態に係る放送局1及び各ノード2が逐次更新しつつ記憶している、実施形態に係る近隣ノードキャッシュ情報について、図4を用いて説明する。
実施形態に係る配信システムSに参加している放送局1及び各ノード2は、各ノード2の再接続処理に係る再接続先の選択肢たる他のノード2におけるコンテンツの配信状態等を、近隣ノードキャッシュ情報100として更新しつつ記憶している。
ここで、「再接続先の選択肢たる近隣ノード」は、例えば、注目するノード2の直近上流側に接続されているノード2の更に上流側又は下流側に接続されている他のノード2のうち、注目するノード2から予め決められたホップ数内に接続されているノード2が充てられる。図4に例示する場合、注目するノード2がノード2oであるとき、当該ノード2oからその直近上流側に接続されているノード2fを介して三ホップ以内に接続されている六つのノード2f、2b、2e、2n、2ab及び2ac(図4において破線で示す)が、「再接続先の選択肢たる近隣ノード」ということになる。なお、放送局1についての近隣ノードとは、その下流側に接続されるノード2のうち上記予め決められたホップ数内に接続されているノード2であることになる。
そして、ノード2o内に記憶されている近隣ノードキャッシュ情報100としては、図4に例示するように、近隣ノードとしての各ノード2f、2b、2e、2n、2ab及び2ac夫々について、IPアドレス情報101、受信品質情報102、中継品質情報103及び中継数情報104が含まれている。
このとき、当該IPアドレス情報101は、近隣ノードに該当する各ノード2夫々のIPアドレスを示す情報である。
また、受信品質情報102は、対応する近隣ノードがその直近上流側に接続されている他のノード2からコンテンツの配信を受ける際の品質を示す情報である。このとき、受信品質情報102は、具体的には、例えば受信したコンテンツデータに係る平均パケットレートや平均パケット損失率、或いは到着揺らぎ量(ジッタ量)を指標として当該受信品質を示すものである。
更に、中継品質情報103は、対応する近隣ノードがその直近下流側に接続されている他のノード2に対してコンテンツを配信する(中継する)際の品質を示す情報である。このとき、当該中継品質情報103は、具体的には、その直近下流側に接続されている他のノード2から送信されて来る上記受信品質情報102をもって、当該ノード2自体における中継品質情報103と見なすことが可能である。
最後に、中継数情報104は、対応する近隣ノードの直近下流側に接続されている他のノード2の数(実施形態に係る配信システムSの場合は最大で「2」であり最小は「0」)を示す情報である。図4に例示する場合、ノード2ab及び2acは配信システムSのトポロジにおける最下層に接続されているため、対応する中継数情報104の値は夫々「0」となる。
そして、本実施形態に係る再接続処理においては、当該近隣ノードキャッシュ情報100として記憶されている他のノード2のいずれかに対して、再接続処理が実行されることとなる。なお、当該再接続先たる他のノード2の選択方法については、後ほど(VI)欄において詳述する。
(V)実施形態に係る再接続処理の概要
次に、実施形態に係る再接続処理の概要について、初めに一般的に図5を用いて説明する。なお、図5において、図4に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
また、実施形態に係る再接続処理としては、上流側にあるノード2の脱退に伴う上述(図3参照)した再接続(当該ノード2からの配信量が短時間でゼロになる場合の再接続)処理と、例えば上流側にあるノード2との間のネットワーク上に何らかの障害が発生した(図5において△印で示す)等の理由により当該ノード2からの配信量が段階的に減少していった後にゼロになる場合に対処するための再接続処理と、の双方を含む概念である。
より具体的に、図5に例示する実施形態に係る配信システムSにおいて、各ノード2はそれに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視している。そして、例えば図5に示すノード2oとノード2fとの間で上記障害等(図5△印参照)が発生したとする。この場合、ノード2oは、当該障害等に起因して例えばノード2o自体への配信量が徐々に低下していくことが認識できる。これにより、ノード2oは当該配信量が例えば予めノード2o内に記憶されている閾値配信量を下回る配信量となると、ノード2fに対して、データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する。
次に、ノード2oは、当該ノード2oにおける再接続に係る新たな接続先たる他のノード2を、自ら記憶している近隣ノードキャッシュ情報100に含まれている他のノード2の中から選択する。この選択方法については、後ほど(VI)欄において詳述する。
そして、選択された他のノード2(図5に例示する場合はノード2b)に対して、再接続のための接続要求メッセージMG3を送信する。これにより、当該ノード2bから接続許可応答メッセージMG4が返信されて来ると、ノード2oは当該ノード2bの直近下流側に接続(再接続)される。その後、放送局1から配信されるコンテンツに相当するコンテンツデータの配信が、ノード2oに対してノード2bを介して再開される。
最後に、再接続されたノード2oは、当該再接続処理が完了した旨の再接続完了メッセージRPを接続先紹介サーバ3に送信し、当該ノード2oとしての再接続処理を完了する。この再接続完了メッセージRPには、当該再接続された直近上流側のノード2(図5に例示する場合はノード2b)を示すIPアドレス等の情報が含まれている。
(VI)実施形態に係る再接続先の選択方法
次に、実施形態に係る再接続先の選択方法について、図6を用いて説明する。なお、図6において、図4及び図5に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
図5を用いて説明したように、実施形態に係る各ノード2は、再接続が発生した場合、その再接続結果としての新たな接続先を示す情報を含む上記再接続完了メッセージRPを、当該再接続処理が完了する度に接続先紹介サーバ3に送信する。
これにより、接続先紹介サーバ3は、予め設定された単位時間(例えば、一分)当たりに受信した接続完了メッセージRPの数(換言すれば、当該単位時間内に配信システムS内において発生した再接続の数)を記憶する。
そして、接続先紹介サーバ3は、当該記憶されている単位時間当たりに受信した接続完了メッセージRPの数を示す情報(以下、当該情報を発生数情報MPと称する)を、放送局1に送信する。
これにより、当該発生数情報MPを受信した放送局1は、当該発生数情報MPを配信システムSのトポロジを経由して各ノード2に等しく配信する。
一方、当該発生数情報MPを受信した各ノード2では、配信システムS全体における上記単位時間当たりの再接続の発生数に対応して予め設定された閾値発生数を示す情報を各ノード2毎に記憶している。
そして、受信した発生数情報MPにより示される再接続の単位時間当たりの発生数が閾値発生数以上であるときは、次回の再接続処理における再接続先たる他のノード2を、自らが記憶している近隣ノードキャッシュ情報100の中からランダムに選択する(以下、当該選択法をランダム選択法と称する)。一方、単位時間当たりの発生数が当該閾値発生数未満であるときは、次回の再接続処理における再接続先たる他のノード2を、近隣ノードキャッシュ情報100に含まれている他のノード2のうち最も再接続に適したノード2とするように選択する(以下、当該選択法を最適選択法と称する)。ここで、当該最適選択法として具体的には、例えば、平均パケットの損失率が最も小さい上流側のノード2を選ぶ方法、パケット転送における遅延が最も少ない上流側のノード2を選択する方法、又はネットワーク10としての帯域幅が最も大きい上流側のノード2を選択する方法等が考えられる。
これにより、単位時間当たりの再接続の発生数が閾値発生数以上であるとき、即ち配信システムS全体としてトポロジが不安定な状態であると判定されるときにはランダム選択法により再接続先を選ぶことで、再接続先が複数のノード2間で衝突することを防止できる。一方、単位時間当たりの再接続の発生数が閾値発生数未満であるとき、即ち当該トポロジが安定な状態であると判定されるときには最適選択法により再接続先を選ぶことで、よりよい配信状態の再接続先を選択することができることとなる。
(VII)再接続先の選択方法の変形形態
次に、本発明に係る再接続先の変形形態についてを、図7を用いて説明する。なお、図7において、図4乃至図6に示した部材と同様の部材については、同一の部材番号を付して細部の説明は省略する。
図6に示した実施形態に係る再接続先の選択方法においては、配信システムS全体として一つの発生数情報MPを生成/配信する場合について説明した。しかしながらこれ以外に、配信システムS全体を複数のセグメントSGに分割し、各セグメントSG毎に発生数情報を生成して配信するように構成することもできる。なお、この場合、各ノード2は、自身がいずれのセグメントSGに属しているかが認識可能とされている。
即ち図7に例示するように、変形形態に係る接続先紹介サーバ3は、配信システムSに属する各ノード2を、トポロジ上の区分毎に例えば三つのセグメントSG1乃至SG3に分類してそのトポロジ情報等を記憶している。そして、接続先紹介サーバ3は、各ノード2から夫々送信されて来る上記再接続完了メッセージRPに基づき、当該分類したセグメントSG毎に、単位時間当たりの再接続の発生数を記憶する。
次に、接続先紹介サーバ3は、記憶している発生数に基づき、各セグメントSG毎の単位時間当たりの再接続の発生数を示す情報を当該各セグメントSG毎に識別可能に含む発生数情報MP1を生成し、実施形態に係る発生数情報MPに代えて各ノード2に配信する。
これにより、当該発生数情報MP1を受信した各ノード2は、自身が属しているセグメントSGにおける発生数を示す情報を当該発生数情報MP1内から抽出し、当該抽出した情報を用いて実施形態に係るノード2と同様の手法で再接続先を選択する。
この変形形態に係る再接続先の選択方法によれば、配信システムS全体を複数のセグメントSGに分割した上で、各セグメントSG毎に再接続先の選択方法が変えられることになる。よって、各セグメントSGの現在の状態に適応してより効率的且つ適切に再接続先の選択方法を制御することができる。
次に、上記実施形態に係る配信システムSに属する放送局1、各ノード2及び接続先紹介サーバ3夫々の具体的な構成及び処理について、実施例として図8至図17を用いて説明する。
なお、図8は実施例に係る放送局1の細部構成を示すブロック図であり、図9は実施例に係る各ノード2の細部構成を共通的に示すブロック図であり、図10は実施例に係る接続先紹介サーバ3の細部構成を示すブロック図である。また図11乃至図14は当該各ノード2において実行される実施例に係る処理を共通的に夫々示すフローチャートであり、図15及び図16は当該放送局1において実行される実施例に係る処理を示すフローチャートであり、図17は当該接続先紹介サーバ3において実行される実施例に係る処理を夫々示すフローチャートである。
始めに、実施例に係る放送局1の概要構成及び概要動作について、図8を用いて説明する。
図8に示すように、実施例に係る放送局1は、制御部11と、記憶部12と、暗号化用アクセラレータ13と、エンコーダ部14と、通信部15と、入力部16と、を備えて構成され、これらの構成要素は、バス17を介して相互に接続されている。
このとき、制御部11は、演算機能を有するCPU、作業用RAM(Random Access Memory)並びに各種データ及びプログラム(OS(Operating System)及び各種アプリケーションプログラムを含む。以下、同様。)を記憶するROM(Read Only Memory)等から構成されている。また、記憶部12は、上記コンテンツデータ(パケット)を記憶保存するためのHDD(Hard Disk Drive)等から構成されている。更に、暗号化用アクセラレータ13は、暗号鍵を用いてコンテンツデータを暗号化するために用いられる。
一方、エンコーダ部14は、コンテンツデータを規定のデータ形式へ変換する。また、通信部15は、通信回線等を介してノード2等との間の情報の通信制御を行う。更に、入力部16は、例えば、キーボード又はマウス等からなり、使用者(オペレータ)からの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える。
以上の構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを実行することにより放送局1全体を統括制御し、後述する実施形態に係る各処理を実行する。これに加えて、制御部11は、通常の処理として、記憶部12に記憶保存されたコンテンツデータをエンコード部14を用いてデータ形式を変換した後、暗号鍵を用いて暗号化用アクセラレータ13により暗号化させ、更に当該コンテンツデータを所定のデータ量に分割して連続する複数の上記パケットを生成し、これを通信部15を介してノード2(図1乃至図7に示す例では、ノード2a及び2b)に対してストリーム配信する。
また、制御部11は、当該コンテンツデータの配信先を、記憶部12に記憶されたトポロジテーブルを参照して決定する。このトポロジテーブルには、少なくとも、放送局1と接続されるノード2(換言すれば、コンテンツデータの配信先であるノード2)のIPアドレス及びポート番号が記述されている。
次に、実施例に係る各ノード2の概要構成及び概要動作について、図9を用いて説明する。なお、実施例に係る各ノード2は基本的に同一の構成を備える。
図9に示すように、実施例に係るノード2は、再接続制御手段及び再接続手段としての制御部21と、記憶手段としての記憶部22と、バッファメモリ23と、復号化アクセラレータ24と、デコーダ部25と、映像処理部26と、表示部27と、音声処理部28と、スピーカ29と、取得手段としての通信部29aと、入力部29bと、IC(Integrated Circuit)カードスロット29cと、を備えて構成され、制御部21、記憶部22、バッファメモリ23、復号化アクセラレータ24、デコーダ部25、通信部29a、入力部29b及びICカードスロット29cは、バス29dを介して相互に接続されている。
このとき、制御部11は、演算機能を有するCPU、作業用RAM、各種データ及びプログラムを記憶するROM等から構成されている。
また、記憶部22は、各種データ及びプログラム等を記憶するHDD等から構成されている。そして、接続先紹介サーバ3から放送局1を介して配信されてくる上記発生数情報MP(又は変形形態に係る発生数情報MP1)、対象ノード2に係る上記閾値発生数を示す情報、後述する受信品質管理情報(図11ステップS17参照)並びに品質パラメータを、その不揮発性記憶領域に記憶する。なお、当該品質パラメータとは、コンテンツ配信における後述する中継品質の判定処理(図13ステップS40参照)において、当該中継品質が悪化したか否かの判定に係る閾値となる配信量に相当するパラメータである。
更にバッファメモリ23は、受信したコンテンツデータを一時的に蓄積(記憶)する。
一方、復号化アクセラレータ24は、バッファメモリ23に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化する。また、デコーダ部25は、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード(データ伸張等)して再生する。更に、映像処理部26は、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する。
他方、表示部27は、CRT(Cathode Ray Tube)又は液晶ディスプレイ等からなり、映像処理部26から出力された映像信号に基づき対応する映像を表示する。また、音声処理部28は、上記再生されたオーディオデータをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。更に、スピーカ部29は、当該音声処理部28から出力された音声信号を音波として出力する。
また、通信部29aは、通信回線等を介して放送局1や他のノード2等との間の通信制御を行う。更に、入力部29bは、例えば、マウス、キーボード及び操作パネル或いはリモコン等からなり、使用者(視聴者)からの各種指示に対応する指示信号を制御部21に対して出力する。そして、ICカードスロット29cは、ICカード29eに対する情報の読み書きを行う。
ここで、ICカード29eは、耐タンパ性があり、例えば、配信システムSの運営者等から各ノード2の使用者に配布されるものである。このとき、「耐タンパ性」とは、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されていることを言う。このICカード29eは、CPUからなるICカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory)等を備えて構成されている。当該不揮発性メモリには、ユーザID、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード2が配信システムSに参加する際に、上述した上流ノード紹介要求メッセージMG1(当該ノード2の所在情報が含まれる)と共に接続先紹介サーバ3に送信される。
一方、バッファメモリ23は、例えばFIFO(First In First Out)形式のリングバッファメモリから構成されており、制御部21の制御下、受信ポインタにより示される記憶領域に通信部29aを通じて受信されたコンテンツデータを一時的に蓄積する。
このとき、制御部21は、それに含まれるCPUが記憶部22等に記憶されたプログラムを読み出して実行することによりノード2全体を統括制御し、後述する実施形態に係る各処理を実行する。これに加えて、制御部21は、通常の処理として、上流から配信されてきた複数のパケットを通信部29aを通じて受信してバッファメモリ23に書き込み、且つ、当該バッファメモリ23に蓄積されているパケット(一定時間過去に受信されたパケット)を読み出して通信部29aを通じて下流のノード2に送信(中継)する。一方、バッファメモリ23は、再生ポインタにより示される当該バッファメモリ23の記憶領域に蓄積されているパケットを読み出し、バス29dを介して復号化アクセラレータ24やデコーダ部25に出力する。
なお、上記プログラムは、例えば、ネットワーク10上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD(Compact Disk)−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
最後に、実施例に係る接続先紹介サーバ3の概要構成及び概要動作について、図10を用いて説明する。
図10に示すように、実施例に係る接続先紹介サーバ3は、検出手段及び生成手段としての制御部35と、記憶部36と、送信手段としての通信部37と、を備えて構成され、これらの構成要素は、バス38を介して相互に接続されている。
このとき、制御部35は、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されている。また、記憶部36は、各種データ等を記憶保存するためのHDD等から構成されている。更に、通信部37は、ネットワーク10又は他の伝送経路を通じてノード2等との間の情報の通信制御を行う。
この構成において、記憶部36内には、配信システムSに参加している放送局1及び各ノード2の所在情報と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ情報と、が記憶されたデータベースが蓄積・記憶されている。これに加えて、記憶部36には、配信システムSにその時点で属しているノード2毎に、当該ノード2から送信されてきた上記再接続完了メッセージRPが蓄積・記憶される。
そして、制御部35は、それに含まれるCPUが記憶部36等に記憶されたプログラムを実行することにより接続先紹介サーバ3全体を統括制御し、上記記憶されている再接続完了メッセージRPを用いて実施形態に係る発生数情報MPの生成/送信処理等を実行する。これに加えて、制御部35は、通常の処理として、未参加のノード2、例えば、図2に例示するノードNから上記上流ノード紹介要求メッセージMG1が送信されてきたとき、上述した認証処理(例えば参加要求に付加されたデジタル証明書の有効性の判定処理等)を行い、有効であれば、当該ノードNの所在情報とデジタル証明書のダイジェストとを、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記データベースに記憶する。
また、制御部35は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージMG1を送信してきたノードNに対して、接続先候補となる上流ノード2の所在情報及び階層レベル情報(当該上流ノード2が第何階層に存在するかを示す情報)を含む上記上流ノード候補メッセージMG2を通信部37を通じて送信する。
そして、当該上流ノード候補メッセージMG2を受信したノードNにおいては、接続先候補となる上流ノード2が上流ノード候補メッセージMG2内に複数含まれていた場合、当該各上流ノード2の配信システムS内でのネットワーク近接度が比較される。これにより、最も近い位置に存在する上流ノード2が選定されて、当該上流ノード2との間で上記接続要求メッセージMG3及び接続許可応答メッセージMG4の授受が為されて接続が確立される。その後、当該接続が確立された上流ノード2の所在情報が接続先紹介サーバ3に対して送信(返信)される。これに対して、制御部35は、当該ノードNに関するトポロジ情報を上記データベースに記憶する。
次に、上述した構成を備えるノード2、放送局1及び接続先紹介サーバ3における実施例に係る処理について、具体的に図11乃至図17を用いて説明する。
(I)ノードとしての処理
先ず、配信システムSに係るノード2における処理について、図11乃至図14を用いて説明する。ここで、実施例に係る各ノード2においては、全て、図11乃至図14に示す処理と同一の処理が夫々に実行されている。
また、図11においては、実施例に係る各ノード2において実行される上記参加処理及び再接続処理(ステップS1乃至S15(図2参照))から、受信したパケットの中継処理及び再生処理(ステップS16乃至S20)までを説明する。
図11に示すように、実施例に係るいずれかのノード2(以下、図11乃至図14を用いてその処理を説明するノード2を、対象ノード2と称する)において、その電源スイッチがオンとされて対象ノード2における主電源及び補助電源がオンとされると、最初に対象ノード2内に記憶されているプログラムや各構成部材夫々が制御部21によって初期化される(ステップS1)。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード2に対する電源供給が全て断とされるまでオンとされている電源である。
そして、当該初期化が完了すると、次に、対象ノード2の制御部21は、配信システムSにその対象ノード2が参加する旨(即ち、選択されたチャンネルに相当するコンテンツデータの受信を希望する旨)の操作が為されたか否かを確認する(ステップS2)。この確認処理は、例えば、対象ノード2の制御部21が、例えば視聴を希望する放送局1に相当するチャンネルを選択する操作がそのユーザにより対象ノード2の入力部29bにおいて実行されたか否かを確認することにより実行される。
そして、当該操作が実行されたときは(ステップS2;YES)、制御部21は、実際に配信システムSに参加するための上流ノード紹介要求メッセージMG1を接続先紹介サーバ3に送信する(ステップS3)。
その後、制御部21は、対象ノード2における上記電源スイッチがオフとされたか否かを確認し(ステップS4)、オフとされていないときは(ステップS4;NO)、制御部21は、上記ステップS2に戻って一連の処理を繰り返す。
一方、ステップS4の確認において、電源スイッチがオフとされたときは(ステップS4;YES)、上記主電源をオフとし、それまで参加していた配信システムSから脱退する処理(図3参照)を実行した後に上記補助電源もオフとして(ステップS5)、対象ノード2としての処理を終了する。
他方、上記ステップS2の確認において、第一回目の当該ステップS2の判定として上記参加の旨の操作がされていないか、又は第二回目以降の当該ステップS2の判定として上流ノード紹介要求メッセージMG1を接続先紹介サーバ3へ送信後であるときは(ステップS2;NO)、制御部21は、対象ノード2において上記再接続処理を自律的に実行すべきとされているか否か(後記図13ステップS44参照)を確認する(ステップS6)。
そして、当該再接続処理を実行すべきされているとき(ステップS6;YES)、制御部21は、次に対象ノード2の記憶部22内に記憶されている近隣ノードキャッシュ情報100がその時点で有効であるか否か(実際に記憶されているか否か)を確認する(ステップS7)。これにより、当該近隣ノードキャッシュ情報100が有効でないときは(ステップS7;NO)、制御部21は、上記ステップS3に移行してそれ以降の処理を実行する。
一方、ステップS7の確認において、近隣ノードキャッシュ情報100が対象ノード2内において有効であると確認されたときは(ステップS7;YES)、制御部21は、次に、それまでに放送局1を介して受信した発生数情報MPの内容を確認する。この確認処理として制御部21は、例えば、過去一分間において配信システムS内で発生した再接続の回数が上記閾値発生数未満であるか否かを確認する(ステップS8)。
ここで、当該閾値発生数として具体的には、例えば、配信システムSに参加しているノード2の全数の三分の一に相当する数が閾値発生数として予め対象ノード2の記憶部22に不揮発性に記憶されている。なお、当該閾値発生数は、経験的或いは実験的に予め決めされているものである。
また、一つのノード2において過去一分間に複数回の再接続が発生した場合、上記再接続の回数としては、当該複数回をそのまま計数してもよいし、再接続が発生したノード2自体の数に着目して「過去一分間に一台」と計数としてもよい。
そして、過去一分間において配信システムS内で発生した再接続の回数が閾値発生数未満であると確認されたときは(ステップS8;YES)、現在の配信システムS全体としてはトポロジが安定しているとして、制御部21は、上記最適選択法により対象ノードキャッシュ情報100に含まれているノード2の中から再接続先たるノード2を選択する(ステップS9)。
一方、ステップS8の確認において、当該再接続の回数が閾値発生数以上であると確認されたときは(ステップS8;NO)、当該トポロジが現在は不安定であるとして、制御部21は、上記ランダム選択法により対象ノードキャッシュ情報100に含まれているノード2の中から再接続先たるノード2を選択する(ステップS10)。
次に、制御部21は、上記ステップS9又はS10の処理により選択されたノード2に対していわゆるNAT(Network Address Translation)越え処理を実行する(ステップS11)。
ここで、当該NAT越え処理とは、異なるネットワークセグメント間でパケットの授受を実行するため、ネットワークセグメント毎に設定されているゲートウエイを越える処理を実行するものである。
当該NAT越え処理が完了したら、制御部21は、実際のパケットの配信を受けるべく、当該NAT越え処理の対象となったノード2に対して、上記接続要求メッセージMG3を送信する(ステップS12)。
そして、上記上流ノード紹介要求メッセージMG3を送信した後は、制御部21は、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを上流側の接続先に向けて送信する(ステップS13)。このとき、当該データ送信開始要求メッセージには、例えばLAN(Local Area Network)におけるゲートウエイのMAC(Media Access Control)アドレスと、当該対象ノード2がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジに対する参加報告メッセージを送信し(ステップS14)、その後、上記ステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、上記ステップS6の確認において、対象ノード2において上記再接続処理を実行すべきとされていないときは(ステップS6;NO)、制御部21は、次に上流ノード紹介要求メッセージMG1に対する応答としての上記上流ノード候補メッセージMG2を接続先紹介サーバ3から受信したか否かを確認する(ステップS15)。
そして、当該上流ノード候補メッセージMG2を受信しているときは(ステップS15;YES)、制御部21は、上流ノード候補メッセージMG2の中から接続対象となる他のノード2を選択し、その選択したノード2に対して上記ステップS11乃至S14の処理を実行する。
他方、上記ステップS15の判定において、既に参加処理及び上流ノードとの接続処理が完了しているときは(ステップS15;NO)、制御部21は、当該参加後に新たなパケットを上流側の他のノード2から受信したか否かを制御部21において確認する(ステップS16)。
そして、当該上流側のノード2からパケットを受信していない場合(ステップS16;NO)は、制御部21は、後述の図12に示す処理に移行する。一方、パケットを受信した場合には(ステップS16;YES)、そのパケットの受信態様に基づいて、記憶部22及び制御部21において管理している受信品質統計情報を更新する(ステップS17)。
ここで、受信品質統計情報とは、具体的には、各ノード2が受信したパケットの量等に基づいて算出された、例えば過去一分間の平均パケットレート又は平均パケット損失率或いはパケット到着時の揺らぎ量(ジッタ量)を示す情報である。そして、この受信品質統計情報としての平均パケットレート等が悪化してくると、それは即ち当該ノード2に対するコンテンツの配信状態が悪化したものと見なすことができる(例えば、図5△印参照)。
次に、制御部21は、対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS18)。これにより、当該下流側のノード2が存在している場合は(ステップS18;YES)、制御部21は、当該下流側のノード2に対して必要なパケットを中継しつつ(ステップS19)、受信したパケットを自らのデコーダ部25へ出力し、復号したコンテンツを映像処理部26及び音声処理部28を用いて再生し(ステップS20)、その後上記ステップS4の処理に移行して上述した一連の処理を繰り返す。なお、上記ステップS18の判定において、下流側のノード2が存在していない場合は(ステップS18;NO)、制御部21は、そのまま上記ステップS20に移行して自らにおける再生処理を実行する。
次に、上記ステップS16の処理において、上流側のノード2からパケットを受信していない場合(ステップS16;NO)以降の処理について、図12を用いて説明する。なお、図12においては、実施例に係る対象ノード2において実行される上記脱退処理(ステップS25乃至S28)、当該対象ノード2の下流側において新たに参加する他のノード2の当該参加処理及び脱退処理(ステップS29乃至S32)並びに実施例に係るコンテンツデータの配信開始から終了までの処理(ステップS33乃至S36)について夫々説明する。
図11に示すステップS16の判定において、パケットを受信していないときは(ステップS16;NO)、制御部21は、図12に示すように、パケット受信待ちの状態で対象ノード2において配信システムSから脱退する旨の操作が為されたか否かを確認する(ステップS25)。
ステップS25の監視処理中において当該脱退する旨の操作が為されたときは(ステップS25;YES)、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS26及びS27。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS28)、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS25の判定において、上記脱退する旨の操作が為されないときは(ステップS25;NO)、制御部21は、当該操作の監視中において下流側に接続されている他のノード2から新たな接続要求メッセージMG3又は接続解除要求メッセージMG6が送信されてきているか否かを確認する(ステップS29、S31)。
これにより、当該接続要求メッセージMG3が送信されてきているときは(ステップS29;YES)、制御部21は、当該接続要求メッセージMG3に対応して当該下流側の他のノード2の所在情報を記憶部22に記憶されているノード管理情報内に追加(登録)することで当該下流側の他のノード2に対する接続処理を実行し(ステップS30)、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS29及びS31の判定において、新たな接続要求メッセージMG3は受信していないが(ステップS29;NO)、新たな接続解除要求メッセージMG6を受信しているときは(ステップS31;YES)、制御部21は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行し(ステップS32)、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
更に、ステップS31の判定において、新たな接続解除要求メッセージMG6も受信していないときは(ステップS31;NO)、制御部21は、下流側に接続されている他のノード2から上記データ送信開始要求メッセージを受信しているか否かを確認する(ステップS33)。
そして、当該データ送信開始要求メッセージを受信しているときは(ステップS33;YES)、制御部21は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信し(ステップS34)、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS33の判定において、データ送信開始要求メッセージを受信していないときは(ステップS33;NO)、制御部21は、下流側の他のノード2から上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS35)。そして、当該データ送信停止要求メッセージMG5も受信していないときは(ステップS35;NO)、制御部21は、後述の図13に示す処理に移行する。一方、当該データ送信停止要求メッセージMG5を受信した場合には(ステップS35;YES)、制御部21は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止し(ステップS36)、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS35の判定においてデータ送信停止要求メッセージMG5も受信していない場合(ステップS35;NO)以降の処理について、図13を用いて説明する。なお、図13においては、実施例に係る対象ノード2において実行される再接続処理の実行の是非判断処理(ステップS40乃至S44)及び後述の近隣ノード情報の伝送処理(ステップS45乃至S53)について夫々説明する。
図12に示すステップS35の判定において、データ送信停止要求メッセージMG5も受信していないときは(ステップS35;NO)、制御部21は、図13に示すように、対象ノード2において、上流側のノード2からのコンテンツの配信状態が悪化したか否かを確認する(ステップS40)。
このステップS40における判定方法として具体的には、その時点で対象ノード2の記憶部22に記憶されている上記品質パラメータにより示される配信量よりも対象ノード2への実際の配信量が低下したか否かを確認する。即ち、制御部21は、品質パラメータが例えばパケットレートの下限値である場合には、上記実際の配信量が当該下限値を下回ったか否か(下回った場合に悪化)を確認する。一方、品質パラメータが例えばパケットの損失率の上限値である場合には、上記実際の配信量に係るパケットの損失率が当該上限値を上回ったか否か(上回った場合に悪化)を確認する。
ステップS40の確認処理において、当該配信状態が悪化したと確認された場合(ステップS40;YES)、制御部21は、その時点から実施例に係る再接続処理を開始する。より具体的には、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS41、S42。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS43)、その後、図5に示した再接続処理を実行する旨の設定を当該制御部21内において行い(ステップS44)。その後、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、上記ステップS40の判定において、配信状態が悪化していないときは(ステップS40;NO)、制御部21は、上流側のノード2から近隣ノード情報を受信したか否かを確認する(ステップS45。後記ステップS48参照)。
ここで、当該近隣ノード情報とは、対象ノード2内に記憶されている近隣ノードキャッシュ情報100を、該当するノード2について更新するために上流側のノード2から送信されてくるものである。当該近隣ノード情報として具体的には、図4に例示した如く、該当するノード2一つ分についての、IPアドレス情報101、受信品質情報102、中継品質情報103及び中継数情報104が含まれている。
そして、いずれかのノード2についての近隣ノード情報を受信したときは(ステップS45;YES)、制御部21は、受信した近隣ノード情報に対応するノード2が近隣ノードキャッシュ情報100に近隣ノード情報が含まれているノード2であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報100を更新する(ステップS46)。なお、ステップS46の処理において、受信した近隣ノード情報が近隣ノードキャッシュ情報100に含まれるノード2のものでなかった場合は、当該近隣ノードキャッシュ情報100を更新することなく次のステップS47に移行する。
次に、制御部21は、対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS47)。これにより、下流側のノード2が存在している場合は(ステップS43;YES)、制御部21は、ステップS45の処理において受信していた新しい近隣ノード情報を当該下流側のノード2に転送する(ステップS48)。その後、制御部21は、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。また、ステップS47の判定において、下流側のノード2が存在していない場合は(ステップS47;NO)、制御部21は、そのまま図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、上記ステップS45の判定において、上流側のノード2からは近隣ノード情報を受信していないときは(ステップS45;NO)、制御部21は、次に下流側のノード2から近隣ノード情報を受信したか否かを確認する(ステップS49)。
そして、下流側のノード2から近隣ノード情報を受信したときは(ステップS49;YES)、制御部21は、受信した近隣ノード情報に対応するノード2が近隣ノードキャッシュ情報100に近隣ノード情報が含まれているノード2であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報100を更新する(ステップS50)。なお、ステップS50の処理において、下流側から受信した近隣ノード情報が近隣ノードキャッシュ情報100に含まれるノード2のものでなかった場合は、当該近隣ノードキャッシュ情報100を更新することなく次のステップS51に移行する。
その後、制御部21は、ステップS49の処理において受信していた新しい近隣ノード情報を上流側のノード2に転送し(ステップS51)、その後、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、ステップS49の判定において、下流側のノード2からも近隣ノード情報を受信していないときは(ステップS49;NO)、制御部21は、対象ノード2が配信システムSのトポロジにおける末端のノード2(例えば、図4に例示するノード2ac等)であり且つ予め設定されている近隣ノード情報の送信タイミングが到来しているか否かを確認する(ステップS52)。ここで、当該近隣ノード情報の送信タイミングとは、例えば一分間に一回と予め決められたタイミングである。
そして、当該送信タイミングが到来しているとき(ステップS52;YES)、制御部21は、上流側のノード2に対し、近隣ノード情報として自らに相当する近隣ノード情報を送信する(ステップS53)。このとき、ステップS53の処理により送信される近隣ノード情報には、対象ノード2自体に係る上記IPアドレス情報101、受信品質情報102及び中継数情報104のみが含まれていることになる。
なお、ステップS53の処理内容から明らかなように、配信システムS内を伝送される上記近隣ノード情報は、配信システムSのトポロジにおいて末端に接続されているノード2を初期生成ノードの一つとして初期生成されるものである。また、後述する図16のステップS78において示されるように、当該近隣ノード情報は、当該トポロジの最上位に接続される放送局1においても初期生成される。
ステップS53の処理を実行した後は、制御部21は、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS52の確認において近隣ノード情報の送信タイミングが到来していないときは(ステップS52;NO)以降の処理について、図14を用いて説明する。なお、図14においては、実施例に係る対象ノード2において実行される発生数情報MPに関する処理(ステップS55乃至S58)及び受信品質情報の授受に関する処理(ステップS59乃至S62)について夫々説明する。
上記ステップS52の確認において近隣ノード情報の送信タイミングが到来していないときは(ステップS52;NO)、図14に示すように、制御部21は、上流側のノード2を介して発生数情報MPが送信されてきたか否かを確認する(ステップS55)。
そして、新たな発生数情報MPが送信されてきたときは(ステップS55;YES)、制御部21は、前回のステップS55の処理において受信して記憶部22に記憶していた発生数情報MPを新たな発生数情報MPを用いて更新する(ステップS56)。
次に、制御部21は、対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS57)。これにより、下流側のノード2が存在している場合は(ステップS57;YES)、制御部21は、ステップS55の処理において受信していた新しい発生数情報MPを当該下流側のノード2に転送する(ステップS58)。その後、制御部21は、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。また、ステップS57の判定において、下流側のノード2が存在していない場合は(ステップS57;NO)、制御部21は、そのまま図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS55の確認において、新たな発生数情報MPが送信されてきていないときは(ステップS55;NO)、制御部21は、予め設定されている上流側のノード2への対象ノード2におけるコンテンツの受信品質を示す情報の送信タイミング(例えば一分間に一度)が到来しているか否かを確認する(ステップS59)。このとき、当該受信品質を示す情報は、例えば当該対象ノード2における上記受信品質統計情報に相当するものであり、例えば過去一分間の平均パケットレート又は平均パケット損失率或いはパケット到着時の揺らぎ量(ジッタ量)を示す情報である。
そして、当該送信タイミングが到来しているときは(ステップS59;YES)、制御部21は、当該受信品質を示す情報を上流側のノード2に送信し(ステップS60)、以後図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS59の確認において、受信品質を示す情報の送信タイミングが到来していないときは(ステップS59;NO)、制御部21は、下流側のノード2から上記受信品質を示す情報が送信されてきたか否かを確認する(ステップS61)。そして、当該情報が送信されてきたときは(ステップS61;YES)、当該情報により示されている下流側のノード2における受信品質を、対象ノード2自らの中継品質と見なして記憶部22内に記憶させると共に、対応する近隣ノードキャッシュ情報100内の対応する受信品質情報102を更新する(ステップS62)。
そして、受信品質を示す情報が送信されて来ていないとき(ステップS61;NO)、又は上記ステップS62の処理が終了したときは、制御部21は、図11に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
(II)放送局としての処理
次に、実施例に係る放送局1における処理について、具体的に図15及び図16を用いて説明する。
当該実施例に係る放送局1においては、先ず図15に示すように、放送局1としての電源スイッチがオンとされると、制御部11は、最初に放送局1内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2に対するコンテンツの送信や接続先紹介サーバ3からのメッセージ等の受信を可能とする(ステップS70)。
次に、当該初期化が完了すると、制御部11は、配信システムSの(即ち放送局1の)管理者により、配信システムSとしてのコンテンツの配信を開始又は停止する旨の操作が当該放送局1の入力部16において実行されたか否かを確認する(ステップS71)。そして、制御部11は、当該操作が為されていると判断したときは(ステップS71;YES)、当該操作に基づいて対応するコンテンツのパケットの配信システムS内への配信を開始又は停止する(ステップS72)。
その後、制御部11は、放送局1における上記電源スイッチがオフとされたか否かを確認する(ステップS73)。そして、オフとされていないときは(ステップS73;NO)、制御部11は、上記ステップS71に戻って上述してきた一連の処理を繰り返す。一方、ステップS73の判定において、電源スイッチがオフとされたときは(ステップS73;YES)、制御部11は、放送局1としての主電源をオフとし、放送局1としての処理を終了する。
一方、ステップS71の判定において、コンテンツの配信を開始又は停止する旨の操作が為されていると判断されないときは(ステップS71;NO)、制御部11は、次に、各ノード2からの上記接続要求メッセージMG3又は接続解除要求メッセージMG6が送信されてきているか否かを確認する(ステップS74)。
これにより、当該接続要求メッセージMG3又は接続解除要求メッセージMG6のいずれかが送信されてきていると判断したとき(ステップS74;YES)、制御部11は、先ず接続要求メッセージMG3が送信されてきているときは、当該接続要求メッセージMG3に対応して当該下流側の他のノード2の所在情報を記憶部12に記憶されているノード管理情報内に追加(登録)することで当該下流側の他のノード2に対する接続処理を実行する(ステップS75)。一方、接続解除要求メッセージMG6を受信しているとき、制御部11は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を記憶部11内の上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行する(ステップS75)。その後、制御部11は、上記ステップS73の処理に移行して当該処理を繰り返す。
他方、ステップS74の判定において、接続要求メッセージMG3又は接続解除要求メッセージMG6のいずれも受信していないときは(ステップS74;NO)、制御部11は、下流側に接続されている他のノード2から上記データ送信開始要求メッセージ又は上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS76)。
そして、当該データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5を受信しているとき(ステップS76;YES)、制御部11は、先ずデータ送信開始要求メッセージを受信しているときは、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信する(ステップS77)。一方、データ送信停止要求メッセージMG5を受信しているとき、制御部11は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止する(ステップS77)。その後、制御部11は、上記ステップS73の処理に移行して当該処理を繰り返す。
次に、上記ステップS76の確認において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5のいずれも受信していないとき(ステップS76;NO)以降の処理について、図16を用いて説明する。
ステップS76の確認において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5のいずれも受信していないときは(ステップS76;NO)、図16に示すように、制御部11は、予め設定されている近隣ノード情報の送信タイミングが到来しているか否かを確認する(ステップS78)。ここで、当該近隣ノード情報の送信タイミングとは、図13ステップS52の場合と同様に、例えば一分間に一回と予め決められたタイミングである。
そして、当該送信タイミングが到来しているときは(ステップS78;YES)、制御部11は、下流側のノード2に対し、近隣ノード情報として自らに相当する近隣ノード情報を送信する(ステップS79)。このとき、ステップS79の処理により送信される近隣ノード情報には、放送局1自体に係る上記IPアドレス情報101及び中継数情報104のみが含まれていることになる。これにより、トポロジのの末端に接続されているノード2と共に、放送局1においても近隣ノード情報が初期生成されることになる。その後、制御部11は、図15に示すステップS73の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS78の確認において、近隣ノード情報の送信タイミングが到来していないときは(ステップS78;NO)、次に、制御部11は、下流側のノード2から近隣ノード情報を受信したか否かを確認する(ステップS80)。そして、下流側のノード2から近隣ノード情報を受信したときは(ステップS80;YES)、制御部11は、受信した近隣ノード情報に対応するノード2が近隣ノードキャッシュ情報100に近隣ノード情報が含まれているノード2であった場合にのみ、当該受信した近隣ノード情報をもって近隣ノードキャッシュ情報100を更新する(ステップS81)。その後、制御部11は、図15に示すステップS73の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS80の確認において、下流側のノード2から近隣ノード情報を受信していないときは(ステップS80;NO)、制御部11は、接続先紹介サーバ3から新たな発生数情報MPを受信しているか否かを確認する(ステップS82)。
そして、当該発生数情報MPを新たに受信しているときは(ステップS82;YES)、制御部11は、前回のステップS81の処理において受信して記憶部12に記憶していた発生数情報MPを新たな発生数情報MPを用いて更新する(ステップS83)。
次に、制御部11は、放送局1に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS84)。これにより、下流側のノード2が存在している場合は(ステップS84;YES)、制御部11は、ステップS82の処理において受信していた新しい発生数情報MPを当該下流側のノード2に転送する(ステップS85)。その後、制御部11は、図15に示すステップS73の処理に移行して上述した一連の処理を繰り返す。また、ステップS84の判定において、下流側のノード2が存在していない場合は(ステップS84;NO)、制御部11は、そのまま図15に示すステップS73の処理に移行して上述した一連の処理を繰り返す。
次に、ステップS82の確認において、新たな発生数情報MPを受信していないときは(ステップS82;NO)、制御部11は、下流側のノード2から上記受信品質を示す情報が送信されてきたか否かを確認する(ステップS86)。そして、当該情報が送信されてきたときは(ステップS86;YES)、当該情報により示されている下流側のノード2における受信品質を、放送局1自らの中継品質と見なして記憶部12内に記憶させると共に、対応する近隣ノードキャッシュ情報100内の対応する受信品質情報102を更新する(ステップS87)。
そして、受信品質を示す情報が送信されて来ていないとき(ステップS86;NO)、又は上記ステップS87の処理が終了したときは、制御部11は、図15に示すステップS73の処理に移行して上述した一連の処理を繰り返す。
(III)接続先紹介サーバとしての処理
最後に、実施例に係る接続先紹介サーバ3における処理について、具体的に図17を用いて説明する。
なお、図17においては、接続先紹介サーバ3において実行される通常の接続先紹介処理等(ステップS90乃至S99(図2参照))及び接続先紹介サーバ3において実行される実施例に係る発生数情報MPの生成/配信処理(ステップS100乃至S102)について説明する。
実施例に係る接続先紹介サーバ3においては、図17に示すように、接続先紹介サーバ3としての電源スイッチがオンとされると、制御部35は、接続先紹介サーバ3内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2や放送局1からのメッセージの受信を可能とする(ステップS90)。
そして、当該初期化が完了すると、制御部35は、新たな放送局1からの登録要求メッセージ又は配信システムS内に既存の放送局1からの削除要求メッセージを受信したか否かを確認する(ステップS91)。いずれかを受信すると(ステップS91;YES)、制御部35は、新たな放送局1の登録の場合はその所在情報を上記データベース内に登録し、更に新しいチャンネルの情報等をトポロジのデータベース内に登録する。また、既存の放送局1の削除の場合は、制御部35は、当該放送局1の所在情報等を上記データベース内から削除し、更に該当するチャンネル情報をトポロジのデータベース内から削除する(ステップS92、S93)。
その後、制御部35は、接続先紹介サーバ3としてのサービスを停止するか否かを確認する(ステップS94)。ステップS94の確認において、停止する場合は(ステップS94;YES)、制御部35は、そのまま接続先紹介サーバ3の電源をオフとして処理を終了する。
一方、ステップS94の確認において、引き続き当該サービスを継続する場合は(ステップS94;NO)、制御部35は、上記ステップS91に戻って上述した一連の処理を繰り返す。
他方、上記ステップS91の判定において、放送局1からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないときは(ステップS91;NO)、制御部35は、新たに配信システムSに参加するノード2から上記上流ノード紹介要求メッセージMG1を受信したか否かを制御部35において確認する(ステップS95)。
これにより、当該上流ノード紹介要求メッセージMG1を受信しているときは(ステップS95;YES)、制御部35は、蓄積されているトポロジのデータベースから当該上流ノード紹介要求メッセージMG1を送信してきたノード2をその下流側に接続することが可能なノード2(例えば、図2の例ではノード2b)の候補を検索する(ステップS96)。その後、制御部35は、検索された候補に該当するノード2の所在情報等を、上記上流ノード候補メッセージMG2として要求元のノード2へ返信し(ステップS97)、上記ステップS94の処理に移行して上述した一連の処理を繰り返す。
これに対し、ステップS95の判定において、上流ノード紹介要求メッセージMG1も受信していないときは(ステップS95;NO)、制御部35は、いずれかのノード2から上記参加報告メッセージ(図11ステップS14参照)又は脱退報告メッセージ(図12ステップS28参照)を受信したか否かを確認する(ステップS98)。
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したときは(ステップS98;YES)、制御部35は、当該受信した報告メッセージの内容に基づいてトポロジの変更があったと判断し、夫々の当該内容に基づいてトポロジのデータベースを更新する(ステップS99)。
次に、制御部35は、接続先紹介サーバ3が接続先の紹介処理を受け持っている配信システムSにおける単位時間当たりの再接続の発生数に相当する発生数情報MPを新たに生成し(ステップS100)、上記ステップS94の処理に移行して上述した一連の処理を繰り返す。
更に、上記ステップS98の判定において、参加報告メッセージ又は脱退報告メッセージのいずれも受信していないときは(ステップS98;NO)、制御部35は、予め設定されている発生数情報MPの配信タイミングが到来しているか否かを確認する(ステップS101)。
これにより、当該配信タイミングが到来していないときは(ステップS101;NO)、制御部35は、上記ステップS94の処理に移行し、一方到来しているときは(ステップS101;YES)、当該生成した発生数情報MPを放送局1に送信する(ステップS102)。
そして、発生数情報MPの配信タイミングが到来していないとき(ステップS101;NO)、又は上記ステップS102の処理が終了したときは、制御部35は、ステップS94の処理に移行して上述した一連の処理を繰り返す。
以上説明したように、実施形態に係る配信システムSの動作によれば、配信システムS内における再接続の発生数が閾値発生数以上であるとき(即ち、配信システムSとしてのトポロジが不安定なとき)にはランダムに再接続先を選択し、再接続の発生数が閾値発生数未満であるとき(即ち、配信システムSとしてのトポロジが安定なとき)には再接続先として最適なノードを選んで再接続を行うので、配信システムS内における再接続の発生数に応じて他のノード2の再接続との衝突現象を回避しつつ、自身の再接続を効率的に実行することができる。
従って、再接続の発生数に応じて再接続先を最適化することで、ネットワークシステムにおけるトポロジの安定化を図ることができる。
また、再接続の発生数が閾値発生数未満であるときには再接続先として最適なノードを選んで再接続を行うので、配信システムS内における再接続の発生数が閾値発生数未満である場合に、より高速にコンテンツの配信を受けられる再接続先を選択することができる。
更に、予め記憶されている近隣ノードキャッシュ情報100により示されるノード2の中から再接続先を選択するので、改めて再接続先を検索する必要がなく、夫々の再接続方法に則って迅速に再接続先を選択することができる。
更にまた、近隣ノードキャッシュ情報100として、ホップ数が閾値数以下となるネットワークの範囲内にある他のノード2を示す近隣ノード情報のみを記憶するので、ノード2間を伝送される近隣ノード情報の情報量を一定値以内に限定することが可能となり、ネットワークにかかる負荷を低減させることができる。
また、配信システムSに属する接続先紹介サーバ3において各ノード2における再接続の発生数を検出し、これを用いて生成した発生数情報MPを各ノード2に送信するので、一元的に効率よく発生数情報MPを生成して各ノードに送信することができる。
また、本発明の変形形態によれば、セグメントSG毎に発生数情報MPを生成し、当該セグメントSG毎に当該発生数情報MPを送信するので、結果として各セグメントSG毎に再接続方法が選択されて再接続が実行されることとなり、配信システムS全体としてより効率的且つ安定的に再接続先を制御することができる。
更に、図11乃至図14に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係るノード2内の制御部21として活用することも可能である。
また、図15及び図16に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る放送局1内の制御部11として活用することも可能である。
更に、図17に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る接続先紹介サーバ3内の制御部35として活用することも可能である。
以上夫々説明したように、本発明はツリー構造を有する配信システムを用いたコンテンツの配信の分野に利用することが可能であり、特に映画や音楽等のリアルタイムの放送の如き、途中で配信が中断してしまうことが不都合なコンテンツの配信の分野に適用すれば特に顕著な効果が得られる。
実施形態に係る配信システムの概要構成を示すブロック図である。 実施形態に係る配信システムへの参加処理を示す図である。 実施形態に係る配信システムからの脱退処理を示す図であり、(a)はタイムアウト式による脱退処理を示す図であり、(b)はイベント通知方式による脱退処理を示す図である。 実施形態に係る近隣ノードキャッシュ情報の構成を例示する図である。 実施形態に係る再接続処理を示す図である。 実施形態に係る再接続処理の選択方法を示す図である。 変形形態に係る再接続処理の選択方法を示す図である。 実施例に係る放送局の概要構成を示すブロック図である。 実施例に係るノードの概要構成を示すブロック図である。 実施例に係る接続先紹介サーバの概要構成を示すブロック図である。 実施例に係るノードにおける処理を示すフローチャート(I)である。 実施例に係るノードにおける処理を示すフローチャート(II)である。 実施例に係るノードにおける処理を示すフローチャート(III)である。 実施例に係るノードにおける処理を示すフローチャート(IV)である。 実施例に係る放送局における処理を示すフローチャート(I)である。 実施例に係る放送局における処理を示すフローチャート(II)である。 実施例に係る接続先紹介サーバにおける処理を示すフローチャートである。
符号の説明
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、N ノード
3 接続先紹介サーバ
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カードスロット
100 近隣ノードキャッシュ情報
101 IPアドレス情報
102 受信品質情報
103 中継品質情報
104 中継数情報
S 配信システム
MP、MP1 発生数情報
RP 再接続完了メッセージ
MG1 上流ノード紹介要求メッセージ
MG2 上流ノード候補メッセージ
MG3 接続要求メッセージ
MG4 接続許可応答メッセージ
MG5 データ送信停止要求メッセージ
MG6 接続解除要求メッセージ
MG7 脱退報告メッセージ
SG1、SG2、SG3 セグメント

Claims (11)

  1. 複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において、
    前記ネットワークシステムに含まれる前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得手段と、
    前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段と、
    前記選択された再接続の方法に基づいて当該再接続を行う再接続手段と、
    を備え、
    前記再接続制御手段は、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、
    前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記第2再接続方法は、前記配信情報の配信状態が最も良好な他の前記情報処理装置を前記再接続先として選択する再接続方法であることを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置において、
    前記再接続先の候補となる前記情報処理装置を示す候補情報を記憶する記憶手段を更に備え、
    前記再接続制御手段は、前記選択された再接続方法に則り、前記記憶されている候補情報により示される前記情報処理装置の中から前記再接続先となる前記情報処理装置を選択し、
    前記再接続手段は、前記選択された情報処理装置に対して再接続を行うことを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置において、
    前記記憶手段には、当該情報処理装置から送信された情報が転送される際に経由する他の前記情報処理装置の数が、当該情報処理装置から見て予め設定された閾値数以下となる前記ネットワークの範囲内にある他の前記情報処理装置を示す前記候補情報のみを記憶していることを特徴とする情報処理装置。
  5. 請求項1から4のいずれか一項に記載の前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置であって、
    各前記情報処理装置における前記発生数を検出する検出手段と、
    前記検出された発生数に基づき、前記再接続状況情報を生成する生成手段と、
    前記生成された再接続状況情報を各前記情報処理装置に送信する送信手段と、
    を備えることを特徴とする制御装置。
  6. 請求項5に記載の制御装置において、
    前記検出手段は、前記ネットワークシステムに含まれる前記情報処理装置を分類して得られる複数の情報処理装置群毎に前記発生数を検出し、
    前記生成手段は、前記情報処理装置群毎に前記再接続状況情報を生成し、
    更に前記送信手段は、前記生成された再接続状況情報を、対応する前記情報処理装置群に含まれる前記情報処理装置宛に送信することを特徴とする制御装置。
  7. 複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムであって、各前記情報処理装置と制御装置と、を含むネットワークシステムにおいて、
    各前記情報処理装置は、
    前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得手段と、
    前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御手段であって、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択する再接続制御手段と、
    前記選択された再接続の方法に基づいて当該再接続を行う再接続手段と、
    を備え、
    前記制御装置は、
    各前記情報処理装置における前記発生数を検出する検出手段と、
    前記検出された発生数に基づき、前記再接続状況情報を生成する生成手段と、
    前記生成された再接続状況情報を各前記情報処理装置に送信する送信手段と、
    を備えることを特徴とするネットワークシステム。
  8. 複数の情報処理装置がネットワークを介して階層ツリー状に接続されてなり且ついずれかの前記情報処理装置に対して前記階層ツリーに沿って配信情報が配信されるネットワークシステムに含まれる当該情報処理装置において実行される情報処理方法であって、
    前記ネットワークシステムに含まれる他の前記情報処理装置間で実行される再接続動作の発生数に対応する再接続状況情報を取得する取得工程と、
    前記取得した再接続状況情報に対応する前記発生数に基づいて、当該情報処理装置における再接続の方法を選択する再接続制御工程と、
    を含み、
    前記再接続制御工程においては、前記発生数が予め設定された閾値発生数以上であるとき前記再接続における再接続先をランダムに選択する第1再接続方法を選択し、
    前記発生数が前記閾値発生数未満であるとき、前記第1再接続方法と異なる前記再接続先の選択方法である第2再接続方法を選択することを特徴とする情報処理方法。
  9. 請求項8に記載の前記情報処理方法が実行される前記情報処理装置を複数含む前記ネットワークシステムに含まれる制御装置において実行される制御方法であって、
    各前記情報処理装置における前記発生数を検出する検出工程と、
    前記検出された発生数に基づき、前記再接続状況情報を生成する生成工程と、
    前記生成された再接続状況情報を各前記情報処理装置に送信する送信工程と、
    を含むことを特徴とする制御方法。
  10. コンピュータを、請求項1から4のいずれか一項に記載の前記情報処理装置として機能させることを特徴とする情報処理装置用プログラム。
  11. コンピュータを、請求項5又は6に記載の前記制御装置として機能させることを特徴とする制御装置用プログラム。
JP2007221699A 2007-08-28 2007-08-28 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム Withdrawn JP2009054045A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007221699A JP2009054045A (ja) 2007-08-28 2007-08-28 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007221699A JP2009054045A (ja) 2007-08-28 2007-08-28 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム

Publications (1)

Publication Number Publication Date
JP2009054045A true JP2009054045A (ja) 2009-03-12

Family

ID=40505053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007221699A Withdrawn JP2009054045A (ja) 2007-08-28 2007-08-28 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム

Country Status (1)

Country Link
JP (1) JP2009054045A (ja)

Similar Documents

Publication Publication Date Title
JP4894590B2 (ja) ネットワークシステム、情報処理装置及び情報処理用プログラム
KR101762088B1 (ko) 다중 스크린 상호작용 방법 및 디바이스
JP4877108B2 (ja) ネットワークシステム、情報処理装置及び接続先紹介装置、情報処理方法並びに情報処理装置用プログラム及び接続先紹介装置用プログラム
CN109379772B (zh) 网络信道的切换方法、装置、设备和存储介质
JP5115437B2 (ja) ネットワークシステム、情報処理装置、情報処理方法及び情報処理装置用プログラム
EP2457349B1 (en) Method and device for a light host management protocol on multicast capable router
JP2008092004A (ja) 離脱可否制御装置、ツリー型配信システム、ノード装置離脱制御方法、離脱可否制御プログラム及び情報処理プログラム
JP2008294626A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
US20070091909A1 (en) Connection state control device, connection state control method, and connection state controlling program
WO2005066822A1 (ja) 機器登録システム、サーバ、端末装置
JP2008033406A (ja) ノード装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム
JP2012533959A (ja) マルチキャスト対応ルータにおいて効果的なホスト・マネジメント・プロトコル
JP5176835B2 (ja) 監視装置、情報処理装置、情報処理方法並びにプログラム
JP4770294B2 (ja) 接続管理装置、接続管理方法、接続管理用プログラム、放送システム、及び放送方法
JP2008140050A (ja) ネットワークシステム、配信制御装置並びに配信方法及び配信制御用プログラム
JP2010124294A (ja) 情報処理装置、情報処理方法及び情報処理装置用プログラム
JP4604835B2 (ja) ノード装置、及び、接続方法、接続プログラム、ストリームデータ配信システム、並びに、接続切り替え方法
JP4924382B2 (ja) 情報処理装置及び接続先紹介装置、情報処理方法並びに情報処理装置用プログラム及び接続先紹介装置用プログラム
JP2009054045A (ja) 情報処理装置及び制御装置、ネットワークシステム、情報処理方法及び制御方法並びに情報処理装置用プログラム及び制御装置用プログラム
JP5040822B2 (ja) 論理ネットワークシステム、接続先紹介装置、情報処理方法及び接続先紹介装置用プログラム
JP4798146B2 (ja) 情報配信システムにおける端末装置及びプログラム、並びに再接続処理方法
CN113301098A (zh) 路径规划方法、cdn连接建立方法、设备及存储介质
JP2009177536A (ja) 情報配信システム、接続先紹介装置、情報処理装置及び情報処理方法並びに接続先紹介装置用プログラム及び情報処理装置用プログラム
JP5131165B2 (ja) ネットワークシステム及びサブネットワークシステム、配信装置及び接続先紹介装置、情報処理方法並びに配信装置用プログラム及び接続先紹介装置用プログラム
JP2008140049A (ja) ネットワークシステム、配信制御装置、配信ノード装置並びに配信方法及び配信用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110414