JP2006191489A - ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 - Google Patents

ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 Download PDF

Info

Publication number
JP2006191489A
JP2006191489A JP2005003051A JP2005003051A JP2006191489A JP 2006191489 A JP2006191489 A JP 2006191489A JP 2005003051 A JP2005003051 A JP 2005003051A JP 2005003051 A JP2005003051 A JP 2005003051A JP 2006191489 A JP2006191489 A JP 2006191489A
Authority
JP
Japan
Prior art keywords
information
node
node device
participating
communication
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.)
Granted
Application number
JP2005003051A
Other languages
English (en)
Other versions
JP4371056B2 (ja
Inventor
Hiroaki Suzuki
博明 鈴木
Yoshihiko Hibino
義彦 日比野
Yuji Kiyohara
裕二 清原
Kentaro Ushiyama
建太郎 牛山
Koichi Iijima
康一 飯島
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
Xing Inc
Original Assignee
Brother Industries Ltd
Xing Inc
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, Xing Inc filed Critical Brother Industries Ltd
Priority to JP2005003051A priority Critical patent/JP4371056B2/ja
Priority to PCT/JP2005/022919 priority patent/WO2006073046A1/ja
Priority to EP05816810A priority patent/EP1841141A4/en
Publication of JP2006191489A publication Critical patent/JP2006191489A/ja
Priority to US11/822,388 priority patent/US7984182B2/en
Application granted granted Critical
Publication of JP4371056B2 publication Critical patent/JP4371056B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ローカリティが考慮されたオーバーレイネットワークを構築することが可能で、ネットワークへの不必要な負荷を軽減するノード装置等を提供する。
【解決手段】オーバーレイネットワークに参加するノード装置は、参加要求情報を送信すべきノード装置を検索する検索情報を情報処理装置に送信する検索情報送信手段と、情報処理装置によって転送された検索情報を受信したオーバーレイネットワークに参加している複数のノード装置からの返信情報を受信する返信情報受信手段と、返信情報を返信した夫々のノード装置と自己との間の通信経路の通信負荷情報を取得する通信負荷情報取得手段と、各通信経路の通信負荷情報を比較する通信負荷比較手段と、比較結果に基づいて、返信した複数のノード装置のうちから参加要求情報を送信すべきノード装置を選定するノード装置選定手段と、選定されたノード装置に参加要求情報を送信する参加要求情報送信手段と、を備える。
【選択図】 図1

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報配信システム及び方法等に関し、特に、上記複数のノード装置のうちの全部又は一部のノード装置の参加により形成されているオーバーレイネットワークに未参加のノード装置が参加するための技術分野に関する。
ピアツーピア型の情報配信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報
しかしながら、上記従来の技術においては、各ノード装置のリンク情報は、ローカリティ(地域性)、言い換えれば、実際のネットワーク(実ネットワーク)上の近さが考慮されていないため、実際のネットワークに対して余分な負荷を与えることが考えられる。
本発明は、以上の問題等に鑑みてなされたものであり、ローカリティ(地域性)が考慮されたオーバーレイネットワークを構築することが可能で、実際のネットワークへの余分な負荷を軽減することが可能なノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに参加するノード装置であって、前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する検索情報送信手段と、前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する返信情報受信手段と、前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する通信負荷情報取得手段と、各前記通信経路における通信負荷に関する情報を比較する通信負荷比較手段と、前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定するノード装置選定手段と、前記選定されたノード装置に対して前記参加要求情報を送信する参加要求情報送信手段と、を備えることを特徴とする。
請求項1に記載の発明によれば、オーバーレイネットワークへの参加を希望をするノード装置が、オーバーレイネットワークに参加している複数のノード装置からの夫々の返信情報から、当該夫々の返信情報を返信した夫々のノード装置と自己との間の通信経路における通信負荷に関する情報、例えば、TTL(Time To Live)を取得して互いに比較し、自己との間の通信経路における通信負荷が最も小さい、言い換えれば、ネットワーク的に近いノード装置を選定して、これに対して参加要求を行ってオーバーレイネットワークに参加するように構成したので、実際のネットワーク上のローカリティ(地域性)が考慮されたオーバーレイネットワークを構築することが可能となり、実際のネットワークへの不必要な負荷を軽減することができる。
請求項2に記載の発明は、請求項1に記載のノード装置において、前記ノード装置選定手段は、前記返信情報を返信した前記複数のノード装置のうちから、自己との間の通信経路上における前記通信負荷が最も小さいノード装置を選定することを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載のノード装置において、互いに異なる複数の識別情報を生成する識別情報生成手段を更に備え、前記検索情報送信手段は、前記検索情報に対して、前記生成された複数の識別情報を付加して前記情報処理装置に対して送信し、前記検索情報は、夫々の前記識別情報に従って、前記情報処理装置から夫々の前記識別情報の管理元であるノード装置に至るまで転送され、前記返信情報受信手段は、前記検索情報を受信した前記夫々の前記識別情報の管理元であるノード装置から返信されてきた返信情報を夫々受信することを特徴とする。
請求項4に記載の発明は、請求項1又は2に記載のノード装置において、前記検索情報は、前記情報処理装置によって生成された互いに異なる複数の識別情報に従って、当該情報処理装置から夫々の前記識別情報の管理元であるノード装置に至るまで転送され、前記返信情報受信手段は、前記検索情報を受信した前記夫々の前記識別情報の管理元であるノード装置から返信されてきた返信情報を夫々受信することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のノード装置において、前記参加要求情報送信手段は、前記選定されたノード装置に対して、自己に固有の識別情報を前記参加要求情報に付加して送信し、前記参加要求情報は、前記固有の識別情報に従って、当該参加要求情報を受信した前記ノード装置から当該固有の識別情報の管理元であるノード装置に至るまで転送され、当該参加要求情報を転送する夫々のノード装置から送信されてきた当該識別情報の転送先を含む転送先情報を受信する転送先情報受信手段と、前記受信された夫々の転送先情報に基づいて、新たな転送先情報を生成する転送先情報生成手段と、を更に備えることを特徴とする。
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載のノード装置において、前記通信負荷情報取得手段は、前記受信された夫々の返信情報から、前記通信負荷に関する情報として、TTL(Time To Live)を取得し、前記通信負荷比較手段は、前記取得されたTTLを比較することを特徴とする。
請求項6に記載の発明によれば、TTLを用いて、簡単に通信効果を判断できる。
請求項7に記載の発明は、通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに新たに参加するノード装置に含まれるコンピュータを、前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する検索情報送信手段、前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する返信情報受信手段、前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する通信負荷情報取得手段、各前記通信経路における通信負荷に関する情報を比較する通信負荷比較手段、前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定するノード装置選定手段、及び、前記選定されたノード装置に対して前記参加要求情報を送信する参加要求情報送信手段として機能させることを特徴とする。
請求項8に記載の発明は、請求項7に記載のネットワーク参加処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
請求項9に記載の発明は、通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに新たにノード装置が参加するためのネットワーク参加処理方法であって、前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する工程と、前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する工程と、前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する工程と、各前記通信経路における通信負荷に関する情報を比較する工程と、前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定する工程と、前記選定されたノード装置に対して前記参加要求情報を送信する工程と、を備えることを特徴とする。
本発明によれば、実際のネットワーク上のローカリティ(地域性)が考慮されたオーバーレイネットワークを構築することが可能となり、実際のネットワークへの余分な負荷を軽減することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[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には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
コンテンツ配信システムSは、通信手段としてのこのようなネットワーク8を介して相互に接続された複数のノード装置n1,n2・・・n21を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている(なお、実際には、これ以上のノード装置が存在することになる)。また、各ノード装置n1〜n21には、ノード装置を示す情報として固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノード装置1間で重複しないものである。
そして、このコンテンツ配信システムSにおいては、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワーク(論理的なネットワーク)を意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠100内)に配置されたノード装置n1〜n15を、オーバーレイネットワーク9に参加しているノード装置(以下、このようなノード装置n1〜n15を「参加ノードnn」と総称する)という。言い換えれば、オーバーレイネットワーク9は、参加ノードnnの参加により形成されている。このようなオーバーレイネットワーク9への参加は、参加していないノード装置n16〜n21(以下、「未参加ノードnm」と総称する)が、任意の参加ノードnnに対して参加要求を示す参加要求情報を送信することによって行われる。
また、各参加ノードnnは、識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
また、各参加ノードnnは、夫々、DHTを保持している。このDHTには、ノードIDや後述するコンテンツIDの転送先を含む転送先情報(言い換えれば、他の参加ノードnnへの経路情報)、すなわち、ノードID空間内で適度に離れた他の参加ノードnnのノードIDとそのIPアドレスの組が複数登録されたルーティングテーブルが含まれている。このようなDHTは、未参加ノードnmがオーバーレイネットワーク9に参加する際に与えられることになる。
また、コンテンツ配信システムSにおいては、未参加ノードnmによるオーバーレイネットワーク9への参加、若しくは参加ノードnnによるオーバーレイネットワーク9からの脱退が頻繁に行われるため、定期的に(例えば数十分から数時間間隔で)DHTの更新が必要かどうかが確認されると共に、その更新情報がDHTのルーティングテーブルに従って他の参加ノードnnに伝達されるようになっている。これにより、DHTを最新の状態に保つことが可能となる。
更に、オーバーレイネットワーク9においては、様々なコンテンツ(例えば、映画や音楽等)データが複数の参加ノードnnに分散して保存(格納)されている。例えば、参加ノードn1には、タイトルがXXXの映画のコンテンツデータが保存されており、一方、参加ノードn2には、タイトルがYYYの映画のコンテンツデータが保存されるというように、互いに異なるコンテンツデータが、複数の参加ノードnnに分散されて保存される。
また、あるコンテンツデータは、1つの参加ノードnnに保存されているとは限らず、複数の参加ノードnnに同じコンテンツデータが保存されうる。これらのコンテンツデータには、夫々、コンテンツ名(タイトル)等が付与されている。
そして、このように分散保存されているコンテンツデータの所在を示す所在情報(例えば、コンテンツデータが保存されている参加ノードnnのIPアドレス及び製造番号)もまた、複数の参加ノードnnに分散して保存されている。例えば、あるコンテンツデータのコンテンツ名(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、参加ノードnnのIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値(当該ハッシュ値がコンテンツIDとなる)と最も近い(例えば、上位桁がより多く一致する)ノードIDを有する参加ノードnn(当該ハッシュ値の管理元となる)に、当該コンテンツデータの所在情報が保存されることになる。つまり、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数の参加ノードnnに保存されている場合であっても、かかるコンテンツデータの所在を示す所在情報(複数の参加ノードnnのIPアドレス等)は、1つの参加ノードnnで管理することができる(このようにコンテンツデータの所在を管理する参加ノードを、以下、「ルートノード」という)。なお、本実施形態においては、1のルートノードでは、1のコンテンツIDに対応するコンテンツデータの所在情報が保存される(つまり、ルートノードと上記所在情報とは1対1の関係にある)が、これに限定されるものではない)。
これにより、あるコンテンツデータを取得(ダウンロード)したいユーザが使用する例えば参加ノードn4は、当該コンテンツデータのコンテンツIDが付加されたクエリ(問合せ情報)を他の参加ノードnnに対して送出することにより、当該コンテンツIDが付加されたクエリは、いくつかの参加ノードnnを経由されて(各中継ノードにおいて、上記DHTのルーティングテーブルが参照されてコンテンツIDが転送される)そのコンテンツデータの所在を示す所在情報を保存しているルートノードn10に辿り着き、当該ルートノードn10から当該所在情報を取得(受信)することが可能となり、取得した所在情報に基づいて上記コンテンツデータを保存している例えば参加ノードn5に接続し、そこから当該コンテンツデータを取得(受信)することが可能になる。
なお、コンテンツIDがルートノードn10に辿り着くまでの間に当該ルートノードn10と同じ所在情報をキャッシュしている参加ノードnnから当該所在情報を取得(受信)されるようにしてもよい。
図2は、DHTのノードID空間において、参加ノードn4から送出されたクエリがルートノードn10まで転送される様子の一例を示す図である。図2の例において、各中継ノードは、受信したクエリに付加されたコンテンツIDと、DHTのルーティングテーブルに登録されているノードIDとを比較して、次に転送すべき参加ノードnnを特定(例えば、コンテンツIDの上位数桁が一致するノードIDに対応する参加ノードnnのIPアドレスを特定)し、そこにクエリを転送することになる。
ここで、上記DHTのルーティングテーブルの一般的な考え方の一例について以下に説明する。
図3は、参加ノードn1が保持するDHTのルーティングテーブルの一例を示す図であり、図4は、DHTのノードID空間の一例を示す概念図である。なお、図3及び図4の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜4の整数)で表している(実際には、もっと長い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のエリアとする。
そして、例えば、参加ノードn1のノードIDが“123”とすると、図3に示すように、かかる参加ノードn1のレベル1における1XXのエリア(自己が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意の参加ノードnnのノードID及びIPアドレスが登録されている。
また、かかる参加ノードn1のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図3に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)には、夫々、他の任意の参加ノードnnのノードID及びIPアドレスが登録されている。
更に、かかる参加ノードn1のレベル3には、図3に示すように、12Xのエリアに存在する全ての参加ノードnnのノードID及びIPアドレスが登録される。
なお、図3及び図4の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
このように、本実施形態におけるDHTのルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっており、このように構成されたルーティングテーブルにより、例えば参加ノードn1から送出されたクエリがルートノードまで効率良く転送されることになる。
そして、このようなDHTのルーティングテーブルは、未参加ノードnmが、オーバーレイネットワーク9に参加するために、任意の参加ノードnnに対して、自己のノードIDを付加した参加要求情報を送信することによって生成されることになる。
このようなDHTのルーティングテーブルが生成されるまでの流れについて以下に説明する。
図5は、DHTのルーティングテーブルが生成されるまでの流れの一例を示す概念図である。
例えば、図5に示すように、未参加ノードn16は、自己のIPアドレスを上記ハッシュ関数によりハッシュ化してノードID(例えば、“333”とする)を生成し、当該ノードID及び自己(未参加ノードn16)のIPアドレスが付加された参加要求情報を参加ノードn1に送信する。
これに対して、参加ノードn1は、当該参加要求情報を受信し、DHTのルーティングテーブル51を参照して、参加要求情報に付加されたノードID“333”と最も近いノードID“301”を有する参加ノードn11のIPアドレスを取得し、これに基づき、ノードID“333” 及び未参加ノードn16のIPアドレス が付加された参加要求情報を参加ノードn11に転送する。
これに対して、参加ノードn11は、当該参加要求情報を受信し、DHTのルーティングテーブル52を参照して、参加要求情報に付加されたノードID“333”と最も近いノードID“332”を有する参加ノードn9のIPアドレスを取得し、これに基づき、ノードID“333”及び未参加ノードn16のIPアドレスが付加された参加要求情報を参加ノードn9に転送する。
これに対して、参加ノードn9は、当該参加要求情報を受信し、DHTのルーティングテーブル53におけるレベル3のテーブルにおけるノードID“333”に対応付けて、未参加ノードn16のIPアドレスを登録する。つまり、参加ノードn9は、当該ノードID“333”の管理元となる。
以上の流れの過程において、図5に示すように、当該参加要求情報を受信した参加ノードn1、参加ノードn11、及び参加ノードn9は、未参加ノードn16に対して、DHTのルーティングテーブルの一部を(参加ノードn1はレベル1のテーブル51aを、参加ノードn11はレベル2のテーブル52aを、参加ノードn9はレベル3のテーブル53aを)、夫々送信する。
これに対して、未参加ノードn16は、送信されてきた各DHTのルーティングテーブルの一部を受信して、これらに基づいて自己のDHTのルーティングテーブル54を生成(例えば、参加ノードn1におけるレベル1のテーブル51a(ノードID“301”及びこれに対応するIPアドレスについては、自己のノードID“333”及びこれに対応するIPアドレスと入れ替える)と、参加ノードn11におけるレベル2のテーブル52a(ノードID“332”及びこれに対応するIPアドレスについては、自己のノードID“333”及びこれに対応するIPアドレスと入れ替える)と、参加ノードn9におけるレベル3のテーブル53aと、を有するルーティングテーブル54を生成)する。
こうして生成されたDHTのルーティングテーブル54を得た未参加ノードn16は、参加ノードn16としてオーバーレイネットワーク9に加わるのである。
ところで、このように生成されるDHTのルーティングテーブルは、極力、ネットワーク8への負荷(ノードIDを含む情報がネットワーク8上を伝送されることによる負荷)を軽減するものであることが望ましい。本実施形態においては、ネットワーク8への負荷の軽減可能なDHTのルーティングテーブルを生成するために、複数の参加ノードnnのうちから、ネットワーク8上のローカリティ(地域性)が考慮された、参加要求情報を送信するべき参加ノードnnが選定されることを特徴とする。
例えば、図1の下部枠101内において、同一の回線事業者(例えば、回線事業者5a)に属する(符号101a内の)参加ノードn1と未参加ノードn16は、ローカリティ(地域性)があるということができ、一方、当該参加ノードn1と、異なる回線業者(例えば、回線事業者5b)に属する(符号101b内の)未参加ノードn21は、ローカリティ(地域性)がない(つまり、一旦、ISP4a、IX3、及びISP4bを経由することになる)ということができる。なお、図1の例では、同一の回線事業者に属する参加ノードn1と未参加ノードn16には同一の地域番号(A1,A2,A3)が付されている。
そして、ネットワーク8上のローカリティ(地域性)が考慮された参加ノードnnとは、未参加ノードnmとローカリティ(地域性)がある参加ノードnnを意味し、つまり、未参加ノードnmとネットワーク的に近い(言い換えれば、未参加ノードnmとの間の通信経路上における通信負荷が相対的に小さい)参加ノードnnを意味することなる。未参加ノードnmが、このような参加ノードnnを選定して、これに参加要求情報を送信し、図4にて説明したように、DHTのルーティングテーブルを生成していけば、例えばネットワーク的に互いに近い関係にある参加ノードnn間でコンテンツID及びノードIDが転送されるようになり、その結果、ネットワーク8全体に与える負荷を低減することが可能となる。なお、このような参加ノードnnの具体的な選定方法については後述する。
なお、上記流れは、未参加ノードn16が、新たにオーバーレイネットワーク9に参加する場合ばかりでなく、一度脱退した後、再度参加する場合にも適用できる。
次に、図6を参照して、参加ノードnn及び未参加ノードnmの構成及び機能について説明する。
図6は、参加ノードnn及び未参加ノードnmの概要構成例を示す図である。
参加ノードnn及び未参加ノードnmは、夫々、図6に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、所在情報、DHT)及びプログラム等を記憶保存(格納)するためのHDD等から構成された記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他の参加ノードnn又は未参加ノードnmとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、及び通信部20は、バス22を介して相互に接続されている。
このような構成において、未参加ノードnmにおける制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のネットワーク参加処理プログラムを含む)を読み出して実行することにより、全体を統括制御すると共に、本発明の検索情報送信手段、返信情報受信手段、通信負荷情報取得手段、通信負荷比較手段、ノード装置選定手段、参加要求情報送信手段、識別情報生成手段、転送先情報受信手段、及び転送先情報生成手段として機能し、後述する各種処理を行うようになっている。
また、参加ノードnnにおける制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御すると共に、オーバーレイネットワーク9においてノードID及びコンテンツIDの送受信、コンテンツデータの送受信、所在情報の送受信等の各種処理を行い、更には、未参加ノードnm等からの検索情報、参加要求情報等を受信し、後述する各種処理を行うようになっている。
なお、ネットワーク参加処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
[2.コンテンツ配信システムの動作]
次に、未参加ノードnmがオーバーレイネットワーク9に新たに参加する場合におけるコンテンツ配信システムSの動作について、実施例1と実施例2に分けて夫々説明する。
(実施例1)
先ず、図7乃至図9を参照して、実施例1におけるコンテンツ配信システムSの動作について説明する。
この実施例1は、全ての参加ノードnnへのリンク情報(例えば、全ての参加ノードnnのIPアドレス)が記述された参加ノードリストを管理する情報処理装置としての管理サーバSAがネットワーク8に接続されている場合の動作例である。
図7(A)は、実施例1において、未参加ノードnmにおける制御部11の処理の一例を示すフローチャートであり、図7(B)及び(E)は、実施例1において、管理サーバにおける処理の一例を示すフローチャートであり、図7(C)及び(D)は、実施例1において、参加ノードnnにおける制御部11の処理の一例を示すフローチャートである。また、図8及び図9における(A)乃至(F)は、実施例1において、未参加ノードnmがオーバーレイネットワーク9に新たに参加する場合の様子の一例を示す概念図である。
先ず、図7(A)の処理において、例えば未参加ノードn16の制御部11は、管理サーバSAへのリンク情報(例えば、管理サーバSAのIPアドレス、若しくはIPアドレスに対応付けられた固有ID等)を取得する(ステップS1)。かかる管理サーバSAへのリンク情報は、例えば、予め未参加ノードn16内に記憶しておいても良いし(例えば、製品出荷時に設定しておく)、入力部21を介して入力されるようにしても良い。
次いで、未参加ノードn16の制御部11は、オーバーレイネットワーク9への参加要求を示す参加要求情報(以下、「参加要求パケット」という)を送信すべき参加ノードnnを検索するための検索情報(以下、「検索パケット」という)であって自己(未参加ノードn16)のIPアドレスを送り元アドレス及び管理サーバSAのIPアドレスを宛先アドレスとした検索パケットを生成し、検索情報送信手段として、当該検索パケットを通信部20及びネットワーク8を介して管理サーバSAに対して送信する(ステップS2:図8(A))。こうして、未参加ノードn16の制御部11は、任意の参加ノードnnからの返信情報の受信待ちとなる。
次に、図7(B)の処理において、管理サーバSAは、未参加ノードn16から送信されてきた検索パケットを受信し(ステップS3)、参加ノードリストから所定数(例えば、5〜10個)の参加ノードnnを例えばランダムに選定(選択)する(ステップS4)。
そして、未参加ノードn16のIPアドレスを含み、かつ、管理サーバSAのIPアドレスを送り元アドレス及び上記選定した参加ノードnnのIPアドレスを宛先アドレスとした検索パケットを、上記所定数(例えば、図8(A)の例では5個)生成し、当該検索パケットを、ネットワーク8を介して上記選定した夫々の参加ノードnnに対して送信(転送)し(ステップS5:図8(A))、当該処理を終了する。
なお、管理サーバSAにて選定される参加ノードnnの数については、多いほど精度が向上するが、ネットワーク8全体へ与える負荷も増大するため、システム環境に応じて適正値に設定することが望ましい。例えば、10個程度に設定すれば、ネットワーク8全体へ与える負荷は少なく、かつ、上記精度も期待できる。
また、オーバーレイネットワーク9に参加しているノード数に応じて動的に変動させても良い。
次に、図7(C)の処理において、参加ノードnnの制御部11は、管理サーバSAから送信(転送)されてきた検索パケットを受信すると(ステップS6)、自己(参加ノードnn)のIPアドレスを送り元アドレス及び未参加ノードn16のIPアドレスを宛先アドレスとした返信情報(以下、「返信パケット」という)を生成し、当該返信パケットを、通信部20及びネットワーク8を介して未参加ノードn16に対して送信(返信)し(ステップS7:図8(B))、当該処理を終了する。
なお、返信パケット等には、パケットの有効期間を示す値であるTTLが含まれている。当該TTLは、最大“255”までの整数値で表され、パケットがルータ等を1回経由(転送)する度に1減少するようになっている。なお、TTLが“0”になったパケットはその時点で廃棄され、廃棄通知がパケットの送信元に届くようになっている。従って、受信されたパケットのTTLが大きいほど、それだけ転送回数(HOP数)が少ないということになるので、ネットワーク8の通信経路における通信負荷に与える影響も少なくなる。
次に、図7(A)の処理において、未参加ノードn16の制御部11は、参加ノードnnから送信されてきた夫々の返信パケットを、返信情報受信手段として受信し(ステップS8)、例えば所定時間経過した場合、或いは、所定数(当該所定数は、未参加ノードn16から管理サーバSAに指定されるようにしても良い)のパケットを受信した場合には、ステップS9に移行する。
ステップS9では、未参加ノードn16の制御部11は、通信負荷情報取得手段として、上記受信された夫々の返信パケットから、当該夫々の返信パケットを返信した夫々の参加ノードnnと自己との間の通信経路における通信負荷に関する情報、例えば、TTLを取得する。
次いで、未参加ノードn16の制御部11は、通信負荷比較手段として、各通信経路における通信負荷に関する情報、例えばTTLを比較し、ノード装置選定手段として、当該比較結果に基づいて、返信パケットを返信した複数の参加ノードnnのうちから、参加要求パケットを送信すべき参加ノードnnを選定する(ステップS10)。例えば、複数の参加ノードnnのうちから、自己との間の通信経路における通信負荷が最も小さい(例えば、TTLが最も大きい(HOP数が最も小さい))参加ノードnnが選定される。これにより、ネットワーク8上のローカリティ(地域性)が考慮された(未参加ノードnmとネットワーク的に近い)参加ノードnnが選定されることになる。
なお、上記自己との間の通信経路における通信負荷に関する情報として、TTLを例にとったがこれに限定されるものではなく、例えば、通信経路の有効帯域の広さ(データ転送速度)や、参加ノードnnからの返信パケットの到達時間等を適用しても良い。通信経路の有効帯域の広さを適用する場合、各参加ノードnnと自己との間の通信経路における帯域の広さが比較され、当該帯域が最も広い(広いほど、通信負荷が小さいため)参加ノードnnが選定されることになる。
次いで、未参加ノードn16の制御部11は、自己(未参加ノードn16)のIPアドレスを上記ハッシュ関数によりハッシュ化してノードIDを生成すると共に、自己のIPアドレスを送り元アドレス及び上記選定された参加ノードnnのIPアドレスを宛先アドレスとした参加要求パケットを生成して、当該参加要求パケットに対して当該自己のノードIDを付加し、参加要求情報送信手段として、当該参加要求パケットを、通信部20及びネットワーク8を介して上記選定された参加ノードnnに対して送信する(ステップS11:図8(C))。
次に、図7(D)の処理において、参加ノードnnの制御部11は、未参加ノードn16から送信されてきた参加要求パケットを受信すると(ステップS12)、DHTのルーティングテーブルを参照して、転送先があるか否かを判別(ステップS13)、例えば、自己(参加ノードnn)が、上記参加要求パケットに付加されたノードIDと最も近いノードIDを有するか否かを判別し、最も近いノードIDを有する(つまり、自己が参加要求パケットに付加されたノードIDの管理元である)場合には、転送先がないと判別(ステップS13:N)し、ステップS15に移行する。一方、最も近いノードIDを有しない(つまり、最も近いノードIDを有する参加ノードnnが他にある)場合には、参加ノードnnの制御部11は、転送先があると判別(ステップS13:Y)し、参加要求パケットに付加されたノードIDと最も近いノードIDに対応するIPアドレスをDHTのルーティングテーブルから取得し、自己(参加ノードnn)のIPアドレスを送り元アドレス及び当該ルーティングテーブルから取得されたIPアドレスを宛先アドレスとした参加要求パケットを生成し、これを、通信部20及びネットワーク8を介して、上記ルーティングテーブルから取得したIPアドレスに対応する参加ノードnnに対して送信(転送)し(ステップS14:図9(D))、ステップS15に移行する。こうして、転送された参加要求パケットは、図5を用いて上述したように、参加要求パケットに付加されたノードIDの管理元である参加ノードnnに至るまで順次転送されることになる。
そして、ステップS15では、参加ノードnnの制御部11は、DHTのルーティングテーブルの一部を含み、かつ、自己(参加ノードnn)のIPアドレスを送り元アドレス及び未参加ノードn16のIPアドレスを宛先アドレスとした転送先情報(以下、「転送先パケット」という)を生成し、当該転送先パケットを、通信部20及びネットワーク8を介して未参加ノードn16に対して送信し(図9(E))、当該処理を終了する。
なお、上記参加要求パケットが参加要求パケットに付加されたノードIDの管理元である参加ノードnnに至るまでに、参加要求パケットを受信した参加ノードnnにおいても図7(D)の処理が行われることになる。
次に、図7(A)の処理において、未参加ノードn16の制御部11は、転送先情報受信手段として、参加ノードnnから送信されてきた夫々の転送先パケットを受信し(ステップS16)、例えば所定時間経過した場合には、ステップS17に移行する。
ステップS17では、未参加ノードn16の制御部11は、転送先情報生成手段として、受信した夫々の転送先パケットからDHTのルーティングテーブルの一部を取得し、これに基づき、図5を用いて上述したように、新たなルーティングテーブルを生成し、これを記憶する。これにより、未参加ノードn16のオーバーレイネットワーク9への参加が完了する(図9(F))。
次いで、未参加ノードn16の制御部11は、自己のIPアドレスを送り元アドレス及び管理サーバSAのIPアドレスを宛先アドレスとした参加完了パケット(オーバーレイネットワーク9への参加完了を示す参加完了情報)を生成し、当該参加完了パケットを通信部20及びネットワーク8を介して管理サーバSAに対して送信し(ステップS18)、当該処理を終了する。
次に、図7(E)の処理において、管理サーバSAは、未参加ノードn16から送信されてきた参加完了パケットを受信すると(ステップS19)、当該参加完了パケットに含まれるIPアドレスを参加ノードリストに追加記述して(ステップS20)、当該処理を終了する。
以上説明したように、上記実施例1によれば、未参加ノードnmが、オーバーレイネットワーク9に参加している複数の参加ノードnnからの夫々の返信パケットから、当該夫々の返信パケットを返信した夫々の参加ノードnnと自己との間の通信経路における通信負荷に関する情報、例えば、TTLを取得して互いに比較し、自己との間の通信経路における通信負荷が最も小さい(例えば、TTLが最も大きい(HOP数が最も小さい))、言い換えれば、ネットワーク的に近い参加ノードnnを選定して、これに対して参加要求を行ってオーバーレイネットワーク9に参加するようにしたので、ネットワーク8上のローカリティ(地域性)が考慮されたオーバーレイネットワーク9を構築することが可能となり、ネットワーク8への余分な負荷を軽減することができる(第1の効果)。
また、管理サーバSAは、全ての参加ノードnnへのリンク情報(例えば、全ての参加ノードnnのIPアドレス)が記述された参加ノードリストだけを管理し、複数の参加ノードnnをランダムに選定して参加要求パケットを転送するだけで、当該複数の参加ノードnnから返信パケットが未参加ノードnmに返信され、これにより、未参加ノードnmとネットワーク的に近い参加ノードnnが選定されるので、管理サーバSAが未参加ノードnmにネットワーク的に近い参加ノードnnを認識しておく必要がなく、したがって、管理サーバSAの管理コストを低減することができる。
(実施例2)
先ず、図10を参照して、実施例2におけるコンテンツ配信システムSの動作について説明する。
この実施例2は、実施例1とは異なり、全ての参加ノードnnへのリンク情報を管理する管理サーバがネットワーク8に接続されていない場合の動作例である。
図10(A)は、実施例2において、未参加ノードnmにおける制御部11の処理の一例を示すフローチャートであり、図10(B)乃至(D)は、実施例2において、参加ノードnnにおける制御部11の処理の一例を示すフローチャートである。
先ず、図10(A)の処理において、例えば未参加ノードn16の制御部11は、任意の参加ノードnnのリンク情報(例えば、任意の参加ノードnnのIPアドレス、若しくはIPアドレスに対応付けられた固有ID等)を取得する(ステップS31)。かかる任意の参加ノードnnへのリンク情報は、例えば、予め未参加ノードn16内に記憶しておいても良いし(例えば、製品出荷時に設定しておく)、入力部21を介して入力されるようにしても良い。
次いで、未参加ノードn16の制御部11は、識別情報生成手段として、所定数(例えば、5〜10個)のランダムな数値を上記ハッシュ関数によりハッシュ化して互いに異なるランダムなID(以下、「ランダムID」という)を当該所定数生成する(ステップS32)。
次いで、未参加ノードn16の制御部11は、自己(未参加ノードn16)のIPアドレスを送り元アドレス及び上記任意の参加ノードnnのIPアドレスを宛先アドレスとした検索パケットを生成し、当該検索パケットに対して上記生成された所定数のランダムIDを付加して、当該検索パケットを通信部20及びネットワーク8を介して情報処理装置の一例としての上記任意の参加ノードnnに対して送信する(ステップS33)。こうして、未参加ノードn16の制御部11は、任意の参加ノードnnからの返信パケットの受信待ちとなる。
次に、図10(B)の処理において、上記任意の参加ノードnnの制御部11は、未参加ノードn16から送信されてきた検索パケットを受信し(ステップS34)、検索パケットに付加された所定数のランダムIDのうち、ランダムIDを1つ特定する(ステップS35)。
次いで、上記任意の参加ノードnnの制御部11は、DHTのルーティングテーブルを参照して、転送先があるか否かを判別(ステップS36)、例えば、自己(任意の参加ノードnn)が、上記特定されたランダムIDと最も近いノードIDを有するか否かを判別し、最も近いノードIDを有する(つまり、当該ランダムIDの管理元である)場合には、転送先がないと判別する(ステップS36:N)。そして、上記任意の参加ノードnnの制御部11は、自己(任意の参加ノードnn)のIPアドレスを送り元アドレス及び未参加ノードn16のIPアドレスを宛先アドレスとした返信パケットを生成し、当該返信パケットを、通信部20及びネットワーク8を介して未参加ノードn16に対して送信(返信)し(ステップS37)、ステップS39に移行する。
一方、最も近いノードIDを有しない(つまり、最も近いノードIDを有する参加ノードnnが他にある)場合には、上記任意の参加ノードnnの制御部11は、転送先があると判別し(ステップS36:Y)、上記特定されたランダムIDと最も近いノードIDに対応するIPアドレスをDHTのルーティングテーブルから取得し、当該ランダムID及び未参加ノードn16のIPアドレスを含み、かつ、自己(任意の参加ノードnn)のIPアドレスを送り元アドレス及び当該ルーティングテーブルから取得されたIPアドレスを宛先アドレスとした検索パケットを生成し、当該検索パケットを、通信部20及びネットワーク8を介して、上記ルーティングテーブルから取得したIPアドレスに対応する参加ノードnnに対して送信(転送)し(ステップS38)、ステップS39に移行する。
次いで、ステップS39では、上記任意の参加ノードnnの制御部11は、検索パケットに含まれる所定数のランダムIDのうちで、未だステップS35で特定されていないランダムIDがあるか否かを判別し、未だ特定されていないランダムIDがある場合には(ステップS39:Y)、ステップS35に戻り、未だ特定されていないランダムIDを特定し、上記と同様の処理(ステップS36〜39)を繰り返す。一方、ステップS35で特定されていないランダムIDがない場合(ステップS39:N)、つまり、所定数のランダムIDの全てが特定された場合には、当該処理が終了される。
次に、図10(C)の処理において、参加ノードnnの制御部11は、上記任意の参加ノードnnから送信されてきた検索パケットを受信し(ステップS40)、DHTのルーティングテーブルを参照して、転送先があるか否かを判別(ステップS41)、例えば、自己(参加ノードnn)が、上記検索パケットに含まれるランダムIDと最も近いノードIDを有するか否かを判別し、最も近いノードIDを有する場合には、転送先がないと判別する(ステップS41:N)。そして、参加ノードnnの制御部11は、自己(参加ノードnn)のIPアドレスを送り元アドレス及び未参加ノードn16のIPアドレスを宛先アドレスとした返信パケットを生成し、当該返信パケットを、通信部20及びネットワーク8を介して未参加ノードn16に対して送信(返信)し(ステップS42)、当該処理を終了する。
一方、最も近いノードIDを有しない(つまり、最も近いノードIDを有する参加ノードnnが他にある)場合には、参加ノードnnの制御部11は、転送先があると判別し(ステップS41:Y)、上記検索パケットに含まれるランダムIDと最も近いノードIDに対応するIPアドレスをDHTのルーティングテーブルから取得し、当該ランダムID及び未参加ノードn16のIPアドレスを含み、かつ、自己(参加ノードnn)のIPアドレスを送り元アドレス及び当該ルーティングテーブルから取得されたIPアドレスを宛先アドレスとした検索パケットを生成し、当該検索パケットを、通信部20及びネットワーク8を介して、上記ルーティングテーブルから取得したIPアドレスに対応する参加ノードnnに対して送信(転送)し(ステップS43)、当該処理を終了する。ステップS43にて転送された検索パケットは、これに含まれるランダムIDの管理元である参加ノードnnに至るまで順次転送されることになり、転送先の参加ノードnnにおいても、当該図10(C)の処理が実行されることになる。
次に、図10(A)の処理において、未参加ノードn16の制御部11は、参加ノードnnから送信されてきた夫々の返信パケットを受信し(ステップS44)、例えば所定時間経過した場合、或いは、所定数のパケットを受信した場合には、ステップS45に移行する。
なお、ステップS45〜S53の処理は、上述した実施例1におけるステップS9〜S17と同様であるので、重複した説明は省略する。
以上説明したように、上記実施例2によれば、上記実施例1の第1の効果を奏することに加えて、管理サーバSAを設けなくとも、未参加ノードnmとネットワーク的に近い参加ノードnnを選定することができるので、管理サーバSAに対して多数の未参加ノードnmからの検索パケットが集中(負荷集中)することを回避できると共に、管理サーバSAの設置コストを低減することができる。
なお、上記実施例2では、未参加ノードn16の制御部11が、ステップS32にてランダムIDを生成するように構成したが、これに限定されるものではなく、例えば、ランダムIDの生成を情報処理装置の一例としての上記任意の参加ノードnnの制御部11が行うように構成しても良い。この場合、未参加ノードn16の制御部11は、ステップS33にて、自己(未参加ノードn16)のIPアドレスを送り元アドレス及び上記任意の参加ノードnnのIPアドレスを宛先アドレスとした検索パケットを生成し、当該検索パケットを通信部20及びネットワーク8を介して上記任意の参加ノードnnに対して送信する。そして、上記任意の参加ノードnnの制御部11は、ステップS34にて、未参加ノードn16から送信されてきた検索パケットを受信し、ステップS35にて、所定数(例えば、5〜10個)のランダムな数値を上記ハッシュ関数によりハッシュ化してランダムIDを当該所定数生成し、当該所定数のランダムIDのうち、1つのランダムIDを特定して、ステップS36に移行するように構成する。
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 DHTのノードID空間において、参加ノードn4から送出されたクエリがルートノードn10まで転送される様子の一例を示す図である。 参加ノードn1が保持するDHTのルーティングテーブルの一例を示す図である。 DHTのノードID空間の一例を示す概念図である。 DHTのルーティングテーブルが生成されるまでの流れの一例を示す概念図である。 参加ノードnn及び未参加ノードnmの概要構成例を示す図である。 (A)は、実施例1において、未参加ノードnmにおける制御部11の処理の一例を示すフローチャートであり、(B)及び(E)は、実施例1において、管理サーバにおける処理の一例を示すフローチャートであり、(C)及び(D)は、実施例1において、参加ノードnnにおける制御部11の処理の一例を示すフローチャートである。 実施例1において、未参加ノードnmがオーバーレイネットワーク9に新たに参加する場合の様子の一例を示す概念図である。 実施例1において、未参加ノードnmがオーバーレイネットワーク9に新たに参加する場合の様子の一例を示す概念図である。 (A)は、実施例2において、未参加ノードnmにおける制御部11の処理の一例を示すフローチャートであり、(B)乃至(D)は、実施例2において、参加ノードnnにおける制御部11の処理の一例を示すフローチャートである。
符号の説明
1 ノード装置
8 ネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム

Claims (9)

  1. 通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに参加するノード装置であって、
    前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する検索情報送信手段と、
    前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する返信情報受信手段と、
    前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する通信負荷情報取得手段と、
    各前記通信経路における通信負荷に関する情報を比較する通信負荷比較手段と、
    前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定するノード装置選定手段と、
    前記選定されたノード装置に対して前記参加要求情報を送信する参加要求情報送信手段と、
    を備えることを特徴とするノード装置。
  2. 請求項1に記載のノード装置において、
    前記ノード装置選定手段は、前記返信情報を返信した前記複数のノード装置のうちから、自己との間の通信経路上における前記通信負荷が最も小さいノード装置を選定することを特徴とするノード装置。
  3. 請求項1又は2に記載のノード装置において、
    互いに異なる複数の識別情報を生成する識別情報生成手段を更に備え、
    前記検索情報送信手段は、前記検索情報に対して、前記生成された複数の識別情報を付加して前記情報処理装置に対して送信し、
    前記検索情報は、夫々の前記識別情報に従って、前記情報処理装置から夫々の前記識別情報の管理元であるノード装置に至るまで転送され、
    前記返信情報受信手段は、前記検索情報を受信した前記夫々の識別情報の管理元であるノード装置から返信されてきた返信情報を夫々受信することを特徴とするノード装置。
  4. 請求項1又は2に記載のノード装置において、
    前記検索情報は、前記情報処理装置によって生成された互いに異なる複数の識別情報に従って、当該情報処理装置から夫々の前記識別情報の管理元であるノード装置に至るまで転送され、
    前記返信情報受信手段は、前記検索情報を受信した前記夫々の識別情報の管理元であるノード装置から返信されてきた返信情報を夫々受信することを特徴とするノード装置。
  5. 請求項1乃至4の何れか一項に記載のノード装置において、
    前記参加要求情報送信手段は、前記選定されたノード装置に対して、自己に固有の識別情報を前記参加要求情報に付加して送信し、
    前記参加要求情報は、前記固有の識別情報に従って、当該参加要求情報を受信した前記ノード装置から当該固有の識別情報の管理元であるノード装置に至るまで転送され、
    当該参加要求情報を転送する夫々のノード装置から送信されてきた当該識別情報の転送先を含む転送先情報を受信する転送先情報受信手段と、
    前記受信された夫々の転送先情報に基づいて、新たな転送先情報を生成する転送先情報生成手段と、
    を更に備えることを特徴とするノード装置。
  6. 請求項1乃至5の何れか一項に記載のノード装置において、
    前記通信負荷情報取得手段は、前記受信された夫々の返信情報から、前記通信負荷に関する情報として、TTL(Time To Live)を取得し、
    前記通信負荷比較手段は、前記取得されたTTLを比較することを特徴とするノード装置。
  7. 通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに新たに参加するノード装置に含まれるコンピュータを、
    前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する検索情報送信手段、
    前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する返信情報受信手段、
    前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する通信負荷情報取得手段、
    各前記通信経路における通信負荷に関する情報を比較する通信負荷比較手段、
    前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定するノード装置選定手段、及び、
    前記選定されたノード装置に対して前記参加要求情報を送信する参加要求情報送信手段として機能させることを特徴とするネットワーク参加処理プログラム。
  8. 請求項7に記載のネットワーク参加処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
  9. 通信手段を介して互いに接続された複数のノード装置のうちの全部又は一部の前記ノード装置の参加により形成されているオーバーレイネットワークに新たにノード装置が参加するためのネットワーク参加処理方法であって、
    前記オーバーレイネットワークへの参加要求を示す参加要求情報を送信すべきノード装置を検索するための検索情報を前記通信手段に接続された情報処理装置に対して送信する工程と、
    前記オーバーレイネットワークに参加している複数のノード装置であって、前記情報処理装置によって転送された前記検索情報を受信した当該複数のノード装置から返信されてきた返信情報を夫々受信する工程と、
    前記受信された夫々の返信情報から、当該夫々の返信情報を返信した夫々の前記ノード装置と自己との間の通信経路における通信負荷に関する情報を取得する工程と、
    各前記通信経路における通信負荷に関する情報を比較する工程と、
    前記通信負荷比較手段による比較結果に基づいて、前記返信情報を返信した前記複数のノード装置のうちから前記参加要求情報を送信すべきノード装置を選定する工程と、
    前記選定されたノード装置に対して前記参加要求情報を送信する工程と、
    を備えることを特徴とするネットワーク参加処理方法。
JP2005003051A 2005-01-07 2005-01-07 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 Expired - Fee Related JP4371056B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005003051A JP4371056B2 (ja) 2005-01-07 2005-01-07 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
PCT/JP2005/022919 WO2006073046A1 (ja) 2005-01-07 2005-12-14 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
EP05816810A EP1841141A4 (en) 2005-01-07 2005-12-14 NODE DEVICE, NETWORK PARTICIPATION PROGRAM AND NETWORK PROCESSING METHOD, ETC.
US11/822,388 US7984182B2 (en) 2005-01-07 2007-07-05 Node device, information transfer processing program, and network participation processing method and the like

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005003051A JP4371056B2 (ja) 2005-01-07 2005-01-07 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等

Publications (2)

Publication Number Publication Date
JP2006191489A true JP2006191489A (ja) 2006-07-20
JP4371056B2 JP4371056B2 (ja) 2009-11-25

Family

ID=36647531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005003051A Expired - Fee Related JP4371056B2 (ja) 2005-01-07 2005-01-07 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等

Country Status (4)

Country Link
US (1) US7984182B2 (ja)
EP (1) EP1841141A4 (ja)
JP (1) JP4371056B2 (ja)
WO (1) WO2006073046A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244700A (ja) * 2007-03-27 2008-10-09 Brother Ind Ltd ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP2010509871A (ja) * 2006-11-09 2010-03-25 マイクロソフト コーポレーション フェデレーションインフラストラクチャ内の一貫性
JP2010538552A (ja) * 2007-09-26 2010-12-09 華為技術有限公司 パケットルーティングの方法、システム、装置、及びバックアップリソースを選択する方法、システム
JP2010538529A (ja) * 2007-08-30 2010-12-09 トムソン ライセンシング 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム
JP2011527128A (ja) * 2008-06-17 2011-10-20 クゥアルコム・インコーポレイテッド ピアツーピア・オーバーレイ・ネットワークへのデバイスの最適参加のための方法および装置
JP2012512617A (ja) * 2008-12-22 2012-05-31 クアルコム,インコーポレイテッド ピアツーピア・ネットワークのための分散ハッシュテーブルにおけるセキュリティで保護されたノード識別子割当て

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2012489B1 (en) * 2007-07-05 2009-05-06 Conveneer AB Method, apparatus and system for mobility management and efficient information retrieval in a communications network
CN101505472B (zh) * 2008-02-05 2011-07-20 华为技术有限公司 一种用户数据服务器系统和装置
KR101507907B1 (ko) * 2008-05-20 2015-04-06 톰슨 라이센싱 다수의 수신기들에서 이용가능한 콘텐츠 맵의 배포를 위한 시스템 및 방법
CN101753610B (zh) * 2008-12-19 2012-11-21 华为技术有限公司 分布式网络构造方法、装置和系统以及任务处理方法
JP5319785B2 (ja) * 2008-12-22 2013-10-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エッジ・ネットワークのコンテンツへの直接アドレッシング
CN103209136A (zh) * 2012-01-11 2013-07-17 中兴通讯股份有限公司 一种网络负荷控制方法及登记服务器
KR101534555B1 (ko) * 2013-06-25 2015-07-08 숭실대학교산학협력단 원형 메시 오버레이 생성 및 유지 방법
US9608907B2 (en) 2014-09-29 2017-03-28 Vivint, Inc. Systems and methods for centrally-assisted distributed hash table
US10454765B2 (en) * 2016-07-15 2019-10-22 Mastercard International Incorporated Method and system for node discovery and self-healing of blockchain networks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389448B1 (en) * 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
US20020091855A1 (en) * 2000-02-02 2002-07-11 Yechiam Yemini Method and apparatus for dynamically addressing and routing in a data network
US7162539B2 (en) * 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US7555553B2 (en) * 2002-10-01 2009-06-30 Hewlett-Packard Development Company, L.P. Placing an object at a node in a peer-to-peer system based on storage utilization
US20040243580A1 (en) 2003-05-27 2004-12-02 Outi Markki System and method for message handling in a peer-to-peer environment
US7558875B2 (en) * 2003-09-15 2009-07-07 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
US7788400B2 (en) * 2003-09-19 2010-08-31 Hewlett-Packard Development Company, L.P. Utilizing proximity information in an overlay network
US7827279B2 (en) * 2004-01-30 2010-11-02 Hewlett-Packard Development Company, L.P. Selecting nodes close to another node in a network using location information for the nodes
US7355975B2 (en) * 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US7596618B2 (en) * 2004-12-07 2009-09-29 Hewlett-Packard Development Company, L.P. Splitting a workload of a node
US20060239207A1 (en) * 2005-04-20 2006-10-26 Nokia Corporation Combined load balancing for overlay and ad hoc networks

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010509871A (ja) * 2006-11-09 2010-03-25 マイクロソフト コーポレーション フェデレーションインフラストラクチャ内の一貫性
JP2008244700A (ja) * 2007-03-27 2008-10-09 Brother Ind Ltd ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP4623030B2 (ja) * 2007-03-27 2011-02-02 ブラザー工業株式会社 ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP2010538529A (ja) * 2007-08-30 2010-12-09 トムソン ライセンシング 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム
JP2010538552A (ja) * 2007-09-26 2010-12-09 華為技術有限公司 パケットルーティングの方法、システム、装置、及びバックアップリソースを選択する方法、システム
JP2011527128A (ja) * 2008-06-17 2011-10-20 クゥアルコム・インコーポレイテッド ピアツーピア・オーバーレイ・ネットワークへのデバイスの最適参加のための方法および装置
JP2012512617A (ja) * 2008-12-22 2012-05-31 クアルコム,インコーポレイテッド ピアツーピア・ネットワークのための分散ハッシュテーブルにおけるセキュリティで保護されたノード識別子割当て
US9344438B2 (en) 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks

Also Published As

Publication number Publication date
EP1841141A1 (en) 2007-10-03
US20070258389A1 (en) 2007-11-08
WO2006073046A1 (ja) 2006-07-13
JP4371056B2 (ja) 2009-11-25
EP1841141A4 (en) 2011-08-24
US7984182B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP4544072B2 (ja) ノード装置、コンピュータプログラム、情報配信システム、及びネットワーク参加方法
JP4747733B2 (ja) ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
WO2006103800A1 (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
JP2007200203A (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
JP4702314B2 (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4623030B2 (ja) ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP4548271B2 (ja) 情報通信システム、情報通信方法、ノード装置、及びコンピュータプログラム
JP4432626B2 (ja) マルチキャストツリー構築システム及び方法、ネットワークノード装置並びにサーバ装置
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2009230573A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070622

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080728

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: 20090811

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: 20090824

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

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees