JP4692414B2 - 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 - Google Patents

通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 Download PDF

Info

Publication number
JP4692414B2
JP4692414B2 JP2006179289A JP2006179289A JP4692414B2 JP 4692414 B2 JP4692414 B2 JP 4692414B2 JP 2006179289 A JP2006179289 A JP 2006179289A JP 2006179289 A JP2006179289 A JP 2006179289A JP 4692414 B2 JP4692414 B2 JP 4692414B2
Authority
JP
Japan
Prior art keywords
node
content
content data
node device
tree
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.)
Expired - Fee Related
Application number
JP2006179289A
Other languages
English (en)
Other versions
JP2008011147A (ja
Inventor
英輝 松尾
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 JP2006179289A priority Critical patent/JP4692414B2/ja
Publication of JP2008011147A publication Critical patent/JP2008011147A/ja
Application granted granted Critical
Publication of JP4692414B2 publication Critical patent/JP4692414B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
この種のピアツーピア型の通信システムにおいて、コンテンツデータを複数のノード装置に分散配置(分散保存)させておくコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性を高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。当該DHTは、各ノード装置に記憶されており、当該DHTには、各種メッセージの転送先となるべき複数のノード装置を示すノード情報(例えば、IPアドレス及びポート番号を含む)が登録されている。
そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツデータの取得を望む場合、当該コンテンツデータの所在を検索(発見)するためのメッセージ(クエリ)を他のノード装置に送出することにより、当該メッセージは、上記DHTにしたがって、複数の中継のノード装置により当該コンテンツデータの所在の管理元のノード装置に向かって転送され、最終的に当該メッセージが辿り着く上記管理元のノード装置からノード情報を取得することになる。これにより、当該メッセージを送出したノード装置は、上記検索に係るコンテンツデータを保存しているノード装置に対して、当該コンテンツデータを要求し、当該コンテンツデータの提供を受けることができる。
一方、従来から、例えば特許文献2に開示されるように、各ノード装置がネットワーク接続関係を認識するためのトポロジー情報を有しており、各ノード装置はトポロジー情報により認識した上位階層(上流)のノード装置に接続し、当該上位階層のノード装置から送信されるストリームデータを受信し、それを下位階層(下流)のノード装置に転送(中継)するツリー型の配信システムも知られており、これにより、当該ツリー型の配信システムに参加している各ノード装置は、ストリーム配信されたコンテンツデータの提供を受けることができるようになっている。
特開2006−59133号公報 特開2006−33514号公報
ところで、今後、一つのノード装置が、上述したようなコンテンツ分散保存システムとツリー型の配信システムの双方に参加する場合も考えられる。しかし、かかる場合、ツリー型の配信システムにおいて上位階層のノード装置から送信されてきたストリームデータを受信し再生中のノード装置(更には当該受信したストリームデータを下位階層のノード装置に転送中のノード装置)が、コンテンツ分散保存システムにおいて他のノード装置からのコンテンツデータの要求に応える際、例えば、当該ノード装置における処理負荷が大きくなり視聴中のコンテンツの再生が困難になったり、下位階層のノード装置への転送が不十分になり配信(放送)ツリーのトポロジーが崩れたりする等の問題が生じる可能性がある。
本発明は、以上の問題等に鑑みてなされたものであり、ノード装置が、コンテンツ分散保存システムとツリー型コンテンツ配信システムの双方に参加している場合であっても、安定したコンテンツデータの再生及び下位階層のノード装置への転送を行うことが可能な通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、を備え、前記決定手段は、自己が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とする。
この発明によれば、コンテンツ分散保存システムとツリー型コンテンツ配信システムの双方に参加しているノード装置であっても、コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信した場合には、当該送信要求に応じるか否かを決定するように構成したので、ノード装置の状況やツリー型コンテンツ配信システムの状況等に応じて、送信要求をしたノード装置に対して前記第一コンテンツデータを送信したり、或いは当該送信を拒否することができるので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。また、ツリー型コンテンツ配信システムにおける配信(放送)ツリーのトポロジーを安定させることができる。そして、前記ツリー型コンテンツ配信システムに参加している場合には、送信要求をしたノード装置に対する前記第一コンテンツデータの送信を拒否するので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項2に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、前記ツリー型コンテンツ配信システムにおいて自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置があるか否かを判別する下位ノード有無判別手段と、を備え、前記決定手段は、前記下位ノード有無判別手段により下位階層のノード装置があると判別された場合には、前記送信要求に応じないと決定することを特徴とする。
この発明によれば、自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置があるか否かを判別し、当該下位階層のノード装置がある場合には、送信要求をしたノード装置に対する前記第一コンテンツデータの送信を拒否するので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項3に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、前記ツリー型コンテンツ配信システムにおいて自己が位置する階層を認識する階層認識手段と、前記認識された階層が閾値より上位の階層にあるか否かを判別する階層判別手段と、を備え、前記決定手段は、前記階層判別手段により前記階層が閾値より上位の階層にあると判別された場合には、前記送信要求に応じないと決定することを特徴とする。
この発明によれば、自己が位置する上記階層が閾値より上位の階層にあるか否かを判別し、前記階層が閾値より上位の階層にある場合には、送信要求をしたノード装置に対する前記第一コンテンツデータの送信を拒否するので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とする。
この発明によれば、ノード装置の状況やツリー型コンテンツ配信システムの状況等に応じて、送信要求をしたノード装置に対して前記第一コンテンツデータを送信することができるので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項5に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とする。
この発明によれば、ノード装置の状況やツリー型コンテンツ配信システムの状況等に応じて、送信要求をしたノード装置に対する前記第一コンテンツデータの送信を拒否することができるので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項6に記載の発明は、請求項に記載のノード装置において、前記ツリー型コンテンツ配信システムにおいて自己が位置する階層を認識する階層認識手段を更に備え、前記コンテンツ送信手段は、前記認識された階層に応じた伝送速度で前記送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信することを特徴とする。
この発明によれば、自己が位置する階層に応じた伝送速度で前記送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができ、更に、送信要求をしたノード装置に対して前記第一コンテンツデータを送信することができる。
請求項7に記載の発明は、請求項に記載のノード装置において、前記伝送速度は、前記下位階層に比して前記上位階層ほど遅く設定されることを特徴とする。
この発明によれば、運用上、より効率良く安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができ、更に、送信要求をしたノード装置に対して前記第一コンテンツデータを送信することができる。
請求項に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、前記ツリー型コンテンツ配信システムにおいて自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置の数を認識する下位ノード数認識手段と、前記認識された下位階層のノード装置の数が閾値より大きいか否かを判別する下位ノード数判別手段と、を備え、前記決定手段は、前記下位ノード数判別手段により前記下位階層のノード装置の数が閾値より大きいと判別された場合には、前記送信要求に応じないと決定することを特徴とする。
この発明によれば、自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置の数が閾値より大きいか否かを判別し、当該下位階層のノード装置の数が閾値より大きい場合には、送信要求をしたノード装置に対する前記第一コンテンツデータの送信を拒否するので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。
請求項に記載の発明は、請求項に記載のノード装置において、前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とする。
請求項10に記載の発明は、請求項8に記載のノード装置において、前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とする
請求項1に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、前記コンテンツ分散保存システムにおいて自己の代わりに前記他のノード装置に対して前記第一コンテンツデータを送信可能なノード装置の数を示す第一代替ノード数情報を、前記第一コンテンツデータを送信可能なノード装置の所在情報を管理する第一管理装置から取得する第一代替ノード数情報取得手段と、前記ツリー型コンテンツ配信システムにおいて自己の代わりに下位階層のノード装置に対して前記第二コンテンツデータを転送可能なノード装置の数を示す第二代替ノード数情報を、前記ツリー型コンテンツ配信システムにおけるノード装置の接続態様を管理する第二管理装置から取得する第二代替ノード数情報取得手段と、前記取得された第一代替ノード数情報に示された前記第一コンテンツデータを送信可能なノード装置の数が、前記第二代替ノード数情報に示された前記第二コンテンツデータを転送可能なノード装置の数より少ないか否かを判別する代替ノード数判別手段と、を備え、前記決定手段は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合には、前記送信要求に応じると決定することを特徴とする。
この発明によれば、前記第一コンテンツデータを送信可能なノード装置の数が、前記第二コンテンツデータを転送可能なノード装置の数より少ないか否かを判別し、前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合には、コンテンツ分散保存システムを優先して、送信要求をしたノード装置に対して前記第一コンテンツデータを送信することができるので、運用上非常に効率的である。
請求項1に記載の発明は、請求項11に記載のノード装置において、前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とする。請求項13に記載の発明は、請求項11に記載のノード装置において、前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とする。請求項14に記載の発明は、請求項11乃至13の何れか一項に記載のノード装置において、前記ツリー型コンテンツ配信システムにおいて自己の上位階層として接続されるノード装置から配信されてきた前記第二コンテンツデータを受信し、これを自己の下位階層として接続されるノード装置に対して転送するコンテンツ転送手段と、を更に備え、前記コンテンツ転送手段は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合には、自己の下位階層として接続される前記ノード装置に対する前記第二コンテンツデータの転送を停止することを特徴とする。
この発明によれば、コンテンツ分散保存システムを優先して、送信要求をしたノード装置に対して前記第一コンテンツデータを送信することができるので、運用上非常に効率的である。
請求項1に記載の発明は、請求項11乃至14の何れか一項に記載のノード装置において、前記第二管理装置は、前記ツリー型コンテンツ配信システムへの参加を要求するノード装置に対して、接続先となるノード装置を紹介するための紹介情報を提供するものであり、前記ノード装置は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合に、接続先として自己の紹介禁止を示す紹介禁止情報を前記第二管理装置に対して送信する紹介禁止情報送信手段を更に備えることを特徴とする。
この発明によれば、送信要求に応じるノード装置は、ツリー型コンテンツ配信システムにおける下位階層のノード装置からの接続先とはならないので、ツリー型コンテンツ配信システムのトポロジーを安定させることができる。
請求項1に記載の発明は、請求項1に記載のノード装置において、前記送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信することが完了した場合に、前記紹介禁止の解除を示す紹介禁止解除情報を前記第二管理装置に対して送信する紹介禁止解除情報送信手段を更に備えることを特徴とする。
この発明によれば、送信要求に応じるノード装置は、第一コンテンツデータを前記他のノード装置に対して送信することが完了した場合に、ツリー型コンテンツ配信システムにおける下位階層のノード装置からの接続先候補となるので、運用上非常に効率的である。
請求項1に記載のノード処理プログラムの発明は、請求項1乃至1の何れか一項に記載のノード装置として機能させることを特徴とする。
請求項1に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置におけるコンテンツデータ送信可否決定方法であって、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する工程と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定工程と、を含み、前記決定工程は、前記要求情報を受信したノード装置が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とする。
請求項19に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムと、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムと、を備える通信システムであって、前記コンテンツ分散保存システムと前記ツリー型コンテンツ配信システムの双方に参加している前記ノード装置は、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、を備え、前記決定手段は、自己が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とする。
本発明によれば、コンテンツ分散保存システムとツリー型コンテンツ配信システムの双方に参加しているノード装置であっても、コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信した場合には、当該送信要求に応じるか否かを決定するように構成したので、ノード装置の状況やツリー型コンテンツ配信システムの状況等に応じて、送信要求をしたノード装置に対して前記第一コンテンツデータを送信したり、或いは当該送信を拒否することができるので、安定した第二コンテンツデータの再生及び下位階層のノード装置への転送を行うことができる。また、ツリー型コンテンツ配信システムにおける配信(放送)ツリーのトポロジーを安定させることができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
1.通信システムの構成等
始めに、図1等を参照して、本実施形態に係る通信システムの概要構成等について説明する。
図1は、本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワークであり、通信手段の一例)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。このような製造番号およびIPアドレスは、複数のノード間で重複しないものである。
そして、本実施形態に係る通信システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。
更に、この通信システムSは、大別して、コンテンツ分散(型)保存システム(コンテンツ分散ストレージシステム)とツリー型コンテンツ配信システムに分けられる。
図2は、コンテンツ分散保存システムとツリー型コンテンツ配信システムの概念図である。
コンテンツ分散保存システムSX1においては、複数の第一コンテンツデータとしてのコンテンツデータC1(様々な種類のコンテンツデータC1がある)が、該システムSX1に参加している複数のノードNnに分散保存(コンテンツデータC1を保存するノードは任意であり、例えば、ノードN1,N3,及びN5等に保存)されるようになっており、一のノードNn(例えば、ノードN1)が他のノードNn(例えば、ノードN2)からの要求に応じて自己が保存しているコンテンツデータC1をネットワーク8を介して送信するようになっている。
一方、ツリー型コンテンツ配信システムSX2においては、配信装置としての放送局装置10を最上位(頂点)として、該システムSX2に参加している複数のノードNn(図2の例では、ノードN1,N10〜N19)が複数の階層を形成しつつネットワーク8を介してツリー状に接続され、放送局装置10により配信(放送)された第二コンテンツデータとしてのコンテンツデータC2(様々な種類のコンテンツデータC2がある)が、上位階層のノードNn(例えば、ノードN10等)から下位階層のノードNn(例えば、ノードN1及びN12等)に順次転送されるようになっている。
なお、各ノードNnは、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2の何れか一方に参加するだけでなく、双方に参加することが可能になっている。
1−1.コンテンツ分散保存システムSX1の構成及び機能等
次に、図2等を参照して、コンテンツ分散保存システムSX1について説明する。
コンテンツ分散保存システムSX1は、特定のアルゴリズム、例えば、DHT(Distributed Hash Table)を利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムSX1に参加している各ノードNnには、固有の識別情報であるノードIDが割り当てられており、当該ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、図2に示すような一つのID空間に偏りなく分散して配置されることになる。
なお、コンテンツ分散保存システムSX1への参加は、参加していないノードNn(例えば、ノードN8)が、参加している任意のノードNn(例えば、当該システムSX1に常時参加しているコンタクトノード)に対して参加要求を示す参加メッセージを送信することによって行われる。
上記のように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。また、このノードIDは、ノードの最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノードを運用できる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムSX1上における各種メッセージの転送先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報(転送先ノード情報)が複数登録されている。
コンテンツ分散保存システムSX1に参加している1台のノードNnは、該システムSX1に参加している全てのノードNnのうち、必要最低限のノードNnのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない(記憶していない)ノードNnについては、各ノードNn間で互いに各種メッセージを転送し合って届けてもらうようになっている。
ここで、図3及び図4を参照して、DHTを用いたルーティングテーブルについて詳しく説明する。
図3は、ノードN2が保持するDHTを用いたルーティングテーブルの一例を示す図であり、図4は、DHTのID空間の一例を示す概念図である。
なお、図3及び図4の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。
図3の例において、DHTを用いたルーティングテーブルは、レベル1〜レベル3のテーブルからなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードIDとこれに対応するノードNnのIPアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図4に示すように、レベル1では、DHTのID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133” のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103” のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。
そして、例えば、ノードN2のノードIDが“122”とすると、図3に示すように、かかるノードN2のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。
また、かかるノードN2のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図3に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。
更に、かかるノードN2のレベル3には、図3に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
なお、図3及び図4の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
このように、本実施形態におけるDHTを用いたルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
また、このようなDHTは、例えば、未参加のノードがコンテンツ分散保存システムSX1に参加する際に与えられることになる。
ところで、コンテンツ分散保存システムSX1においては、様々なコンテンツ(例えば、映画や音楽等)データC1が複数のノードNnに分散して保存(格納)されている(言い換えれば、コンテンツデータC1が複製されその複製情報であるレプリカが分散保存されている)。なお、コンテンツデータC1は、コンテンツ分散保存システムSX1に参加している複数のノードNn間で共用すべきプログラムやデータファイル等であっても良く、特に限定されるものではない。
例えば、ノードN1及びノードN5には、タイトルがXXXの映画のコンテンツデータC1が保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツデータC1が保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存される。
また、これらのコンテンツデータC1には、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータC1の先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム運営者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれた「コンテンツリスト」が、全ノードNnに配布される。
また、このように分散保存されているコンテンツデータC1の所在、つまり、当該コンテンツデータC1を保存したノードNnの所在情報を示すノード情報(例えば、IPアドレス及びポート番号等を含む)と当該コンテンツデータC1に対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータC1の所在の管理元(つまり、コンテンツデータC1を送信可能なノードNnの所在情報を管理する第一管理装置)としてのノードNn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
例えば、タイトルがXXXの映画のコンテンツデータC1のインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、タイトルがYYYの映画のコンテンツデータC1のインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN6により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータC1(コンテンツIDが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータC1のインデックス情報は、一つのルートノードで管理することができる。このため、各ルートノードは、コンテンツ分散保存システムSX1において自己がその所在を管理するコンテンツデータC1を送信可能なコンテンツ保持ノードの数を認識している。
また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。
そして、あるノードNnのユーザが、所望するコンテンツデータC1を取得したい場合、当該コンテンツデータC1の取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより選択(例えば、全てのノードNnに配信されているコンテンツリスト(コンテンツ名とコンテンツID等が記述されており、例えばコンテンツリスト管理サーバ(図示せず)にて管理される)から選択)されたコンテンツデータC1のコンテンツID及び自己のノード情報を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
なお、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
図5は、ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのID空間にて示した概念図である。
図5の例において、例えば、ユーザノードであるノードN2は、自己のDHTのレベル1のテーブル(図3に示すDHTを用いたルーティングテーブルとは無関係)を参照して、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードN3のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを送信する。
これに対して、ノードN3は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードN4のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
これに対して、ノードN4は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDが自分である、つまり、自分がそのコンテンツIDのルートノードであることを認識すると、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望のコンテンツデータC1を保存している上記コンテンツ保持ノードである例えばノードN1に対して、コンテンツ送信要求メッセージ(コンテンツデータC1の送信要求を示す要求情報)を送信し、そこから当該コンテンツデータC1の提供を受けることが可能になる。
或いは、ルートノードであるノードN4は、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージ(ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータC1の送信要求を示す要求情報)を送信する。これにより、ユーザノードは、上記コンテンツ保持ノードである例えばノードN1から当該コンテンツデータC1の提供を受けることが可能になる。
なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード(例えば、ノードN3のキャッシュノード)から当該インデックス情報を取得(受信)することもできる。
このようにしてコンテンツデータC1を取得、保存したユーザノードは、当該コンテンツデータC1を保存したことをそのルートノードに知らせるために(言い換えれば、自己が当該コンテンツデータC1を保持していることを、該システムSX1に参加している他のノードNnに対して公開するために)、そのコンテンツデータC1のコンテンツID及び自己のノード情報等が含まれるパブリッシュ(登録通知)メッセージ(コンテンツデータを保存したので、ノード情報等の登録の要求を示す登録メッセージ)を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになり、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)することになる。こうして、上記ユーザノードは、新たに、上記コンテンツデータC1を保持するコンテンツ保持ノードとなる。
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路における中継ノードにおいても登録(キャッシュ)される。
1−2.ツリー型コンテンツ配信システムSX2の構成及び機能等
次に、図2等を参照して、ツリー型コンテンツ配信システムSX2について説明する。
ツリー型コンテンツ配信システムSX2においては、例えば、放送局装置10からストリーミング方式でコンテンツデータC2が配信され、上位階層のノードNnから下位階層のノードNnに順次転送(途中経路の各ノードNnにおいては、受信したコンテンツデータC2の各パケットをバッファリングしつつ、下位階層のノードNnに転送)される。かかるコンテンツデータC2の配信元である放送局装置10(第二管理装置の一例)は、ツリー型コンテンツ配信システムSX2に参加している各ノードNnのノード情報(例えば、IPアドレス及びポート番号)、各ノードNn相互間の接続態様(トポロジー)及び接続状態を含む接続状態情報をデータベースを用いて管理している。なお、接続状態情報等は、放送局装置10とは別の接続管理サーバによって管理されるようにしても良い。
具体的には、当該接続状態情報には、1)ツリー型コンテンツ配信システムSX2における階層構造において各ノードNnが位置する階層(例えば、図2に示すノードN10は、第1階層)を示す階層情報、2)各ノードNn夫々の下位階層として直接接続されているノードNn(例えば、図2に示すノードN10には、ノードN1及びN12が下位階層として直接接続されている)を示す下位装置情報、3)各ノードNnの下位階層として直接接続可能なノードNnの接続許容数を示す接続許容数情報(図2に示すツリー型コンテンツ配信システムSX2では、2つになっている、3つ以上でもよい)、及び4)各ノードNnが他のノードNnへコンテンツデータC2を転送する転送能力を示す転送能力情報(例えば、ノードNnのCPUの処理速度(MHz)やネットワーク8における有効帯域(例えば、データ転送速度(bps))等が含まれている。
そして、ツリー型コンテンツ配信システムSX2への参加は、参加していないノードNnが、放送局装置10に対して参加要求を示す参加メッセージを送信することによって行われる。放送局装置10は、当該参加メッセージに応じて、上記接続状態情報を用いて、当該未参加のノードNnが接続すべき接続先となるノードNnを、後述する接続先紹介不可リストに登録されていないノードNnのうちから選択し、当該選択したノードNnのノード情報及び当該選択したノードNnの階層情報を含む接続先紹介メッセージ(接続先となるノードNnを紹介するための紹介情報の一例)を当該未参加のノードNnに対して送信する。
例えば、放送局装置10は、当該ノードNnの下位階層として直接接続されているノードNnの数が接続許容数に満たないノードNnを特定(例えば、より上位階層に位置するノードNnを優先して特定)し、特定されたノードNnが複数ある場合には、それらのノードNnから例えば転送能力が最も高いノードNnを一つ特定して(それらのノードNnからランダムに一つ特定しても良い)、これを接続先となるノードNnとして選択する。
こうして、上記放送局装置10から接続先紹介メッセージを受信した未参加のノードNn(例えば、ノードN15)は、当該接続先紹介メッセージに含まれるノード情報に基づき、既参加のノードNn(例えば、ノードN1)との接続を確立し、当該既参加のノードNn(例えば、ノードN1)に対してコンテンツデータC2の転送要求を行う。こうして、未参加のノードNn(例えば、ノードN15)は、新たに、ツリー型コンテンツ配信システムSX2に参加することになり、既参加のノードNn(例えば、ノードN1)から転送(配信)されてきたコンテンツデータC2を受信することになる。
なお、未参加のノードNnは、初めてツリー型コンテンツ配信システムSX2に参加する場合ばかりでなく、電源OFFや通信不良等により自己が当該システムSX2から脱退し、その後、該システムSX2に再参加する場合、或いは、上位階層のノードNnが該システムSX2から脱退や転送停止によりコンテンツデータC2の転送が途切れた場合も、放送局装置10に対して参加メッセージを送信し、該放送局装置10から接続先紹介メッセージを取得することになる。
なお、ツリー型コンテンツ配信システムSX2におけるツリー状のトポロジーは、放送局装置毎、言い換えれば、放送チャンネル毎に形成される(図2に示す例では、1つの放送チャンネルのみ示している)ようになっており(但し、1つの放送局装置で複数の放送チャンネルを賄う場合もある)、例えば既参加のノードNnにおいてユーザにより放送チャンネルが切り替えられた場合には、当該ノードNnは、切り替え後の放送チャンネルに対応する放送局装置に対して参加メッセージを送信し、該放送局装置から接続先紹介メッセージを取得することになる。
2.ノードNnの構成及び機能等
次に、図6を参照して、ノードNnの構成及び機能について説明する。
図6は、ノードNnの概要構成例を示す図である。
各ノードNnは、図6に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT等)及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部12と、受信されたコンテンツデータC1又はC2等を一時蓄積するバッファメモリ13と、コンテンツデータC1又はC2に含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNnや放送局装置10との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。また、記憶部12には、コンテンツ分散保存システムSX1に参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号と、ツリー型コンテンツ配信システムSX2に参加する際にアクセス先となる放送局装置10のIPアドレス及びポート番号が記憶されている。
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSX1への参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっており、更に、ツリー型コンテンツ配信システムSX2への参加により、上位階層のノードNnからのコンテンツデータC2を下位階層のノードNnに転送する処理を行うようになっている。
そして更に、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2の双方に参加しているノードNnにおける制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、本発明の受信手段、決定手段、コンテンツ送信手段、送信拒否情報送信手段、下位ノード有無判別手段、階層認識手段、階層判別手段、階層認識手段、帯域認識手段、帯域判別手段、回線種類認識手段、回線種類判別手段、稼働率認識手段、稼働率判別手段、下位ノード数認識手段、下位ノード数判別手段、要求情報数集計手段、要求情報数判別手段、第一代替ノード数情報取得手段、第二代替ノード数情報取得手段、代替ノード数判別手段、コンテンツ転送手段、紹介禁止情報送信手段、及び紹介禁止解除情報送信手段等として機能するようになっている。なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
具体的には、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2の双方に参加しているコンテンツ保持ノードである例えばノードN1が、ユーザノード、或いはルートノードから送信されたコンテンツ送信要求メッセージを受信した場合、その制御部11は、予め設定された応答条件に基づいて、該メッセージに係るコンテンツデータC1の送信要求に応じるか否かを決定するようになっている。そして、当該制御部11は、送信要求に応じると決定した場合には、当該送信要求に応じることを示すコンテンツ送信承諾メッセージ及び当該送信要求に係るコンテンツデータC1を、要求元のユーザノードに対して提供(送信)し、一方、送信要求に応じないと決定した場合には、当該ユーザノードに対して当該送信要求に応じないことを示す送信拒否情報としてのコンテンツ送信拒否メッセージを送信することになる。
ここで、上記送信要求に応じるか否かを決定するための上記応答条件は、コンテンツ分散保存システムSX1における上記送信要求に係るコンテンツデータC1のユーザノードへの送信処理が、ツリー型コンテンツ配信システムSX2におけるコンテンツデータC2の下位階層のノードNnへの転送処理に与える支障(例えば、転送遅れ等)の度合いに基づき、定められる。
例えば、両システムに参加しているコンテンツ保持ノードのツリー型コンテンツ配信システムSX2における階層位置が最下位階層である(つまり、下位階層として直接接続されるノードNnが存在しない)場合、そもそも、当該コンテンツ保持ノードのコンテンツデータC2の転送遅れは無いので、コンテンツデータC2の転送によってコンテンツデータC2の配信を受ける下位階層のノードNnが無い場合には、制御部11によりコンテンツデータC1の送信要求に応じると決定され、下位階層のノードNnがある場合には、当該送信要求に応じないと決定される。
また、下位階層のノードNnがある場合であっても、コンテンツ保持ノードが接続されるネットワーク8における通信回線の有効帯域が十分広い(閾値(例えば10Mbps)以上の)場合、又は、当該通信回線の種類がADSL回線ではなく光ケーブル(所定の回線種類の一例)である場合には、帯域に余裕があり当該コンテンツ保持ノードのコンテンツデータC2の転送遅れは少ないと考えられるので、制御部11によりコンテンツデータC1の送信要求に応じると決定し、通信回線の有効帯域が狭い(閾値(例えば10Mbps)より狭い)場合、又は、当該通信回線の種類がADSL(Asymmetric Digital Subscriber Line)回線である場合に、当該送信要求に応じないと決定されるように構成すれば運用上効率的である。
また、下位階層のノードNnがある場合であっても、制御部11におけるCPUの稼働率が小さい(閾値(例えば60%)以下の)場合には、当該コンテンツ保持ノードのコンテンツデータC2の転送遅れは少ないと考えられるので、制御部11によりコンテンツデータC1の送信要求に応じると決定し、CPUの稼働率が閾値より大きい場合に、当該送信要求に応じないと決定されるように構成しても良い。
また、下位階層のノードNnがある場合であっても、該コンテンツ保持ノードの転送によってコンテンツデータC2の配信を受ける下位階層のノードNnの数が少ない(閾値以下の)場合には、当該コンテンツ保持ノードのコンテンツデータC2の転送遅れにより支障をきたす下位階層のノードNnの数は少ないので、コンテンツデータC1の送信を優先して、制御部11によりコンテンツデータC1の送信要求に応じると決定し、下位階層のノードNnの数が閾値より大きい場合に、当該送信要求に応じないと決定されるように構成しても運用上効率的である。
一方、当該コンテンツ保持ノードのツリー型コンテンツ配信システムSX2における階層位置が上位階層であればあるほど、当該コンテンツ保持ノードのコンテンツデータC2の転送遅れは、下位階層に位置するより多くのノードNnに支障をきたしてしまうので、ある階層位置を閾値としてこれより上位の階層にない場合には、制御部11によりコンテンツデータC1の送信要求に応じると決定し、当該階層が閾値より上位の階層にある場合には、当該送信要求に応じないと決定されるように構成しても運用上効率的である。
更に、当該コンテンツ保持ノードが位置する階層に応じた伝送速度(例えば、下位階層に比して上位階層ほど遅く設定される伝送速度)で、コンテンツ分散保存システムSX1における上記送信要求に係るコンテンツデータC1をユーザノードに対して送信するように構成すれば運用上非常に効率的であり、ツリー型コンテンツ配信システムSX2におけるトポロジーを大きく崩すことを防ぐことができる。
図7は、コンテンツ保持ノードが位置する階層に応じた伝送速度の一例を示す図である。図7に示す例では、コンテンツ保持ノードが最下位階層(第4階層)に位置する場合、100%の伝送速度(例えば、2Mbps)で、コンテンツ保持ノードが第3階層に位置する場合、60%の伝送速度(例えば、2×0.6Mbps)で、コンテンツ保持ノードが第2階層に位置する場合、30%の伝送速度(例えば、2×0.3Mbps)で、夫々、上記送信要求に係るコンテンツデータC1がユーザノードに対して送信される(上位階層に行くほど次第に伝送速度が低下する)ことになり、コンテンツ保持ノードが放送局装置10の直下の階層(第1階層)に位置する場合、コンテンツデータC1の送信要求に応じないと決定されることになる。
更にまた、コンテンツ分散保存システムSX1において当該コンテンツ保持ノードの代わりにユーザノードに対してコンテンツデータC1を送信可能なコンテンツ保持ノードであるノードNn(代替ノード)の数MXが、ツリー型コンテンツ配信システムSX2において当該コンテンツ保持ノードの代わりに下位階層のノードNnに対してコンテンツデータC2を転送可能なノードNn(代替ノード)の数MYより、小さい(コンテンツデータC1を送信可能な代替ノードの数MXの方が少ない)場合に、制御部11によりコンテンツデータC1の送信要求に応じると決定される(この場合、ツリー型コンテンツ配信システムSX2における転送処理を中止することが望ましい)ように構成すれば運用上非常に効率的である。つまり、両システムにおける代替ノードの数を比較して、代替ノード少ない方のシステムの方の送信(又は転送)処理を優先することになる。
また、コンテンツ送信要求メッセージの数(コンテンツデータC1の送信要求の数)が制御部11により一定期間(例えば、1日)集計され、当該集計されたコンテンツ送信要求メッセージの数が閾値より大きい場合、処理負担が大きくなるので、コンテンツデータC1の送信要求に応じないと決定されるように構成しても良い。
なお、そもそも、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2の双方に参加していることをもって、コンテンツデータC1の送信要求に応じないと決定されるように構成しても良い。
以上のように、両システムに参加しているコンテンツ保持ノードは、応答条件によっては、ユーザノードからのコンテンツデータC1の送信要求に応じないと決定することになるが、例えば、コンテンツ分散保存システムSX1におけるコンテンツデータC1の送信以外の各種メッセージ(例えば、コンテンツ所在問合せ(検索)メッセージ、パブリッシュメッセージ等)の受信及び転送は行う。これは、各種メッセージのデータ量は、コンテンツデータC1のデータ量よりも格段に少ないため、制御部11における当該メッセージの転送処理負荷は小さく、ツリー型コンテンツ配信システムSX2におけるコンテンツデータC2の下位階層のノードNnへの転送処理に与える支障は少ないからである。また、例えば、コンテンツ保持ノードが、コンテンツ所在問合せ(検索)メッセージを受信はするが転送しないとなると、コンテンツ所在問合せ(検索)メッセージがルートノードまで辿り着かず、よって、ユーザノードが所望のコンテンツデータC1を発見することができなくなるからである。また、コンテンツ保持ノードが、コンテンツ所在問合せ(検索)メッセージの受信さえも拒否するとなると、当該メッセージを送信したノードNnは、当該コンテンツ保持ノードがコンテンツ分散保存システムSX1から脱退したものと判断し、自己のルーディングテーブルから削除することになり好ましくない。
3.通信システムSの動作
次に、図8乃至図14等を参照して、本実施形態1における通信システムSの動作について説明する。
図8は、ノードNnの制御部11におけるメイン処理を示すフローチャートである。また、図9(A)は、図8に示すステップS5におけるシステムSX2への参加処理の詳細を示すフローチャートであり、図9(B)は、図8に示すステップS6におけるシステムSX2に参加中の処理の詳細を示すフローチャートである。また、図10は、図8に示すステップS10におけるツリー型コンテンツ配信システムSX2に関するメッセージの受信処理の詳細を示すフローチャートであり、図11は、図8に示すステップS11におけるコンテンツ分散保存システムSX1に関するメッセージの受信処理の詳細を示すフローチャートである。また、図12乃至図15は、図11に示すステップS58におけるユーザノードへの応答判断処理の例を示すフローチャートである。図16は、放送局装置10におけるメッセージ受信処理を示すフローチャートである。
図8に示す処理は、任意のノードNnにおいて例えば電源ONになった場合に開始され、先ず、制御部11は、コンテンツ分散保存システムSX1への参加処理を実行する(ステップS1)。この参加処理においては、当該ノードNnの制御部11は、記憶部12からコンタクトノードのIPアドレス及びポート番号を取得し、これに基づきコンタクトノードにネットワーク8を介して接続し、参加要求を示す参加メッセージ(自己のノードID及びノード情報等を含む)を送信する。これにより、当該ノードNnには、当該システムSX1に参加している他のノードNnからルーティングテーブルが送信されることになり、受信したルーティングテーブルに基づき自己のルーティングテーブルを有するDHTを生成し、コンテンツ分散保存システムSX1に参加が完了することになる。なお、DHTの生成方法は、本発明の直接の関係がないので、詳しい説明を省略する。また、コンタクトノードのIPアドレス等の情報は、例えばノードNnの出荷時、或いはソフトウェア初回インストール時の初期状態で記憶部12に記憶される。
次いで、制御部11は、電源OFFの指示(例えば、ユーザから入力部21を介した電源OFF操作指示)があった場合には(ステップS2:Y)、当該処理を終了する。一方、電源OFFの指示がない場合には(ステップS2:N)、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS3)、当該システムSX2に参加中である場合には(ステップS3:Y)、ステップS6の「システムSX2に参加中の処理」に移行し、当該システムSX2に参加中でない場合には(ステップS3:N)、ステップS4に移行する。
ステップS4では、制御部11は、ツリー型コンテンツ配信システムSX2への参加設定(自動参加設定)がなされているか(或いは、ユーザから入力部21を介したツリー型コンテンツ配信システムSX2への参加指示があったか)否かを判別する。ツリー型コンテンツ配信システムSX2への参加設定がなされている場合には(ステップS4:Y)、ステップS5の「システムSX2への参加処理」に移行され、参加設定がなされていない場合には(ステップS4:N)、ステップS7に移行される。
ステップS5の「システムSX2への参加処理」では、図9(A)に示すように、制御部11は、記憶部12から放送局装置10のIPアドレス及びポート番号を取得し、これに基づき放送局装置10にネットワーク8を介して接続し、参加要求を示す参加メッセージ(自己のノード情報等を含む)を送信する(ステップS21)。なお、放送局装置10のIPアドレス等の情報は、例えばノードNnの出荷時、或いはソフトウェア初回インストール時の初期状態で記憶部12に記憶される。
これに対して、放送局装置10は、何らかのメッセージを受信すると、図16に示す処理を開始し、受信したメッセージが、上記システムSX2への参加メッセージであるか否かを判別(ステップS101)し、参加メッセージである場合には(ステップS101:Y)、ステップS102に移行し、参加メッセージでない場合には(ステップS101:N)、ステップS104に移行する。
ステップS102では、放送局装置10は、上述したように、参加メッセージを送信したノードNnが接続すべき接続先となるノードNnを、接続先紹介不可リストにノード情報が登録されていないノードNnのうちから選択し(ステップS102)、当該選択したノードNnのノード情報及び当該選択したノードNnの階層情報を含む接続先紹介メッセージを、参加メッセージを送信したノードNnに対して返信(送信)する(ステップS103)。
なお、ステップS104からの処理は後述する。
図9(A)に示す処理に戻り、ステップS22では、制御部11は、放送局装置10から送信されてきた接続先紹介メッセージを受信する。次いで、制御部11は、当該接続先紹介メッセージに含まれるノード情報に基づき、放送局装置10から紹介されたノードNn(このノードNnは自己よりも一つ上位階層となる)に接続し、当該ノードNnに対してコンテンツデータC2の転送要求を示す転送要求メッセージを送信する(ステップS23)。
こうして、当該ノードNnは、ツリー型コンテンツ配信システムSX2へも参加することになり、上位階層のノードNnから転送(配信)されてきたコンテンツデータC2の受信を開始し(ステップS24)、図8に示す処理に戻る。こうして、受信されたコンテンツデータC2を構成する各パケットデータはバッファメモリ13に蓄積される。
次に、ステップS6の「システムSX2に参加中の処理」では、図9(B)に示すように、制御部11は、ツリー型コンテンツ配信システムSX2から脱退する指示があったか否か(例えば、ユーザから入力部21を介したツリー型コンテンツ配信システムSX2からの脱退指示があったか)否かを判別する(ステップ31)。ツリー型コンテンツ配信システムSX2から脱退する指示があった場合には(ステップS31:Y)、制御部11は、自己が接続している上位階層のノードNnへコンテンツデータC2の転送停止メッセージを送信し(ステップS32)、図8に示す処理に戻る。
一方、ツリー型コンテンツ配信システムSX2から脱退する指示がない場合には(ステップS31:N)、制御部11は、コンテンツデータC2の受信ストリームが所定時間(例えば、30秒)途切れたか否かを判別し(ステップS33)、途切れていない場合には(ステップS33:N)、受信されたコンテンツデータC2の再生処理(つまり、バッファメモリ13に蓄積されたコンテンツデータC2をデコーダ部14にてデコードさせ、映像処理部15、表示部16、音声処理部17、及びスピーカ18を通じて再生出力させる処理)を行う(ステップS34)。
一方、コンテンツデータC2の受信ストリームが所定時間途切れた場合(例えば、上位階層のノードNnがコンテンツデータC2の転送を停止したことによる)には(ステップS33:Y)、制御部11は、上述した図9(A)に示すシステムSX2への参加処理を行う(ステップS35)。かかる参加処理により、放送局装置10から新たに紹介されたノードNnに接続し、当該ノードNnに対して上述した転送要求メッセージを送信することになる。
次に、制御部11は、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し(ステップS36)、存在しない場合には(ステップS36:N)、図8に示す処理に戻り、存在する場合には(ステップS36:Y)、当該下位階層(下流)のノードNnに対して、上位階層(上流)のノードNnから転送され受信されたコンテンツデータC2(これを構成する各パケットデータ)を転送し(ステップS37)、図8に示す処理に戻る。
次に、図8に示すステップS7では、制御部11は、何らかのメッセージを受信したか否かを判別し、メッセージを受信していない場合には(ステップS7:N)、その他の処理(例えば、ユーザノードとして、所望のコンテンツデータC1を取得するために、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて送出する等の処理)を行い(ステップS13)、ステップS2に戻る。一方、メッセージが受信された場合には(ステップS7:Y)、制御部11は、当該受信されたメッセージが、コンテンツ分散保存システムSX1に関する(該システムSX1で取り扱われる)メッセージであるか否かを判別し(ステップS8)、当該システムSX1に関するメッセージでない場合には(ステップS8:N)、ツリー型コンテンツ配信システムSX2に関する(該システムSX2で取り扱われる)メッセージであるか否かを判別する(ステップS9)。なお、例えば、各メッセージにヘッダ部分には、当該メッセージの種別を示す情報が含まれており、制御部11は、かかる情報から上記システムSX1で取り扱われるメッセージであるか、上記システムSX2で取り扱われるメッセージであるかを判別することができる。
上記ステップS9において、ツリー型コンテンツ配信システムSX2に関するメッセージである場合には(ステップS9:Y)、ツリー型コンテンツ配信システムSX2に関するメッセージの受信処理を行い(ステップS10)、ツリー型コンテンツ配信システムSX2に関するメッセージでない場合には(ステップS9:N)、ステップS13に移行する。
ステップS10の「システムSX2に関するメッセージの受信処理」では、図10に示すように、制御部11は、上記ステップS7で受信されたメッセージが転送要求メッセージであるか否かを判別し(ステップS41)、転送要求メッセージである場合には(ステップS41:Y)、当該転送要求メッセージを送信したノードNn(つまり、自己に直接接続される下位階層のノードNn)に対するコンテンツデータC2の転送を開始し(ステップS42)、図8に示す処理に戻る。
一方、受信されたメッセージが転送要求メッセージでない場合には(ステップS41:N)、制御部11は、当該受信されたメッセージが転送停止メッセージであるか否かを判別し(ステップS43)、転送停止メッセージである場合には(ステップS43:Y)、当該転送停止メッセージを送信したノードNn(つまり、自己に直接接続される下位階層ノードNn)に対するコンテンツデータC2の転送を停止し(ステップS44)、図8に示す処理に戻る。一方、受信されたメッセージが転送停止メッセージでもない場合には(ステップS43:N)、その他の処理が行われ(ステップS45)、図8に示す処理に戻る。
一方、上記ステップS8において、コンテンツ分散保存システムSX1に関するメッセージである場合には(ステップS8:Y)、制御部11は、コンテンツ分散保存システムSX1に関するメッセージの受信処理を行う(ステップS11)。
ステップS11の「システムSX1に関するメッセージの受信処理」では、図11に示すように、制御部11は、上記ステップS7で受信されたメッセージが上述したコンテンツ送信要求メッセージであるか否かを判別し(ステップS51)、コンテンツ送信要求メッセージでない場合には(ステップS51:N)、上記受信されたメッセージがコンテンツ送信承諾メッセージであるか否かを判別し(ステップS52)、コンテンツ送信承諾メッセージである場合(この場合当該ノードNnはユーザノードとして機能)には(ステップS52:Y)、コンテンツ保持ノードから送信されてきた送信要求に係るコンテンツデータC1を受信し(ステップS53)、記憶部12に記憶する(ダウンロードの完了)。
一方、受信されたメッセージがコンテンツ送信承諾メッセージでない場合には(ステップS52:N)、制御部11は、上記受信されたメッセージがコンテンツ送信拒否メッセージであるか否かを判別し(ステップS54)、コンテンツ送信拒否メッセージである場合には(ステップS54:Y)、制御部11は、送信拒否に係るコンテンツデータC1を所定のサーバから取得する処理を行うか、或いは、他のコンテンツ保持ノードを発見するための処理(例えば、再度、送信拒否に係るコンテンツデータC1のコンテンツID及び自己のノード情報等を含むコンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて送出する処理)を行う(ステップS55)。
一方、受信されたメッセージがコンテンツ送信拒否メッセージでない場合には(ステップS54:N)、制御部11は、自己がルートノードであるか否かを判別し(ステップS56)、ルートノードである場合には(ステップS56:Y)、メッセージに対応する処理を行って、図8に示す処理に戻り、ルートノードでない場合には(ステップS56:N)、上記受信されたメッセージを、自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して転送し(ステップS57)、図8に示す処理に戻る。
一方、上記ステップS51において、受信されたメッセージがコンテンツ送信要求メッセージである場合(つまり、自己がコンテンツ保持ノードである場合)には(ステップS51:Y)、制御部11は、ユーザノードへの応答判断処理(詳細は後述)を行い(ステップS58)、当該応答判断処理において送信要求に応じると決定されたか否かを判別する(ステップS59)。かかる判別は、後述する応答判断処理における結果、例えば、RAMに、応じる決定を示す“T”と応じない決定を示す“F”のどちらが記憶されているかにより行われる。
そして、制御部11は、送信要求に応じると決定された場合には(ステップS59:Y)、コンテンツ送信承諾メッセージ及び当該送信要求に係るコンテンツデータC1を、設定された伝送速度(後述するステップS153で伝送速度が設定されない限りはデフォルト設定値(例えば100%の伝送速度))で、コンテンツ送信要求メッセージを送信したノードNn(ユーザノード)に送信し(ステップS60)、一方、送信要求に応じないと決定された場合には(ステップS59:N)、コンテンツ送信拒否メッセージを、コンテンツ送信要求メッセージを送信したノードNn(ユーザノード)に送信し(ステップS61)、図8に示す処理に戻る。図8に示すステップS12のDHTを用いたルーティングテーブルの更新処理では、制御部11は、上記受信されたメッセージから当該メッセージを送信したノードNnのノードID及びノード情報を取得し、これを自己のDHTを用いたルーティングテーブルにおける所定のテーブルエントリーに登録(例えば、当該テーブルエントリーが空欄であった場合は新規登録、既に登録されていた場合は上書登録)し、ステップS2に戻る。
(応答判断処理)
次に、図11に示すステップS58の応答判断処理の例は、幾つかに分けることができるので、ここでは、実施例1〜実施例6に分けて説明する。
(実施例1)
図12(A)のフローチャートは、実施例1における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS110)、当該システムSX2に参加中である場合には(ステップS110:Y)、送信要求に応じないと決定(応じない決定を示す“F”をRAMに記憶、以下同じ)し(ステップS111)、当該システムSX2に参加中でない場合には(ステップS110:N)、送信要求に応じると決定(応じる決定を示す“T”をRAMに記憶、以下同じ)し(ステップS112)、図11に示す処理に戻ることになる。
これにより、コンテンツ保持ノードは、ツリー型コンテンツ配信システムSX1に参加している場合には、コンテンツデータC1の送信要求をしたユーザノードに対する送信を拒否するので、ツリー型コンテンツ配信システムSX2において安定したコンテンツデータC1のストリーム再生及び下位階層のノードNnへの転送を行うことができる。
(実施例2)
図12(B)のフローチャートは、実施例2における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS120)、当該システムSX2に参加中である場合には(ステップS120:Y)、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し(ステップS122)、存在する場合には(ステップS122:Y)、送信要求に応じないと決定し(ステップS123)、図11に示す処理に戻る。一方、当該システムSX2に参加中でない場合(ステップS120:N)、又は、下位階層のノードNnが存在しない場合には(ステップS122:N)、制御部11は、送信要求に応じると決定し(ステップS121)、図11に示す処理に戻ることになる。
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムSX1に参加している場合であっても、当該コンテンツ保持ノードに直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在しない場合には、コンテンツデータC1の送信要求をしたユーザノードに対してコンテンツデータC1を送信する一方、下位階層のノードNnが存在する場合には、ユーザノードに対するコンテンツデータC1の送信を拒否するので、ツリー型コンテンツ配信システムSX2において安定したコンテンツデータC1のストリーム再生及び下位階層のノードNnへの転送を行うことができ、さらにはコンテンツデータC1の送信要求の拒否によりコンテンツ分散保存システムSX1に与える影響を低減させ、効率的に両システムを運用することができる。
なお、ステップS122において、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在する場合には、送信要求に応じないと決定するように構成したが、下位階層のノードNnが存在する場合であっても、下位階層のノードNnの数が少ない(閾値以下の)場合には、送信要求に応じると決定するように構成しても良く、このように構成すれば、コンテンツデータC1の送信要求の拒否によりコンテンツ分散保存システムSX1に与える影響を低減させ、より効率的に両システムを運用することができる。
(実施例3)
図13(A)のフローチャートは、実施例3における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS130)、当該システムSX2に参加中である場合には(ステップS130:Y)、制御部11が有するCPUの稼働率を認識し、当該CPUの稼働率が閾値以下であるか否かを判別し(ステップS132)、当該CPUの稼働率が閾値以下でない(閾値より大きい)場合には(ステップS132:N)、送信要求に応じないと決定し(ステップS133)、図11に示す処理に戻る。一方、当該システムSX2に参加中でない場合(ステップS130:N)、又は、CPUの稼働率が閾値以下である場合には(ステップS132:Y)、制御部11は、送信要求に応じると決定し(ステップS131)、図11に示す処理に戻ることになる。
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムSX1に参加している場合であっても、当該コンテンツ保持ノードのCPUの稼働率が閾値以下である場合には、処理負荷が小さいため、コンテンツデータC1の送信要求をしたユーザノードに対してコンテンツデータC1を送信する一方、当該CPUの稼働率が閾値より大きい場合には、ユーザノードに対するコンテンツデータC1の送信を拒否するので、ツリー型コンテンツ配信システムSX2において安定したコンテンツデータC1のストリーム再生及び下位階層のノードNnへの転送を行うことができ、さらにはコンテンツデータC1の送信要求の拒否によりコンテンツ分散保存システムSX1に与える影響を低減させ、効率的に両システムを運用することができる。
なお、当該処理において、当該システムSX2に参加中である場合に、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し、存在する場合に、当該CPUの稼働率が閾値以下であるか否かを判別する(以降の処理は同様)ように構成しても良い。つまり、CPUの稼働率いかんにかかわらず、下位階層のノードNnが存在しない場合には、送信要求に応じると決定する趣旨である。また、下位階層のノードNnが存在する場合であっても、下位階層のノードNnの数が少ない(閾値以下の)場合には、CPUの稼働率が閾値以下であるか否かに拘らず、送信要求に応じると決定するように構成しても良い。
(実施例4)
図13(B)のフローチャートは、実施例4における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS140)、当該システムSX2に参加中である場合には(ステップS140:Y)、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し(ステップS142)、存在する場合には(ステップS142:Y)、自己が接続されるネットワーク8における通信回線の回線種類を認識し、当該認識された通信回線の種類が例えば光ケーブルであるか否かを判別する(ステップS143)。そして、上記認識された通信回線の種類が光ケーブルでない場合には(ステップS143:N)、制御部11は、送信要求に応じないと決定し(ステップS144)、図11に示す処理に戻る。
一方、当該システムSX2に参加中でない場合(ステップS140:N)、又は、下位階層のノードNnが存在しない場合(ステップS142:N)、又は、上記認識された通信回線の種類が光ケーブルである場合には(ステップS143:Y)、制御部11は、送信要求に応じると決定し(ステップS141)、図11に示す処理に戻ることになる。
なお、上記ステップS143で、帯域に余裕があるか否かを判断するための簡単な方法として、通信回線の種類が例えば光ケーブルであるか否かを判別することとしたが、当該ノードNnが接続されるネットワーク8における通信回線の有効帯域を示す情報を認識することができれば(例えば、試験用パケットを送受信して有効帯域(伝送速度)を測定)、ステップS143で通信回線の有効帯域が閾値より狭いか否かを判別し、狭い場合には、帯域に余裕がないとして、送信要求に応じないと決定するように構成しても良い。
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムSX1に参加している場合であり、さらに下位階層のノードNnが存在する場合であっても、通信回線の種類が例えば光ケーブルであるなどのように、有効帯域が広く余裕がある場合には、コンテンツデータC1の送信要求をしたユーザノードに対してコンテンツデータC1を送信する一方、当該有効帯域が狭く余裕がない場合には、ユーザノードに対するコンテンツデータC1の送信を拒否するので、ツリー型コンテンツ配信システムSX2において安定したコンテンツデータC1のストリーム再生及び下位階層のノードNnへの転送を行うことができ、さらにはコンテンツデータC1の送信要求の拒否によりコンテンツ分散保存システムSX1に与える影響を低減させ、効率的に両システムを運用することができる。
また、ステップS142において、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在する場合であっても、下位階層のノードNnの数が少ない(閾値以下の)場合には、通信回線の種類等に拘らず、送信要求に応じると決定するように構成しても良い。
(実施例5)
図14のフローチャートは、実施例5における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS150)、当該システムSX2に参加中である場合には(ステップS150:Y)、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し(ステップS152)、存在する場合には(ステップS152:Y)、ツリー型コンテンツ配信システムSX2において自己が位置する階層を認識し、認識された階層が閾値より上位の階層にあるか否かを判別する(ステップS153)。そして、認識した階層が閾値より上位の階層(例えば、放送局装置10を除く最上位階層)にある場合には(ステップS153:Y)、制御部11は、送信要求に応じないと決定し(ステップS155)、図11に示す処理に戻る。
一方、認識した階層が閾値より上位の階層にない場合には(ステップS153:N)、制御部11は、認識した階層に応じた伝送速度を設定(つまり、上位階層であればあるほど遅く設定)し(ステップS154)、送信要求に応じると決定し(ステップS151)、図11に示す処理に戻ることになる。
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムSX1に参加している場合であり、さらに下位階層のノードNnが存在する場合であっても、コンテンツ保持ノードの階層位置に応じた伝送速度で、コンテンツデータC1の送信要求をしたユーザノードに対してコンテンツデータC1を送信するので、コンテンツデータC1の送信要求の拒否によりコンテンツ分散保存システムSX1に与える影響を無くし、より効率的に両システムを運用することができる。
また、当該システムSX2に参加中でない場合(ステップS150:N)、又は、下位階層のノードNnが存在しない場合には(ステップS152:N)、送信要求に応じると決定(この場合、伝送速度は初期設定(100%の伝送速度)とされる)し(ステップS151)、図11に示す処理に戻ることになる。
また、ステップS152において、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在する場合であっても、下位階層のノードNnの数が少ない(閾値以下の)場合には、自己が位置する階層に拘らず、100%の伝送速度で送信要求に応じると決定するように構成しても良い。
(実施例6)
図15のフローチャートは、実施例6における応答判断処理を示しており、この例では、制御部11は、ツリー型コンテンツ配信システムSX2に参加中であるか否かを判別し(ステップS160)、当該システムSX2に参加中である場合には(ステップS160:Y)、コンテンツ分散保存システムSX1において自己の代わりにユーザノードに対してコンテンツデータC1を送信可能なコンテンツ保持ノード(代替ノード)の数MXを当該コンテンツデータC1のルートノードに問い合わせ、当該ルートノードから上記代替ノードの数MXを示す第一代替ノード数情報を取得する(ステップS161)。
次いで、制御部11は、ツリー型コンテンツ配信システムSX2において自己の代わりに下位階層のノードNnに対してコンテンツデータC2を転送可能なノードNn(代替ノード)の数MYを放送局装置10に問い合わせ、当該放送局装置10から上記代替ノードの数MYを示す第二代替ノード数情報を取得する(ステップS162)。
次いで、制御部11は、上記取得した第一代替ノード数情報に示された代替ノードの数MXが、上記取得した第二代替ノード数情報に示された代替ノードの数MYの数より少ないか否かを判別し(ステップS163)、少なくない(つまり、多い)場合には(ステップS163:N)、ツリー型コンテンツ配信システムSX2を優先するため、送信要求に応じないと決定し(ステップS164)、図11に示す処理に戻る。
一方、代替ノードの数MXが、代替ノードの数MYの数より少ない場合には(ステップS163:Y)、制御部11は、自己に直接接続されコンテンツデータC2の転送を受ける下位階層のノードNnが存在するか否かを判別し(ステップS165)、存在しない場合には(ステップS165:N)、ステップS167に移行し、存在する場合には(ステップS165:Y)、当該下位階層のノードNnへのコンテンツデータC2の転送を停止する(ステップS166)。これにより、コンテンツ保持ノードは、コンテンツ分散保存システムSX1を優先して、コンテンツデータC1の送信要求をしたユーザノードに対して当該コンテンツデータC1を送信することができるので、運用上非常に効率的である。
次いで、制御部11は、放送局装置10に接続し、接続先として自己の紹介禁止を示す紹介禁止情報としての紹介禁止メッセージ(自己のノード情報を含む)を、当該放送局装置10に送信し(ステップS167)、続いて、送信要求に応じると決定し(ステップS168)、図11に示す処理に戻ることになる。なお、別の例として、ステップS167において紹介禁止メッセージを送信しない場合(或いは、紹介禁止メッセージを送信はするがタイムラグがあった場合)、下位階層となるべきノードNn(転送要求ノード)から転送要求メッセージを受信することが生じうるが、かかる場合、当該転送要求メッセージを受信したときに、転送不可メッセージを当該ノードNn(転送要求ノード)へ送信することになる。
また、ツリー型コンテンツ配信システムSX2に参加中でない場合(ステップS160:N)にも、送信要求に応じると決定され(ステップS168)、図11に示す処理に戻ることになる。
以上により、夫々のシステムにおいて、コンテンツ保持ノードの代わりをできるノードの数が少ない方のシステムを優先させて、コンテンツデータの送信を行うので、より効率的に両システムを運用することができる。
一方、放送局装置10は、図16に示す処理において、受信したメッセージが、紹介禁止メッセージである場合には(ステップS104:Y)、当該紹介禁止メッセージに含まれるノード情報を、上述した接続先紹介不可リストに登録し(ステップS105)、ステップS101に戻る。これにより、当該ノードNnは、上記ステップS102にて接続紹介先として選択されなくなる。
そして、この実施例6では、図11に示す処理におけるステップS60にて送信要求に係るコンテンツデータC1の送信が完了した場合に、制御部11は、放送局装置10に接続し、紹介禁止の解除を示す紹介禁止解除情報としての紹介禁止解除メッセージ(自己のノード情報を含む)を、当該放送局装置10に送信することになる。これに対し、放送局装置10は、図16に示す処理において、受信したメッセージが、紹介禁止解除メッセージである場合には(ステップS106:Y)、当該紹介禁止解除メッセージに含まれるノード情報を、接続先紹介不可リストから削除し(ステップS107)、ステップS101に戻る。こうして、当該ノードNnは、再び、上記ステップS102にて接続紹介先として選択されることができるようになる。
以上説明したように、上記実施形態によれば、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2の双方に参加しているノードNn(つまり、コンテンツ保持ノード)であっても、ノードNnの状況やツリー型コンテンツ配信システムSX2等の状況等に応じて、コンテンツデータC1の送信要求をしたユーザノードに対して当該コンテンツデータC1を送信したり、或いは当該送信を拒否することができるので、コンテンツデータC2のストリーム再生が途切れることなく安定して再生することができ、更に、ツリー型コンテンツ配信システムSX2における配信(放送)ツリーのトポロジーを崩すことなく、つまり、ノードNnの階層位置の変更等を極力抑えつつ、下位階層のノードNnへのコンテンツデータC2の転送を安定して行う(転送遅れがなく)ことができる。したがって、コンテンツ分散保存システムSX1とツリー型コンテンツ配信システムSX2とを併用した運用を、より効率的に行うことができる。
なお、上記実施形態におけるコンテンツ分散保存システムSX1は、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。 コンテンツ分散保存システムとツリー型コンテンツ配信システムの概念図である。 ノードN2が保持するDHTを用いたルーティングテーブルの一例を示す図である。 DHTのID空間の一例を示す概念図である。 ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのID空間にて示した概念図である。 ノードNnの概要構成例を示す図である。 コンテンツ保持ノードが位置する階層に応じた伝送速度の一例を示す図である。 ノードNnの制御部11におけるメイン処理を示すフローチャートである。 (A)は、図8に示すステップS5におけるシステムSX2への参加処理の詳細を示すフローチャートであり、(B)は、図8に示すステップS6におけるシステムSX2に参加中の処理の詳細を示すフローチャートである。 図8に示すステップS10におけるツリー型コンテンツ配信システムSX2に関するメッセージの受信処理の詳細を示すフローチャートである。 図8に示すステップS11におけるコンテンツ分散保存システムSX1に関するメッセージの受信処理の詳細を示すフローチャートである。 図11に示すステップS58におけるユーザノードへの応答判断処理の例を示すフローチャートである。 図11に示すステップS58におけるユーザノードへの応答判断処理の例を示すフローチャートである。 図11に示すステップS58におけるユーザノードへの応答判断処理の例を示すフローチャートである。 図11に示すステップS58におけるユーザノードへの応答判断処理の例を示すフローチャートである。 放送局装置10におけるメッセージ受信処理を示すフローチャートである。
符号の説明
8 ネットワーク
9 オーバーレイネットワーク
10 放送局装置
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
Nn ノード
S 通信システム
SX1 コンテンツ分散保存システム
SX2 ツリー型コンテンツ配信システム

Claims (19)

  1. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    を備え
    前記決定手段は、自己が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とするノード装置。
  2. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    前記ツリー型コンテンツ配信システムにおいて自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置があるか否かを判別する下位ノード有無判別手段と、
    を備え、
    前記決定手段は、前記下位ノード有無判別手段により下位階層のノード装置があると判別された場合には、前記送信要求に応じないと決定することを特徴とするノード装置。
  3. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    前記ツリー型コンテンツ配信システムにおいて自己が位置する階層を認識する階層認識手段と、
    前記認識された階層が閾値より上位の階層にあるか否かを判別する階層判別手段と、
    を備え、
    前記決定手段は、前記階層判別手段により前記階層が閾値より上位の階層にあると判別された場合には、前記送信要求に応じないと決定することを特徴とするノード装置。
  4. 請求項1乃至3の何れか一項に記載のノード装置において、
    前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とするノード装置。
  5. 請求項1乃至3の何れか一項に記載のノード装置において、
    前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とするノード装置。
  6. 請求項に記載のノード装置において、
    前記ツリー型コンテンツ配信システムにおいて自己が位置する階層を認識する階層認識手段を更に備え、
    前記コンテンツ送信手段は、前記認識された階層に応じた伝送速度で前記送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信することを特徴とするノード装置。
  7. 請求項に記載のノード装置において、
    前記伝送速度は、前記下位階層に比して前記上位階層ほど遅く設定されることを特徴とするノード装置。
  8. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    前記ツリー型コンテンツ配信システムにおいて自己の転送によって前記第二コンテンツデータの配信を受ける下位階層のノード装置の数を認識する下位ノード数認識手段と、
    前記認識された下位階層のノード装置の数が閾値より大きいか否かを判別する下位ノード数判別手段と、
    を備え、
    前記決定手段は、前記下位ノード数判別手段により前記下位階層のノード装置の数が閾値より大きいと判別された場合には、前記送信要求に応じないと決定することを特徴とするノード装置。
  9. 請求項に記載のノード装置において、
    前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とするノード装置。
  10. 請求項に記載のノード装置において、
    前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とするノード装置。
  11. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置であって、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    前記コンテンツ分散保存システムにおいて自己の代わりに前記他のノード装置に対して前記第一コンテンツデータを送信可能なノード装置の数を示す第一代替ノード数情報を、前記第一コンテンツデータを送信可能なノード装置の所在情報を管理する第一管理装置から取得する第一代替ノード数情報取得手段と、
    前記ツリー型コンテンツ配信システムにおいて自己の代わりに下位階層のノード装置に対して前記第二コンテンツデータを転送可能なノード装置の数を示す第二代替ノード数情報を、前記ツリー型コンテンツ配信システムにおけるノード装置の接続態様を管理する第二管理装置から取得する第二代替ノード数情報取得手段と、
    前記取得された第一代替ノード数情報に示された前記第一コンテンツデータを送信可能なノード装置の数が、前記第二代替ノード数情報に示された前記第二コンテンツデータを転送可能なノード装置の数より少ないか否かを判別する代替ノード数判別手段と、
    を備え、
    前記決定手段は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合には、前記送信要求に応じると決定することを特徴とするノード装置。
  12. 請求項11に記載のノード装置において、
    前記決定手段により送信要求に応じると決定された場合には、当該送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信するコンテンツ送信手段を更に備えることを特徴とするノード装置。
  13. 請求項11に記載のノード装置において、
    前記決定手段により送信要求に応じないと決定された場合には、前記他のノード装置に対して当該送信要求に応じないことを示す送信拒否情報を送信する送信拒否情報送信手段を更に備えることを特徴とするノード装置。
  14. 請求項11乃至13の何れか一項に記載のノード装置において、
    前記ツリー型コンテンツ配信システムにおいて自己の上位階層として接続されるノード装置から配信されてきた前記第二コンテンツデータを受信し、これを自己の下位階層として接続されるノード装置に対して転送するコンテンツ転送手段と、を更に備え、
    前記コンテンツ転送手段は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合には、自己の下位階層として接続される前記ノード装置に対する前記第二コンテンツデータの転送を停止することを特徴とするノード装置。
  15. 請求項11乃至14の何れか一項に記載のノード装置において、
    前記第二管理装置は、前記ツリー型コンテンツ配信システムへの参加を要求するノード装置に対して、接続先となるノード装置を紹介するための紹介情報を提供するものであり、
    前記ノード装置は、前記代替ノード数判別手段により前記第一コンテンツデータを送信可能なノード装置の数の方が少ないと判別された場合に、接続先として自己の紹介禁止を示す紹介禁止情報を前記第二管理装置に対して送信する紹介禁止情報送信手段を更に備えることを特徴とするノード装置。
  16. 請求項15に記載のノード装置において、
    前記送信要求に係る第一コンテンツデータを前記他のノード装置に対して送信することが完了した場合に、前記紹介禁止の解除を示す紹介禁止解除情報を前記第二管理装置に対して送信する紹介禁止解除情報送信手段を更に備えることを特徴とするノード装置。
  17. 請求項1乃至16の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム
  18. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加し、且つ、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムに参加している前記ノード装置におけるコンテンツデータ送信可否決定方法であって、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する工程と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定工程と、
    を含み、
    前記決定工程は、前記要求情報を受信したノード装置が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とするコンテンツデータ送信可否決定方法
  19. 複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している第一コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムと、
    複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置により配信された第二コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型コンテンツ配信システムと、を備える通信システムであって、
    前記コンテンツ分散保存システムと前記ツリー型コンテンツ配信システムの双方に参加している前記ノード装置は、
    前記第一コンテンツデータを記憶する記憶手段と、
    前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、
    前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、
    を備え、
    前記決定手段は、自己が前記ツリー型コンテンツ配信システムに参加している場合には、前記送信要求に応じないと決定することを特徴とする通信システム
JP2006179289A 2006-06-29 2006-06-29 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 Expired - Fee Related JP4692414B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006179289A JP4692414B2 (ja) 2006-06-29 2006-06-29 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006179289A JP4692414B2 (ja) 2006-06-29 2006-06-29 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等

Publications (2)

Publication Number Publication Date
JP2008011147A JP2008011147A (ja) 2008-01-17
JP4692414B2 true JP4692414B2 (ja) 2011-06-01

Family

ID=39068959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006179289A Expired - Fee Related JP4692414B2 (ja) 2006-06-29 2006-06-29 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等

Country Status (1)

Country Link
JP (1) JP4692414B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4765876B2 (ja) * 2006-09-29 2011-09-07 ブラザー工業株式会社 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
FR2928800A1 (fr) * 2008-03-14 2009-09-18 Thomson Licensing Sas Procede de gestion de requetes d'obtention d'identifiants de pairs en vue d'acceder en mode p2p a des contenus qu'ils stockent, et dispositif de gestion et equipement de reseau associes.
US8606967B2 (en) 2008-06-17 2013-12-10 Qualcomm Incorporated Methods and apparatus for proxying of devices and services using overlay networks
JP5321221B2 (ja) * 2009-04-22 2013-10-23 富士通株式会社 管理装置、管理方法、およびプログラム
JP5434268B2 (ja) * 2009-05-27 2014-03-05 ブラザー工業株式会社 分散保存システム、データファイル分散保存方法及びプログラム
JP5293457B2 (ja) * 2009-06-29 2013-09-18 ブラザー工業株式会社 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP5272975B2 (ja) * 2009-08-31 2013-08-28 ブラザー工業株式会社 情報通信システム、提供装置及びそのプログラム
US8903906B2 (en) 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
JP5423497B2 (ja) * 2010-03-16 2014-02-19 ブラザー工業株式会社 情報通信システム、ノード装置、情報通信方法、及びプログラム
JP5776339B2 (ja) * 2011-06-03 2015-09-09 富士通株式会社 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004064284A (ja) * 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークのトラヒック制御方法及び装置並びにプログラム及び記録媒体
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2005065177A (ja) * 2003-08-20 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
JP2006033514A (ja) * 2004-07-16 2006-02-02 Brother Ind Ltd 接続態様制御装置、接続態様制御方法及び接続態様制御用プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004064284A (ja) * 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークのトラヒック制御方法及び装置並びにプログラム及び記録媒体
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2005065177A (ja) * 2003-08-20 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
JP2006033514A (ja) * 2004-07-16 2006-02-02 Brother Ind Ltd 接続態様制御装置、接続態様制御方法及び接続態様制御用プログラム

Also Published As

Publication number Publication date
JP2008011147A (ja) 2008-01-17

Similar Documents

Publication Publication Date Title
JP4692414B2 (ja) 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
US20090116406A1 (en) Node device, memory medium saving computer program, information delivery system, and network participation method
US7853718B2 (en) Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
WO2007060862A1 (ja) 情報配信システム、情報配信方法、ノード装置、及び記録媒体
US20100023593A1 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP2008294626A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5136585B2 (ja) 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
US20080235244A1 (en) Distributed content storing system, node device, node process program, and content data providing method
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
JP4623030B2 (ja) ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2010039722A (ja) ノード装置、管理ノード装置、ノード処理プログラム、管理ノード処理プログラム、コンテンツ分散保存システム、複製データ取得方法
JP2009187101A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP5007624B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP5218356B2 (ja) 情報通信システム、情報通信方法、サポート装置及び情報通信処理プログラム
JP4867845B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム
JP2009187056A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees