JP2012054648A - Node device, information communication system, information communication method, and program - Google Patents
Node device, information communication system, information communication method, and program Download PDFInfo
- Publication number
- JP2012054648A JP2012054648A JP2010193509A JP2010193509A JP2012054648A JP 2012054648 A JP2012054648 A JP 2012054648A JP 2010193509 A JP2010193509 A JP 2010193509A JP 2010193509 A JP2010193509 A JP 2010193509A JP 2012054648 A JP2012054648 A JP 2012054648A
- Authority
- JP
- Japan
- Prior art keywords
- node device
- node
- message
- protocol
- routing table
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 86
- 238000000034 method Methods 0.000 title claims description 47
- 230000005540 biological transmission Effects 0.000 claims description 76
- 238000003860 storage Methods 0.000 claims description 68
- 230000004044 response Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000012546 transfer Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。 The present invention relates to a technical field of a peer-to-peer (P2P) communication system including a plurality of node devices that can communicate with each other via a network.
近年、特許文献1に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式に比して、短時間でコンテンツを取得することが可能となる。具体的には、特許文献1には、ソフトウェアを単位としたグループごとに、複数のDHT(Distributed Hash Table)ルーティングテーブルが生成される技術が開示されている。
In recent years, a peer-to-peer communication system as disclosed in
近年、IPv4(Internet Protocol Version 4)のアドレス資源の枯渇に伴い、IPv6(Internet Protocol Version 6)への移行が進みつつある。IPv4からIPv6へ移行する過程において、IPv4とIPv6との両方のプロトコルが、ネットワークに共存することが考えられる。IPv4とIPv6とが共存するネットワーク環境でP2P(Peer to Peer)型のシステムが動作する場合、P2Pシステムに接続するノード装置に、夫々異なるプロトコルが割り当てられる。例えば、ある第1ノード装置にIPv4が割り当てられ、第1ノード装置と異なる第2ノード装置にIPv6が割り当てられる。この場合、第1ノード装置と第2ノード装置とがP2Pによりデータ通信を行うと、プロトコルが異なるため通信できず、P2Pシステムを動作させることができなかった。 In recent years, with the depletion of IPv4 (Internet Protocol Version 4) address resources, the transition to IPv6 (Internet Protocol Version 6) is progressing. In the process of transitioning from IPv4 to IPv6, both IPv4 and IPv6 protocols may coexist in the network. When a P2P (Peer to Peer) type system operates in a network environment in which IPv4 and IPv6 coexist, different protocols are assigned to node devices connected to the P2P system. For example, IPv4 is assigned to a certain first node device, and IPv6 is assigned to a second node device different from the first node device. In this case, when the first node device and the second node device perform data communication by P2P, they cannot communicate because the protocol is different, and the P2P system cannot be operated.
本発明は、以上の点に鑑みてなされたものである。本発明は、IPv4とIPv6とが共存するネットワーク環境であっても、P2Pシステムを動作させることが可能なノード装置、情報通信システム、情報通信方法及びプログラム等を提供することを目的とする。 The present invention has been made in view of the above points. An object of the present invention is to provide a node device, an information communication system, an information communication method, a program, and the like that can operate a P2P system even in a network environment in which IPv4 and IPv6 coexist.
請求項1に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークによりデータを送受信する情報通信システムであって、前記ノード装置は、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との少なくとも何れか一方を取得するプロトコル取得部と、前記プロトコル取得手段により取得されたプロトコルが、IPv4であるか、IPv6であるかを判定する判定部と、前記判定部により、前記プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得部と、前記判定部により、前記プロトコル取得手段により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得部と、前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信部と、を備えることを特徴とする情報通信システムである。 According to the first aspect of the present invention, there is provided an information communication system that transmits and receives data through an overlay network composed of a plurality of node devices, and the node device includes IPv4 that is a protocol with which the node device can communicate. A protocol acquisition unit that acquires at least one of IPv6, a determination unit that determines whether the protocol acquired by the protocol acquisition unit is IPv4 or IPv6, and the protocol acquisition by the determination unit When it is determined that the protocol acquired by the unit is IPv4, the first overlay network is configured by at least a part of node devices that can communicate with IPv4, and participates in the first overlay network. The location of the node device on the network If the protocol acquired by the protocol acquisition unit is determined to be IPv6 by the first table acquisition unit that acquires the first routing table in which the location information is registered and the determination unit, communication is possible using IPv6. A second overlay network configured by at least a part of the node devices, and acquiring a second routing table in which the location information of the node devices participating in the second overlay network is registered. A message for controlling the information communication system is transmitted to the acquisition unit and the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit. A first transmitter Is an information communication system characterized and.
請求項2に記載の発明によれば、前記情報通信システムは、IPv4により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第1ノード装置と、IPv6により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第2ノード装置と、を備え、前記ノード装置の前記第1送信部は、前記プロトコル取得部により取得されたプロトコルで通信可能な前記第1ノード装置、または、前記第2ノード装置へ前記参加メッセージを送信する第2送信部を備え、前記第2送信部により送信された前記参加メッセージに基づいて、前記第1テーブル取得部または前記第テーブル取得部は、前記第1ノード装置または前記第2ノード装置が記憶するルーティングテーブルの少なくとも一部を、前記第1ノード装置または前記第2ノード装置から取得することを特徴とする。 According to a second aspect of the present invention, the information communication system is capable of communicating by IPv4, and receives a participation message transmitted from the node device when participating in the information communication system. A second node device that can communicate with the device by IPv6 and receives a participation message transmitted from the node device when participating in the information communication system, the first transmission of the node device A second transmission unit configured to transmit the participation message to the first node device or the second node device capable of communicating with the protocol acquired by the protocol acquisition unit, and transmitted by the second transmission unit On the basis of the received participation message, the first table acquisition unit or the first table acquisition unit At least a portion of the routing table which the second node device stores, and acquires from the first node device or the second node device.
請求項3に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークによりデータを送受信する情報通信システムのノード装置であって、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との少なくとも何れか一方を取得するプロトコル取得部と、前記プロトコル取得手段により取得されたプロトコルが、IPv4であるか、IPv6であるかを判定する判定部と、前記判定部により、前記プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得部と、前記判定部により、前記プロトコル取得手段により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得部と、前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信部と、を備えることを特徴とするノード装置である。 According to a third aspect of the present invention, there is provided a node device of an information communication system that transmits and receives data through an overlay network composed of a plurality of node devices, and IPv4 and IPv6 that are protocols that the node device can communicate with. A protocol acquisition unit that acquires at least one of the following: a determination unit that determines whether the protocol acquired by the protocol acquisition unit is IPv4 or IPv6; and the determination unit by the protocol acquisition unit When it is determined that the acquired protocol is IPv4, the first overlay network is configured by at least a part of node devices that can communicate with IPv4, and the node device participates in the first overlay network. The location of the network on the network A first table acquisition unit that acquires a first routing table in which information is registered, and a node that can communicate with IPv6 when the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv6 A second table acquisition unit, which is a second overlay network configured by at least a part of node devices of the device, and acquires a second routing table in which the location information of the node devices participating in the second overlay network is registered. And a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit. A transmission unit, A node device according to symptoms.
請求項4に記載の発明によれば、前記複数のノード装置のいずれかから取得したデータを記憶する記憶部を備え、前記ノード装置が前記記憶部にデータを記憶したことを前記複数のノード装置に通知する通知メッセージであって、データを記憶した前記ノード装置の前記所在情報を含む前記通知メッセージを、前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、前記第1送信部は送信することを特徴とする。
According to the invention described in
請求項5に記載の発明によれば、前記第1送信部は、前記複数のノード装置の中から所望のコンテンツを保持する1以上のコンテンツ保持ノード装置の前記ネットワーク上における所在を示す所在情報を検索する検索メッセージをさらに送信し、前記判定部により、IPv4とIPv6との両方で通信可能であると判定し、且つ、前記第1送信部が前記検索メッセージを送信する場合、前記第1送信部は、前記第1ルーティングテーブルよりも前記第2ルーティングテーブルに登録された前記所在情報を優先して、前記検索メッセージを送信することを特徴とする。 According to the fifth aspect of the present invention, the first transmission unit stores location information indicating a location on the network of one or more content holding node devices that hold desired content from the plurality of node devices. When the search message to be searched is further transmitted, the determination unit determines that communication is possible with both IPv4 and IPv6, and the first transmission unit transmits the search message, the first transmission unit Transmits the search message in preference to the location information registered in the second routing table over the first routing table.
請求項6に記載の発明によれば、前記プロトコル取得部は、IPv4とIPv6との両方を取得し、前記ノード装置は、前記情報通信システムを制御するメッセージを受信する受信部を備え、前記受信部により制御メッセージを受信したノード装置が、IPv4とIPv6との両方で通信可能な場合、前記第1送信部は、前記受信部により受信されたメッセージを、前記受信されたメッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルへ送信することを特徴とする。 According to a sixth aspect of the present invention, the protocol acquisition unit acquires both IPv4 and IPv6, and the node device includes a reception unit that receives a message for controlling the information communication system, the reception unit When the node device that has received the control message by the communication unit can communicate with both IPv4 and IPv6, the first transmission unit converts the message received by the reception unit into the node that is the transmission source of the received message The apparatus transmits to a protocol different from a protocol with which the apparatus can communicate.
請求項7に記載の発明によれば、前記受信部が、前記複数のノード装置の中から所望のコンテンツを保持する1以上のコンテンツ保持ノード装置の前記ネットワーク上における所在を示す所在情報を検索する検索メッセージを受信し、且つ、 前記受信部により制御メッセージを受信したノード装置が、IPv4とIPv6との両方で通信可能な場合、前記第1送信部は、前記受信部により受信された検索メッセージを、前記受信されたメッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルへ送信し、前記ノード装置は、前記異なるプロトコルを介して、前記検索メッセージに対応するコンテンツを取得する取得部と、前記取得部により取得されたコンテンツを、前記受信部により受信されたメッセージの送信元のノード装置へ中継する中継部と、を備えることを特徴とする。 According to the invention described in claim 7, the receiving unit searches for location information indicating a location on the network of one or more content holding node devices that hold desired content from the plurality of node devices. When the node device that has received the search message and has received the control message by the reception unit can communicate with both IPv4 and IPv6, the first transmission unit receives the search message received by the reception unit. The node device that is the transmission source of the received message transmits to a protocol that is different from a protocol that can be communicated, and the node device acquires content corresponding to the search message via the different protocol; The content acquired by the acquisition unit is stored in the source node of the message received by the reception unit. Characterized in that it comprises a relay unit that relays the de device.
請求項8に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークによりデータを送受信する情報通信システムの情報通信方法であって、前記ノード装置により取得されたプロトコルに基づいて、前記ノード装置により通信可能なプロトコルが、IPv4であるか、IPv6であるかを前記ノード装置が判定する判定ステップと、前記判定ステップにより、前記ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを前記ノード装置が取得する第1テーブル取得ステップと、前記判定ステップにより、前記ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを前記ノード装置が取得する第2テーブル取得ステップと、前記ノード装置により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れかに登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信ステップと、を含む情報通信方法である。 According to an eighth aspect of the present invention, there is provided an information communication method for an information communication system for transmitting and receiving data through an overlay network composed of a plurality of node devices, based on a protocol acquired by the node device. A determination step in which the node device determines whether a protocol that can be communicated by the node device is IPv4 or IPv6, and the determination step determines that the protocol acquired by the node device is IPv4. In this case, there is a first overlay network configured by at least a part of node devices that can communicate with IPv4, and location information indicating the location of the node devices participating in the first overlay network on the network is provided. Before the registered first routing table When the first table acquisition step acquired by the node device and the determination step determine that the protocol acquired by the node device is IPv6, at least some of the node devices that can communicate with IPv6 A second table acquiring step in which the node device acquires a second routing table in which the location information of the node devices participating in the second overlay network is registered, and the node A first transmission step of transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the device; Including information communication methods .
請求項9に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークによりデータを送受信する情報通信システムのノード装置のコンピュータに、
前記ノード装置により取得されたプロトコルに基づいて、前記ノード装置により通信可能なプロトコルが、IPv4であるか、IPv6であるかを判定する判定ステップと、前記判定ステップにより、前記ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得ステップと、前記判定ステップにより、前記ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得ステップと、前記ノード装置により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れかに登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信ステップと、を実行させることを特徴とするプログラムである。
According to the invention of
Based on the protocol acquired by the node device, a determination step for determining whether a protocol communicable by the node device is IPv4 or IPv6, and the node device acquired by the determination step When it is determined that the protocol is IPv4, the network is a first overlay network composed of at least some of the node devices communicable with IPv4, and the network of the node devices participating in the first overlay network When it is determined that the protocol acquired by the node device is IPv6 by the first table acquisition step of acquiring the first routing table in which the location information indicating the location is registered, and the determination step, Node devices that can communicate with IPv6 A second table acquisition step of acquiring a second routing table in which the location information of the node devices participating in the second overlay network is registered, which is a second overlay network composed of at least some of the node devices; A first transmission step of transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the node device; And a program for executing the above.
請求項1に記載の発明によれば、第1テーブル取得部は、判定部により、プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置のネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する。第2テーブル取得部は、判定部により、プロトコル取得手段により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が登録された第2ルーティングテーブルを取得する。第1送信部は、プロトコル取得部により取得されたプロトコルに対応した第1ルーティングテーブルまたは第2ルーティングテーブルの少なくとも何れか一方に登録されたノード装置へ、情報通信システムを制御するメッセージを送信する。この結果、IPv4とIPv6とが共存するネットワーク環境であっても、第1ルーティングテーブルと、第2ルーティングテーブルとを用いて、P2Pシステムを動作させることができる。 According to the first aspect of the present invention, when the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv4, the first table acquisition unit is at least one of the node devices that can communicate with IPv4. A first routing table in which location information indicating the location on the network of node devices participating in the first overlay network is registered. The second table acquisition unit is a second table configured by at least a part of node devices communicable with IPv6 when the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv6. A second routing table which is an overlay network and where location information of node devices participating in the second overlay network is registered is acquired. The first transmission unit transmits a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit. As a result, even in a network environment in which IPv4 and IPv6 coexist, the P2P system can be operated using the first routing table and the second routing table.
請求項2に記載の発明によれば、情報通信システムは、IPv4により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第1ノード装置と、IPv6により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第2ノード装置と、を備える。第2送信部により送信された参加メッセージに基づいて、第1テーブル取得部または第2テーブル取得部は、前記第1ノード装置または前記第2ノード装置が記憶するルーティングテーブルの少なくとも一部を、前記第1ノード装置または前記第2ノード装置から取得する。この結果、IPv4の第1ルーティングテーブルは、第1ノード装置から取得し、IPv6の第2ルーティングテーブルは、第2ノード装置から取得することができる。 According to the second aspect of the present invention, the information communication system is capable of communication by IPv4, and receives a participation message transmitted from the node device when participating in the information communication system. And a second node device that is communicable with IPv6 and receives a participation message transmitted from the node device when participating in the information communication system. Based on the participation message transmitted by the second transmission unit, the first table acquisition unit or the second table acquisition unit stores at least a part of the routing table stored in the first node device or the second node device, Obtained from the first node device or the second node device. As a result, the IPv4 first routing table can be obtained from the first node device, and the IPv6 second routing table can be obtained from the second node device.
請求項3に記載の発明によれば、第1テーブル取得部は、判定部により、プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置のネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する。第2テーブル取得部は、判定部により、プロトコル取得手段により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が登録された第2ルーティングテーブルを取得する。第1送信部は、プロトコル取得部により取得されたプロトコルに対応した第1ルーティングテーブルまたは第2ルーティングテーブルの少なくとも何れか一方に登録されたノード装置へ、情報通信システムを制御するメッセージを送信する。この結果、IPv4とIPv6とが共存するネットワーク環境であっても、第1ルーティングテーブルと、第2ルーティングテーブルとを用いて、P2Pシステムを動作させることができる。 According to the third aspect of the present invention, when the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv4, the first table acquisition unit is at least one of the node devices that can communicate with IPv4. A first routing table in which location information indicating the location on the network of node devices participating in the first overlay network is registered. The second table acquisition unit is a second table configured by at least a part of node devices communicable with IPv6 when the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv6. A second routing table which is an overlay network and where location information of node devices participating in the second overlay network is registered is acquired. The first transmission unit transmits a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit. As a result, even in a network environment in which IPv4 and IPv6 coexist, the P2P system can be operated using the first routing table and the second routing table.
請求項4に記載の発明によれば、ノード装置が記憶部にデータを記憶したことを複数のノード装置に通知する通知メッセージであって、データを記憶したノード装置の所在情報を含む通知メッセージを、プロトコル取得部により取得されたプロトコルに対応した第1ルーティングテーブルまたは第2ルーティングテーブルの少なくとも何れか一方に登録されたノード装置へ、第1送信部は送信する。この結果、ノード装置が通信可能なプロトコルに対応したオーバーレイネットワークから、データを取得することができる。 According to the fourth aspect of the present invention, a notification message for notifying a plurality of node devices that the node device has stored data in the storage unit, the notification message including the location information of the node device storing the data. The first transmission unit transmits to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit. As a result, data can be acquired from the overlay network corresponding to the protocol with which the node device can communicate.
IPv4は、アドレスの数が不足しているため、グローバルアドレスとプライベートアドレスとの両方が使用される。プライベートアドレスを通信に用いる場合、NAT越え等の処理が必要である。一方で、IPv6は、アドレスの数が豊富なため、グローバルアドレスとプライベートのアドレスの両方が使用される可能性が低い。請求項5に記載の発明によれば、判定部により、IPv4とIPv6との両方で通信可能であると判定し、且つ、第1送信部が検索メッセージを送信する場合、第1送信部は、第1ルーティングテーブルよりも第2ルーティングテーブルに登録された所在情報を優先して、検索メッセージを送信する。この結果、アドレスの数が豊富でNAT越えの処理が不要なIPv6のルーティングテーブルへ優先して、検索メッセージが送信されることで、データ取得の処理工数を軽減することができる。
Since IPv4 has a shortage of addresses, both global and private addresses are used. When a private address is used for communication, processing such as NAT traversal is necessary. On the other hand, since IPv6 has a large number of addresses, it is unlikely that both a global address and a private address are used. According to the invention of
請求項6に記載の発明によれば、プロトコル取得部は、IPv4とIPv6との両方を取得する。受信部により制御メッセージを受信したノード装置が、IPv4とIPv6との両方で通信可能な場合、第1送信部は、受信部により受信されたメッセージを、受信されたメッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルへ送信する。この結果、IPv4またはIPv6のいずれか一方でしか通信可能なノード装置であっても、IPv4とIPv6との両方で通信可能なノード装置により、情報通信システムを制御するメッセージを中継することができる。 According to the sixth aspect of the present invention, the protocol acquisition unit acquires both IPv4 and IPv6. When the node device that has received the control message by the receiving unit can communicate with both IPv4 and IPv6, the first transmitting unit transmits the message received by the receiving unit to the node device that is the transmission source of the received message. Send to a protocol different from the protocol that can communicate. As a result, even a node device that can communicate only with either IPv4 or IPv6 can relay a message for controlling the information communication system by the node device that can communicate with both IPv4 and IPv6.
請求項7に記載の発明によれば、ノード装置は、異なるプロトコルを介して、検索メッセージに対応するコンテンツを取得する取得部を備える。また、ノード装置は、取得部により取得されたコンテンツを、受信部により受信されたメッセージの送信元のノード装置へ中継する中継部を備える。この結果、IPv4またはIPv6のいずれか一方のみに通信可能なノード装置であっても、IPv4とIPv6との両方で通信可能なノード装置とで、データを中継して取得することができる。 According to the seventh aspect of the present invention, the node device includes an acquisition unit that acquires content corresponding to the search message via a different protocol. In addition, the node device includes a relay unit that relays the content acquired by the acquisition unit to the node device that is the transmission source of the message received by the reception unit. As a result, even a node device that can communicate only with either IPv4 or IPv6 can relay and acquire data with a node device that can communicate with both IPv4 and IPv6.
請求項8に記載の発明によれば、第1テーブル取得ステップは、判定ステップにより、ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置のネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルをノード装置が取得する。第2テーブル取得ステップは、判定ステップにより、ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が登録された第2ルーティングテーブルをノード装置が取得する。第1送信ステップは、ノード装置により取得されたプロトコルに対応した第1ルーティングテーブルまたは第2ルーティングテーブルの少なくとも何れかに登録されたノード装置へ、情報通信システムを制御するメッセージを送信する。この結果、IPv4とIPv6とが共存するネットワーク環境であっても、第1ルーティングテーブルと、第2ルーティングテーブルとを用いて、P2Pシステムを動作させることができる。 According to the eighth aspect of the present invention, the first table acquisition step includes at least a part of node devices capable of communicating with IPv4 when the determination step determines that the protocol acquired by the node device is IPv4. The node device acquires a first routing table in which location information indicating the location on the network of the node devices participating in the first overlay network is registered. The second table acquisition step includes a second overlay configured by at least a part of node devices communicable with IPv6 when the determination step determines that the protocol acquired by the node device is IPv6. The node device acquires a second routing table in which the location information of the node device participating in the second overlay network is registered. The first transmission step transmits a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the node device. As a result, even in a network environment in which IPv4 and IPv6 coexist, the P2P system can be operated using the first routing table and the second routing table.
請求項9に記載の発明によれば、第1テーブル取得ステップは、判定ステップにより、ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置のネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルをノード装置が取得する。第2テーブル取得ステップは、判定ステップにより、ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が登録された第2ルーティングテーブルをノード装置が取得する。第1送信ステップは、ノード装置により取得されたプロトコルに対応した第1ルーティングテーブルまたは第2ルーティングテーブルの少なくとも何れかに登録されたノード装置へ、情報通信システムを制御するメッセージを送信する。この結果、IPv4とIPv6とが共存するネットワーク環境であっても、第1ルーティングテーブルと、第2ルーティングテーブルとを用いて、P2Pシステムを動作させることができる。 According to the ninth aspect of the present invention, in the first table acquisition step, when it is determined in the determination step that the protocol acquired by the node device is IPv4, at least a part of the node device capable of communicating with IPv4. The node device acquires a first routing table in which location information indicating the location on the network of the node devices participating in the first overlay network is registered. The second table acquisition step includes a second overlay configured by at least a part of node devices communicable with IPv6 when the determination step determines that the protocol acquired by the node device is IPv6. The node device acquires a second routing table in which the location information of the node device participating in the second overlay network is registered. The first transmission step transmits a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the node device. As a result, even in a network environment in which IPv4 and IPv6 coexist, the P2P system can be operated using the first routing table and the second routing table.
[最良の実施形態]
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
[Best Embodiment]
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distributed storage system.
[コンテンツ分散保存システムの概要構成]
始めに、図1を参照して、本実施形態におけるコンテンツ分散保存システムSの概要構成について説明する。図1は、本実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
[Outline configuration of distributed content storage system]
First, with reference to FIG. 1, a schematic configuration of the content distributed storage system S in the present embodiment will be described. FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the content distributed storage system S according to this embodiment.
図1に示すように、コンテンツ分散保存システムSは、複数のノード装置Tm−n(n=1,2,3・・・の何れか)から構成されている。複数のノード装置Tm−nは、ネットワークNWを介して互いに通信可能である。このネットワークNWは、現実世界の通信ネットワークである。例えば、インターネットである。 As shown in FIG. 1, the content distribution storage system S is composed of a plurality of node devices Tm-n (n = 1, 2, 3,...). The plurality of node devices Tm-n can communicate with each other via the network NW. This network NW is a real-world communication network. For example, the Internet.
ネットワークNWは、各拠点ネットワークNLmを相互接続するためのネットワークである。このネットワークNWは、例えば、インターネットやWAN(Wide Area Network
)等である。そして、ネットワークNWは、例えば、IX(Internet Exchange)、IS
P(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者の装置、FTTH(Fiber To The Home)回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークNWは、コンテンツ分散保存システムS専用のネットワークであっても良い。
The network NW is a network for interconnecting the base networks NLm. This network NW is, for example, the Internet or WAN (Wide Area Network).
) Etc. The network NW is, for example, IX (Internet Exchange), IS
It is constructed by P (Internet Service Provider), DSL (Digital Subscriber Line) line provider apparatus, FTTH (Fiber To The Home) line provider apparatus, communication line, and the like. The network NW may be a network dedicated to the content distributed storage system S.
本実施形態では、ネットワークNW内に、1つ以上の各拠点ネットワークNLmが形成される。また、各拠点ネットワークNLmには、複数のノード装置Tm−nが接続されている。各拠点ネットワークNLmは、夫々拠点mの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークNLmは、例えば、LAN等により構築されている。或いは、拠点ネットワークNLmは、複数のLANが相互接続して構築されたネットワークであっても良い。この場合、複数のLANは、ルータ等のネットワーク機器を介して接続される。複数のLANが相互接続されたネットワークとしては、例えば、CAN(Campus Area Network)等がある。各拠点ネットワークNLmには、ファイアーウォールFW又はブロードバンドルータBRが接続されている。ファイアーウォールFW又はブロードバンドルータBRは、拠点内に接続されるノード装置と、その拠点に接続されるノード装置以外のノード装置とを通信可能にする通信機器である。ファイアーウォールFW又はブロードバンドルータBRは、公知であるので詳細な説明は省略する。ファイアーウォールFW又はブロードバンドルータBRの何れが拠点に設置されるかは、拠点毎に任意に決定される。本実施形態の拠点ネットワークNLmは、例えば、LAN(Local Area Network)である。 In the present embodiment, one or more base networks NLm are formed in the network NW. In addition, a plurality of node devices Tm-n are connected to each base network NLm. Each base network NLm is a network constructed in the site of the base m. The bases include, for example, a company, a school, a hospital, and a cram school. This base network NLm is constructed by a LAN or the like, for example. Alternatively, the base network NLm may be a network constructed by interconnecting a plurality of LANs. In this case, the plurality of LANs are connected via a network device such as a router. An example of a network in which a plurality of LANs are interconnected is CAN (Campus Area Network). A firewall FW or a broadband router BR is connected to each base network NLm. The firewall FW or the broadband router BR is a communication device that enables communication between a node device connected in the base and a node device other than the node device connected to the base. Since the firewall FW or the broadband router BR is publicly known, detailed description thereof is omitted. Which of the firewall FW and the broadband router BR is installed at the base is arbitrarily determined for each base. The base network NLm of this embodiment is, for example, a LAN (Local Area Network).
また、ネットワークNWには、投入サーバ及びポータルサーバ等のサーバ装置等が接続されている。投入サーバとポータルサーバとは特に図示していない。 In addition, a server device such as an input server and a portal server is connected to the network NW. The input server and the portal server are not particularly shown.
このような構成のコンテンツ分散保存システムSにおいて、構成要素たる各装置の機能概要は以下の通りである。投入サーバは、後述する第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLにコンテンツデータを投入するサーバ装置である。なお、投入サーバは図示していない。ここで、コンテンツデータの投入とは、コンテンツデータをノード装置Tm−nから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。 In the content distributed storage system S having such a configuration, the functional outline of each device as a component is as follows. The input server is a server device that inputs content data to a first overlay network PW or a second overlay network PL described later. The input server is not shown. Here, the input of content data refers to placing content data in a state where it can be acquired from the node device Tm-n. The content data is referred to as “content”.
ポータルサーバは、ノード装置Tm−nからのリクエストに応じてWebページをノード装置Tm−nに送信する。ポータルサーバにより送信されるWebページは、コンテンツの一例として動画データを配信するWebサイトを構成する。なお、ポータルサーバは図示していない。 The portal server transmits a Web page to the node device Tm-n in response to a request from the node device Tm-n. The Web page transmitted by the portal server constitutes a Web site that distributes moving image data as an example of content. The portal server is not shown.
ノード装置Tm−nは、拠点mにいるユーザにより使用される端末装置である。ノード装置Tm−nは、ポータルサーバ等のWebサーバからWebページを取得し、取得したWebページを画面表示する。ノード装置Tm−nは、他のノード装置Tm−n又からコンテンツを取得し保存する。更に、ノード装置Tm−nは、動画データ等のコンテンツを再生する。 The node device Tm-n is a terminal device used by a user at the base m. The node device Tm-n acquires a Web page from a Web server such as a portal server, and displays the acquired Web page on the screen. The node device Tm-n acquires and stores content from other node devices Tm-n. Further, the node device Tm-n reproduces content such as moving image data.
本実施形態のコンテンツ分散保存システムSでは、コンテンツ配信のためのオーバーレイネットワークが構築されている。オーバーレイネットワークは、ネットワークNW上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知である。 In the content distributed storage system S of the present embodiment, an overlay network for content distribution is constructed. The overlay network is an overlay network constructed on the network NW. In other words, the overlay network is a logical network generated on a physical network. The overlay network is realized by a specific algorithm, for example, an algorithm using a distributed hash table. Hereinafter, the distributed hash table is referred to as “DHT (Distributed Hash Table)”. Note that a routing table using DHT is known in Japanese Patent Application Laid-Open No. 2006-197400.
本実施形態では、このオーバーレイネットワークが2種類ある。図2に示すように、第1オーバーレイネットワークPWと、第2オーバーレイネットワークPLである。第1オーバーレイネットワークPWは、IPv4により通信可能なノード装置のいずれかから構成される。また、第2オーバーレイネットワークPLは、IPv6により通信可能なノード装置のいずれかから構成される。本実施形態のノード装置には、IPv4のみで通信可能なノード装置と、IPv6のみで通信可能なノード装置と、IPv4とIPv6との双方で通信可能なノード装置とが存在する。図1の例では、ノード装置T1−1と、ノード装置T1−2と、ノード装置T2−1と、ノード装置T3−1と、ノード装置T4−1と、ノード装置T5−1とが、IPv4により通信可能である。そのため、第1オーバーレイネットワークPWは、ノード装置T1−1、ノード装置T1−2、ノード装置T2−1と、ノード装置T3−1、ノード装置T4−1、ノード装置T5−1等のIPv4により通信可能なノード装置により構成される。また、図1の例では、ノード装置T1−4と、ノード装置T2−4と、ノード装置T2−5と、ノード装置T3−1と、ノード装置T4−1とが、IPv6により通信可能である。そのため、第2オーバーレイネットワークPLは、ノード装置T1−4、ノード装置T2−4、ノード装置T2−5、ノード装置T3−1、ノード装置T4−1等のIPv6により通信可能なノード装置により構成される。 In this embodiment, there are two types of overlay networks. As shown in FIG. 2, a first overlay network PW and a second overlay network PL. The first overlay network PW is composed of any node device that can communicate with IPv4. Further, the second overlay network PL is configured by any of node devices that can communicate with IPv6. The node device according to the present embodiment includes a node device that can communicate only with IPv4, a node device that can communicate only with IPv6, and a node device that can communicate with both IPv4 and IPv6. In the example of FIG. 1, the node device T1-1, the node device T1-2, the node device T2-1, the node device T3-1, the node device T4-1, and the node device T5-1 are IPv4. Can communicate with each other. Therefore, the first overlay network PW communicates with the node device T1-1, the node device T1-2, the node device T2-1, and the IPv4 of the node device T3-1, the node device T4-1, the node device T5-1, and the like. It is composed of possible node devices. In the example of FIG. 1, the node device T1-4, the node device T2-4, the node device T2-5, the node device T3-1, and the node device T4-1 can communicate with each other by IPv6. . Therefore, the second overlay network PL is configured by node devices that can communicate with IPv6 such as the node device T1-4, the node device T2-4, the node device T2-5, the node device T3-1, and the node device T4-1. The
第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLの生成方法の詳細については、後述する。第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLを用いて、各ノード装置Tm−nがピアツーピア方式で通信を行えるよう、ブロードバンドルータBRやファイアーウォールFWにおいてポートフォワーディングの設定が行われる。例えば、ブロードバンドルータBRであれば、UPnP(Universal Plug and Play)機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。 Details of the method of generating the first overlay network PW or the second overlay network PL will be described later. Using the first overlay network PW or the second overlay network PL, port forwarding is set in the broadband router BR and the firewall FW so that each node device Tm-n can perform communication in a peer-to-peer manner. For example, in the case of a broadband router BR, it is preferable to set port forwarding automatically using a UPnP (Universal Plug and Play) function or the like.
[第1オーバーレイネットワーク及び第2オーバーレイネットワークの生成方法]
以下、第1オーバーレイネットワークPW及び第2オーバーレイネットワークPLの生成方法について説明する。第1オーバーレイネットワークPWでは、DHTの第1ルーティングテーブルが用いられる。また、第2オーバーレイネットワークPLでは、DHTの第2ルーティングテーブルが用いられる。
[Method for generating first overlay network and second overlay network]
Hereinafter, a method for generating the first overlay network PW and the second overlay network PL will be described. In the first overlay network PW, the first routing table of DHT is used. In the second overlay network PL, the second routing table of DHT is used.
本実施形態では、コンテンツ分散保存システムSには、IPv4により通信可能な第1コンタクトノードと、IPv6により通信可能な第2コンタクトノードとが備えられる。コンタクトノードは、各ノード装置Tm−nが、オーバーレイネットワークに参加する際に、最初にメッセージを送信するノード装置である。例えば、IPv4により通信可能なノード装置Tm−nは、第1コンタクトノードに参加メッセージを送信する。また、Ipv6により通信可能なノード装置Tm−nは、第2コンタクトノードに参加メッセージを送信する。参加メッセージを受信した第1コンタクトノード及び第2コンタクトノードは、参加処理を実行する。まず、本実施形態のルーティングテーブルについて詳しく説明する。 In the present embodiment, the content distributed storage system S includes a first contact node that can communicate with IPv4 and a second contact node that can communicate with IPv6. The contact node is a node device that first transmits a message when each node device Tm-n participates in the overlay network. For example, the node device Tm-n that can communicate with IPv4 transmits a participation message to the first contact node. Further, the node device Tm-n that can communicate with Ipv6 transmits a participation message to the second contact node. The first contact node and the second contact node that have received the participation message execute a participation process. First, the routing table of this embodiment will be described in detail.
図2は、ノード装置Tm−nが記憶する第1ルーティングテーブルの一例である。図3は、DHTのID空間の一例を示す概念図である。なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとしている。そのため、各桁は、2bitで表された4進数(0〜3の整数)で表されている。各桁を2bitよりも長いbit長を用いても良い。例えば、各桁を4bitで表して、0〜fの16進数で表現しても良い。 FIG. 2 is an example of a first routing table stored in the node device Tm-n. FIG. 3 is a conceptual diagram illustrating an example of a DHT ID space. 2 and 3, for convenience of explanation, the bit length of the node ID is 2 bits × 3 digits = 6 bits. Therefore, each digit is represented by a quaternary number (integer of 0 to 3) represented by 2 bits. A bit length longer than 2 bits may be used for each digit. For example, each digit may be represented by 4 bits and represented by a hexadecimal number of 0 to f.
図2に示すように、第1ルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報は、ノードIDと、ノードIDに対応するノード装置のIPアドレス及びポート番号と、を含む。図2の例の場合、レベル1の0XXのエリアには、ノードID「002」と、ノードID「002」に対応するノード装置T2−1のIPアドレス及びポート番号とが、対応付けられてノード情報として登録されている。
As shown in FIG. 2, the first routing table is composed of a plurality of levels from level 1 (first stage) to level 3 (third stage). Node information is registered in each area. The node information includes a node ID and an IP address and a port number of the node device corresponding to the node ID. In the case of the example of FIG. 2, a node ID “002” and the IP address and port number of the node device T2-1 corresponding to the node ID “002” are associated with the 0XX area of
図2に示すレベル1〜レベル3の各レベルにおける各エリアは、ノードID空間を分割することにより決定されるエリアである。図3は、ノードIDを用いて各エリアが決定される概念図である。ノードID空間は、各桁が4進数(0〜3の整数)で表される3桁の数字により構成される。図3に示すように、レベル1のエリアとして、ノードID空間が4つ(4進数のため)に分割される。具体的にレベル1のエリアは、0XXのエリアと、1XXのエリアと、2XXのエリアと、3XXとに分割される。0XXのエリアは、'0
00'〜'033'のノードIDが存在するエリアである。1XXのエリアは、'100'〜'133'のノードIDが存在するエリアである。2XXのエリアは、'200'〜'233'
のノードIDが存在するエリアである。3XXのエリアは、'300'〜'333'のノードIDが存在するエリアである。
Each area in each of
This is an area where node IDs of 00 'to' 033 'exist. The 1XX area is an area where node IDs “100” to “133” exist. The 2XX area is '200' to '233'
This is an area where node IDs exist. The 3XX area is an area where node IDs “300” to “333” exist.
また、レベル2では、レベル1のエリアが更に4つ(4進数のため)に分割される。つまり、0XX〜3XXの各エリアが更に4つに分割される。0XXのエリアと1XXのエリアと2XXのエリアと3XXのエリアとが夫々4分割される。例えば、1XXのエリアの場合、'100'〜'103'のノードIDが存在するエリアが10Xのエリアとして分割される。また、11Xのエリアの場合、'110'〜'113'のノードIDが存在するエリアが11Xのエリアとして分割される。また、12Xのエリアの場合、'120'〜'12
3'のノードIDが存在するエリアが12Xのエリアとして分割される。また、13Xの
エリアの場合、'130'〜'133'のノードIDが存在するエリアが13Xのエリアとして分割される。
In
The area where the 3 ′ node ID exists is divided as a 12 × area. In the case of the 13X area, the area where the node IDs “130” to “133” exist is divided as the 13X area.
以降、ノード装置Tm−nのノードIDが「122」の場合を例として説明する。図2に示すように、ルーティングテーブルのレベル1における1XXのエリアは、ノード装置T1−2のノードIDが存在するエリアである。そのため、レベル1の1XXのエリアには、図2の例では、ノード装置T1−2自身のノードIDと、IPアドレスまたはポート番号とが登録される。本実施形態では、ノード装置T1−2自身のノードIDとIPアドレスまたはポート番号とを登録したが、ノードIDとIPアドレスまたはポート番号とはノード装置T1−2自身のものであるので登録されなくてもよい。ノード装置T1−2のノードIDが存在しないエリアには、夫々、他の任意のノード装置のノードIDと、IPアドレスまたはポート番号とが登録されている。ノード装置T1−2のノードIDが「122」の場合、ノード装置T1−2のノードIDが存在しないエリアは、0XXのエリアと、2XXのエリアと、3XXのエリアとである。
Hereinafter, a case where the node ID of the node device Tm-n is “122” will be described as an example. As shown in FIG. 2, the area of 1XX in
また、ルーティングテーブルのレベル2における12Xのエリアは、ノード装置T1−2のノードIDが存在するエリアである。そのため、レベル2の12Xのエリアには、ノード装置T1−2自身のノードIDと、IPアドレスまたはポート番号とが登録される。ノード装置T1−2のノードIDが存在しないエリアには、レベル1と同様に、他の任意のノード装置のノードIDと、IPアドレスまたはポート番号とが登録されている。
Further, the 12X area in the
更に、ルーティングテーブルのレベル3には、図2に示すように、ノードIDが'12
0'〜'123'である。そのため、レベル3の122のエリアには、ノード装置T1−2
自身のノードIDと、IPアドレスまたはポート番号とが登録される。本実施形態では、ノード装置T1−2自身のノードIDとIPアドレスまたはポート番号とを登録したが、IPアドレスまたはポート番号はノード装置T1−2自身のものであるので、登録されなくても良い。
Further, the
0 'to' 123 '. Therefore, the node device T1-2 is located in the area of
The node ID of itself and the IP address or port number are registered. In the present embodiment, the node ID and IP address or port number of the node device T1-2 itself are registered. However, the IP address or port number does not need to be registered because it is the node device T1-2 itself. .
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitである。例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる。図2および図3に示すように、本実施形態における第1ルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭くなっていく。そして、このような第1ルーティングテーブルは、例えば、未参加のノード装置がコンテンツ分散保存システムSに参加する際に生成される。本実施形態では、オーバーレイネットワークに参加するとは、DHTを用いたルーティングテーブルに基づいて他のノード装置との間で各種メッセージを送受信できる状態に稼動することをいう。これにより、各ノード装置は、他のノード装置との間でオーバーレイネットワークを介してメッセージを送受信することが可能となる。ここで、オーバーレイネットワークを介したメッセージの送受信とは、オーバーレイネットワークに参加しているノード装置間のメッセージの送受信を意味する。なお、DHTのルーティングテーブルは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。ここで、図4を参照して、コンテンツ分散保存システムSへの参加時における第1ルーティングテーブルの生成手順について詳しく説明する。 In the example of FIGS. 2 and 3, the bit length of the node ID is 3 digits × 2 bits. For example, when the bit length of the node ID is 16 digits × 4 bits, a table for 16 levels is required. As shown in FIGS. 2 and 3, in the first routing table in the present embodiment, the area becomes narrower as the numerical value of the level becomes larger. Such a first routing table is generated, for example, when a non-participating node device participates in the content distributed storage system S. In this embodiment, participating in an overlay network means operating in a state where various messages can be transmitted to and received from other node devices based on a routing table using DHT. As a result, each node device can transmit and receive messages to and from other node devices via the overlay network. Here, transmission / reception of a message via the overlay network means transmission / reception of a message between node devices participating in the overlay network. The DHT routing table is well known in, for example, Japanese Patent Application Laid-Open No. 2007-053662, and detailed description thereof is omitted. Here, with reference to FIG. 4, a procedure for generating the first routing table when participating in the distributed content storage system S will be described in detail.
図4は、コンテンツ分散保存システムSへの参加時における第1ルーティングテーブルの生成手順の一例を示す概念図である。具体的には、図4は、各ノード装置Tm−n間を参加メッセージが転送される概要を示す概念図である。また、図5は、第1ルーティングテーブル作成手順における参加メッセージの転送概要を示す概念図である。以降、未参加のノード装置T8−1がコンテンツ分散保存システムSに参加する例を用いて説明する。なお、図4及び図5に示すノード装置1−4とノード装置T8−1とノード装置9−1とノード装置10−1とは、IPv4により通信可能なノード装置である。以下未参加のノード装置T8−1のノードIDは、「123」とする。また、図4及び図5では、ノード装置の略称として、「ノード」と記載している。また、参加メッセージの略称として、「JOIN」と記載している。 FIG. 4 is a conceptual diagram showing an example of a procedure for generating the first routing table when participating in the content distributed storage system S. Specifically, FIG. 4 is a conceptual diagram showing an overview of a participation message being transferred between the node devices Tm-n. FIG. 5 is a conceptual diagram showing an outline of transfer of a participation message in the first routing table creation procedure. Hereinafter, an example in which the non-participating node device T8-1 participates in the distributed content storage system S will be described. Note that the node device 1-4, the node device T8-1, the node device 9-1, and the node device 10-1 illustrated in FIGS. 4 and 5 are node devices that can communicate by IPv4. Hereinafter, the node ID of the non-participating node device T8-1 is “123”. In FIG. 4 and FIG. 5, “node” is described as an abbreviation of the node device. Further, “JOIN” is described as an abbreviation of the participation message.
図4及び図5に示すように、未参加のノード装置T8−1がコンテンツ分散保存システムSに参加する場合、第1コンタクトノード装置であるノード装置T9−1のIPアドレスを用いて、ノード装置T9−1に参加メッセージが送信される。図5に示すように、参加メッセージは、未参加のノード装置T8−1のノードIDを含む。第1コンタクト装置であるノード装置T9−1にメッセージを送信するためのIPアドレスを、未参加のノード装置T8−1が事前に知っているものとする。例えば、第1オーバーレイネットワークPWまたは第2オーバーレイネットワークPLに参加するために必要なソフトウェアをダウンロードするときに、第1コンタクトノードであるノード装置T9−1のIPアドレスは取得される。 As shown in FIGS. 4 and 5, when a node device T8-1 that has not participated participates in the content distribution storage system S, the node device is used by using the IP address of the node device T9-1 that is the first contact node device. A participation message is transmitted at T9-1. As shown in FIG. 5, the participation message includes the node ID of the node device T8-1 that has not participated. It is assumed that the non-participating node device T8-1 knows in advance the IP address for transmitting a message to the node device T9-1 that is the first contact device. For example, when downloading software necessary to participate in the first overlay network PW or the second overlay network PL, the IP address of the node device T9-1 that is the first contact node is acquired.
参加メッセージを受信したノード装置T9−1は、ノード装置T9−1の第1ルーティングテーブルを参照する。具体的には、第1ルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報が参照される。レベル1に登録されているノード情報を含む返信メッセージを、ノード装置T9−1はノード装置T8−1へ返信する。さらにノード装置T9−1は、受信された参加メッセージに含まれるノードIDと、第1ルーティングテーブルに登録された他のノード装置Tm−nのノードIDと比較する。比較結果に基づいて第1ルーティングテーブルから、一つのノード装置Tm−nが選定される。なお、第1ルーティングテーブルに登録されるノード装置Tm−nは、IPv4により通信可能なノード装置である。ノード装置T9−1は、例えば、参加メッセージに含まれるノードID123と最も近いノードIDであるノード装置T10−1を、第1ルーティングテーブルから選定する。このとき、ノード装置T9−1からノード装置T10−1へ送信される参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。ノード装置T9−1からノード装置T10−1へ送信される参加メッセージには、レベル2が含められる。また、参加メッセージを受信したノード装置T10−1は、ノード装置T9−1の場合と同様に、参加メッセージに含まれるノードID123と最も近いノードIDであるノード装置T1−4を、第1ルーティングテーブルから選定する。このとき、ノード装置T10−1からノード装置T1−4へ送信される参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。ノード装置T10−1からノード装置T1−4へ送信される参加メッセージには、レベル3が含められる。
The node device T9-1 that has received the participation message refers to the first routing table of the node device T9-1. Specifically, the node information registered in the
選定されたノード装置が、ノード装置T10−1である例を用いて説明する。このとき、参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。上記例では、レベル2が参加メッセージに含められる。
A description will be given by using an example in which the selected node device is the node device T10-1. At this time, the participation message includes information indicating the number of steps of the table to be returned next. In the above example,
参加メッセージを受信したノード装置T10−1は、ノード装置T10−1の第1ルーティングテーブルのレベル2に登録されているノード情報を含む返信メッセージを、ノード装置T8−1に対して返信する。さらに、ノード装置T10−1は、第1ルーティングテーブルから選定されたノード装置T1−4へ、上記参加メッセージを転送する。このとき、参加メッセージには、次に返信させるべきテーブルの段数として、レベル3を示す情報が含められる。
The node device T10-1 that has received the participation message returns a reply message including node information registered in
参加メッセージを受信したノード装置T1−4は、ノード装置T1−4の第1ルーティングテーブルにおけるレベル3に登録されているノード情報を含む返信メッセージを、ノード装置T8−1に対して返信する。以上のようにして参加メッセージは、ノードIDをキーとして第1ルーティングテーブルに基づいて転送される。そのため、未参加のノード装置T8−1のノードIDに一番近いノードIDを有するノード装置Tm−nまで転送される。例えば、最も近いノードIDは、上位桁がより多く一致するID、または、比較されるノードIDとの差が最も小さいノードIDである。
The node device T1-4 that has received the participation message returns a reply message including the node information registered in the
そして、ノード装置T8−1は、各ノード装置から受信した返信メッセージに含まれるノード情報を用いて第1ルーティングテーブルを生成する。具体的には、ノード装置T9−1から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル1に登録される。ノード装置T10−1から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル2に登録される。ノード装置T1−4から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル3に登録される。
And node device T8-1 produces | generates a 1st routing table using the node information contained in the reply message received from each node device. Specifically, the node information transmitted from the node device T9-1 is registered in
こうして、ノード装置T8−1は、第1ルーティングテーブルを取得し、ノード装置T8−1の記憶手段に記憶する。これにより、コンテンツ分散保存システムSへの参加が完了することになる。本実施形態では、上述したような参加メッセージや、後述する検索要求メッセージ等の各種メッセージは、メッセージの送信元、または、転送元のノード装置のノード情報を含む。そのため、メッセージを受信したノード装置は、ノード装置の第1ルーティングテーブルに、ノード情報を登録及び更新する。 Thus, the node device T8-1 acquires the first routing table and stores it in the storage unit of the node device T8-1. Thereby, participation in the content distributed storage system S is completed. In the present embodiment, various messages such as the participation message as described above and a search request message described later include node information of a message transmission source or transfer source node device. Therefore, the node device that has received the message registers and updates the node information in the first routing table of the node device.
各ノード装置Tm−n間を転送するメッセージは、メッセージ送信元のノードIDと、メッセージの内容と、送信元または転送元のノード情報とを含む。メッセージ送信元のノードIDは、メッセージを送信した送信元のノード装置Tm−nのノードIDである。メッセージの内容は、メッセージの目的を表す「参加(JOIN)」、「パブリッシュ」、「クエリ」等である。「参加」は、参加メッセージを示す。「パブリッシュ」は、パブリッシュメッセージを示す。「クエリ」は、検索要求メッセージを示す。パブリッシュメッセージ及び検索要求メッセージの詳細は、後述する。ノード情報は、送信元または転送元のノード装置Tm−nのノードIDと、IPアドレスまたはポート番号とを含んで構成される。なお、'メッセージの内容'は、参加メッセージの場合、テーブルのノード情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ(登録)メッセージまたはクエリの場合、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツのコンテンツIDが含まれている。 The message transferred between the node devices Tm-n includes the node ID of the message transmission source, the content of the message, and the node information of the transmission source or the transfer source. The node ID of the message transmission source is the node ID of the transmission source node device Tm-n that has transmitted the message. The content of the message is “join (JOIN)”, “publish”, “query” or the like indicating the purpose of the message. “Participation” indicates a participation message. “Publish” indicates a publish message. “Query” indicates a search request message. Details of the publish message and the search request message will be described later. The node information includes a node ID of the source or transfer source node device Tm-n and an IP address or a port number. In the case of a participation message, “message content” includes information indicating that a reply of node information in the table is requested. In the case of a publish (registration) message or query, the content ID of the content to be published (registered) or queried (request) is included.
図4に示す例の場合、ノード装置T10−1は、第1コンタクトノードであるノード装置T9−1から参加メッセージを受信する。そして、ノード装置T10−1は、参加メッセージに含まれる送信元または転送元の第1コンタクトノード装置T9−1のノード情報をノード装置T10−1の第1ルーティングテーブルに登録する。このとき、ノード装置T10−1のルーティングテーブルに第1コンタクトノード装置T9−1のノード情報が既に登録されている場合、登録済み第1コンタクトノード装置T9−1のノード情報は、受信したノード情報に基づいて更新される。 In the example illustrated in FIG. 4, the node device T10-1 receives a participation message from the node device T9-1 that is the first contact node. Then, the node device T10-1 registers the node information of the transmission source or transfer source first contact node device T9-1 included in the participation message in the first routing table of the node device T10-1. At this time, when the node information of the first contact node device T9-1 is already registered in the routing table of the node device T10-1, the node information of the registered first contact node device T9-1 is the received node information. Updated based on
同様に、ノード装置T10−1から参加メッセージを受信したノード装置T1−4は、参加メッセージに含まれる送信元または転送元のノード装置T10−1のノード情報をノード装置T1−4の第1ルーティングテーブルに登録、或いは更新する。以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新される。 Similarly, the node device T1-4 that has received the participation message from the node device T10-1 uses the node information of the source or transfer source node device T10-1 included in the participation message as the first routing of the node device T1-4. Register or update in the table. According to the above procedure, node information is registered or updated in the routing table.
また、第2ルーティングテーブルは、第1ルーティングテーブルと同様の方法により生成される。具体的には、未参加のノード装置T8−1がコンテンツ分散保存システムSに参加する場合、第2コンタクトノード装置のIPアドレスを用いて第2コンタクトノード装置に参加メッセージが送信される。参加メッセージを受信した第2コンタクトノードは、第1コンタクトノードの処理と同様の処理を実行する。なお、第2コンタクトノードは、IPv6により通信可能なノード装置のノード情報により構成される第2ルーティングテーブルを記憶している。この第2ルーティングテーブルを用いて、第2コンタクトノードは、第1コンタクトノードと同様の方法で、未参加ノード装置に第2ルーティングテーブルを取得させる。 The second routing table is generated by the same method as the first routing table. Specifically, when the non-participating node device T8-1 participates in the content distribution storage system S, the participation message is transmitted to the second contact node device using the IP address of the second contact node device. The second contact node that has received the participation message executes processing similar to that of the first contact node. The second contact node stores a second routing table composed of node information of node devices that can communicate with IPv6. Using the second routing table, the second contact node causes the non-participating node device to acquire the second routing table in the same manner as the first contact node.
[コンテンツ取得動作の説明]
コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノード装置Tm−nに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノード装置Tm−n間でレプリカが利用可能になっている。各コンテンツのオリジナルは、WANに接続されているセンターサーバ(不図示)に保存されている。以下、コンテンツのレプリカが保存されるノード装置Tm−nは、「コンテンツ保持ノード」という。以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。
[Description of content acquisition operation]
The content distributed storage system S stores various content data replicas having different contents in a predetermined file format in a distributed manner in a plurality of node devices Tm-n. Hereinafter, the content data is referred to as “content”. A replica can be used between the node devices Tm-n. The original of each content is stored in a center server (not shown) connected to the WAN. Hereinafter, the node device Tm-n in which the content replica is stored is referred to as a “content holding node”. In the following description, the original content and the replica are referred to as content without particular distinction. Information such as a content name and content ID, which is unique identification information for each content, is added to each content described above.
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を記憶しているノード装置Tm−n等により記憶される。以下、コンテンツの所在を記憶しているノード装置Tm−nを、「ルートノード」という。インデックス情報は、レプリカを保存したノード装置Tm−nのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノード装置Tm−nであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、コンテンツIDと上位桁がより多く一致するノードIDである。 The location of the content that is distributed and stored is stored as index information by the node device Tm-n that stores the location of the content. Hereinafter, the node device Tm-n that stores the location of the content is referred to as a “root node”. The index information includes a set of node information of the node device Tm-n that stores the replica, a content ID of the content, and the like. Such a root node is determined to be a node device Tm-n having a node ID closest to the content ID, for example. The node ID closest to the content ID is, for example, a node ID that matches the content ID more frequently with the upper digits.
そして、或るノード装置Tm−nのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノード装置Tm−nは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノード装置Tm−nを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID、ユーザノードのノード情報等を含む検索要求メッセージである。検索要求メッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述の検索要求メッセージが、ユーザノードが記憶するDHTの第1ルーティングテーブルまたは第2ルーティングテーブルに従って、他のノード装置Tm−nに対して送出される。つまり、ユーザノードは、検索要求メッセージを、コンテンツのルートノードに向けて送出する。これにより、検索要求メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到達することになる。本実施形態では、検索要求メッセージとして、第1検索要求メッセージと第2検索要求メッセージとがある。第1検索要求メッセージと第2検索要求メッセージの詳細は後述する。 When a user of a certain node device Tm-n wants to acquire desired content, the node device Tm-n that desires to acquire the content generates a message. Hereinafter, the node device Tm-n that the user desires to acquire content is referred to as a “user node”. This message is a search request message including the content ID of content desired to be acquired, node information of the user node, and the like. The search request message is also a message for searching for a content holding node. The search request message described above is sent to another node device Tm-n according to the first routing table or the second routing table of the DHT stored in the user node. That is, the user node sends a search request message toward the root node of the content. Thereby, the search request message finally reaches the root node by DHT routing using the content ID as a key. In the present embodiment, the search request message includes a first search request message and a second search request message. Details of the first search request message and the second search request message will be described later.
上記検索要求メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。そして、ルートノードは、取得したインデックス情報を含む検索応答メッセージを、検索要求メッセージの送信元であるユーザノードに対して返信する。インデックス情報を取得したユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツIDが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを、コンテンツキャッシュエリアから取得する。そして、コンテンツ保持ノードは、取得したコンテンツを含むコンテンツ要求応答メッセージをユーザノードに送信する。このようにして、ユーザノードは、コンテンツをダウンロード(取得)することが可能になる。 The root node that has received the search request message obtains index information corresponding to the content ID included therein from the index information cache. Then, the root node returns a search response message including the acquired index information to the user node that is the transmission source of the search request message. The user node that has acquired the index information transmits a content request message to the content holding node based on the IP address and port number of the content holding node included in the index information. The content request message includes the content ID of the content desired to be acquired. The content holding node that has received the content request message acquires content corresponding to the content ID included in the content request message from the content cache area. Then, the content holding node transmits a content request response message including the acquired content to the user node. In this way, the user node can download (acquire) content.
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID、コンテンツを保存したノード装置Tm−nのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索要求メッセージと同じように、コンテンツIDをキーとするDHTの第1ルーティングテーブルまたは第2ルーティングテーブルによってルートノードに到達することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのコンテンツを保持するコンテンツ保持ノードとなる。 Further, when the user node acquires and stores the content from the content holding node, the stored user node generates a publish message. The publish message is a message for informing the root node that the content has been saved. The publish message includes the content ID of the content and the node information of the node device Tm-n that stores the content. The publish message is sent toward the root node. As a result, the publish message reaches the root node by the first routing table or the second routing table of the DHT using the content ID as a key, like the search request message. Then, the root node receives the publish message. The root node stores index information including a set of node information and content ID included in the publish message in the index information cache area. In this way, the user node becomes a new content holding node that holds the content of the content.
本実施形態では、ノード装置Tm−nがIPv4とIPv6との双方で通信可能な場合、パブリッシュメッセージは、第1ルーティングテーブルと第2ルーティングテーブルとに記載された宛先へ送信される。一方、ノード装置Tm−nがIPv4のみにより通信可能な場合、第1ルーティングテーブルに記載された宛先へ、パブリッシュメッセージが送信される。また、ノード装置Tm−nがIPv6のみにより通信可能な場合、第2ルーティングテーブルに記載された宛先へ、パブリッシュメッセージが送信される。 In the present embodiment, when the node device Tm-n can communicate with both IPv4 and IPv6, the publish message is transmitted to the destinations described in the first routing table and the second routing table. On the other hand, when the node device Tm-n can communicate only with IPv4, the publish message is transmitted to the destination described in the first routing table. When the node device Tm-n can communicate only with IPv6, the publish message is transmitted to the destination described in the second routing table.
本実施形態では、検索要求メッセージは、第1検索要求メッセージと第2検索要求メッセージの2種類がある。第1検索要求メッセージは、IPv4とIPv6との双方で通信可能なノード装置により送信される検索要求メッセージである。一方、第2検索要求メッセージは、IPv4とIPv6とのいずれか一方で通信可能なノード装置により送信される検索要求メッセージである。 In this embodiment, there are two types of search request messages: a first search request message and a second search request message. The first search request message is a search request message transmitted by a node device that can communicate with both IPv4 and IPv6. On the other hand, the second search request message is a search request message transmitted by a node device that can communicate with either IPv4 or IPv6.
本実施形態の第1検索要求メッセージは、ノード情報と、コンテンツIDと、バージョン情報とを含む。第1検索要求メッセージが含むノード情報は、第1検索要求メッセージの送信元のノード装置のノード情報である。第1検索要求メッセージが含むコンテンツIDは、第1検索要求メッセージにより検索を要求したコンテンツのコンテンツIDである。第1検索要求メッセージが含むバージョン情報は、第1検索要求メッセージの送信元のノード装置で通信可能なプロトコルであるIPv4とIPv6とを示すバージョン情報である。 The first search request message of this embodiment includes node information, content ID, and version information. The node information included in the first search request message is node information of the node device that is the transmission source of the first search request message. The content ID included in the first search request message is the content ID of the content requested to be searched by the first search request message. The version information included in the first search request message is version information indicating IPv4 and IPv6, which are protocols that can be communicated with the node device that is the transmission source of the first search request message.
本実施形態の第2検索要求メッセージは、ノード情報と、コンテンツIDと、バージョン情報とを含む。第2検索要求メッセージが含むノード情報は、第2検索要求メッセージの送信元のノード装置のノード情報である。第2検索要求メッセージが含むコンテンツIDは、第2検索要求メッセージにより検索を要求したコンテンツのコンテンツIDである。第2検索要求メッセージが含むバージョン情報は、第2検索要求メッセージの送信元のノード装置で通信可能なプロトコルであるIPv4かIPv6かのいずれか一方を示すバージョン情報である。 The second search request message of this embodiment includes node information, content ID, and version information. The node information included in the second search request message is node information of the node device that is the transmission source of the second search request message. The content ID included in the second search request message is the content ID of the content requested to be searched by the second search request message. The version information included in the second search request message is version information indicating either IPv4 or IPv6, which is a protocol communicable with the node device that is the transmission source of the second search request message.
以下、第1検索要求メッセージの送信方法について説明する。第1検索要求メッセージが送信される場合、最初に第2ルーティングテーブルに記載の宛先へ送信される。そして、所定期間の間に検索応答メッセージが受信されなかった場合、次に第1ルーティングテーブルに記載の宛先へ第1検索要求メッセージが送信される。これは、コンテンツの取得先を、IPv4で通信可能なノード装置よりも、IPv6で通信可能なノード装置を優先させるためである。この処理により、NAT(Network Adress Translation)越えの問題が発生しないIPv6により通信可能なノード装置から、コンテンツのダウンロード及びアップロードを行うことができる。また、第1検索要求メッセージが、第1ルーティングテーブルと第2ルーティングテーブルとの両方に送信され、受信した応答メッセージの中から、IPv6により通信可能なノード装置が選択されてコンテンツがダウンロード及びアップロードされても良い。 Hereinafter, a method for transmitting the first search request message will be described. When the first search request message is transmitted, it is first transmitted to the destination described in the second routing table. If the search response message is not received during the predetermined period, the first search request message is transmitted to the destination described in the first routing table. This is because the node device that can communicate with IPv6 is given priority over the node device that can communicate with IPv4 as the content acquisition destination. By this processing, it is possible to download and upload content from a node device that can communicate with IPv6 without causing a problem of exceeding NAT (Network Address Translation). Also, the first search request message is transmitted to both the first routing table and the second routing table, and the node device that can communicate with IPv6 is selected from the received response message, and the content is downloaded and uploaded. May be.
以下、第2検索要求メッセージの送信方法について説明する。第2検索要求メッセージは、IPv4またはIPv6のいずれか一方により通信可能なノード装置により送信される。第2検索要求メッセージを受信したノード装置がIPv4またはIPv6のいずれか一方により通信可能な場合がある。この場合、第2検索要求メッセージを受信したノード装置が通信可能なプロトコルに基づいて、第2検索要求メッセージを送信するために使用される第1ルーティングテーブルまたは第2ルーティングテーブルが決定される。決定された第1ルーティングテーブルまたは第2ルーティングテーブルに登録されたノード装置へ、第2検索要求メッセージが送信または転送される。 Hereinafter, a method for transmitting the second search request message will be described. The second search request message is transmitted by a node device that can communicate with either IPv4 or IPv6. The node device that has received the second search request message may be able to communicate with either IPv4 or IPv6. In this case, the first routing table or the second routing table used for transmitting the second search request message is determined based on a protocol with which the node device that has received the second search request message can communicate. The second search request message is transmitted or transferred to the node device registered in the determined first routing table or second routing table.
一方、第2検索要求メッセージを受信したノード装置がIPv4またはIPv6の双方により通信可能なノード装置の場合がある。この場合、第2検索要求メッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルで通信可能なノード装置へ、第2検索要求メッセージが送信または転送される。 On the other hand, the node device that has received the second search request message may be a node device that can communicate with both IPv4 and IPv6. In this case, the second search request message is transmitted or transferred to a node device that can communicate with a protocol different from the protocol with which the node device that is the transmission source of the second search request message can communicate.
具体的には、第2検索要求メッセージの送信元がIPv4により通信可能なノード装置である場合、IPv4とIPv6との双方により通信可能なノード装置により、第2検索要求メッセージが、第2ルーティングテーブルの宛先へ中継される。つまり、IPv6により通信可能なノード装置へ第2検索要求メッセージが送信または転送される。また、第2検索要求メッセージがIPv6により通信可能なノード装置により送信された場合、IPv4とIPv6との双方により通信可能なノード装置により、第2検索要求メッセージが、第1ルーティングテーブルの宛先へ中継される。つまり、IPv4により通信可能なノード装置へ第2検索要求メッセージが送信または転送される。これにより、第2検索要求メッセージにより、所望のコンテンツが検索できなかった場合であっても、第2検索要求メッセージが送信されたノード装置が通信可能なプロトコルとは異なるプロトコルで通信可能なノード装置へ、第2検索要求メッセージを転送することができる。この結果、第2検索要求メッセージが送信されたノード装置が通信可能なプロトコルとは異なるプロトコルで通信可能なノード装置から、コンテンツを取得することが可能になる。 Specifically, when the transmission source of the second search request message is a node device that can communicate with IPv4, the second search request message is sent to the second routing table by the node device that can communicate with both IPv4 and IPv6. Is relayed to the destination. That is, the second search request message is transmitted or transferred to a node device that can communicate with IPv6. Further, when the second search request message is transmitted by a node device that can communicate with IPv6, the second search request message is relayed to the destination of the first routing table by the node device that can communicate with both IPv4 and IPv6. Is done. That is, the second search request message is transmitted or transferred to a node device that can communicate with IPv4. Thereby, even when the desired content cannot be searched by the second search request message, the node device can communicate with a protocol different from the protocol with which the node device to which the second search request message is transmitted can communicate. To the second search request message. As a result, it is possible to acquire content from a node device that can communicate with a protocol different from the protocol with which the node device to which the second search request message is transmitted can communicate.
本実施形態では、IPv4とIPv6との両方に通信可能なノード装置により、第2検索要求メッセージが送信されたとき、転送される第2検索要求メッセージに、転送フラグが含まれても良い。転送フラグは、IPv4とIPv6との両方に通信可能なノード装置により、第2検索要求メッセージが異なるプロトコルへ転送されたことを示すフラグである。転送フラグ以外に、第2検索要求メッセージが異なるプロトコルへ転送されたことを示す情報が用いられても良い。IPv4とIPv6との両方に通信可能なノード装置が、転送フラグが含まれているメッセージを受信した場合、第2検索要求メッセージを受信したノード装置は、第2検索要求メッセージを異なるプロトコルへ転送しなくても良い。これは、第2検索要求メッセージが異なるプロトコルへ転送され続けてしまい、第1ルーティングテーブルまたは第2ルーティングテーブルを用いて、十分に検索できないことを避けるためである。第2検索要求メッセージに転送フラグが含まれることで、異なるプロトコル間で不要な第2検索要求メッセージの転送を防ぐことができる。 In the present embodiment, when a second search request message is transmitted by a node device that can communicate with both IPv4 and IPv6, a transfer flag may be included in the second search request message to be transferred. The transfer flag is a flag indicating that the second search request message has been transferred to a different protocol by a node device capable of communicating with both IPv4 and IPv6. In addition to the transfer flag, information indicating that the second search request message has been transferred to a different protocol may be used. When a node device that can communicate with both IPv4 and IPv6 receives a message including a transfer flag, the node device that has received the second search request message transfers the second search request message to a different protocol. It is not necessary. This is to avoid that the second search request message continues to be transferred to a different protocol and cannot be sufficiently searched using the first routing table or the second routing table. By including the transfer flag in the second search request message, it is possible to prevent unnecessary transfer of the second search request message between different protocols.
[ノード装置の電気的構成]
次に、図6を参照して、ノード装置Tm−nの電気的構成ついて説明する。図6は、本実施形態のノード装置Tm−nの電気的構成を示すブロック図である。図6に示すように、本実施形態のノード装置Tm−nには、ノード装置Tm−nを制御するCPU1が備えられている。CPU1には、HDD2とRAM3とデコーダ部4と通信部9とがそれぞれ電気的に接続されている。HDD2、RAM3、などの記憶手段とCPU1とは、ノード装置Tm−nのコンピュータを構成している。CPU1、HDD2、RAM3、デコーダ部4、及び通信部9はバスを介して相互に接続されている。なお、ノード装置Tm−nとしては、パーソナルコンピュータ、又はSTB(Set Top Box)等を適用可能である。
[Electrical configuration of node equipment]
Next, an electrical configuration of the node device Tm-n will be described with reference to FIG. FIG. 6 is a block diagram illustrating an electrical configuration of the node device Tm-n according to the present embodiment. As illustrated in FIG. 6, the node device Tm-n according to the present embodiment includes a
HDD2は、プログラム記憶領域21と、アドレス情報記憶領域27と、第1ルーティングテーブル記憶領域28と第2ルーティングテーブル記憶領域29とバージョン情報記憶領域30とを含む。プログラム記憶領域21は、メイン動作プログラム記憶領域22とルーティングテーブル生成プログラム記憶領域23と、第1メッセージ処理プログラム記憶領域24と、第2メッセージ処理プログラム記憶領域25と、ダウンロード処理プログラム記憶領域26とを含む。
The
メイン動作プログラム記憶領域22は、ノード装置Tm−nのメイン動作プログラムを記憶する。メイン動作プログラムは、ノード装置Tm−nのメイン動作処理を行う。ルーティングテーブル生成プログラム記憶領域23は、ルーティングテーブル生成プログラムを記憶する。ルーティングテーブル生成プログラムは、ノード装置Tm−nが第1ルーティングテーブルまたは第2ルーティングテーブルを生成するプログラムである。第1メッセージ処理プログラム記憶領域24は、第1メッセージ処理プログラムを記憶する。第1メッセージ処理プログラムは、ノード装置Tm−nが第1メッセージを処理するプログラムである。第2メッセージ処理プログラム記憶領域25は、第2メッセージ処理プログラムを記憶する。第2メッセージ処理プログラムは、ノード装置Tm−nが第2メッセージを処理するプログラムである。ダウンロード処理プログラム記憶領域26は、ダウンロード処理プログラムを記憶する。ダウンロード処理プログラムは、ノード装置Tm−nのダウンロード処理を行う。
The main operation
なお、上記メイン動作プログラム及びルーティングテーブル生成プログラム及び第1メッセージ処理プログラム及び第2メッセージ処理プログラム及びダウンロード処理プログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。 The main operation program, the routing table generation program, the first message processing program, the second message processing program, and the download processing program may be downloaded from a predetermined server on the network NW, for example. Alternatively, it may be recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium.
アドレス情報記憶領域27は、第1コンタクトノードまたは第2コンタクトノードのIPアドレスが記憶される。ノード装置Tm−nにより取得された第1コンタクトノードと第2コンタクトノードとの少なくともいずれか一方のIPアドレスが、アドレス情報記憶領域27に記憶される。
The address
第1ルーティングテーブル記憶領域28には、生成された第1ルーティングテーブルが記憶される。第2ルーティングテーブル記憶領域29は、生成された第2ルーティングテーブルが記憶される。
The first routing
バージョン情報記憶領域30は、バージョン情報を記憶する。バージョン情報は、ノード装置Tm−nが通信可能なプロトコルである。ノード装置Tm−nが、IPv4とIPv6との両方で通信可能な場合、IPv4とIPv6とを示すバージョン情報がバージョン情報記憶領域30に記憶される。また、ノード装置Tm−nが、IPv4で通信可能な場合、IPv4を示すバージョン情報がバージョン情報記憶領域30に記憶される。また、ノード装置Tm−nが、IPv6で通信可能な場合、IPv6を示すバージョン情報がバージョン情報記憶領域30に記憶される。本実施形態のバージョン情報は、予め各ノード装置Tm−nに設定されていても良いし、別機器から直接接続されて取得されても良い。また、別機器からネットワークNWを介してバージョン情報が取得されても良い。本実施形態のバージョン情報記憶領域30は、本発明のプロトコル取得部の一例である。
The version
RAM3は、コンテンツデータ一時記憶領域31を含む。コンテンツデータ一時記憶領域31は、ノード装置Tm−n間で送受信されるコンテンツデータが一時記憶される。本実施形態のコンテンツデータ一時記憶領域31は、本発明の取得部の一例である。なお、コンテンツ分散保存システムSで送受信されるコンテンツデータは、HDD2またはRAM3のいずれかに保存されればよい。本実施形態のHDD2とRAM3とは、本発明の記憶部の一例である。通信部9は、ネットワークNWを通じてノード装置Tm−nまたは外部装置と情報の通信制御を行う。
The
ノード装置Tm−nは、通信部9を介して要求に応じて送信されてきたコンテンツデータを受信する受信処理を行う。本実施形態のコンテンツデータはパケット化されて送信されるようになっている。各パケットは、通信部9を通じて受信され、RAM3のコンテンツデータ一時記憶領域31に一時記憶される。このように一時記憶されたコンテンツデータは、コンテンツデータ一時記憶領域31から読み出されてデコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。或いは、コンテンツデータ一時記憶領域31に記憶されたコンテンツデータは、コンテンツデータ一時記憶領域31から読み出されてHDD2に記憶されても良い。または、コンテンツデータがRAM3を介さず、直接HDD2に記憶されても良い。その後、入力部10を介してユーザからの操作指示にしたがって、HDD2からコンテンツデータが読み出される。読み出されたコンテンツデータは、デコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。これにより、ユーザはコンテンツの視聴を行うことができる。
The node device Tm-n performs a reception process for receiving content data transmitted in response to a request via the
[本実施形態のノード装置Tm−nの動作の説明]
以上説明した構成からなる本実施形態のノード装置Tm−nの動作及び作用について、添付図面を参照して説明する。まず、ノード装置Tm−nの動作及び作用について、添付図面を参照して説明する。図7は、ノード装置Tm−nにおけるメイン動作の処理手順を示すフローチャートである。メイン動作は、電源またはコンセントを介して商用電源などの外部電源とノード装置Tm−nとが接続され、インストールされたP2PソフトウェアプログラムがCPU1により実行されたことにより、遂行される。以下に示す処理は、CPU1により処理される。
[Description of operation of node device Tm-n of this embodiment]
The operation and action of the node device Tm-n according to the present embodiment having the above-described configuration will be described with reference to the accompanying drawings. First, operation | movement and an effect | action of node apparatus Tm-n are demonstrated with reference to an accompanying drawing. FIG. 7 is a flowchart showing a processing procedure of the main operation in the node device Tm-n. The main operation is performed when an external power source such as a commercial power source is connected to the node device Tm-n via a power source or an outlet, and the installed P2P software program is executed by the
ステップS101では、ルーティングテーブル生成処理が実行される。ルーティングテーブル生成処理では、メイン動作処理を実行するノード装置Tm−nが通信可能なプロトコルに基づいて、第1ルーティングテーブルと第2ルーティングテーブルの少なくともいずれか一方が生成される。 In step S101, routing table generation processing is executed. In the routing table generation process, at least one of the first routing table and the second routing table is generated based on a protocol with which the node device Tm-n executing the main operation process can communicate.
ステップS102では、メイン動作処理を実行するノード装置Tm−nが、IPv4とIPv6との両方に接続可能であるか否かが判定される。バージョン情報記憶領域30に記憶されるバージョン情報に基づいて、IPv4とIPv6との両方に接続可能か否かが判定される。IPv4とIPv6との両方に接続可能と判定された場合(ステップS102:Yes)、ステップS103が実行される。IPv4とIPv6との両方に接続可能と判定されなかった場合(ステップS103:No)、ステップS104が実行される。本実施形態のコンピュータとステップS102とは、本発明の判定部の一例である。また、本実施形態のステップS102は、判定ステップの一例である。
In step S102, it is determined whether or not the node device Tm-n executing the main operation process can be connected to both IPv4 and IPv6. Based on the version information stored in the version
ステップS103では、第1メッセージ処理が実行される。第1メッセージ処理の詳細は後述する。 In step S103, the first message process is executed. Details of the first message processing will be described later.
ステップS104では、第2メッセージ処理が実行される。第2メッセージ処理の詳細は後述する。 In step S104, the second message process is executed. Details of the second message processing will be described later.
ステップS105では、ユーザにより電源スイッチがオフにされたか否かが判定される。電源スイッチがオフにされなかった場合(ステップS105:No)、再度ステップS102が実行される。電源スイッチがオフにされた場合(ステップS105:Yes)、メイン動作処理が終了される。 In step S105, it is determined whether or not the power switch is turned off by the user. If the power switch is not turned off (step S105: No), step S102 is executed again. When the power switch is turned off (step S105: Yes), the main operation process is terminated.
(ルーティングテーブル生成処理)
図8は、ルーティングテーブル生成処理動作を示すフローチャートである。ステップS201では、ノード装置Tm−nが、IPv4で通信可能か否かが判定される。IPv4で通信可能か否かは、バージョン情報記憶領域30にIPv4と接続可能なことを示すバージョン情報が記憶されているか否かにより判定される。IPv4と接続可能なことを示すバージョン情報が記憶されている場合、IPv4で通信可能と判定される。IPv4と接続可能なことを示すバージョン情報が記憶されていると判定されなかった場合、IPv4で通信可能と判定されない。IPv4で通信可能と判定された場合(ステップS201:Yes)、ステップS202が実行される。IPv4で通信可能と判定されなかった場合(ステップS201:No)、ステップS204が実行される。
(Routing table generation process)
FIG. 8 is a flowchart showing the routing table generation processing operation. In step S201, it is determined whether or not the node device Tm-n can communicate with IPv4. Whether or not communication is possible with IPv4 is determined by whether or not version information indicating that connection with IPv4 is possible is stored in the version
ステップS202では、第1コンタクトノードへ参加メッセージが送信される。第1コンタクトノードのIPアドレスは、アドレス情報記憶領域27に記憶されている。本実施形態のコンピュータとステップS202とは、本発明の第2送信部の一例である。
In step S202, a participation message is transmitted to the first contact node. The IP address of the first contact node is stored in the address
ステップS203では、第1ルーティングテーブルが生成される。ステップS202で送信された参加メッセージを受信したノード装置が、第1ルーティングテーブルに登録可能なノード情報を送信する。送信されたノード情報がステップS203では受信される。ステップS203で受信されたノード情報に基づいて、第1ルーティングテーブルが生成される。生成された第1ルーティングテーブルは、第1ルーティングテーブル記憶領域28に記憶される。本実施形態のコンピュータとステップS203とは、本発明の第1テーブル取得部の一例である。また、本実施形態のステップS203は、本発明の第1テーブル取得ステップの一例である。
In step S203, a first routing table is generated. The node device that has received the participation message transmitted in step S202 transmits node information that can be registered in the first routing table. The transmitted node information is received in step S203. A first routing table is generated based on the node information received in step S203. The generated first routing table is stored in the first routing
ステップS204では、ノード装置Tm−nが、IPv6で通信可能か否かが判定される。IPv6で通信可能か否かは、バージョン情報記憶領域30にIPv6と接続可能なことを示すバージョン情報が記憶されているか否かにより判定される。IPv6と接続可能なことを示すバージョン情報が記憶されている場合、IPv6で通信可能と判定される。IPv6と接続可能なことを示すバージョン情報が記憶されていると判定されなかった場合、IPv6で通信可能と判定されない。IPv6で通信可能と判定された場合(ステップS204:Yes)、ステップS205が実行される。IPv6で通信可能と判定されなかった場合(ステップS204:No)、ルーティングテーブル生成処理は終了される。
In step S204, it is determined whether or not the node device Tm-n can communicate with IPv6. Whether or not communication is possible with IPv6 is determined by whether or not version information indicating that connection with IPv6 is stored in the version
ステップS205では、第2コンタクトノードへ参加メッセージが送信される。第2コンタクトノードのIPアドレスは、アドレス情報記憶領域27に記憶されている。本実施形態のコンピュータとステップS205とは、本発明の第2送信部の一例である。
In step S205, a participation message is transmitted to the second contact node. The IP address of the second contact node is stored in the address
ステップS206では、第2ルーティングテーブルが生成される。ステップS205で送信された参加メッセージを受信したノード装置が、第2ルーティングテーブルに登録可能なノード情報を送信する。送信されたノード情報がステップS206では受信される。ステップS206で受信されたノード情報に基づいて、第2ルーティングテーブルが生成される。生成された第2ルーティングテーブルは第2ルーティングテーブル記憶領域29に記憶される。本実施形態のコンピュータとステップS206とは、本発明の第2テーブル取得部の一例である。また、本実施形態のステップS206は、本発明の第2テーブル取得ステップの一例である。
In step S206, a second routing table is generated. The node device that has received the participation message transmitted in step S205 transmits node information that can be registered in the second routing table. The transmitted node information is received in step S206. A second routing table is generated based on the node information received in step S206. The generated second routing table is stored in the second routing
(第1メッセージ処理)
図9は、第1メッセージ処理動作を示すフローチャートである。まず、ステップS301では、パブリッシュメッセージが送信されるか否かが判定される。ノード装置Tm−nにより送信されるメッセージがパブリッシュメッセージであるか否かが判定される。パブリッシュメッセージが送信されると判定された場合(ステップS301:Yes)、ステップS302が実行される。パブリッシュメッセージが送信されると判定されなかった場合(ステップS301:No)、ステップS304が実行される。
(First message processing)
FIG. 9 is a flowchart showing the first message processing operation. First, in step S301, it is determined whether or not a publish message is transmitted. It is determined whether or not the message transmitted by the node device Tm-n is a publish message. When it is determined that a publish message is transmitted (step S301: Yes), step S302 is executed. When it is not determined that the publish message is transmitted (step S301: No), step S304 is executed.
ステップS302では、第1ルーティングテーブルに従って、パブリッシュメッセージが送信される。第1ルーティングテーブルに登録されたノード装置に向けて、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップS302とは、本発明の第1送信部の一例である。また、本実施形態のステップS302は、本発明の第1送信ステップの一例である。 In step S302, a publish message is transmitted according to the first routing table. A publish message is transmitted toward the node device registered in the first routing table. The computer of this embodiment and step S302 are an example of the 1st transmission part of this invention. Moreover, step S302 of this embodiment is an example of the first transmission step of the present invention.
ステップS303では、第2ルーティングテーブルに従って、パブリッシュメッセージが送信される。第2ルーティングテーブルに登録されたノード装置に向けて、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップS303とは、本発明の第1送信部の一例である。また、本実施形態のステップS303は、本発明の第1送信ステップの一例である。 In step S303, a publish message is transmitted according to the second routing table. A publish message is transmitted toward the node device registered in the second routing table. The computer of this embodiment and step S303 are an example of the 1st transmission part of this invention. Moreover, step S303 of the present embodiment is an example of a first transmission step of the present invention.
ステップS304では、第1検索要求メッセージが送信されるか否かが判定される。ノード装置Tm−nにより送信されるメッセージが第1検索要求メッセージであるか否かが判定される。第1検索要求メッセージが送信されると判定された場合(ステップS304:Yes)、ステップS305が実行される。第1検索要求メッセージが送信されると判定されなかった場合(ステップS304:No)、ステップS306が実行される。 In step S304, it is determined whether or not the first search request message is transmitted. It is determined whether or not the message transmitted by the node device Tm-n is the first search request message. When it is determined that the first search request message is transmitted (step S304: Yes), step S305 is executed. If it is not determined that the first search request message is transmitted (step S304: No), step S306 is executed.
ステップS305では、ステップS304で送信された第1検索要求メッセージに基づいて、ダウンロード処理が実行される。ダウンロード処理の詳細は後述する。 In step S305, download processing is executed based on the first search request message transmitted in step S304. Details of the download process will be described later.
ステップS306では、第1検索要求メッセージが受信されたか否かが判定される。他のノード装置から第1検索要求メッセージが受信されたか否かが判定される。第1検索要求メッセージが受信されたと判定された場合(ステップS306:Yes)、ステップS307が実行される。第1検索要求メッセージが受信されたと判定されなかった場合(ステップS306:No)、ステップS310が実行される。 In step S306, it is determined whether a first search request message has been received. It is determined whether or not a first search request message has been received from another node device. If it is determined that the first search request message has been received (step S306: Yes), step S307 is executed. If it is not determined that the first search request message has been received (step S306: No), step S310 is executed.
ステップS307では、第1検索要求メッセージに対応するコンテンツを記憶しているか否かが判定される。第1検索要求メッセージは、検索対象のコンテンツIDを含む。第1検索要求メッセージを受信したノード装置Tm−nが検索対象のコンテンツIDに対応するコンテンツを記憶しているか否かが判定される。第1検索要求メッセージに対応するコンテンツが記憶されていると判定された場合(ステップS307:Yes)、ステップS308が実行される。第1検索要求メッセージに対応するコンテンツが記憶されていると判定されなかった場合(ステップS307:No)、ステップS309が実行される。 In step S307, it is determined whether the content corresponding to the first search request message is stored. The first search request message includes a content ID to be searched. It is determined whether or not the node device Tm-n that has received the first search request message stores content corresponding to the content ID to be searched. If it is determined that the content corresponding to the first search request message is stored (step S307: Yes), step S308 is executed. If it is not determined that the content corresponding to the first search request message is stored (step S307: No), step S309 is executed.
ステップS308では、ステップS307で記憶していると判定されたコンテンツが、第1検索要求メッセージの送信元へ送信される。第1検索要求メッセージは、第1検索要求メッセージの送信元のノード装置のIPアドレスを含んでいる。そのため、第1検索要求メッセージに対応するコンテンツが、第1検索要求メッセージの送信元へ送信される。 In step S308, the content determined to be stored in step S307 is transmitted to the transmission source of the first search request message. The first search request message includes the IP address of the node device that is the transmission source of the first search request message. Therefore, the content corresponding to the first search request message is transmitted to the transmission source of the first search request message.
ステップS309では、ステップS306で受信した第1検索要求メッセージが転送される。具体的には、第1ルーティングテーブルと第2ルーティングテーブルとに登録されたノード装置に向けて、第1検索要求メッセージが転送される。 In step S309, the first search request message received in step S306 is transferred. Specifically, the first search request message is transferred to the node devices registered in the first routing table and the second routing table.
ステップS310では、第2検索要求メッセージが受信されたか否かが判定される。他のノード装置から第2検索要求メッセージが受信されたか否かが判定される。第2検索要求メッセージが受信されたと判定された場合(ステップS310:Yes)、ステップS311が実行される。第1検索要求メッセージが受信されたと判定されなかった場合(ステップS310:No)、第1メッセージ処理が終了される。本実施形態のコンピュータとステップS310とは、本発明の受信部の一例である。 In step S310, it is determined whether a second search request message has been received. It is determined whether or not a second search request message has been received from another node device. If it is determined that the second search request message has been received (step S310: Yes), step S311 is executed. If it is not determined that the first search request message has been received (step S310: No), the first message processing is terminated. The computer of this embodiment and step S310 are an example of the receiving part of this invention.
ステップS311では、第2検索要求メッセージが、異なるプロトコルのノード装置へ送信される。本実施形態の第2検索要求メッセージは、第2検索要求メッセージの送信元のノード装置のバージョン情報を含んでいる。また、ステップS311を実行するノード装置はIPv4とIPv6との双方で通信可能なノード装置である。そのため、ステップS311では、第2検索要求メッセージがIPv4で通信可能なノード装置により送信された場合、第2ルーティングテーブルに登録されたノード装置へ第2検索要求メッセージが送信される。つまり、IPv6で通信可能なノード装置へ第2検索要求メッセージが送信される。一方、第2検索要求メッセージがIPv6で通信可能なノード装置により送信された場合、第1ルーティングテーブルに登録されたノード装置へ第2検索要求メッセージが送信される。つまり、IPv4で通信可能なノード装置へ第2検索要求メッセージが送信される。ステップS311の場合、第2検索要求メッセージの送信元のノード装置のノード情報が、ステップS311を実行したノード装置のノード情報に変更される。また、ステップS311で変更された後のノード情報と、変更される前のノード情報とが対応付けられてRAM3の所定の記憶領域に一時記憶される。また、第2検索要求メッセージに、転送フラグが含まれる場合、ステップS311では、受信した第2検索要求メッセージに転送フラグが含まれているか否かが判定される。転送フラグが含まれていると判定された場合、ステップS311で異なるプロトコルへ、第2検索要求メッセージは送信されない。一方、転送フラグが含まれていると判定されなかった場合、ステップS311で異なるプロトコルへ、第2検索要求メッセージは送信される。ステップS311で第2検索要求メッセージが異なるプロトコルへ送信されるとき、第2検索要求メッセージに転送フラグが含まれる。
In step S311, the second search request message is transmitted to the node device having a different protocol. The second search request message of this embodiment includes version information of the node device that is the transmission source of the second search request message. In addition, the node device that executes Step S311 is a node device that can communicate with both IPv4 and IPv6. Therefore, in step S311, when the second search request message is transmitted by a node device that can communicate with IPv4, the second search request message is transmitted to the node device registered in the second routing table. That is, the second search request message is transmitted to a node device that can communicate with IPv6. On the other hand, when the second search request message is transmitted by a node device that can communicate with IPv6, the second search request message is transmitted to the node device registered in the first routing table. That is, the second search request message is transmitted to the node device that can communicate with IPv4. In the case of step S311, the node information of the node device that is the transmission source of the second search request message is changed to the node information of the node device that executed step S311. Further, the node information after the change in step S311 and the node information before the change are associated with each other and temporarily stored in a predetermined storage area of the
ステップS312では、ステップS311が実行されてから所定の期間以内に、検索応答メッセージが受信されたか否かが判定される。所定の期間は、ノード装置Tm−nに備えられたタイマーにより計時される。なお、タイマーは図示していない。所定の期間以内に検索応答メッセージが受信されたと判定された場合(ステップS312:Yes)、ステップS313が実行される。所定の期間以内に検索応答メッセージが受信されたと判定されなかった場合(ステップS312:No)、第1メッセージ処理が終了される。 In step S312, it is determined whether or not a search response message has been received within a predetermined period after step S311 is executed. The predetermined period is counted by a timer provided in the node device Tm-n. Note that the timer is not shown. When it is determined that the search response message has been received within the predetermined period (step S312: Yes), step S313 is executed. If it is not determined that the search response message has been received within the predetermined period (step S312: No), the first message process is terminated.
ステップS313では、コンテンツが中継される。具体的には、ステップS311で異なるプロトコルへ送信された第2検索要求メッセージに対応するコンテンツが受信され、取得される。例えば、ステップS310で受信された第2検索要求メッセージがIPv4で通信可能なノード装置により送信された場合、IPv6により通信可能なノード装置からコンテンツが受信される。受信されたコンテンツは、コンテンツデータ一時記憶領域31に一時記憶される。そして、ステップS311でRAM3の所定の記憶領域に記憶された変更前のノード情報と、変更後のノード情報とに基づいて、第2検索要求メッセージの送信元のノード装置へ受信されたコンテンツが中継される。中継されるコンテンツは、ステップS313でコンテンツデータ一時記憶領域31に一時記憶されたコンテンツである。これにより、IPv6で通信可能なノード装置により保存されたコンテンツが、IPv4で通信可能なノード装置へ中継することができる。一方、ステップS310で受信された第2検索要求メッセージがIPv6で通信可能なノード装置により送信された場合、IPv4により通信可能なノード装置からコンテンツが受信される。そして、ステップS311でRAM3の所定の記憶領域に記憶された変更前のノード情報と、変更後のノード情報とに基づいて、第2検索要求メッセージの送信元のノード装置へ受信されたコンテンツが中継される。これにより、IPv4で通信可能なノード装置により保存されたコンテンツが、IPv6で通信可能なノード装置へ中継することができる。本実施形態のコンピュータとステップS313とは、本発明の中継部の一例である。
In step S313, the content is relayed. Specifically, the content corresponding to the second search request message transmitted to the different protocol in step S311 is received and acquired. For example, when the second search request message received in step S310 is transmitted by a node device that can communicate with IPv4, the content is received from the node device that can communicate with IPv6. The received content is temporarily stored in the content data
(ダウンロード処理)
図10は、ダウンロード処理動作を示すフローチャートである。ステップS401では、第2ルーティングテーブルに基づいて、第1検索要求メッセージが送信される。第2ルーティングテーブルに登録されたノード装置に向けて、第1検索要求メッセージが送信される。本実施形態のコンピュータとステップS401とは、本発明の第1送信部の一例である。また、本実施形態のステップS401は、本発明の第1送信ステップの一例である。
(Download process)
FIG. 10 is a flowchart showing the download processing operation. In step S401, the first search request message is transmitted based on the second routing table. The first search request message is transmitted toward the node device registered in the second routing table. The computer of this embodiment and step S401 are an example of the 1st transmission part of this invention. Moreover, step S401 of this embodiment is an example of the first transmission step of the present invention.
ステップS402では、所定期間以内に、検索応答メッセージが受信されたか否かが判定される。検索応答メッセージは、ステップS401で送信された第1検索要求メッセージに応答するメッセージである。第1検索要求メッセージにより検索されたコンテンツが発見されたとき、検索応答メッセージが受信される。所定期間以内に検索応答メッセージが受信されたと判定された場合(ステップS402:Yes)、ステップS405が実行される。所定期間以内に検索応答メッセージが受信されたと判定されなかった場合(ステップS402:No)、ステップS403が実行される。 In step S402, it is determined whether a search response message is received within a predetermined period. The search response message is a message in response to the first search request message transmitted in step S401. When the content searched by the first search request message is found, a search response message is received. If it is determined that the search response message is received within the predetermined period (step S402: Yes), step S405 is executed. If it is not determined that the search response message has been received within the predetermined period (step S402: No), step S403 is executed.
ステップS403では、第1ルーティングテーブルに基づいて、第1検索要求メッセージが送信される。第1ルーティングテーブルに登録されたノード装置に向けて、第1検索要求メッセージが送信される。本実施形態のコンピュータとステップS403とは、本発明の第1送信部の一例である。また、本実施形態のステップS403は、本発明の第1送信ステップの一例である。 In step S403, the first search request message is transmitted based on the first routing table. The first search request message is transmitted toward the node device registered in the first routing table. The computer of this embodiment and step S403 are an example of the first transmission unit of the present invention. Moreover, step S403 of the present embodiment is an example of a first transmission step of the present invention.
ステップS404では、所定期間以内に、検索応答メッセージが受信されたか否かが判定される。検索応答メッセージは、ステップS403で送信された第1検索要求メッセージに応答するメッセージである。第1検索要求メッセージにより検索されたコンテンツが発見されたとき、検索応答メッセージが受信される。所定期間以内に検索応答メッセージが受信されたと判定された場合(ステップS404:Yes)、ステップS405が実行される。所定期間以内に検索応答メッセージが受信されたと判定されなかった場合(ステップS404:No)、ステップS407が実行される。 In step S404, it is determined whether a search response message is received within a predetermined period. The search response message is a message that responds to the first search request message transmitted in step S403. When the content searched by the first search request message is found, a search response message is received. When it is determined that the search response message has been received within the predetermined period (step S404: Yes), step S405 is executed. If it is not determined that the search response message has been received within the predetermined period (step S404: No), step S407 is executed.
ステップS405では、ステップS402またはステップS404で受信された検索応答メッセージに基づいて、コンテンツの取得先が決定される。検索応答メッセージには、コンテンツ保持ノード装置のノード情報が含まれる。つまり、検索応答メッセージには、上述したインデックス情報が含まれる。検索応答メッセージが含むコンテンツ保持ノードのノード情報に基づいて、コンテンツの取得先が決定される。 In step S405, a content acquisition destination is determined based on the search response message received in step S402 or step S404. The search response message includes node information of the content holding node device. That is, the search response message includes the index information described above. The content acquisition destination is determined based on the node information of the content holding node included in the search response message.
ステップS406では、ステップS405で決定された取得先から、コンテンツがダウンロードされる。 In step S406, the content is downloaded from the acquisition source determined in step S405.
ステップS407では、エラーが通知される。これは、第1検索要求メッセージに対応するコンテンツが検索できなかったことを表す通知である。 In step S407, an error is notified. This is a notification indicating that the content corresponding to the first search request message could not be searched.
(第2メッセージ処理)
図11は、第2メッセージ処理を示すフローチャートである。まず、ステップS501では、パブリッシュメッセージが送信されるか否かが判定される。ノード装置Tm−nにより送信されるメッセージがパブリッシュメッセージであるか否かが判定される。パブリッシュメッセージが送信されると判定された場合(ステップS501:Yes)、ステップS502が実行される。パブリッシュメッセージが送信されると判定されなかった場合(ステップS501:No)、ステップS503が実行される。
(Second message processing)
FIG. 11 is a flowchart showing the second message processing. First, in step S501, it is determined whether a publish message is transmitted. It is determined whether or not the message transmitted by the node device Tm-n is a publish message. When it is determined that the publish message is transmitted (step S501: Yes), step S502 is executed. If it is not determined that the publish message is transmitted (step S501: No), step S503 is executed.
ステップS502では、ノード装置Tm−nのバージョン情報に対応するルーティングテーブルが決定される。そして、決定されたルーティングテーブルに登録されたノード装置Tm−nへ、パブリッシュメッセージが送信される。例えば、ノード装置Tm−nのバージョン情報がIPv4の場合、第1ルーティングテーブルが決定される。一方、ノード装置Tm−nのバージョン情報がIPv6の場合、第2ルーティングテーブルが決定される。決定された第1ルーティングテーブルまたは第2ルーティングテーブルに登録されたノード装置へ、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップS502とは、本発明の第1送信部の一例である。また、本実施形態のステップS502は、本発明の第1送信ステップの一例である。 In step S502, a routing table corresponding to the version information of the node device Tm-n is determined. Then, a publish message is transmitted to the node device Tm-n registered in the determined routing table. For example, when the version information of the node device Tm-n is IPv4, the first routing table is determined. On the other hand, when the version information of the node device Tm-n is IPv6, the second routing table is determined. A publish message is transmitted to the node device registered in the determined first routing table or second routing table. The computer of this embodiment and step S502 are an example of the 1st transmission part of this invention. Moreover, step S502 of this embodiment is an example of the first transmission step of the present invention.
ステップS503では、第2検索要求メッセージが送信されるか否かが判定される。ノード装置Tm−nにより送信されるメッセージが第2検索要求メッセージであるか否かが判定される。第2検索要求メッセージが送信されると判定された場合(ステップS503:Yes)、ステップS504が実行される。第2検索要求メッセージが送信されると判定されなかった場合(ステップS503:No)、ステップS508が実行される。 In step S503, it is determined whether a second search request message is transmitted. It is determined whether or not the message transmitted by the node device Tm-n is the second search request message. When it is determined that the second search request message is transmitted (step S503: Yes), step S504 is executed. When it is not determined that the second search request message is transmitted (step S503: No), step S508 is executed.
ステップS504では、ステップS503で第2検索要求メッセージが送信されてから所定の期間以内に、検索応答メッセージが受信されたか否かが判定される。所定の期間は、ノード装置Tm−nに備えられたタイマーにより計時される。なお、タイマーは図示していない。所定の期間以内に検索応答メッセージが受信されたと判定された場合(ステップS504:Yes)、ステップS505が実行される。所定の期間以内に検索応答メッセージが受信されたと判定されなかった場合(ステップS504:No)、ステップS507が実行される。 In step S504, it is determined whether or not a search response message has been received within a predetermined period after the second search request message is transmitted in step S503. The predetermined period is counted by a timer provided in the node device Tm-n. Note that the timer is not shown. When it is determined that the search response message has been received within the predetermined period (step S504: Yes), step S505 is executed. If it is not determined that the search response message has been received within the predetermined period (step S504: No), step S507 is executed.
ステップS505では、ステップS504で受信された検索応答メッセージに基づいて、コンテンツの取得先が決定される。検索応答メッセージには、コンテンツ保持ノード装置のノード情報が含まれる。つまり、検索応答メッセージには、上述したインデックス情報が含まれる。検索応答メッセージが含むコンテンツ保持ノードのノード情報に基づいて、コンテンツの取得先が決定される。 In step S505, the content acquisition destination is determined based on the search response message received in step S504. The search response message includes node information of the content holding node device. That is, the search response message includes the index information described above. The content acquisition destination is determined based on the node information of the content holding node included in the search response message.
ステップS506では、ステップS505で決定された取得先から、コンテンツがダウンロードされる。 In step S506, the content is downloaded from the acquisition source determined in step S505.
ステップS507では、エラーが通知される。これは、第2検索要求メッセージに対応するコンテンツが検索できなかったことを表す通知である。 In step S507, an error is notified. This is a notification indicating that the content corresponding to the second search request message could not be searched.
ステップS508では、その他メッセージが送信されるか否かが判定される。その他メッセージは、例えば、コンテンツ分散保存システムSを制御する制御メッセージである。その他メッセージが送信されると判定された場合(ステップS508:Yes)、ステップS509が実行される。その他メッセージが送信されると判定されなかった場合(ステップS508:No)、ステップS510が実行される。 In step S508, it is determined whether another message is transmitted. The other message is a control message for controlling the content distributed storage system S, for example. When it is determined that another message is transmitted (step S508: Yes), step S509 is executed. When it is not determined that another message is transmitted (step S508: No), step S510 is executed.
ステップS509では、ノード装置Tm−nのバージョン情報に対応するルーティングテーブルが決定される。そして、決定されたルーティングテーブルに登録されたノード装置Tm−nへ、その他メッセージが送信される。例えば、ノード装置Tm−nのバージョン情報がIPv4の場合、第1ルーティングテーブルが決定される。一方、ノード装置Tm−nのバージョン情報がIPv6の場合、第2ルーティングテーブルが決定される。決定された第1ルーティングテーブルまたは第2ルーティングテーブルに登録されたノード装置へ、その他メッセージが送信される。本実施形態のコンピュータとステップS509とは、本発明の第1送信部の一例である。また、本実施形態のステップS509は、本発明の第1送信ステップの一例である。 In step S509, a routing table corresponding to the version information of the node device Tm-n is determined. Then, the other message is transmitted to the node device Tm-n registered in the determined routing table. For example, when the version information of the node device Tm-n is IPv4, the first routing table is determined. On the other hand, when the version information of the node device Tm-n is IPv6, the second routing table is determined. The other message is transmitted to the node device registered in the determined first routing table or second routing table. The computer of this embodiment and step S509 are an example of the first transmission unit of the present invention. Moreover, step S509 of the present embodiment is an example of a first transmission step of the present invention.
ステップS510では、第2検索要求メッセージが受信されたか否かが判定される。他のノード装置から第2検索要求メッセージが受信されたか否かが判定される。第2検索要求メッセージが受信されたと判定された場合(ステップS510:Yes)、ステップS511が実行される。第1検索要求メッセージが受信されたと判定されなかった場合(ステップS510:No)、第2メッセージ処理が終了される。 In step S510, it is determined whether a second search request message has been received. It is determined whether or not a second search request message has been received from another node device. If it is determined that the second search request message has been received (step S510: Yes), step S511 is executed. If it is not determined that the first search request message has been received (step S510: No), the second message processing is terminated.
ステップS511では、第2検索要求メッセージに対応するコンテンツが記憶されているか否かが判定される。第2検索要求メッセージが含むコンテンツIDに対応するコンテンツが、ノード装置Tm−nの記憶手段に記憶されているか否かが判定される。第2検索要求メッセージに対応するコンテンツが記憶されていると判定された場合(ステップS511:Yes)、ステップS512が実行される。第2検索要求メッセージに対応するコンテンツが記憶されていると判定されなかった場合(ステップS511:No)、ステップS513が実行される。 In step S511, it is determined whether content corresponding to the second search request message is stored. It is determined whether or not the content corresponding to the content ID included in the second search request message is stored in the storage unit of the node device Tm-n. If it is determined that the content corresponding to the second search request message is stored (step S511: Yes), step S512 is executed. If it is not determined that the content corresponding to the second search request message is stored (step S511: No), step S513 is executed.
ステップS512では、ステップS511で記憶していると判定されたコンテンツが、第2検索要求メッセージの送信元へ送信される。第2検索要求メッセージは、第2検索要求メッセージの送信元のノード装置のIPアドレスを含んでいる。そのため、第2検索要求メッセージに対応するコンテンツが、第2検索要求メッセージの送信元へ送信される。 In step S512, the content determined to be stored in step S511 is transmitted to the transmission source of the second search request message. The second search request message includes the IP address of the node device that is the source of the second search request message. Therefore, the content corresponding to the second search request message is transmitted to the transmission source of the second search request message.
ステップS513では、ステップS510で受信したと判定された第2検索要求メッセージが転送される。本実施形態の第2検索要求メッセージは、第2検索要求メッセージの送信元のノード装置のバージョン情報を含んでいる。そのため、第2検索要求メッセージが含むバージョン情報に対応するルーティングテーブルが選択される。ステップS513を実行するノード装置はIPv4とIPv6とのいずれか一方でのみ通信可能なノード装置である。そのため、ステップS513では、第2検索要求メッセージがIPv4で通信可能なノード装置により送信された場合、第1ルーティングテーブルに登録されたノード装置へ第2検索要求メッセージが送信される。つまり、IPv4で通信可能なノード装置へ第2検索要求メッセージが送信される。一方、第2検索要求メッセージがIPv6で通信可能なノード装置により送信された場合、第2ルーティングテーブルに登録されたノード装置へ第2検索要求メッセージが送信される。つまり、IPv6で通信可能なノード装置へ第2検索要求メッセージが送信される。 In step S513, the second search request message determined to have been received in step S510 is transferred. The second search request message of this embodiment includes version information of the node device that is the transmission source of the second search request message. Therefore, the routing table corresponding to the version information included in the second search request message is selected. The node device that executes Step S513 is a node device that can communicate only with either IPv4 or IPv6. Therefore, in step S513, when the second search request message is transmitted by a node device that can communicate with IPv4, the second search request message is transmitted to the node device registered in the first routing table. That is, the second search request message is transmitted to the node device that can communicate with IPv4. On the other hand, when the second search request message is transmitted by a node device that can communicate with IPv6, the second search request message is transmitted to the node device registered in the second routing table. That is, the second search request message is transmitted to a node device that can communicate with IPv6.
上記実施形態においては、オーバーレイネットワークに、DHTのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、DHT以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。DHTを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。 In the above embodiment, the peer-to-peer communication system using the DHT routing table is applied to the overlay network. However, the present invention is not limited to this. The present invention may be applied to other peer-to-peer communication systems or systems using overlay networks. For example, the present invention may be applied to a communication system using a routing table other than DHT or a peer-to-peer communication system. An example of a peer-to-peer communication system that does not use DHT is a hybrid peer-to-peer communication system. The present invention may be applied to a hybrid peer-to-peer communication system or a pure peer-to-peer communication system.
1 CPU
2 HDD
3 RAM
4 デコーダ部
5 映像処理部
6 ディスプレイ
7 音声処理部
8 スピーカ
9 通信部
21 プログラム記憶領域
22 メイン動作処理プログラム記憶領域
23 ルーティングテーブル生成プログラム記憶領域
24 第1メッセージ処理プログラム記憶領域
25 第2メッセージ処理プログラム記憶領域
26 ダウンロード処理プログラム記憶領域
27 アドレス情報記憶領域
28 第1ルーティングテーブル記憶領域
29 第2ルーティングテーブル記憶領域
30 バージョン情報記憶領域
31 コンテンツデータ一時記憶領域
Tm−n ノード装置
NW ネットワーク
FW ファイアーウォール
BR ブロードバンドルータ
S コンテンツ分散保存システム
PW 第1オーバーレイネットワーク
PL 第2オーバーレイネットワーク
1 CPU
2 HDD
3 RAM
4
Claims (9)
前記ノード装置は、
前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との少なくとも何れか一方を取得するプロトコル取得部と、
前記プロトコル取得手段により取得されたプロトコルが、IPv4であるか、IPv6であるかを判定する判定部と、
前記判定部により、前記プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得部と、
前記判定部により、前記プロトコル取得部により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得部と、
前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信部と、
を備えることを特徴とする情報通信システム。 An information communication system for transmitting and receiving data through an overlay network composed of a plurality of node devices,
The node device is
A protocol acquisition unit that acquires at least one of IPv4 and IPv6, which are protocols with which the node device can communicate;
A determination unit that determines whether the protocol acquired by the protocol acquisition unit is IPv4 or IPv6;
When the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv4, the first overlay network is configured by at least some of the node devices that can communicate with IPv4, A first table acquisition unit that acquires a first routing table in which location information indicating a location of the node device participating in the first overlay network is registered;
When the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv6, the second overlay network is configured by at least a part of node devices that can communicate with IPv6. A second table acquisition unit for acquiring a second routing table in which the location information of the node devices participating in the second overlay network is registered;
A first transmission for transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit; And
An information communication system comprising:
IPv4により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第1ノード装置と、
IPv6により通信可能であり、且つ、前記情報通信システムへ参加する際に前記ノード装置から送信される参加メッセージを受信する第2ノード装置と、
を備え、
前記ノード装置の前記第1送信部は、前記プロトコル取得部により取得されたプロトコルで通信可能な前記第1ノード装置、または、前記第2ノード装置へ前記参加メッセージを送信する第2送信部を備え、
前記第2送信部により送信された前記参加メッセージに基づいて、前記第1テーブル取得部または前記第2テーブル取得部は、前記第1ノード装置または前記第2ノード装置が記憶するルーティングテーブルの少なくとも一部を、前記第1ノード装置または前記第2ノード装置から取得することを特徴とする請求項1に記載の情報通信システム。 The information communication system includes:
A first node device that is communicable with IPv4 and receives a participation message transmitted from the node device when participating in the information communication system;
A second node device that is communicable with IPv6 and receives a participation message transmitted from the node device when participating in the information communication system;
With
The first transmission unit of the node device includes a second transmission unit that transmits the participation message to the first node device or the second node device that can communicate with the protocol acquired by the protocol acquisition unit. ,
Based on the participation message transmitted by the second transmission unit, the first table acquisition unit or the second table acquisition unit is at least one of routing tables stored in the first node device or the second node device. The information communication system according to claim 1, wherein a unit is acquired from the first node device or the second node device.
前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との少なくとも何れか一方を取得するプロトコル取得部と、
前記プロトコル取得手段により取得されたプロトコルが、IPv4であるか、IPv6であるかを判定する判定部と、
前記判定部により、前記プロトコル取得部により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得部と、
前記判定部により、前記プロトコル取得部により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得部と、
前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信部と、
を備えることを特徴とするノード装置。 A node device of an information communication system for transmitting and receiving data through an overlay network composed of a plurality of node devices,
A protocol acquisition unit that acquires at least one of IPv4 and IPv6, which are protocols with which the node device can communicate;
A determination unit that determines whether the protocol acquired by the protocol acquisition unit is IPv4 or IPv6;
When the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv4, the first overlay network is configured by at least some of the node devices that can communicate with IPv4, A first table acquisition unit that acquires a first routing table in which location information indicating a location of the node device participating in the first overlay network is registered;
When the determination unit determines that the protocol acquired by the protocol acquisition unit is IPv6, the second overlay network is configured by at least a part of node devices that can communicate with IPv6. A second table acquisition unit for acquiring a second routing table in which the location information of the node devices participating in the second overlay network is registered;
A first transmission for transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the protocol acquisition unit; And
A node device comprising:
前記ノード装置が前記記憶部にデータを記憶したことを前記複数のノード装置に通知する通知メッセージであって、データを記憶した前記ノード装置の前記所在情報を含む前記通知メッセージを、前記プロトコル取得部により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れか一方に登録された前記ノード装置へ、前記第1送信部は送信することを特徴とする請求項3に記載のノード装置。 A storage unit for storing data acquired from any of the plurality of node devices;
A notification message for notifying the plurality of node devices that the node device has stored data in the storage unit, the notification message including the location information of the node device storing data being transmitted to the protocol acquisition unit 4. The first transmission unit transmits to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the method according to claim 3. The described node equipment.
前記判定部により、IPv4とIPv6との両方で通信可能であると判定し、且つ、前記第1送信部が前記検索メッセージを送信する場合、前記第1送信部は、前記第1ルーティングテーブルよりも前記第2ルーティングテーブルに登録された前記所在情報を優先して、前記検索メッセージを送信することを特徴とする請求項3または請求項4に記載のノード装置。 The first transmission unit further transmits a search message for searching for location information indicating a location on the network of one or more content holding node devices that hold desired content from the plurality of node devices,
When the determination unit determines that communication is possible with both IPv4 and IPv6, and the first transmission unit transmits the search message, the first transmission unit is more than the first routing table. 5. The node device according to claim 3, wherein the search message is transmitted with priority on the location information registered in the second routing table. 6.
前記ノード装置は、
前記情報通信システムを制御するメッセージを受信する受信部を備え、
前記受信部により制御メッセージを受信したノード装置が、IPv4とIPv6との両方で通信可能な場合、前記第1送信部は、前記受信部により受信されたメッセージを、前記受信されたメッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルへ送信することを特徴とする請求項3から請求項5のいずれか一項に記載のノード装置。 The protocol acquisition unit acquires both IPv4 and IPv6,
The node device is
A receiver for receiving a message for controlling the information communication system;
When the node device that has received the control message by the receiving unit can communicate with both IPv4 and IPv6, the first transmitting unit converts the message received by the receiving unit into the source of the received message 6. The node device according to claim 3, wherein the node device transmits to a protocol different from a protocol with which communication is possible.
前記ノード装置は、
前記異なるプロトコルを介して、前記検索メッセージに対応するコンテンツを取得する取得部と、
前記取得部により取得されたコンテンツを、前記受信部により受信されたメッセージの送信元のノード装置へ中継する中継部と、
を備えることを特徴とする請求項6に記載のノード装置。 The receiving unit receives a search message for searching for location information indicating the location on the network of one or more content holding node devices that hold desired content from the plurality of node devices, and the receiving unit When the node device that has received the control message according to the above can communicate with both IPv4 and IPv6, the first transmission unit uses the search message received by the reception unit as the node from which the received message is transmitted. Send to a protocol that the device can communicate with
The node device is
An acquisition unit for acquiring content corresponding to the search message via the different protocol;
A relay unit that relays the content acquired by the acquisition unit to the node device that is the transmission source of the message received by the reception unit;
The node device according to claim 6, further comprising:
前記ノード装置により取得されたプロトコルに基づいて、前記ノード装置により通信可能なプロトコルが、IPv4であるか、IPv6であるかを前記ノード装置が判定する判定ステップと、
前記判定ステップにより、前記ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを前記ノード装置が取得する第1テーブル取得ステップと、
前記判定ステップにより、前記ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを前記ノード装置が取得する第2テーブル取得ステップと、
前記ノード装置により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れかに登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信ステップと、
を含む情報通信方法。 An information communication method of an information communication system for transmitting and receiving data through an overlay network composed of a plurality of node devices,
A determination step in which the node device determines whether a protocol communicable by the node device is IPv4 or IPv6 based on a protocol acquired by the node device;
When the determination step determines that the protocol acquired by the node device is IPv4, the first overlay network is configured by at least some of the node devices that can communicate with IPv4, A first table acquisition step in which the node device acquires a first routing table in which location information indicating a location of the node device participating in the first overlay network is registered;
When it is determined by the determination step that the protocol acquired by the node device is IPv6, the second overlay network is configured by at least some of the node devices that can communicate with IPv6, A second table acquisition step in which the node device acquires a second routing table in which the location information of the node device participating in the second overlay network is registered;
A first transmission step of transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the node device; ,
An information communication method including:
前記ノード装置により取得されたプロトコルに基づいて、前記ノード装置により通信可能なプロトコルが、IPv4であるか、IPv6であるかを判定する判定ステップと、
前記判定ステップにより、前記ノード装置により取得されたプロトコルがIPv4であると判定された場合、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブルを取得する第1テーブル取得ステップと、
前記判定ステップにより、前記ノード装置により取得されたプロトコルが、IPv6であると判定された場合、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルを取得する第2テーブル取得ステップと、
前記ノード装置により取得されたプロトコルに対応した前記第1ルーティングテーブルまたは前記第2ルーティングテーブルの少なくとも何れかに登録された前記ノード装置へ、情報通信システムを制御するメッセージを送信する第1送信ステップと、
を実行させることを特徴とするプログラム。 In the computer of the node device of the information communication system that transmits and receives data through an overlay network composed of a plurality of node devices,
A determination step of determining whether a protocol communicable by the node device is IPv4 or IPv6 based on a protocol acquired by the node device;
When the determination step determines that the protocol acquired by the node device is IPv4, the first overlay network is configured by at least some of the node devices that can communicate with IPv4, A first table acquisition step of acquiring a first routing table in which location information indicating a location of the node device participating in the first overlay network is registered;
When it is determined by the determination step that the protocol acquired by the node device is IPv6, the second overlay network is configured by at least some of the node devices that can communicate with IPv6, A second table acquisition step of acquiring a second routing table in which the location information of the node devices participating in the second overlay network is registered;
A first transmission step of transmitting a message for controlling the information communication system to the node device registered in at least one of the first routing table and the second routing table corresponding to the protocol acquired by the node device; ,
A program characterized by having executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010193509A JP5370316B2 (en) | 2010-08-31 | 2010-08-31 | Node device, information communication system, information communication method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010193509A JP5370316B2 (en) | 2010-08-31 | 2010-08-31 | Node device, information communication system, information communication method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012054648A true JP2012054648A (en) | 2012-03-15 |
JP5370316B2 JP5370316B2 (en) | 2013-12-18 |
Family
ID=45907554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010193509A Expired - Fee Related JP5370316B2 (en) | 2010-08-31 | 2010-08-31 | Node device, information communication system, information communication method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5370316B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364683A (en) * | 2020-03-05 | 2021-09-07 | 华为技术有限公司 | Route sending method and equipment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595910B (en) * | 2021-07-30 | 2022-11-25 | 歌尔科技有限公司 | Networking system, communication method, equipment and readable storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004056382A (en) * | 2002-07-18 | 2004-02-19 | Nippon Telegraph & Telephone East Corp | Network system and network branching apparatus |
JP2004363745A (en) * | 2003-06-03 | 2004-12-24 | Sony Corp | Communication processor, server device, communication processing system and method, and computer program |
JP2010028551A (en) * | 2008-07-22 | 2010-02-04 | Brother Ind Ltd | Content distributed storage system, node device, node processing program, and address information change notifying method |
JP2010062757A (en) * | 2008-09-02 | 2010-03-18 | Panasonic Corp | Dns proxy apparatus and dns relay method |
-
2010
- 2010-08-31 JP JP2010193509A patent/JP5370316B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004056382A (en) * | 2002-07-18 | 2004-02-19 | Nippon Telegraph & Telephone East Corp | Network system and network branching apparatus |
JP2004363745A (en) * | 2003-06-03 | 2004-12-24 | Sony Corp | Communication processor, server device, communication processing system and method, and computer program |
JP2010028551A (en) * | 2008-07-22 | 2010-02-04 | Brother Ind Ltd | Content distributed storage system, node device, node processing program, and address information change notifying method |
JP2010062757A (en) * | 2008-09-02 | 2010-03-18 | Panasonic Corp | Dns proxy apparatus and dns relay method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364683A (en) * | 2020-03-05 | 2021-09-07 | 华为技术有限公司 | Route sending method and equipment |
Also Published As
Publication number | Publication date |
---|---|
JP5370316B2 (en) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4959602B2 (en) | Peer-to-peer communication system and method | |
JP2010028551A (en) | Content distributed storage system, node device, node processing program, and address information change notifying method | |
US8099506B2 (en) | Communication system, node device, node process program and a message transmitting and receiving method | |
US8819295B2 (en) | Information communication system, first information processing device, method for processing information, and computer readable storage medium | |
US20080235244A1 (en) | Distributed content storing system, node device, node process program, and content data providing method | |
JP5370316B2 (en) | Node device, information communication system, information communication method, and program | |
JP5440574B2 (en) | Node device, information communication method, and program | |
JP5370269B2 (en) | Distributed storage system, connection information notification method and program for distributed storage system | |
JP5338783B2 (en) | Information communication system, node device, information communication method and program | |
JP5212292B2 (en) | Information communication system, node device, node device confirmation method and program | |
JP5429024B2 (en) | Information communication system, node device, information communication method and program | |
JP5494550B2 (en) | Management device, management system, management method, and management program | |
JP5353789B2 (en) | Node device, information communication system, message transmission method and program | |
JP5359728B2 (en) | Karaoke system, karaoke device, node device, karaoke program, node program, and karaoke data transmission method | |
US20080240138A1 (en) | Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like | |
JP5370315B2 (en) | Communication system, information processing apparatus, information processing program, and location information registration method | |
Stenberg et al. | Distributed Node Consensus Protocol | |
JP5370324B2 (en) | First node device, content distributed storage system, content distributed storage method and program | |
JP2013178609A (en) | Node device, information communication system, upload method and program | |
JP5494361B2 (en) | Distributed storage system, representative node device, notification method, and program | |
JP2005143058A (en) | Address table management method, and terminal | |
JP2010278617A (en) | Distributed storage system, distributed storage method for data file, and program | |
JP2012065151A (en) | Communication terminal, communication method, relay device and relay method | |
JP2011193378A (en) | Communication system | |
Protocol | Internet Engineering Task Force (IETF) M. Stenberg Request for Comments: 7787 S. Barth Category: Standards Track Independent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130716 |
|
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: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5370316 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |