JP5338783B2 - Information communication system, node device, information communication method and program - Google Patents

Information communication system, node device, information communication method and program Download PDF

Info

Publication number
JP5338783B2
JP5338783B2 JP2010220663A JP2010220663A JP5338783B2 JP 5338783 B2 JP5338783 B2 JP 5338783B2 JP 2010220663 A JP2010220663 A JP 2010220663A JP 2010220663 A JP2010220663 A JP 2010220663A JP 5338783 B2 JP5338783 B2 JP 5338783B2
Authority
JP
Japan
Prior art keywords
node device
node
participating
information
overlay network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010220663A
Other languages
Japanese (ja)
Other versions
JP2012080168A (en
Inventor
貴章 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010220663A priority Critical patent/JP5338783B2/en
Publication of JP2012080168A publication Critical patent/JP2012080168A/en
Application granted granted Critical
Publication of JP5338783B2 publication Critical patent/JP5338783B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information communication system, a node device, an information communication method, a program and the like capable of operating a P2P system even in an environment in which IPv4 and IPv6 coexist. <P>SOLUTION: A contact node device which received a participation message from a participating node device B transmits node information of a first node device stored by the contact node device to a participating node device B. The participating node device B which received the node information of the first node device is connected to the first node. The participating node device B is connected to the first node device based on the IP address included in the node information of the first node device. At this time, a session is established between the participating node device B and the first node device. <P>COPYRIGHT: (C)2012,JPO&amp;INPIT

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 Patent Document 1 has attracted attention. The peer-to-peer communication system is attracting attention as a new form that replaces the server client system, which is the mainstream form of current content distribution. In this peer-to-peer communication system, content requests to the server device at the center are not concentrated. Therefore, content can be acquired in a short time compared to the server client method. Specifically, Patent Document 1 discloses a technique in which a plurality of DHT (Distributed Hash Table) routing tables are generated for each group in units of software.

特開2008−217135号公報JP 2008-217135 A

近年、IPv4(Internet Protocol Version 4)のアドレス資源の枯渇に伴い、IPv6(Internet Protocol Version 6)への移行が進みつつある。IPv4からIPv6へ移行する過程において、IPv4とIPv6との両方のプロトコルが、ネットワークに共存することが考えられる。IPv4とIPv6とが共存するネットワーク環境でP2P(Peer to Peer)型のシステムが動作する場合、P2Pシステムに接続するノード装置に、夫々異なるプロトコルが割り当てられる。例えば、あるノード装置AにIPv4が割り当てられ、ノード装置Aと異なるノード装置BにIPv6が割り当てられる。この場合、ノード装置Aとノード装置Bとが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 node device A, and IPv6 is assigned to a node device B different from the node device A. In this case, when the node device A and the node device B 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 an information communication system, a node device, 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で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段と、前記複数のノード装置のいずれかであって、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段と、前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、前記情報通信システムに参加する参加ノード装置から、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、前記受信手段により受信された参加メッセージが含む前記プロトコル情報が、前記第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する判定手段と、前記判定手段により一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、前記判定手段により一致すると判定されなかったとき、前記参加ノード装置へ、前記第2記憶手段に記憶された前記第1ノード装置の前記所在情報を送信する送信手段と、を備えることを特徴とする情報通信システムである。   According to the first aspect of the present invention, there is provided an information communication system that transmits and receives a plurality of data stored in a distributed manner by an overlay network including a plurality of node devices, and any one of the plurality of node devices. The node device is a first overlay network composed of at least a part of node devices communicable with IPv4, and the location of the node device participating in the first overlay network is determined on the network. A first routing table in which location information to be indicated is registered, or a second overlay network configured by at least a part of node devices of node devices communicable with IPv6, and a node device participating in the second overlay network The second rooty in which the location information is registered A first storage unit that stores one of the routing tables in the routing table, and a second storage device that is capable of communicating with both IPv4 and IPv6, which are any of the plurality of node devices, and the node device can communicate with. A second storage means for storing location information indicating the location of the one-node device in the network; and a participation message transmitted from the participating node device participating in the information communication system and indicating participation in the information communication system, Receiving means for receiving the participation message including protocol information indicating IPv4 or IPv6, which is a protocol with which the participating node device can communicate, and participation from the participating node device participating in the information communication system, indicating participation in the information communication system A protocol that is a participation message that the participating node device can communicate with. A receiving unit that receives the participation message including protocol information indicating IPv4 or IPv6, and a protocol of the routing table in which the protocol information included in the participation message received by the receiving unit is stored in the first storage unit When it is determined by the determination means that it is matched with the determination means, at least a part of the routing table determined to be matched is transmitted to the participating node device, and is determined to be matched by the determination means And a transmission unit that transmits the location information of the first node device stored in the second storage unit to the participating node device when it is not.

請求項2に記載の発明によれば、前記参加ノード装置は、前記送信手段により送信された前記第1ノード装置の前記所在情報を取得する第1取得手段と、前記第1取得手段により取得された前記所在情報が示す前記第1ノード装置へ、前記参加ノード装置で通信可能なプロトコルを用いてセッションを生成する第1生成手段と、を備え、前記第1ノード装置は、前記第1生成手段によりセッションを生成された前記参加ノード装置から、所定の前記データの要求を受信する要求受信手段と、前記要求受信手段により要求された前記データを、前記第2記憶手段が記憶する前記オーバーレイネットワークへ要求する第2要求手段と、前記第2要求手段により要求された前記データを、前記オーバーレイネットワークに接続するノード装置のいずれかから取得する第2取得手段と、前記データ取得手段により取得された前記データを、前記参加ノード装置へ中継する中継手段と、を備えることを特徴とする。   According to a second aspect of the present invention, the participating node device is acquired by the first acquisition unit that acquires the location information of the first node device transmitted by the transmission unit, and the first acquisition unit. A first generation unit configured to generate a session to the first node device indicated by the location information using a protocol communicable with the participating node device, wherein the first node device includes the first generation unit. A request receiving means for receiving a request for the predetermined data from the participating node device for which a session has been generated by the step, and the overlay network in which the second storage means stores the data requested by the request receiving means. A second requesting means for requesting, and any of node devices for connecting the data requested by the second requesting means to the overlay network A second obtaining unit configured to take acquired the said data acquired by the data acquisition unit, characterized in that it comprises a relay means for relaying to the participating node device.

請求項3に記載の発明によれば、前記参加ノード装置は、前記データを記憶する第3記憶手段と、前記第3記憶手段に記憶されたデータを、前記オーバーレイネットワークで公開する公開手段と、前記公開手段により前記データを公開する前に、前記公開手段により公開される前記データを、前記オーバーレイネットワークを用いて検索する検索手段と、
を備え、前記検索手段により前記公開されるデータが検索されなかったとき、前記公開手段は、前記データを公開することを特徴とする。
According to a third aspect of the present invention, the participating node device includes a third storage unit that stores the data, and a disclosure unit that discloses the data stored in the third storage unit via the overlay network; Search means for searching the data published by the publication means using the overlay network before the data is published by the publication means;
And when the data to be published is not retrieved by the retrieval means, the publication means publishes the data.

請求項4に記載の発明によれば、前記受信手段により受信された前記参加メッセージが含む前記プロトコル情報が、IPv4とIPv6との両方で通信可能なことを示す場合、前記第2記憶手段は、前記参加ノード装置を前記第1ノード装置として、前記参加ノード装置の前記所在情報を記憶することを特徴とする。   According to a fourth aspect of the present invention, when the protocol information included in the participation message received by the receiving means indicates that communication is possible with both IPv4 and IPv6, the second storage means The location information of the participating node device is stored using the participating node device as the first node device.

請求項5に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信する情報通信システムが含む前記複数のノード装置のいずれかの前記ノード装置であって、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段と、前記複数のノード装置のいずれかであって、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段と、前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、前記情報通信システムに参加する参加ノード装置から、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、前記受信手段により受信された参加メッセージが含む前記プロトコル情報が、前記第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する判定手段と、前記判定手段により一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、前記判定手段により一致すると判定されなかったとき、前記参加ノード装置へ、前記第2記憶手段に記憶された前記第1ノード装置の前記所在情報を送信する送信手段と、を備えることを特徴とするノード装置である。   According to the fifth aspect of the present invention, any one of the plurality of node devices included in an information communication system that transmits and receives a plurality of data stored in a distributed manner by an overlay network including a plurality of node devices. A first overlay network composed of at least a part of node devices that can communicate with IPv4, and the location of the node devices participating in the first overlay network on the network A first routing table in which location information to be indicated is registered, or a second overlay network configured by at least a part of node devices of node devices communicable with IPv6, and a node device participating in the second overlay network The second route where the location information is registered A first storage means for storing one of the routing tables in the routing table and a first storage means capable of communicating with both IPv4 and IPv6, which are any of the plurality of node devices, and the node device can communicate with. A second storage means for storing location information indicating the location of the one-node device in the network; and a participation message transmitted from the participating node device participating in the information communication system and indicating participation in the information communication system, Receiving means for receiving the participation message including protocol information indicating IPv4 or IPv6, which is a protocol with which the participating node device can communicate, and participation from the participating node device participating in the information communication system, indicating participation in the information communication system Prototype message that can be communicated by the participating node device Receiving means for receiving the participation message including protocol information indicating IPv4 or IPv6, and the protocol information included in the participation message received by the receiving means in the routing table stored by the first storage means When it is determined by the determination unit that determines whether or not the protocol matches, the determination unit transmits at least a part of the routing table determined to match to the participating node device. A transmission device that transmits the location information of the first node device stored in the second storage device to the participating node device when the determination is not made.

請求項6に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信し、前記複数のノード装置のいずれかの前記ノード装置により実行される情報通信方法であって、前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信ステップと、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段により記憶されたルーティングテーブルのプロトコルと、前記受信ステップにより受信された参加メッセージが含む前記プロトコル情報とが一致するかを判定する判定ステップと、前記判定ステップにより一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、前記判定ステップにより一致すると判定されなかったとき、前記複数のノード装置のいずれかであって前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された前記第1ノード装置の前記所在情報を、前記参加ノード装置へ送信する送信ステップと、を含む情報通信方法である。   According to the sixth aspect of the present invention, a plurality of data stored in a distributed manner is transmitted / received by an overlay network including a plurality of node devices, and is executed by any one of the plurality of node devices. IPv4, which is a participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, and is a protocol with which the participating node device can communicate Or a reception step of receiving the participation message including protocol information indicating IPv6, and a first overlay network configured by at least some of the node devices communicable with IPv4, wherein the first overlay network includes Location of participating node devices on the network A first routing table in which location information to be indicated is registered, or a second overlay network configured by at least a part of node devices of node devices communicable with IPv6, and a node device participating in the second overlay network The routing table protocol stored in the first storage means for storing any one routing table of the second routing table in which the location information is registered, and the protocol information included in the participation message received in the receiving step; A determination step for determining whether or not the two match, and when it is determined to match according to the determination step, at least a part of the routing table determined to match is transmitted to the participating node device, and it is determined to match according to the determination step Is When this happens, the location information indicating the location in the network of the first node device which is one of the plurality of node devices and which can communicate with both IPv4 and IPv6 which is a protocol with which the node device can communicate is stored. A transmission step of transmitting the location information of the first node device stored in the second storage means to the participating node device.

請求項7に記載の発明によれば、複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信し、前記複数のノード装置のいずれかの前記ノード装置のコンピュータに、前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信ステップと、IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段により記憶されたルーティングテーブルのプロトコルと、前記受信ステップにより受信された参加メッセージが含む前記プロトコル情報とが一致するかを判定する判定ステップと、前記判定ステップにより一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、前記判定ステップにより一致すると判定されなかったとき、前記複数のノード装置のいずれかであって前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された前記第1ノード装置の前記所在情報を、前記参加ノード装置へ送信する送信ステップと、を実行させることを特徴とするプログラムである。   According to the seventh aspect of the present invention, a plurality of pieces of data stored in a distributed manner are transmitted and received by an overlay network including a plurality of node devices, and the computer of the node device of any of the plurality of node devices A participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, and protocol information indicating IPv4 or IPv6, which is a protocol with which the participating node device can communicate. A reception step for receiving the participation message, and a first overlay network composed of at least some of the node devices communicable with IPv4, the network of the node devices participating in the first overlay network Location information indicating the above location is registered The first routing table or the second overlay network configured by at least a part of node devices of node devices capable of communicating with IPv6, wherein the location information of the node devices participating in the second overlay network is Whether the protocol of the routing table stored by the first storage means for storing any one of the registered second routing tables matches the protocol information included in the participation message received by the receiving step When it is determined by the determination step and the determination step to match, at least a part of the routing table determined to match is transmitted to the participating node device, and when it is not determined to match by the determination step, Said compound Is stored in second storage means for storing location information indicating the location in the network of the first node device that can communicate with both IPv4 and IPv6, which is a protocol that can communicate with the node device. A transmission step of transmitting the location information of the first node device to the participating node device.

請求項1に記載の発明によれば、判定手段は、受信手段により受信された参加メッセージが含むプロトコル情報が、第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する。判定手段により一致すると判定されたとき、参加ノード装置へ、送信手段は、一致すると判定されたルーティングテーブルの少なくとも一部を送信する。そして、判定手段により一致すると判定されなかったとき、送信手段は、参加ノード装置へ、第2記憶手段に記憶された第1ノード装置の所在情報を送信する。従って、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致した場合、参加ノード装置は取得したルーティングテーブルでオーバーレイネットワークを用いて参加することができる。また、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致しなかった場合、IPv4またはIPv6との両方で通信可能なノード装置の所在情報を取得することができる。この結果、IPv4とIPv6のいずれかでしか通信できないノード装置であっても、IPv4とIPv6とが共存するネットワーク環境で2Pシステムを動作させることが可能になる。   According to the first aspect of the present invention, the determination unit determines whether the protocol information included in the participation message received by the reception unit matches the protocol of the routing table stored by the first storage unit. When it is determined by the determining means that they match, the transmitting means transmits at least a part of the routing table determined to match to the participating node devices. Then, when the determination means does not determine that they match, the transmission means transmits the location information of the first node device stored in the second storage means to the participating node device. Therefore, when the protocol communicable in the routing table matches the protocol of the participating node device, the participating node device can participate using the acquired routing table using the overlay network. Further, when the protocol that can be communicated in the routing table does not match the protocol of the participating node device, the location information of the node device that can communicate with both IPv4 and IPv6 can be acquired. As a result, even a node device that can communicate only with either IPv4 or IPv6 can operate the 2P system in a network environment in which IPv4 and IPv6 coexist.

請求項2に記載の発明によれば、第1ノード装置は、第2要求手段により要求されたデータを、オーバーレイネットワークに接続するノード装置のいずれかから取得する第2取得手段を備える。また。第1ノード装置は、データ取得手段により取得されたデータを、参加ノード装置へ中継する中継手段を備える。従って、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致しなかった場合であっても、IPv4またはIPv6との両方で通信可能なノード装置とセッションを生成して、通信を行うことができる。この結果、IPv4とIPv6との両方で通信可能なノード装置が、IPv4とIPv6のいずれかでしか通信できないノード装置にデータを中継することができる。そのため、IPv4とIPv6とが共存するネットワーク環境で2Pシステムを動作させることが可能になる。   According to a second aspect of the present invention, the first node device includes second acquisition means for acquiring the data requested by the second request means from any of the node devices connected to the overlay network. Also. The first node device includes a relay unit that relays the data acquired by the data acquisition unit to the participating node device. Therefore, even if the protocol that can be communicated with the routing table does not match the protocol of the participating node device, a session is generated with the node device that can communicate with both IPv4 and IPv6, and communication is performed. be able to. As a result, a node device that can communicate with both IPv4 and IPv6 can relay data to a node device that can communicate only with either IPv4 or IPv6. Therefore, the 2P system can be operated in a network environment where IPv4 and IPv6 coexist.

参加ノード装置は、IPv4またはIPv6の何れかでしか通信できないノード装置である場合がある。そのため、参加ノード装置へデータを中継する必要がある。データを安定的に通信するために、参加ノード装置はできる限り、データのアップロードを控えた方が良い。請求項3に記載の発明によれば、参加ノード装置は、第3記憶手段に記憶されたデータを、オーバーレイネットワークで公開する公開手段を備える。また、検索手段により公開されるデータが検索されなかったとき、公開手段は、データを公開する。この結果、検索手段によりデータが検索できなかった場合に、データを公開するため、参加ノード装置は、できる限りデータのアップロードを控え、中継処理の発生を防ぎ、効率良く通信することができる。   The participating node device may be a node device that can communicate only with either IPv4 or IPv6. Therefore, it is necessary to relay data to the participating node devices. In order to communicate data stably, the participating node devices should refrain from uploading data as much as possible. According to a third aspect of the present invention, the participating node device comprises a publishing unit that publishes the data stored in the third storage unit on the overlay network. Further, when the data disclosed by the search means is not searched, the release means releases the data. As a result, when the data cannot be retrieved by the retrieval means, the data is released, so that the participating node devices can refrain from uploading data as much as possible, prevent occurrence of relay processing, and communicate efficiently.

請求項4に記載の発明によれば、受信手段により受信された参加メッセージが含むプロトコル情報が、IPv4とIPv6との両方で通信可能なことを示す場合、第2記憶手段は、参加ノード装置を第1ノード装置として、参加ノード装置の所在情報を記憶する。この結果、ノード装置が情報通信システムに参加する時に、IPv4とIPv6との両方で通信可能なノード装置を知ることができる。   According to the fourth aspect of the present invention, when the protocol information included in the participation message received by the receiving unit indicates that communication is possible in both IPv4 and IPv6, the second storage unit stores the participating node device. As the first node device, location information of the participating node device is stored. As a result, when the node device participates in the information communication system, it is possible to know the node device that can communicate with both IPv4 and IPv6.

請求項5に記載の発明によれば、判定手段は、受信手段により受信された参加メッセージが含むプロトコル情報が、第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する。判定手段により一致すると判定されたとき、参加ノード装置へ、送信手段は、一致すると判定されたルーティングテーブルの少なくとも一部を送信する。そして、判定手段により一致すると判定されなかったとき、送信手段は、参加ノード装置へ、第2記憶手段に記憶された第1ノード装置の所在情報を送信する。従って、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致した場合、参加ノード装置は取得したルーティングテーブルでオーバーレイネットワークを用いて参加することができる。また、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致しなかった場合、IPv4またはIPv6との両方で通信可能なノード装置の所在情報を取得することができる。この結果、IPv4とIPv6のいずれかでしか通信できないノード装置であっても、IPv4とIPv6とが共存するネットワーク環境で2Pシステムを動作させることが可能になる。   According to the fifth aspect of the present invention, the determination unit determines whether the protocol information included in the participation message received by the reception unit matches the protocol of the routing table stored by the first storage unit. When it is determined by the determining means that they match, the transmitting means transmits at least a part of the routing table determined to match to the participating node devices. Then, when the determination means does not determine that they match, the transmission means transmits the location information of the first node device stored in the second storage means to the participating node device. Therefore, when the protocol communicable in the routing table matches the protocol of the participating node device, the participating node device can participate using the acquired routing table using the overlay network. Further, when the protocol that can be communicated in the routing table does not match the protocol of the participating node device, the location information of the node device that can communicate with both IPv4 and IPv6 can be acquired. As a result, even a node device that can communicate only with either IPv4 or IPv6 can operate the 2P system in a network environment in which IPv4 and IPv6 coexist.

請求項6に記載の発明によれば、送信ステップは、判定ステップにより一致すると判定されたとき、参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信する。また、送信ステップは、判定ステップにより一致すると判定されなかったとき、複数のノード装置のいずれかであって、ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された第1ノード装置の所在情報を、参加ノード装置へ送信する。従って、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致した場合、参加ノード装置は取得したルーティングテーブルでオーバーレイネットワークを用いて参加することができる。また、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致しなかった場合、IPv4またはIPv6との両方で通信可能なノード装置の所在情報を取得することができる。この結果、IPv4とIPv6のいずれかでしか通信できないノード装置であっても、IPv4とIPv6とが共存するネットワーク環境で2Pシステムを動作させることが可能になる。   According to the sixth aspect of the present invention, the transmission step transmits at least a part of the routing table determined to be coincident to the participating node device when it is determined to coincide with the decision step. In addition, when the transmission step is not determined to match by the determination step, the first node is one of a plurality of node devices and can communicate with both IPv4 and IPv6, which are protocols with which the node device can communicate. The location information of the first node device stored in the second storage means for storing the location information indicating the location of the device in the network is transmitted to the participating node device. Therefore, when the protocol communicable in the routing table matches the protocol of the participating node device, the participating node device can participate using the acquired routing table using the overlay network. Further, when the protocol that can be communicated in the routing table does not match the protocol of the participating node device, the location information of the node device that can communicate with both IPv4 and IPv6 can be acquired. As a result, even a node device that can communicate only with either IPv4 or IPv6 can operate the 2P system in a network environment in which IPv4 and IPv6 coexist.

請求項7に記載の発明によれば、送信ステップは、判定ステップにより一致すると判定されたとき、参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信する。また、送信ステップは、判定ステップにより一致すると判定されなかったとき、複数のノード装置のいずれかであって、ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された第1ノード装置の所在情報を、参加ノード装置へ送信する。従って、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致した場合、参加ノード装置は取得したルーティングテーブルでオーバーレイネットワークを用いて参加することができる。また、ルーティングテーブルで通信可能なプロトコルと、参加ノード装置のプロトコルとが一致しなかった場合、IPv4またはIPv6との両方で通信可能なノード装置の所在情報を取得することができる。この結果、IPv4とIPv6のいずれかでしか通信できないノード装置であっても、IPv4とIPv6とが共存するネットワーク環境で2Pシステムを動作させることが可能になる。   According to the seventh aspect of the present invention, the transmission step transmits at least a part of the routing table determined to be coincident to the participating node device when it is determined to coincide with the decision step. In addition, when the transmission step is not determined to match by the determination step, the first node is one of a plurality of node devices and can communicate with both IPv4 and IPv6, which are protocols with which the node device can communicate. The location information of the first node device stored in the second storage means for storing the location information indicating the location of the device in the network is transmitted to the participating node device. Therefore, when the protocol communicable in the routing table matches the protocol of the participating node device, the participating node device can participate using the acquired routing table using the overlay network. Further, when the protocol that can be communicated in the routing table does not match the protocol of the participating node device, the location information of the node device that can communicate with both IPv4 and IPv6 can be acquired. As a result, even a node device that can communicate only with either IPv4 or IPv6 can operate the 2P system in a network environment in which IPv4 and IPv6 coexist.

本実施形態における情報通信システムSにおける各ノード装置Tm−nの接続態様の一例を示す図である。It is a figure which shows an example of the connection mode of each node apparatus Tm-n in the information communication system S in this embodiment. 参加ノード装置A及び参加ノード装置Bの参加処理の説明を示す説明図である。It is explanatory drawing which shows description of the participating process of the participating node apparatus A and the participating node apparatus B. FIG. 参加ノード装置Cの参加処理の説明を示す説明図である。6 is an explanatory diagram illustrating a description of a participation process of a participating node device C. FIG. 本実施形態のコンタクトノードの電気的構成を示すブロック図である。It is a block diagram which shows the electrical constitution of the contact node of this embodiment. 本実施形態のノード装置及び第1ノード装置の電気的構成を示すブロック図である。It is a block diagram which shows the electric constitution of the node apparatus of this embodiment, and a 1st node apparatus. コンタクトノードにおけるコンタクトノードメイン動作の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the contact node main operation | movement in a contact node. ノード装置及び第1ノード装置におけるノード装置メイン動作の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the node apparatus main operation | movement in a node apparatus and a 1st node apparatus. 参加メッセージ処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a participating message process. パブリッシュ処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a publish process.

[最良の実施形態]
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ピアツーピア型の情報通信システムに本発明を適用した場合の実施形態である。
[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 peer-to-peer information communication system.

[情報通信システムの概要構成]
始めに、図1を参照して、本実施形態における情報通信システムSの概要構成について説明する。図1は、本実施形態における情報通信システムSにおける各ノード装置の接続態様の一例を示す図である。
[Outline configuration of information communication system]
First, the schematic configuration of the information communication system S in the present embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the information communication system S according to the present embodiment.

図1に示すように、情報通信システムSは、複数のノード装置Tm−n(n=1,2,3・・・の何れか)から構成されている。複数のノード装置Tm−nは、ネットワークNWを介して互いに通信可能である。このネットワークNWは、現実世界の通信ネットワークである。例えば、インターネットである。   As shown in FIG. 1, the information communication system S is composed of a plurality of node devices Tm-n (any of 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(m=1,2,3・・・の何れか)を相互接続するためのネットワークである。このネットワークNWは、例えば、インターネットやWAN(Wide Area Network)等である。そして、ネットワークNWは、例えば、
IX(Internet Exchange)、ISP(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 (m = 1, 2, 3,...). The network NW is, for example, the Internet or a WAN (Wide Area Network). The network NW is, for example,
It is constructed by IX (Internet Exchange), ISP (Internet Service Provider), DSL (Digital Subscriber Line) line provider equipment, FTTH (Fiber To The Home) line provider equipment, communication lines, and the like. The network NW may be a network dedicated to the information communication system S.

本実施形態では、ネットワークNW内に、1つ以上の各拠点ネットワークNLmが形成される。また、各拠点ネットワークNLmには、複数のノード装置Tm−n(n=1,2,3・・・の何れか)が接続されている。各拠点ネットワークNLmは、夫々拠点mの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾、カラオケボックス等がある。この拠点ネットワークNLmは、例えば、LAN等により構築されている。或いは、拠点ネットワークNLmは、複数のLANが相互接続して構築されたネットワークであっても良い。この場合、複数のLANは、ルータ等のネットワーク機器を介して接続される。複数のLANが相互接続されたネットワークとしては、例えば、CAN(Campus Area Network)等がある。各拠点ネットワークNLmには、ファイアウォールFW又はブロードバンドルータBRが接続されている。ファイアウォールFW又はブロードバンドルータBRは、拠点内に接続されるノード装置Tm−nと、その拠点に接続されるノード装置Tm−n以外のノード装置Tm−nとを通信可能にする通信機器である。ファイアウォール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 (n = 1, 2, 3...) 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, a cram school, and a karaoke box. 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 Tm-n connected in the base and a node device Tm-n other than the node device Tm-n 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 a base is arbitrarily determined for each base. The base network NLm of this embodiment is, for example, a LAN (Local Area Network).

また、ネットワークNWには、センターサーバと投入サーバとが接続されている。センターサーバと投入サーバとは特に図示していない。センターサーバは、後述するオーバーレイネットワークOLで送受信されるコンテンツデータのオリジナルを記憶する。また、センターサーバは、コンテンツカタログ情報をノード装置Tm−nに送信する。コンテンツカタログ情報の詳細については後述する。投入サーバは、後述するオーバーレイネットワークOLにコンテンツデータを投入するサーバ装置である。ここで、コンテンツデータの投入とは、コンテンツデータをノード装置Tm−nから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。   In addition, a center server and an input server are connected to the network NW. The center server and the input server are not particularly shown. The center server stores the original content data transmitted / received in an overlay network OL described later. Further, the center server transmits the content catalog information to the node device Tm-n. Details of the content catalog information will be described later. The input server is a server device that inputs content data to an overlay network OL described later. 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には、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。本実施形態では、ノード装置Tm−nは、IPv4のみで通信可能なノード装置と、IPv6のみで通信可能なノード装置と、IPv4とIPv6との双方で通信可能なノード装置とが存在する。   Each node device Tm-n is assigned a unique serial number and an IP (Internet Protocol) address. In the present embodiment, the node device Tm-n 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.

また、情報通信システムSに接続されている各ノード装置Tm−nには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。本実施形態の情報通信システムSでは、コンテンツ配信のためのオーバーレイネットワークOLが構築されている。オーバーレイネットワークOLは、ネットワークNW上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークOLは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークOLは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知である。   Each node device Tm-n connected to the information communication system S is assigned a node ID, which is unique identification information having a predetermined number of digits. In the information communication system S of the present embodiment, an overlay network OL for content distribution is constructed. The overlay network OL is an overlay network constructed on the network NW. In other words, the overlay network OL is a logical network generated on a physical network. The overlay network OL 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.

本実施形態では、各ノード装置Tm−nがピアツーピア方式で通信を行えるよう、ブロードバンドルータBRやファイアウォールFWにおいてポートフォワーディングの設定が行われる場合がある。例えば、ブロードバンドルータBRであれば、UPnP(Universal Plug and Play)機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。以下ノード装置Tm−nを、単にノード装置と呼ぶ。   In the present embodiment, port forwarding may be 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. Hereinafter, the node device Tm-n is simply referred to as a node device.

[オーバーレイネットワークOLへの参加方法について]
オーバーレイに参加するノード装置は、夫々、DHTを用いたルーティングテーブルを記憶している。このルーティングテーブルは、情報通信システムS上における各種制御メッセージの転送先を規定している。制御メッセージは、P2Pの情報通信システムの運用を制御するメッセージである。言い換えれば、制御メッセージは、P2Pの情報通信システムで、コンテンツの検索又はコンテンツの取得に用いるためのメッセージである。また、制御メッセージは、DHTのルーティングテーブルに従って送受信されるメッセージである。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノード装置のノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。情報通信システムSに接続している1台のノード装置は、必要最低限のノード装置のノード情報をルーティングテーブルとして記憶している。各ノード装置間で互いに制御メッセージが転送されることで、ノード情報を記憶していないノード装置についてのノード情報が取得される。また、制御メッセージが、各ノード装置により送受信されることで、情報通信システムSは、ピアツーピア型の情報通信システムとして動作可能である。
[How to participate in Overlay Network OL]
Each node device participating in the overlay stores a routing table using DHT. This routing table defines the transfer destinations of various control messages on the information communication system S. The control message is a message for controlling the operation of the P2P information communication system. In other words, the control message is a message for use in content search or content acquisition in a P2P information communication system. The control message is a message transmitted / received according to the DHT routing table. Specifically, a plurality of pieces of node information including node IDs, IP addresses, and port numbers of node devices that are moderately separated in the ID space are registered in this routing table. One node device connected to the information communication system S stores the minimum necessary node information of the node device as a routing table. By transferring control messages between the node devices, node information about node devices that do not store node information is acquired. Further, the information communication system S can operate as a peer-to-peer type information communication system by transmitting and receiving the control message by each node device.

本実施形態では、IPv4で通信可能なノード装置の参加により、オーバーレイネットワークOLは形成される。そのため、IPv6のみで通信可能なノード装置は、オーバーレイネットワークOLに参加することができない。本実施形態では、IPv4で通信可能なノード装置でオーバーレイネットワークOLが形成されたが、これに限定されるものではない。例えば、IPv6で通信可能なノード装置により、オーバーレイネットワークOLが形成されても良い。この場合、IPv4のみで通信可能なノード装置は、オーバーレイネットワークOLに参加することができない。また、情報通信システムSに参加するノード装置の中で、IPv4よりもIPv6が付与されたノード装置が多い場合、IPv6で通信可能なノード装置によりオーバーレイネットワークOLが形成されても良い。また、情報通信システムSに参加するノード装置の中で、IPv6よりもIPv4が付与されたノード装置が多い場合、IPv4で通信可能なノード装置によりオーバーレイネットワークOLが形成されても良い。   In the present embodiment, the overlay network OL is formed by participation of node devices that can communicate with IPv4. Therefore, a node device that can communicate only with IPv6 cannot participate in the overlay network OL. In this embodiment, the overlay network OL is formed by node devices that can communicate with IPv4. However, the present invention is not limited to this. For example, the overlay network OL may be formed by node devices that can communicate with IPv6. In this case, a node device that can communicate only with IPv4 cannot participate in the overlay network OL. In addition, when there are more node devices to which IPv6 is assigned than IPv4 among node devices participating in the information communication system S, the overlay network OL may be formed by node devices that can communicate with IPv6. When there are more node devices to which IPv4 is assigned than IPv6 among node devices participating in the information communication system S, the overlay network OL may be formed by node devices that can communicate with IPv4.

なお情報通信システムSへの接続は、情報通信システムSへ接続していないノード装置が、接続している任意のノード装置に対して情報通信システムSへの参加要求を示す参加メッセージを送信することによって行われる。情報通信システムSへの参加とは、ノード装置が情報通信システムSに接続され、情報通信システムSからコンテンツデータを取得可能になることである。任意のノード装置は、例えば、情報通信システムSに常時接続しているコンタクトノードである。情報通信システムSへ参加するノード装置が、コンタクトノードへ参加メッセージを送信することで、ノード装置は、DHTのルーティングテーブルをコンタクトノードから取得することができる。以下、本実施形態の参加処理の概要について説明する。   In connection with the information communication system S, a node device not connected to the information communication system S transmits a participation message indicating a request to participate in the information communication system S to any connected node device. Is done by. Participation in the information communication system S means that the node device is connected to the information communication system S and can acquire content data from the information communication system S. The arbitrary node device is, for example, a contact node that is always connected to the information communication system S. The node device that participates in the information communication system S transmits a participation message to the contact node, so that the node device can acquire the DHT routing table from the contact node. Hereinafter, an outline of the participation process of the present embodiment will be described.

[参加処理の概要について]
図2及び図3は、本実施形態の参加処理を説明する説明図である。本実施形態では、オーバーレイネットワークOLに新たに参加するノード装置を参加ノード装置と呼ぶ。本実施形態の参加ノード装置は、IPv4のみで通信可能なノード装置と、IPv6のみで通信可能なノード装置と、IPv4とIPv6との双方で通信可能なノード装置とが存在する。まず、IPv4のみで通信可能なノード装置の参加処理について説明する。以下、図2に示すように、IPv4のみで通信可能な参加ノード装置を参加ノード装置Aと呼ぶ。
[About the participation process overview]
2 and 3 are explanatory diagrams for explaining the participation process of the present embodiment. In the present embodiment, a node device newly participating in the overlay network OL is referred to as a participating node device. The participating node devices of the present embodiment include node devices that can communicate only with IPv4, node devices that can communicate only with IPv6, and node devices that can communicate with both IPv4 and IPv6. First, a description will be given of a node device participation process capable of communicating only with IPv4. Hereinafter, as shown in FIG. 2, a participating node device capable of communicating only with IPv4 is referred to as a participating node device A.

(参加ノード装置Aの参加処理)
まず、参加ノード装置AがオーバーレイネットワークOLに参加するために、参加ノード装置Aは、コンタクトノードへ参加メッセージを送信する(図2:矢印(1))。本実施形態の参加メッセージには、参加ノード装置Aのノード情報と、参加メッセージを送信したノード装置Tm−nのバージョン情報が含まれる。バージョン情報は、ノード装置のプロトコルを示す情報である。例えば、参加ノード装置Aは、IPv4のみで通信可能なノード装置である。この場合、参加ノード装置Aのバージョン情報は、IPv4を示す情報である。また、参加ノード装置Bは、IPv6のみで通信可能なノード装置である。この場合、参加ノード装置Bのバージョン情報は、IPv6を示す情報である。また、参加ノード装置Cは、IPv4とIPv6との両方で通信可能なノード装置である。このため、参加ノード装置Cのバージョン情報は、IPV4とIPv6とを示す情報である。これらバージョン情報が参加メッセージに含まれることで、コンタクトノードは、参加ノード装置が通信可能なプロトコルを把握することができる。参加ノード装置Aのバージョン情報は、IPv4を示す。そのため、コンタクトノード装置は、IPv4を示すバージョン情報が含まれた参加メッセージを参加ノード装置Aから受信する。なお、本実施形態のコンタクトノードは、IPv4とIPv6との両方で通信可能なノード装置である。本実施形態のバージョン情報は、本発明のプロトコル情報の一例である。
(Participation processing of participating node device A)
First, in order for the participating node device A to participate in the overlay network OL, the participating node device A transmits a participation message to the contact node (FIG. 2: arrow (1)). The participation message of this embodiment includes node information of the participating node device A and version information of the node device Tm-n that has transmitted the participation message. The version information is information indicating the protocol of the node device. For example, the participating node device A is a node device that can communicate only with IPv4. In this case, the version information of the participating node device A is information indicating IPv4. The participating node device B is a node device that can communicate only with IPv6. In this case, the version information of the participating node device B is information indicating IPv6. In addition, the participating node device C is a node device that can communicate with both IPv4 and IPv6. For this reason, the version information of the participating node device C is information indicating IPv4 and IPv6. By including the version information in the participation message, the contact node can grasp a protocol with which the participating node device can communicate. The version information of the participating node device A indicates IPv4. Therefore, the contact node device receives a participation message including version information indicating IPv4 from the participating node device A. Note that the contact node of the present embodiment is a node device that can communicate with both IPv4 and IPv6. The version information of this embodiment is an example of the protocol information of the present invention.

そして、参加メッセージを受信したコンタクトノードは、参加メッセージが含むバージョン情報の中で、オーバーレイネットワークOLを形成するノード装置のバージョン情報と一致する情報があるかを判定する。具体的には、本実施形態では、オーバーレイネットワークOLは、IPv4で通信可能なノード装置により形成されている。そのため、参加メッセージが含むバージョン情報の中で、IPv4と一致する情報があるかが判定される。バージョン情報の中で、IPv4と一致する情報があると判定されたとき、コンタクトノードが記憶するDHTのルーティングテーブルが、参加ノード装置Aに送信される。本実施形態では、参加ノード装置AはIPv4のみで通信可能なノード装置のため、コンタクトノード装置から参加ノード装置AへDHTのルーティングテーブルが送信される(図2:矢印(2))。なお、本実施形態では、参加ノード装置Aは、コンタクトノードからDHTのルーティングテーブルを受信しているがこれに限定されるものではない。例えば、参加ノード装置Aは、コンタクトノードからDHTのルーティングテーブルの一部を受信しても良い。この場合、受信した一部のDHTのルーティングテーブルに基づいて、参加ノード装置Aは、他のノード装置から、残りのDHTのルーティングテーブルを取得しても良い。   Then, the contact node that has received the participation message determines whether there is information that matches the version information of the node device forming the overlay network OL in the version information included in the participation message. Specifically, in this embodiment, the overlay network OL is formed by node devices that can communicate with IPv4. Therefore, it is determined whether there is information that matches IPv4 in the version information included in the participation message. When it is determined that there is information that matches IPv4 in the version information, the DHT routing table stored in the contact node is transmitted to the participating node device A. In the present embodiment, since the participating node device A is a node device that can communicate only with IPv4, a DHT routing table is transmitted from the contact node device to the participating node device A (FIG. 2: arrow (2)). In this embodiment, the participating node device A receives the DHT routing table from the contact node, but is not limited to this. For example, the participating node device A may receive a part of the DHT routing table from the contact node. In this case, based on the received part of the DHT routing table, the participating node device A may acquire the remaining DHT routing tables from other node devices.

そして、DHTのルーティングテーブルに基づいて、参加ノード装置AはオーバーレイネットワークOLに参加する(図3:矢印(3))。なお、オーバーレイネットワークOLに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークOLを介して他のノード装置との間で各種メッセージを送受信できる状態に稼動することをいう。   Then, based on the DHT routing table, the participating node device A participates in the overlay network OL (FIG. 3: arrow (3)). Note that to participate in the overlay network OL means to operate in a state where various messages can be transmitted to and received from other node devices via the overlay network OL based on a routing table using DHT.

(参加ノード装置Bの参加処理)
次に、参加ノード装置Bの参加処理の概要について説明する。図2に示す参加ノード装置BがオーバーレイネットワークOLに参加するために、参加ノード装置Bは、コンタクトノードへ参加メッセージを送信する(図2:矢印(4))。参加ノード装置Bのバージョン情報は、IPv6を示す。そのため、コンタクトノードは、IPv6を示すバージョン情報が含まれた参加メッセージを参加ノード装置Bから受信する。
(Participation processing of participating node device B)
Next, an outline of the participation process of the participating node device B will be described. In order for the participating node device B shown in FIG. 2 to participate in the overlay network OL, the participating node device B transmits a participation message to the contact node (FIG. 2: arrow (4)). The version information of the participating node device B indicates IPv6. Therefore, the contact node receives a participation message including version information indicating IPv6 from the participation node apparatus B.

そして、参加メッセージを受信したコンタクトノードは、参加メッセージが含むバージョン情報の中で、オーバーレイネットワークOLを形成するノード装置のバージョン情報と一致する情報があるかを判定する。具体的には、本実施形態では、オーバーレイネットワークOLは、IPv4で通信可能なノード装置により形成されている。そのため、参加メッセージが含むバージョン情報の中に、IPv4と一致する情報があるかが判定される。本実施形態では、参加ノード装置BはIPv6のみで通信可能なノード装置のため、参加ノード装置Bは、オーバーレイネットワークOLに参加することができない。このとき、コンタクトノードは、第1ノード装置のノード情報を参加ノード装置Bへ送信する。本実施形態の第1ノード装置は、IPv4とIPv6との両方で通信可能なノード装置である。コンタクトノードは、第1ノード装置のノード情報を記憶している。参加ノード装置Bから参加メッセージを受信したコンタクトノードは、コンタクトノードが記憶する第1ノード装置のノード情報を参加ノード装置Bへ送信する。(図2:矢印(5))。   Then, the contact node that has received the participation message determines whether there is information that matches the version information of the node device forming the overlay network OL in the version information included in the participation message. Specifically, in this embodiment, the overlay network OL is formed by node devices that can communicate with IPv4. Therefore, it is determined whether there is information that matches IPv4 in the version information included in the participation message. In this embodiment, since the participating node device B is a node device that can communicate only with IPv6, the participating node device B cannot participate in the overlay network OL. At this time, the contact node transmits the node information of the first node device to the participating node device B. The first node device according to the present embodiment is a node device that can communicate with both IPv4 and IPv6. The contact node stores node information of the first node device. The contact node that has received the participation message from the participating node device B transmits the node information of the first node device stored in the contact node to the participating node device B. (FIG. 2: Arrow (5)).

第1ノード装置のノード情報を受信した参加ノード装置Bは、第1ノードへ接続する(図2:矢印(6))。第1ノード装置のノード情報が含むIPアドレスに基づいて、参加ノード装置Bは第1ノード装置に接続する。このとき、参加ノード装置Bと、第1ノード装置との間にセッションを確立する(図2:矢印(7))。   The participating node device B that has received the node information of the first node device connects to the first node (FIG. 2: arrow (6)). Based on the IP address included in the node information of the first node device, the participating node device B connects to the first node device. At this time, a session is established between the participating node device B and the first node device (FIG. 2: arrow (7)).

以下、具体的に本実施形態のセッション確立について説明する。セッションを確立した参加ノード装置Bは、セッションが確立された第1ノード装置との間でP2Pの制御メッセージの送受信を行う。そして、一旦、セッションが確立された場合、制御メッセージの受信後又は送信後も、参加ノード装置Bと第1ノード装置とはセッションを保持するようになっている。セッションの保持は、第1ノード装置の所定の記憶領域に備えられたソケットテーブルに、セッション情報が登録されることにより行われる。セッション情報は、例えば、ソケットテーブルを記憶する第1ノード装置自身のノード情報と、接続先の参加ノード装置Bのノード情報と、ソケット識別子とが含まれても良い。なお、ここでの「ソケットテーブル」は公知のものではなく、本実施形態のために実装されたものである。ソケットテーブルは、IPアドレスとノードIDとを対応付けた情報である。   Hereinafter, the session establishment of this embodiment will be specifically described. The participating node device B that has established the session transmits and receives a P2P control message to and from the first node device that has established the session. Once the session is established, the participating node device B and the first node device hold the session even after receiving or transmitting the control message. The session is held by registering session information in a socket table provided in a predetermined storage area of the first node device. The session information may include, for example, the node information of the first node device itself that stores the socket table, the node information of the connecting node device B that is the connection destination, and the socket identifier. Note that the “socket table” here is not a well-known one, but is implemented for the present embodiment. The socket table is information in which an IP address is associated with a node ID.

また、ソケットテーブルには、複数のセッション情報を登録することができる。これにより、複数のノード装置とのセッションを保持することができる。但し、ソケットの数には限りがある。例えば、60〜120程度である。そのため、ソケットテーブルに登録されたセッション情報の数が所定数以上になった場合、最も利用されていないセッション情報から削除される。例えば、LRU(Last Recently Used)方式により、セッション情報がソケットテーブルから削除される。   A plurality of session information can be registered in the socket table. Thereby, a session with a plurality of node devices can be held. However, the number of sockets is limited. For example, it is about 60-120. Therefore, when the number of session information registered in the socket table exceeds a predetermined number, it is deleted from the least used session information. For example, the session information is deleted from the socket table by an LRU (Last Recently Used) method.

具体的には、第1ノード装置では、ソケットテーブルが設定される。第1ノード装置は、参加ノード装置Bが送信元のメッセージを受信した場合、送信元の参加ノード装置BのノードIDと、参加ノード装置BのIPアドレス及びポート番号とを対応付けてソケットテーブルに登録する。例えば、第1ノード装置が参加ノード装置Bからのセッション開始を受け付け、セッションが確立されたとする。このとき、参加ノード装置Bを送信元とする制御メッセージあって、第1ノード装置以外のノード装置宛ての制御メッセージが、第1ノード装置により受信されたとする。この場合、第1ノード装置は、参加ノード装置BのノードIDと、参加ノード装置BとのIPアドレス及びポート番号とを対応付けてソケットテーブルに登録する。   Specifically, a socket table is set in the first node device. When the participating node device B receives the transmission source message, the first node device associates the node ID of the transmission participating node device B with the IP address and port number of the participating node device B in the socket table. sign up. For example, it is assumed that the first node device accepts a session start from the participating node device B and a session is established. At this time, it is assumed that a control message addressed to a node device other than the first node device, which is a control message having the participating node device B as a transmission source, is received by the first node device. In this case, the first node device associates the node ID of the participating node device B with the IP address and port number of the participating node device B and registers them in the socket table.

そして、第1ノード装置は、制御メッセージに含まれる送信元である参加ノード装置Bのノード情報が含むIPアドレスを、第1ノード装置のIPアドレスに書き換える。つまり、第1ノード装置は、制御メッセージに含まれる送信元のノード装置のIPアドレスを第1ノードのIPアドレスにする。このようにIPアドレスを書き換えることで、中継された制御メッセージを受信したノード装置は、第1ノード装置へ向けて制御メッセージを返信することができる。   Then, the first node device rewrites the IP address included in the node information of the participating node device B that is the transmission source included in the control message with the IP address of the first node device. That is, the first node device uses the IP address of the source node device included in the control message as the IP address of the first node. By rewriting the IP address in this way, the node device that has received the relayed control message can return the control message to the first node device.

また、オーバーレイネットワークOLに参加するノード装置のいずれかのノード装置を送信元とする制御メッセージを、第1ノード装置が受信する場合がある。このとき、第1ノードは、受信した制御メッセージが、第1ノード装置とセッション保持状態にある参加ノード装置Bに送信される制御メッセージであるか否かを判定する。まず、受信した制御メッセージの宛先を示すノードIDが、第1ノード装置のノードIDと一致するかが判定される。一致しなかった場合、受信した制御メッセージの宛先を示すノードIDが、ソケットテーブルに登録されているか否かが判定される。ソケットテーブルに登録されていた場合、受信したメッセージは、参加ノード装置B宛のメッセージであると判定される。そして、ソケットテーブルに登録されているIPアドレスが示す参加ノード装置Bへ、第1ノード装置は制御メッセージを中継する。一方、ソケットテーブルに登録されていなかった場合、DHTのルーティングテーブルに基づいて、受信した制御メッセージは、他のノード装置へ転送される。   In addition, the first node device may receive a control message that is transmitted from any one of the node devices participating in the overlay network OL. At this time, the first node determines whether or not the received control message is a control message transmitted to the participating node device B in session holding state with the first node device. First, it is determined whether the node ID indicating the destination of the received control message matches the node ID of the first node device. If they do not match, it is determined whether or not the node ID indicating the destination of the received control message is registered in the socket table. If registered in the socket table, it is determined that the received message is a message addressed to the participating node apparatus B. Then, the first node device relays the control message to the participating node device B indicated by the IP address registered in the socket table. On the other hand, if it is not registered in the socket table, the received control message is transferred to another node device based on the DHT routing table.

このように、制御メッセージの宛先が、第1ノード装置により、参加ノード装置BのノードIDと対応付けられてソケットテーブルに登録されている参加ノード装置Bのノード情報に書き換えられる。これにより、参加ノード装置Bを宛先として送信された制御メッセージが、第1ノード装置により中継されて、参加ノード装置Bに送信される。   Thus, the destination of the control message is rewritten by the first node device to the node information of the participating node device B registered in the socket table in association with the node ID of the participating node device B. As a result, the control message transmitted with the participating node device B as the destination is relayed by the first node device and transmitted to the participating node device B.

なお、このように登録された参加ノード装置BのノードIDと、IPアドレス及びポート番号とは、参加ノード装置Bとのセッションが切断された場合、第1ノード装置は参加ノード装置Bとのセッション情報をソケットテーブルから削除する。セッションが切断されたとは、第1ノード装置の記憶部からセッション情報が削除されたことである。このように、オーバーレイネットワークOLで通信可能なIPv4では通信できないノード装置であっても、第1ノード装置とセッションを形成することで、オーバーレイネットワークOLと通信することができる。   Note that the node ID, IP address, and port number of the participating node device B registered in this way are used when the session with the participating node device B is disconnected, the first node device with the participating node device B Delete information from the socket table. The disconnection of the session means that the session information is deleted from the storage unit of the first node device. Thus, even a node device that cannot communicate with IPv4 that can communicate with the overlay network OL can communicate with the overlay network OL by forming a session with the first node device.

(参加ノード装置Cの参加処理の概要)
図3は、参加ノード装置Cの参加処理の概要を示す説明図である。まず、参加ノード装置CがオーバーレイネットワークOLに参加するために、参加ノード装置Cは、コンタクトノードへ参加メッセージを送信する(図2:矢印(8))。本実施形態の参加メッセージには、参加ノード装置Cのノード情報と、参加メッセージを送信したノード装置のバージョン情報が含まれる。参加ノード装置Cのバージョン情報は、IPv4とIPv6とを示す。そのため、コンタクトノード装置は、IPv4とIPv6とを示すバージョン情報が含まれた参加メッセージを参加ノード装置Cから受信する。
(Outline of participation process of participating node apparatus C)
FIG. 3 is an explanatory diagram showing an outline of the participation process of the participating node device C. First, in order for the participating node device C to participate in the overlay network OL, the participating node device C transmits a participation message to the contact node (FIG. 2: arrow (8)). The participation message of this embodiment includes node information of the participating node device C and version information of the node device that has transmitted the participation message. The version information of the participating node device C indicates IPv4 and IPv6. Therefore, the contact node device receives a participation message including version information indicating IPv4 and IPv6 from the participating node device C.

そして、参加メッセージを受信したコンタクトノードは、参加メッセージが含むバージョン情報の中で、オーバーレイネットワークOLを形成するノード装置のバージョン情報と一致する情報があるかを判定する。具体的には、本実施形態では、オーバーレイネットワークOLは、IPv4で通信可能なノード装置により形成されている。そのため、参加メッセージが含むバージョン情報の中で、IPv4と一致する情報があるかが判定される。バージョン情報の中で、IPv4と一致する情報があると判定されたとき、コンタクトノードが記憶するDHTのルーティングテーブルが、参加ノード装置Cに送信される。本実施形態では、参加ノード装置CはIPv4とIPv6との両方で通信可能なノード装置のため、コンタクトノード装置から参加ノード装置CへDHTのルーティングテーブルが送信される(図2:矢印(9))。また、参加メッセージを受信したコンタクトノードは、バージョン情報が、IPv4とIPv6との両方を示すか否かを判定する。バージョン情報が、IPv4とIPv6との両方を示すと判定された場合、コンタクトノードは、参加ノード装置Cを、第1ノード装置として登録する。具体的には、コンタクトノードが、参加メッセージに含まれる参加ノード装置Cのノード情報を第1ノード装置として記憶する。このようにして、コンタクトノード装置は第1ノード装置のノード情報を、参加ノード装置Bへ送信することができる。   Then, the contact node that has received the participation message determines whether there is information that matches the version information of the node device forming the overlay network OL in the version information included in the participation message. Specifically, in this embodiment, the overlay network OL is formed by node devices that can communicate with IPv4. Therefore, it is determined whether there is information that matches IPv4 in the version information included in the participation message. When it is determined that there is information matching IPv4 in the version information, the DHT routing table stored in the contact node is transmitted to the participating node device C. In this embodiment, since the participating node device C is a node device that can communicate with both IPv4 and IPv6, the DHT routing table is transmitted from the contact node device to the participating node device C (FIG. 2: arrow (9)). ). In addition, the contact node that has received the participation message determines whether the version information indicates both IPv4 and IPv6. When it is determined that the version information indicates both IPv4 and IPv6, the contact node registers the participating node device C as the first node device. Specifically, the contact node stores the node information of the participating node device C included in the participation message as the first node device. In this way, the contact node device can transmit the node information of the first node device to the participating node device B.

そして、DHTのルーティングテーブルに基づいて、参加ノード装置CはオーバーレイネットワークOLに参加する(図3:矢印(10))。   Then, based on the DHT routing table, the participating node device C participates in the overlay network OL (FIG. 3: arrow (10)).

[コンテンツ取得動作の概要について]
情報通信システムSにおいては、内容の異なる様々なコンテンツデータが複数のノード装置に分散して保存される。各コンテンツデータには、それぞれコンテンツ名及びコンテンツデータ毎に固有の識別情報であるコンテンツIDが付与されている。各コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバにより作成されて、全てのノード装置に配信される。また、各コンテンツは、複数のデータに分割されている。この分割されたデータを、「チャンク」という。各チャンクは、例えば、センターサーバにより、コンテンツを所定のデータサイズで分割することにより生成される。本実施形態では、チャンクの最小データサイズは、2MB(Mega Byte)である。また、チャンクの最大データサイズは、128MBである。ただし、チャンクに分割した結果、一部のチャンクが、2MBよりも小さくなってしまう場合もある。また、チャンクに分割する前のデータサイズがもともと2MBより小さい場合、2MB未満のデータサイズのチャンクとなる場合がある。本実施形態では、コンテンツデータが複数のチャンクに分割されている。本実施形態に記載のように、コンテンツデータが複数のチャンクに分割されなくても良い。分割されていないコンテンツデータが本実施形態に適用されても良い。
[Outline of content acquisition operation]
In the information communication system S, various content data having different contents are distributed and stored in a plurality of node devices. Each content data is provided with a content ID that is unique identification information for each content name and content data. Attribute information such as content name and content ID of each content is described in the content catalog information. The content catalog information is created by the center server and distributed to all node devices. Each content is divided into a plurality of data. This divided data is called “chunk”. Each chunk is generated, for example, by dividing the content with a predetermined data size by the center server. In the present embodiment, the minimum data size of a chunk is 2 MB (Mega Byte). The maximum data size of the chunk is 128 MB. However, as a result of division into chunks, some chunks may be smaller than 2 MB. In addition, if the data size before being divided into chunks is originally smaller than 2 MB, the chunk may have a data size of less than 2 MB. In the present embodiment, the content data is divided into a plurality of chunks. As described in the present embodiment, the content data may not be divided into a plurality of chunks. Content data that is not divided may be applied to the present embodiment.

各チャンクは、複数のノード装置に分散されて保存される。これにより、元となるコン テンツが複数のノード装置に分散して保存されることになる。各チャンクのオリジナルは、センターサーバに保存されている。各チャンクには、それぞれシーケンス番号及びチャンクIDが付与されている。シーケンス番号は、例えば、分割された複数のチャンクを、元となるコンテンツを構成するように並べたときの並び順に相当する。チャンクIDは、チャンク毎に固有の識別情報である。   Each chunk is distributed and stored in a plurality of node devices. As a result, the original content is distributed and stored in a plurality of node devices. The original of each chunk is stored in the center server. Each chunk is given a sequence number and a chunk ID. The sequence number corresponds to, for example, an arrangement order when a plurality of divided chunks are arranged so as to constitute the original content. The chunk ID is identification information unique to each chunk.

各ノード装置は、あるコンテンツのコンテンツIDを取得すると、そのコンテンツを構成する各チャンクのチャンクIDを、そのシーケンス番号と対応付けて取得することができる。コンテンツを構成する各チャンクのチャンクIDは、例えば、コンテンツカタログ情報において、元となるコンテンツの属性情報中に、シーケンス番号と対応付けて記述されていても良い。   When each node device acquires a content ID of a certain content, each node device can acquire the chunk ID of each chunk constituting the content in association with the sequence number. For example, in the content catalog information, the chunk ID of each chunk constituting the content may be described in association with the sequence number in the attribute information of the original content.

チャンクを保存しているノード装置を、「コンテンツ保持ノード」という。また、チャンクの所在は、インデックス情報として、チャンクの所在を管理(記憶)しているノノード装置により記憶される。以下、チャンクの所在を管理しているノード装置を、「ルートノード」という。インデックス情報は、チャンクを保存したノード装置のノード情報と、チャンクのチャンクIDと等の組を含む。このようなルートノードは、例えば、チャンクIDと最も近いノードIDを有するノードNnであるように定められる。チャンクIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。   A node device that stores chunks is referred to as a “content holding node”. Further, the location of the chunk is stored as index information by the node device that manages (stores) the location of the chunk. Hereinafter, the node device that manages the location of the chunk is referred to as a “root node”. The index information includes a set of node information of the node device that stores the chunk, a chunk ID of the chunk, and the like. Such a root node is determined to be a node Nn having a node ID closest to the chunk ID, for example. The node ID closest to the chunk ID is, for example, a node ID with the highest number of upper digits of the ID.

あるノード装置のユーザが、所望のコンテンツを取得したい場合、ノード装置は、所望されたコンテンツを構成する各チャンクを保存するコンテンツ保持ノードをそれぞれ検索する。以下、ユーザによりチャンクの取得を望むノード装置を、「ユーザノード」という。具体的に、ユーザノードは、検索メッセージを送信する。この検索メッセージは、取得を望むチャンクのチャンクID及びユーザノードのノードIDを含む。この検索メッセージが、ユーザノードが記憶するDHTのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送信する。これにより、検索メッセージは、チャンクIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   When a user of a certain node device wants to acquire desired content, the node device searches for a content holding node that stores each chunk constituting the desired content. Hereinafter, a node device that a user desires to acquire a chunk is referred to as a “user node”. Specifically, the user node transmits a search message. This search message includes the chunk ID of the chunk desired to be acquired and the node ID of the user node. This search message is transmitted to other node devices according to the DHT routing table stored in the user node. That is, the user node transmits a search message toward the root node. As a result, the search message finally arrives at the root node by DHT routing using the chunk ID as a key. The DHT routing is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

検索メッセージを受信したルートノードは、これに含まれるチャンクIDに対応するインデックス情報をインデックス情報キャッシュから1または複数取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてチャンクを取得(ダウンロード)する。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、チャンク要求メッセージをコンテンツ保持ノードに送信する。チャンク要求メッセージには、ユーザノードのノード情報、所望するコンテンツのコンテンツID及び取得を望むチャンクのチャンクIDが含まれている。チャンク要求メッセージを受信したコンテンツ保持ノードは、チャンク要求メッセージに含まれるチャンクIDに対応するチャンクをユーザノードに送信(アップロード)する。一方、所望するチャンクを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバからチャンクを取得する。   The root node that has received the search message acquires one or more index information corresponding to the chunk IDs included in the search message from the index information cache. The acquired index information is returned to the user node that is the source of the search message. The user node that has acquired the index information in this way acquires (downloads) a chunk based on the index information. Specifically, the user node transmits a chunk 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 chunk request message includes the node information of the user node, the content ID of the desired content, and the chunk ID of the chunk that is desired to be acquired. The content holding node that has received the chunk request message transmits (uploads) the chunk corresponding to the chunk ID included in the chunk request message to the user node. On the other hand, when there is no content holding node that stores a desired chunk, the user node cannot acquire the index information of the content holding node. In this case, the user node acquires a chunk from the center server.

あるいは、ルートノードは、インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してチャンク送信要求メッセージを送信する。チャンク送信要求メッセージは、チャンク送信要求メッセージの送信元のノード情報を含む。チャンク送信要求メッセージを受信したコンテンツ保持ノードは、受信したチャンク送信要求メッセージが含むノード情報が示す ユーザノードへコンテンツデータの送信(アップロード)を開始する。これにより、ユーザノードは、コンテンツ保持ノードからコンテンツデータを取得することが可能になる。   Alternatively, the root node transmits a chunk transmission request message to the content holding node indicated by the IP address or the like included in the index information. The chunk transmission request message includes node information of a transmission source of the chunk transmission request message. The content holding node that has received the chunk transmission request message starts transmission (upload) of content data to the user node indicated by the node information included in the received chunk transmission request message. As a result, the user node can acquire content data from the content holding node.

そして、ユーザノードは、コンテンツ保持ノードからチャンクを取得して保存したとき、チャンクを公開する。チャンクの公開とは、ユーザノードがコンテンツ保持ノードとしてチャンクを保存したことをルートノードへ知らせることをいう。チャンクの公開により、公開したコンテンツ保持ノードから、公開されたチャンクを他のノード装置が取得可能になる。具体的に、チャンクを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、チャンクのチャンクID及びチャンクを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、チャンクIDをキーとするDHTルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びチャンクIDの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、上記チャンクを保存するコンテンツ保持ノードとなる。以上説明したように、本実施形態では、制御メッセージは、制御メッセージの送信元のノード情報を含む。   Then, when the user node acquires the chunk from the content holding node and stores it, the user node discloses the chunk. Chunk disclosure refers to notifying a root node that a user node has saved a chunk as a content holding node. By publishing the chunk, other node devices can acquire the published chunk from the published content holding node. Specifically, the user node that stores the chunk transmits a publish message. The publish message includes the chunk ID of the chunk and the node information of the user node storing the chunk. The publish message is sent toward the root node. As a result, the publish message arrives at the root node by DHT routing using the chunk ID as a key, like the search message. The root node stores index information including a set of node information and chunk ID included in the received publish message in the index information cache. Thus, the user node becomes a new content holding node for storing the chunk. As described above, in the present embodiment, the control message includes the node information of the transmission source of the control message.

[コンテンツデータの中継方法について]
次に、参加ノード装置Bへのコンテンツデータ中継方法を説明する。本実施形態の参加ノード装置A及び参加ノード装置Cは、上述したコンテンツ取得動作によりコンテンツを取得する。一方、参加ノード装置Bがコンテンツを取得するとき、参加ノード装置Bは検索メッセージを第1ノード装置宛に送信する。検索メッセージを受信した第1ノード装置は、第1ノード装置が記憶するDHTのルーティングテーブルに基づいて、検索メッセージを転送する。第1ノード装置は、参加ノード装置BのノードIDと、参加ノード装置BとのIPアドレス及びポート番号とを対応付けてソケットテーブルに登録する。
[How to relay content data]
Next, a content data relay method to the participating node device B will be described. The participating node device A and the participating node device C of the present embodiment acquire content by the content acquisition operation described above. On the other hand, when the participating node device B acquires content, the participating node device B transmits a search message to the first node device. The first node device that has received the search message transfers the search message based on the DHT routing table stored in the first node device. The first node device registers the node ID of the participating node device B in association with the IP address and port number of the participating node device B in the socket table.

そして、第1ノード装置は、検索メッセージに含まれる送信元である参加ノード装置Bのノード情報が含むIPアドレスを、第1ノード装置のIPアドレスに書き換える。つまり、第1ノード装置は、検索メッセージに含まれる送信元のノード装置のIPアドレスを第1ノードのIPアドレスにして、検索メッセージを送信する。そして、検索メッセージを受信したルートノードは、これに含まれるチャンクIDに対応するインデックス情報をインデックス情報キャッシュから1または複数取得する。取得されたインデックス情報は、検索メッセージの送信元に設定された第1ノード装置に対して返信される。返信されたインデックス情報を受け取った第1ノード装置は、まず、受信したインデックス情報の宛先を示すノードIDが、第1ノード装置のノードIDと一致するかが判定される。一致しなかった場合、受信したインデックス情報の宛先を示すノードIDが、ソケットテーブルに登録されているか否かが判定される。ソケットテーブルに登録されていた場合、受信したインデックス情報は、参加ノード装置B宛のインデックス情報であると判定される。そして、第1ノード装置が、ソケットテーブルに登録されている参加ノード装置Bへインデックス情報を中継する。これは、制御メッセージの中継と同様である。 Then, the first node device rewrites the IP address included in the node information of the participating node device B that is the transmission source included in the search message with the IP address of the first node device. That is, the first node device transmits the search message with the IP address of the source node device included in the search message as the IP address of the first node. Then, the root node that has received the search message acquires one or more index information corresponding to the chunk IDs included in the search message from the index information cache. The acquired index information is returned to the first node device set as the transmission source of the search message. The first node device that has received the returned index information first determines whether the node ID indicating the destination of the received index information matches the node ID of the first node device. If they do not match, it is determined whether or not the node ID indicating the destination of the received index information is registered in the socket table. If registered in the socket table, the received index information is determined to be index information addressed to the participating node apparatus B. Then, the first node device relays the index information to the participating node device B registered in the socket table. This is similar to relaying control messages.

そして、インデックス情報を取得した参加ノード装置Bは、インデックス情報に基づいてチャンクを取得(ダウンロード)する。ダウンロードの際も、制御メッセージや検索メッセージと同様に、第1ノード装置が中継することになる。参加ノード装置Bが、インデックス情報に基づいてチャンクを取得するとき、参加ノード装置Bはチャンク要求メッセージを第1ノード装置宛に送信する。チャンク要求メッセージを受信した第1ノード装置は、チャンク要求メッセージの送信先であるコンテンツ保持ノードへ、チャンク要求メッセージを転送する。第1ノード装置は、参加ノード装置BのノードIDと、参加ノード装置BのIPアドレス及びポート番号とを対応付けてソケットテーブルに登録する。そして、第1ノード装置は、チャンク要求メッセージに含まれる送信元である参加ノード装置Bのノード情報が含むIPアドレスを、第1ノード装置のIPアドレスに書き換える。つまり、第1ノード装置は、チャンク要求メッセージに含まれる送信元のノード装置のIPアドレスを第1ノードのIPアドレスにして、チャンク要求メッセージを送信する。そして、チャンク要求メッセージを受信したコンテンツ保持ノードは、これに含まれるチャンクIDに対応するチャンクを、チャンク要求メッセージの送信元に設定された第1ノード装置に対して返信する。返信されたチャンクを受け取った第1ノード装置は、まず、受信したチャンクの宛先を示すノードIDが、第1ノード装置のノードIDと一致するかが判定される。一致しなかった場合、受信したチャンクの宛先を示すノードIDが、ソケットテーブルに登録されているか否かが判定される。ソケットテーブルに登録されていた場合、受信したチャンクは、参加ノード装置B宛のチャンクであると判定される。そして、第1ノード装置が、ソケットテーブルに登録されているIPアドレスが示す参加ノード装置Bへチャンクを中継する。これは、制御メッセージ及び検索メッセージの中継と同様である。また、チャンク送信要求メッセージについても同様の中継を行う。なお、本実施形態で中継される制御メッセージは、上述した検索メッセージとインデックス情報とチャンク要求メッセージとチャンク送信要求メッセージとチャンクとを含む。 Then, the participating node device B that acquired the index information acquires (downloads) the chunk based on the index information. At the time of downloading, the first node device relays the same as the control message and the search message. When the participating node device B acquires a chunk based on the index information, the participating node device B transmits a chunk request message to the first node device. The first node device that has received the chunk request message transfers the chunk request message to the content holding node that is the transmission destination of the chunk request message. The first node device registers the node ID of the participating node device B in association with the IP address and port number of the participating node device B in the socket table. Then, the first node device rewrites the IP address included in the node information of the participating node device B that is the transmission source included in the chunk request message with the IP address of the first node device. That is, the first node device transmits the chunk request message with the IP address of the transmission source node device included in the chunk request message as the IP address of the first node. Then, the content holding node that has received the chunk request message returns a chunk corresponding to the chunk ID included therein to the first node device set as the transmission source of the chunk request message. The first node device that has received the returned chunk first determines whether the node ID indicating the destination of the received chunk matches the node ID of the first node device. If they do not match, it is determined whether or not the node ID indicating the destination of the received chunk is registered in the socket table. If it is registered in the socket table, it is determined that the received chunk is a chunk addressed to the participating node apparatus B. Then, the first node device relays the chunk to the participating node device B indicated by the IP address registered in the socket table. This is similar to relaying control messages and search messages. The same relay is performed for the chunk transmission request message. Note that the control message relayed in this embodiment includes the search message, index information, chunk request message, chunk transmission request message, and chunk described above.

[ノード装置及び第1ノード装置の電気的構成]
次に、図4を参照して、ノード装置及び第1ノード装置の電気的構成ついて説明する。図4は、本実施形態のノード装置及び第1ノード装置の電気的構成を示すブロック図である。図4に示すように、本実施形態のノード装置及び第1ノード装置には、ノード装置及び第1ノード装置を制御するCPU1が備えられている。CPU1には、HDD2とRAM3とデコーダ部4と通信部9とがそれぞれ電気的に接続されている。HDD2、RAM3、などの記憶手段とCPU1とは、ノード装置及び第1ノード装置のコンピュータを構成している。CPU1、HDD2、RAM3、デコーダ部4、及び通信部9はバスを介して相互に接続されている。なお、ノード装置及び第1ノード装置としては、パーソナルコンピュータ、又はSTB(Set Top Box)等を適用可能である。
[Electric configuration of node device and first node device]
Next, the electrical configuration of the node device and the first node device will be described with reference to FIG. FIG. 4 is a block diagram illustrating an electrical configuration of the node device and the first node device according to the present embodiment. As illustrated in FIG. 4, the node device and the first node device according to the present embodiment include a CPU 1 that controls the node device and the first node device. An HDD 2, a RAM 3, a decoder unit 4, and a communication unit 9 are electrically connected to the CPU 1. The storage means such as the HDD 2 and the RAM 3 and the CPU 1 constitute a computer of the node device and the first node device. The CPU 1, HDD 2, RAM 3, decoder unit 4, and communication unit 9 are connected to each other via a bus. As the node device and the first node device, a personal computer, an STB (Set Top Box), or the like can be applied.

HDD2は、プログラム記憶領域21と、ルーティングテーブル記憶領域25とを含む。プログラム記憶領域21は、ノード装置メイン動作処理プログラム22と、参加メッセージ処理プログラム記憶領域23と、中継処理プログラム記憶領域24とを含む。   The HDD 2 includes a program storage area 21 and a routing table storage area 25. The program storage area 21 includes a node device main operation processing program 22, a participation message processing program storage area 23, and a relay processing program storage area 24.

ノード装置メイン動作処理プログラム記憶領域22は、ノード装置メイン動作処理プログラムを記憶する。ノード装置メイン動作処理プログラムは、ノード装置にメイン動作処理を実行させるプログラムである。   The node device main operation processing program storage area 22 stores a node device main operation processing program. The node device main operation processing program is a program that causes the node device to execute main operation processing.

参加メッセージ処理プログラム記憶領域23は、参加メッセージ処理プログラムを記憶する。参加メッセージ処理プログラムは、ノード装置に参加処理を実行させるプログラムである。   The participation message processing program storage area 23 stores a participation message processing program. The participation message processing program is a program that causes the node device to execute participation processing.

中継処理プログラム記憶領域24は、中継処理プログラムを記憶する。中継処理プログラムは、ノード装置に中継処理動作を実行させるプログラムである。なお、上記ノード装置メイン動作処理プログラムと参加処理プログラムと中継処理プログラムとは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。   The relay processing program storage area 24 stores a relay processing program. The relay processing program is a program that causes the node device to execute a relay processing operation. The node device main operation processing program, the participation processing program, and the relay processing program may be downloaded from a predetermined server on the network NW, for example, or may be recorded on a recording medium such as a CD-ROM. It may be recorded and read via a drive of the recording medium.

ルーティングテーブル記憶領域25は、DHTのルーティングテーブルと、DHTのルーティングテーブルのバージョン情報とを記憶する。本実施形態では、IPv4で通信可能なノード装置によりオーバーレイネットワークOLが構築されている。このため、ルーティングテーブル記憶領域25には、DHTのルーティングテーブルとともに、IPv4を示すバージョン情報が記憶される。本実施形態のルーティングテーブル記憶領域25は、本発明の第1記憶手段の一例である。   The routing table storage area 25 stores a DHT routing table and version information of the DHT routing table. In this embodiment, the overlay network OL is constructed by node devices that can communicate with IPv4. Therefore, version information indicating IPv4 is stored in the routing table storage area 25 together with the DHT routing table. The routing table storage area 25 of this embodiment is an example of a first storage unit of the present invention.

RAM3は、コンテンツデータ一時記憶領域31と中継メッセージ一時記憶領域32とソケットテーブル一時記憶領域33と第1ノード装置情報一時記憶領域34とバージョン情報一時記憶領域35とアドレス情報一時記憶領域36とを含む。   The RAM 3 includes a content data temporary storage area 31, a relay message temporary storage area 32, a socket table temporary storage area 33, a first node device information temporary storage area 34, a version information temporary storage area 35, and an address information temporary storage area 36. .

コンテンツデータ一時記憶領域31は、オーバーレイネットワークOLで送受信されるコンテンツを一時記憶する。また、コンテンツデータ一時記憶領域31は、参加ノード装置Bへ中継するコンテンツを一時記憶する。本実施形態のコンテンツデータ一時記憶領域31は、第3記憶手段の一例である。   The content data temporary storage area 31 temporarily stores content transmitted and received by the overlay network OL. Further, the content data temporary storage area 31 temporarily stores the content relayed to the participating node device B. The content data temporary storage area 31 of the present embodiment is an example of a third storage unit.

中継メッセージ一時記憶領域32は、参加ノード装置Bへ中継する制御メッセージ、または、参加ノード装置Bから他のノード装置へ中継する制御メッセージを一時記憶する。   The relay message temporary storage area 32 temporarily stores a control message relayed to the participating node apparatus B or a control message relayed from the participating node apparatus B to another node apparatus.

ソケットテーブル一時記憶領域33は、ソケットテーブルを一時記憶する。情報通信システムSに接続される複数のノード装置の中で、第1ノード装置に決定された場合、ソケットテーブル一時記憶領域33にソケットテーブルを一時記憶する。   The socket table temporary storage area 33 temporarily stores a socket table. When the first node device is determined among the plurality of node devices connected to the information communication system S, the socket table is temporarily stored in the socket table temporary storage area 33.

第1ノード装置情報一時記憶領域34は、第1ノード装置のノード情報を一時記憶する。コンタクトノードから送信された第1ノード装置のノード情報が、第1ノード装置情報一時記憶領域34に一時記憶される。本実施形態の第1ノード情報一時記憶領域34は、本発明の第2記憶手段の一例である。   The first node device information temporary storage area 34 temporarily stores node information of the first node device. The node information of the first node device transmitted from the contact node is temporarily stored in the first node device information temporary storage area 34. The first node information temporary storage area 34 of this embodiment is an example of the second storage means of the present invention.

バージョン情報一時記憶領域35は、バージョン情報を一時記憶する。バージョン情報は、ノード装置が通信可能なプロトコルである。ノード装置が、IPv4とIPv6との両方で通信可能な場合、IPv4とIPv6とを示すバージョン情報がバージョン情報一時記憶領域35に一時記憶される。また、ノード装置が、IPv4のみで通信可能な場合、IPv4を示すバージョン情報がバージョン情報一時記憶領域35に記憶される。また、ノード装置が、IPv6のみで通信可能な場合、IPv6を示すバージョン情報がバージョン情報一時記憶領域35に記憶される。本実施形態のバージョン情報は、予め各ノード装置に設定されていても良いし、別機器から直接接続されて取得されても良い。また、別機器からネットワークNWを介してバージョン情報が取得されても良い。   The version information temporary storage area 35 temporarily stores version information. The version information is a protocol with which the node device can communicate. When the node device can communicate with both IPv4 and IPv6, version information indicating IPv4 and IPv6 is temporarily stored in the version information temporary storage area 35. When the node device can communicate only with IPv4, version information indicating IPv4 is stored in the version information temporary storage area 35. When the node device can communicate only with IPv6, version information indicating IPv6 is stored in the version information temporary storage area 35. The version information of this embodiment may be set in advance in each node device, or may be acquired by directly connecting from another device. Further, the version information may be acquired from another device via the network NW.

アドレス情報一時記憶領域36は、コンタクトノードのIPアドレスが記憶される。例えば、P2Pソフトウェアプログラムがノード装置によりダウンロードされたときに、コンタクトノードのIPアドレスは取得される。取得されたコンタクトノードのIPアドレスが、アドレス情報一時記憶領域36に一時記憶される。   The address information temporary storage area 36 stores the IP address of the contact node. For example, when a P2P software program is downloaded by a node device, the IP address of the contact node is acquired. The acquired IP address of the contact node is temporarily stored in the address information temporary storage area 36.

通信部9は、ネットワークNWを通じてノード装置または外部装置と情報の通信制御を行う。   The communication unit 9 controls communication of information with a node device or an external device through the network NW.

ノード装置及び第1ノード装置は、通信部9を介して要求に応じて送信されてきたコンテンツを受信する受信処理を行う。本実施形態のコンテンツはパケット化されて送信されるようになっている。各パケットは、通信部9を通じて受信され、RAM3に一時記憶される。このように一時記憶されたコンテンツは、RAM3から読み出されてデコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。或いは、RAM3に記憶されたコンテンツは、RAM3から読み出されてHDD2に記憶されても良い。または、コンテンツがRAM3を介さず、直接HDD2に記憶されても良い。その後、ユーザからの操作指示にしたがって、HDD2からコンテンツが読み出される。読み出されたコンテンツは、デコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。これにより、ユーザはコンテンツの視聴を行うことができる。   The node device and the first node device perform a reception process for receiving content transmitted in response to a request via the communication unit 9. The contents of this embodiment are transmitted in packets. Each packet is received through the communication unit 9 and temporarily stored in the RAM 3. The content temporarily stored in this manner is read from the RAM 3 and reproduced and output through the decoder unit 4, the video processing unit 5, the audio processing unit 7, the display 6, and the speaker 8. Alternatively, the content stored in the RAM 3 may be read from the RAM 3 and stored in the HDD 2. Alternatively, the content may be stored directly in the HDD 2 without going through the RAM 3. Thereafter, the content is read from the HDD 2 in accordance with an operation instruction from the user. The read content is reproduced and output through the decoder unit 4, the video processing unit 5, the audio processing unit 7, the display 6, and the speaker 8. Thereby, the user can view the content.

[コンタクトノードの電気的構成]
次に、図5を参照して、コンタクトノードの電気的構成ついて説明する。図5は、本実施形態のコンタクトノードの電気的構成を示すブロック図である。基本的には、コンタクトノードの電気的構成は、ノード装置及び第1ノード装置の電気的構成と同じである。そのため、異なる点についてのみ説明する。
[Electrical configuration of contact node]
Next, the electrical configuration of the contact node will be described with reference to FIG. FIG. 5 is a block diagram showing an electrical configuration of the contact node of the present embodiment. Basically, the electrical configuration of the contact node is the same as that of the node device and the first node device. Therefore, only different points will be described.

コンタクトノードのHDD2は、ノード装置及び第1ノード装置と同様に、プログラム記憶領域21とルーティングテーブル記憶領域25とを含む。コンタクトノードのプログラム記憶領域21は、ノード装置及び第1ノード装置と異なり、コンタクトノードメイン動作処理プログラム記憶領域26を含む。コンタクトノードメイン動作処理プログラム記憶領域26は、コンタクトノードメイン動作処理プログラムを記憶する。コンタクトノードメイン動作処理プログラムは、コンタクトノード装置にメイン動作を実行させるプログラムである。なお、上記コンタクトノードメイン動作処理プログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。   The contact node HDD 2 includes a program storage area 21 and a routing table storage area 25 in the same manner as the node apparatus and the first node apparatus. Unlike the node device and the first node device, the contact node program storage region 21 includes a contact node main operation processing program storage region 26. The contact node main operation processing program storage area 26 stores a contact node main operation processing program. The contact node main operation processing program is a program for causing the contact node device to execute a main operation. Note that the contact node main operation processing program may be downloaded from a predetermined server on the network NW, for example, or recorded on a recording medium such as a CD-ROM via a drive of the recording medium. May be read.

コンタクトノードのRAM3は、参加メッセージ一時記憶領域37と、第1ノード情報一時記憶領域34とを含む。参加メッセージ一時記憶領域37は、参加メッセージを一時記憶する。参加ノード装置により送信された参加メッセージが、コンタクトノードにより受信される。受信された参加メッセージが、参加メッセージ一時記憶領域37に一時記憶される。なお、コンタクトノードの第1ノード装置情報一時記憶領域34は、第1ノード装置のノード情報として、参加ノード装置から送信されたノード情報が一時記憶される。具体的には、コンタクトノード装置が受信した参加メッセージが含むバージョン情報が、IPv4とIPv6との両方で通信可能であることを示す場合、その参加メッセージを送信した参加ノード装置のノード情報が、第1ノード装置のノード情報として、第1ノード装置情報一時記憶領域34に一時記憶される。本実施形態の第1ノード情報一時記憶領域34は、本発明の第2記憶手段の一例である。   The contact node RAM 3 includes a participation message temporary storage area 37 and a first node information temporary storage area 34. The participation message temporary storage area 37 temporarily stores a participation message. The participation message transmitted by the participating node device is received by the contact node. The received participation message is temporarily stored in the participation message temporary storage area 37. The first node device information temporary storage area 34 of the contact node temporarily stores the node information transmitted from the participating node device as the node information of the first node device. Specifically, when the version information included in the participation message received by the contact node device indicates that communication is possible in both IPv4 and IPv6, the node information of the participating node device that transmitted the participation message is the first information. The node information of one node device is temporarily stored in the first node device information temporary storage area 34. The first node information temporary storage area 34 of this embodiment is an example of the second storage means of the present invention.

[コンタクトノードメイン動作処理の説明]
以上説明した構成からなる本実施形態のコンタクトノードの動作及び作用について、添付図面を参照して説明する。図6は、コンタクトノードにおけるコンタクトノードメイン動作処理の処理手順を示すフローチャートである。コンタクトノード装置のコンタクトノードメイン動作処理は、電源またはコンセントを介して商用電源などの外部電源とノード装置とが接続され、コンタクトノード装置として決定されたことにより、遂行される。以下に示す処理は、CPU1により処理される。
[Description of contact node main operation processing]
The operation and action of the contact node of the present embodiment having the above-described configuration will be described with reference to the accompanying drawings. FIG. 6 is a flowchart showing a processing procedure of contact node main operation processing in the contact node. The contact node main operation process of the contact node device is performed when an external power source such as a commercial power source and the node device are connected via a power source or an outlet and determined as the contact node device. The processing shown below is processed by the CPU 1.

ステップS101では、参加ノード装置から、参加メッセージを受信したか否かが判定される。参加メッセージが受信されたと判定された場合(ステップS101:YES)、ステップS102が実行される。参加メッセージが受信されたと判定されなかった場合(ステップS101:NO)、ステップS107が実行される。なお、参加メッセージが受信された場合、受信された参加メッセージは、参加メッセージ情報一時記憶領域37に一時記憶される。本実施形態のコンピュータとステップS101とは、本発明の受信手段の一例である。また、本実施形態のステップS101は、本発明の受信ステップの一例である。   In step S101, it is determined whether or not a participation message has been received from the participating node device. If it is determined that the participation message has been received (step S101: YES), step S102 is executed. If it is not determined that the participation message has been received (step S101: NO), step S107 is executed. When the participation message is received, the received participation message is temporarily stored in the participation message information temporary storage area 37. The computer of this embodiment and step S101 are an example of the receiving means of this invention. Moreover, step S101 of this embodiment is an example of the receiving step of this invention.

ステップS102では、参加ノード装置のバージョン情報の中で、ルーティングテーブルのバージョン情報と一致する情報があるか否かが判定される。具体的には、ルーティングテーブル記憶領域25に記憶されたバージョン情報と、参加メッセージが含むバージョン情報とが比較される。なお、参加メッセージのバージョン情報は、参加メッセージ一時記憶領域37に一時記憶されている。比較した結果、参加ノード装置のバージョン情報の中で、ルーティングテーブルのバージョン情報と一致する情報があると判定された場合(ステップS102:YES)、ステップS103が実行される。参加ノード装置のバージョン情報の中で、ルーティングテーブルのバージョン情報と一致する情報がある判定されなかった場合(ステップS102:NO)、ステップS104が実行される。本実施形態のコンピュータとステップS102とは、本発明の判定手段の一例である。また、本実施形態のステップS102は、本発明の判定ステップの一例である。   In step S102, it is determined whether there is information that matches the version information of the routing table in the version information of the participating node devices. Specifically, the version information stored in the routing table storage area 25 is compared with the version information included in the participation message. The participation message version information is temporarily stored in the participation message temporary storage area 37. As a result of the comparison, if it is determined that there is information that matches the version information of the routing table in the version information of the participating node devices (step S102: YES), step S103 is executed. If it is not determined that there is information that matches the version information in the routing table among the version information of the participating node devices (step S102: NO), step S104 is executed. The computer of this embodiment and step S102 are examples of the determination means of this invention. Moreover, step S102 of this embodiment is an example of the determination step of the present invention.

ステップS103では、参加処理が実行される。具体的には、ルーティングテーブル記憶領域25に記憶されているDHTのルーティングテーブルが参加ノード装置へ送信される。本実施形態のコンピュータとステップS103とは、本発明の送信手段の一例である。また、本実施形態のステップS103は、本発明の送信ステップの一例である。   In step S103, a participation process is executed. Specifically, the DHT routing table stored in the routing table storage area 25 is transmitted to the participating node devices. The computer of this embodiment and step S103 are an example of the transmission means of this invention. Moreover, step S103 of this embodiment is an example of the transmission step of this invention.

ステップS104では、第1ノード装置情報一時記憶領域34に一時記憶された第1ノード装置のノード情報が、参加ノード装置へ送信される。本実施形態のコンピュータとステップS104とは、本発明の送信手段の一例である。また、本実施形態のステップS103は、本発明の送信ステップの一例である。   In step S104, the node information of the first node device temporarily stored in the first node device information temporary storage area 34 is transmitted to the participating node devices. The computer of this embodiment and step S104 are an example of the transmission means of this invention. Moreover, step S103 of this embodiment is an example of the transmission step of this invention.

ステップS105では、参加ノード装置がIPv4とIPv6との両方で通信可能か否かが判定される。参加ノード装置がIPv4とIPv6との両方で通信可能かは、参加メッセージ情報一時記憶領域32に記憶されるバージョン情報に基づいて判定される。バージョン情報がIPv4とIPv6とを示す場合、参加ノード装置がIPv4とIPv6との両方で通信可能と判定される。参加ノード装置がIPv4とIPv6との両方で通信可能と判定された場合(ステップS105:YES)、ステップS106が実行される。参加ノード装置がIPv4とIPv6との両方で通信可能と判定されなかった場合(ステップS105:NO)、ステップS107が実行される。   In step S105, it is determined whether or not the participating node device can communicate with both IPv4 and IPv6. Whether or not the participating node device can communicate with both IPv4 and IPv6 is determined based on the version information stored in the participation message information temporary storage area 32. When the version information indicates IPv4 and IPv6, it is determined that the participating node device can communicate with both IPv4 and IPv6. When it is determined that the participating node device can communicate with both IPv4 and IPv6 (step S105: YES), step S106 is executed. If it is not determined that the participating node device can communicate with both IPv4 and IPv6 (step S105: NO), step S107 is executed.

ステップS106では、参加メッセージ情報一時記憶領域37に記憶された参加メッセージが含むノード情報が、第1ノード装置のノード情報として第1ノード装置情報一時記憶領域34に一時記憶される。   In step S106, the node information included in the participation message stored in the participation message information temporary storage area 37 is temporarily stored in the first node apparatus information temporary storage area 34 as the node information of the first node apparatus.

ステップS107では、コンタクトノードの電源がオフにされたか否かが判定される。電源がオフにされたと判定された場合(ステップS107:YES)、コンタクトノードのコンタクトノードメイン動作処理は終了される。電源がオフにされたと判定されなかった場合(ステップS107:NO)、ステップS101が再度実行される。   In step S107, it is determined whether or not the contact node is powered off. When it is determined that the power is turned off (step S107: YES), the contact node main operation process of the contact node is ended. If it is not determined that the power has been turned off (step S107: NO), step S101 is executed again.

[ノード装置メイン動作処理の説明]
図7を参照して、本実施形態のノード装置及び第1ノード装置の動作及び作用について、添付図面を参照して説明する。図7は、ノード装置及び第1ノード装置におけるノード装置メイン動作処理の処理手順を示すフローチャートである。ノード装置及び第1ノード装置のノード装置メイン動作処理は、電源またはコンセントを介して商用電源などの外部電源とノード装置及び第1ノード装置とが接続され、インストールされたP2PソフトウェアプログラムがCPU1により実行されたことにより、遂行される。
[Description of node device main operation processing]
With reference to FIG. 7, operation | movement and an effect | action of the node apparatus of this embodiment and a 1st node apparatus are demonstrated with reference to an accompanying drawing. FIG. 7 is a flowchart showing a processing procedure of node device main operation processing in the node device and the first node device. The node device main operation processing of the node device and the first node device is performed by the CPU 1 executing the installed P2P software program by connecting the external power source such as a commercial power source to the node device and the first node device via a power source or an outlet. It is carried out by being done.

ステップS201では、参加メッセージが送信されるか否かが判定される。参加メッセージが送信されると判定された場合(ステップS201:YES)、ステップS202が実行される。参加メッセージが送信されると判定されなかった場合(ステップS201:NO)、ステップS203が実行される。   In step S201, it is determined whether a participation message is transmitted. When it is determined that the participation message is transmitted (step S201: YES), step S202 is executed. If it is not determined that the participation message is transmitted (step S201: NO), step S203 is executed.

ステップS202では、参加メッセージ処理が実行される。参加メッセージ処理の詳細は後述する。   In step S202, a participation message process is executed. Details of the participation message processing will be described later.

ステップS203では、制御メッセージが送信されるか否かが判定される。制御メッセージが送信されると判定された場合(ステップS203:YES)、ステップS204が実行される。制御メッセージが送信されると判定されなかった場合(ステップS203:NO)、ステップS207が実行される。   In step S203, it is determined whether a control message is transmitted. When it is determined that the control message is transmitted (step S203: YES), step S204 is executed. If it is not determined that the control message is transmitted (step S203: NO), step S207 is executed.

ステップS204では、ステップS204を実行するノード装置が、オーバーレイネットワークOLに参加しているか否かが判定される。オーバーレイネットワークに参加しているか否かは、例えば、ルーティングテーブル記憶領域25にDHTのルーティングテーブルが記憶されているか否かにより判定される。ルーティングテーブル記憶領域25にDHTのルーティングテーブルが記憶されている場合、オーバーレイネットワークOLに参加していると判定される。ルーティングテーブル記憶領域25にDHTのルーティングテーブルが記憶されていない場合、オーバーレイネットワークOLに参加していないと判定される。ステップS204を実行するノード装置が、オーバーレイネットワークOLに参加していると判定された場合(ステップS204:YES)、ステップS205が実行される。ステップS204を実行するノード装置が、オーバーレイネットワークOLに参加していると判定されなかった場合(ステップS204:NO)、ステップS206が実行される。   In step S204, it is determined whether or not the node device that executes step S204 participates in the overlay network OL. Whether or not it participates in the overlay network is determined, for example, by whether or not the DHT routing table is stored in the routing table storage area 25. If the DHT routing table is stored in the routing table storage area 25, it is determined that the mobile terminal is participating in the overlay network OL. When the DHT routing table is not stored in the routing table storage area 25, it is determined that the DHT does not participate in the overlay network OL. When it is determined that the node device that executes Step S204 participates in the overlay network OL (Step S204: YES), Step S205 is executed. When it is not determined that the node device that executes Step S204 participates in the overlay network OL (Step S204: NO), Step S206 is executed.

ステップS205では、DHTのルーティングテーブルに登録されたノード装置へ、制御メッセージが送信される。   In step S205, a control message is transmitted to the node device registered in the DHT routing table.

ステップS206では、制御メッセージが、第1ノード装置へ送信される。具体的には、第1ノード装置情報一時記憶領域34に記憶されたノード情報が含むIPアドレスに基づいて、制御メッセージが第1ノード装置へ送信される。   In step S206, a control message is transmitted to the first node device. Specifically, the control message is transmitted to the first node device based on the IP address included in the node information stored in the first node device information temporary storage area 34.

ステップS207では、制御メッセージを受信したか否かが判定される。ステップS207で受信される制御メッセージには、チャンク要求メッセージが含まれる。制御メッセージを受信したと判定された場合(ステップS207:YES)、ステップS208が実行される。制御メッセージを受信したと判定されなかった場合(ステップS207:NO)、ステップS215が実行される。チャンク要求メッセージを含む制御メッセージを受信するステップS207と、本実施形態のコンピュータとは、本発明の要求受信手段の一例である。   In step S207, it is determined whether a control message has been received. The control message received in step S207 includes a chunk request message. If it is determined that the control message has been received (step S207: YES), step S208 is executed. If it is not determined that the control message has been received (step S207: NO), step S215 is executed. Step S207 for receiving a control message including a chunk request message and the computer of this embodiment are an example of a request receiving means of the present invention.

ステップS208では、ステップS208を実行するノード装置が、第1ノード装置であるか否かが判定される。具体的には、バージョン情報一時記憶領域35に記憶されるバージョン情報に基づいて、ステップS208を実行するノード装置が、第1ノード装置であるか否かが判定される。バージョン情報一時記憶領域35に一時記憶されるバージョン情報が、IPv4とIPv6との両方で通信可能であることを示す場合、第1ノード装置であると判定される。ステップS208を実行するノード装置が第1ノード装置であると判定された場合(ステップS208:YES)、ステップS209が実行される。ステップS208を実行するノード装置が第1ノード装置であると判定されなかった場合(ステップS208:NO)、ステップS214が実行される。   In step S208, it is determined whether or not the node device that executes step S208 is the first node device. Specifically, based on the version information stored in the version information temporary storage area 35, it is determined whether or not the node device that executes Step S208 is the first node device. When the version information temporarily stored in the version information temporary storage area 35 indicates that communication is possible with both IPv4 and IPv6, it is determined to be the first node device. When it is determined that the node device that executes Step S208 is the first node device (Step S208: YES), Step S209 is executed. If it is not determined that the node device that executes step S208 is the first node device (step S208: NO), step S214 is executed.

ステップS209では、ステップS207で受信した制御メッセージの送信元が、中継が必要なノード装置であるか否かが判定される。具体的には、受信した制御メッセージがノード情報のノードIDが、ソケットテーブルに登録されているか否かが判定される。ソケットテーブルに登録されていると判定された場合、中継が必要なノード装置と判定される。一方、ソケットテーブルに登録されていると判定されなかった場合、中継が不要なノード装置と判定される。ステップS207で受信した制御メッセージの送信元が、中継が必要なノード装置であると判定された場合(ステップS209:YES)、ステップS210が実行される。ステップS207で受信した制御メッセージの送信元が、中継が必要なノード装置であると判定されなかった場合(ステップS209:NO)、ステップS211が実行される。 In step S209, it is determined whether or not the transmission source of the control message received in step S207 is a node device that needs to be relayed. Specifically, it is determined whether or not the node ID of the node information in the received control message is registered in the socket table. When it is determined that it is registered in the socket table, it is determined that the node device needs to be relayed. On the other hand, if it is not determined that it is registered in the socket table, it is determined that the node device does not require relay. When it is determined that the transmission source of the control message received in step S207 is a node device that requires relay (step S209: YES), step S210 is executed. When it is not determined that the transmission source of the control message received in step S207 is a node device that needs to be relayed (step S209: NO), step S211 is executed.

ステップS210では、中継処理が実行される。具体的には、ステップS207で受信された制御メッセージが含むノード情報のIPアドレスが、ステップS210を実行するノード装置のIPアドレスに書き換えられる。そして、制御メッセージの送信元のノード装置のノードIDと、制御メッセージの送信元のIPアドレス及びポート番号とが、対応付けられてソケットテーブルに登録される。   In step S210, relay processing is executed. Specifically, the IP address of the node information included in the control message received in step S207 is rewritten with the IP address of the node device that executes step S210. Then, the node ID of the node device that is the transmission source of the control message and the IP address and port number of the transmission source of the control message are associated and registered in the socket table.

ステップS211では、ステップS207で受信した制御メッセージの宛先が、中継が必要なノード装置であるか否かが判定される。中継が必要なノード装置であるか否かは、制御メッセージが含むノードIDに基づいて決定される。参加メッセージが含むノードIDが、ソケットテーブル一時記憶領域33に記憶されている場合、ステップS207で受信した制御メッセージが、中継が必要なノード装置宛のメッセージであると判定される。ステップS207で受信した制御メッセージの宛先が、中継が必要なノード装置であると判定された場合(ステップS211:YES)、ステップS212が実行される。ステップS207で受信した制御メッセージの宛先が、中継が必要なノード装置であると判定されなかった場合(ステップS211:NO)、ステップS213が実行される。ステップS207で受信した制御メッセージの宛先が、中継が必要なノード装置であると判定された場合、ステップS207で受信された制御メッセージが中継メッセージ一時記憶領域32に一時記憶される。また、ステップS207で受信した制御メッセージがチャンクであった場合、ステップS207で受信されたチャンクが、コンテンツデータ一時記憶領域31に一時記憶されても良い。本実施形態のコンピュータとステップS211とは、本発明の第2取得手段の一例である。 In step S211, it is determined whether or not the destination of the control message received in step S207 is a node device that needs to be relayed. Whether the node device needs to be relayed is determined based on the node ID included in the control message. When the node ID included in the participation message is stored in the socket table temporary storage area 33, it is determined that the control message received in step S207 is a message addressed to the node device that needs to be relayed. If it is determined that the destination of the control message received in step S207 is a node device that needs to be relayed (step S211: YES), step S212 is executed. If it is not determined that the destination of the control message received in step S207 is a node device that needs to be relayed (step S211: NO), step S213 is executed. If it is determined that the destination of the control message received in step S207 is a node device that needs to be relayed, the control message received in step S207 is temporarily stored in the relay message temporary storage area 32. If the control message received in step S207 is a chunk, the chunk received in step S207 may be temporarily stored in the content data temporary storage area 31. The computer of this embodiment and step S211 are an example of the 2nd acquisition means of this invention.

ステップS212では、ステップS207で受信した制御メッセージが、中継が必要なノード装置へ中継される。具体的には、ステップS211で、ソケットテーブルに登録されたノードIDの中で、ステップS207で受信した制御メッセージに付加されるノードIDと一致するノードIDが登録されているか否かが判定される。一致するノードIDが登録されていると判定された場合、ステップS212では、ソケットテーブルに登録されたノード情報の中から、一致すると判定されたノードIDに対応するIPアドレスが取得される。そして、取得されたIPアドレスが示すノード装置へ、制御メッセージが中継される。本実施形態のコンピュータとステップS212とは、本発明の中継手段の一例である。   In step S212, the control message received in step S207 is relayed to the node device that needs to be relayed. Specifically, in step S211, it is determined whether a node ID that matches the node ID added to the control message received in step S207 is registered among the node IDs registered in the socket table. . If it is determined that a matching node ID is registered, in step S212, an IP address corresponding to the node ID determined to match is acquired from the node information registered in the socket table. Then, the control message is relayed to the node device indicated by the acquired IP address. The computer of this embodiment and step S212 are an example of the relay means of this invention.

ステップS213では、DHTのルーティングテーブルに登録されたノード装置へ、制御メッセージが送信される。   In step S213, the control message is transmitted to the node device registered in the DHT routing table.

ステップS214では、ステップS207で受信された制御メッセージに対応する処理が実行される。例えば、制御メッセージの宛先が、ステップS207で制御メッセージを受信したノード装置ではなかった場合、制御メッセージが転送される。また、制御メッセージの宛先が、ステップS207で制御メッセージを受信したノード装置である場合、制御メッセージに対応する処理が実行される。 In step S214, processing corresponding to the control message received in step S207 is executed. For example, if the destination of the control message is not the node device that received the control message in step S207, the control message is transferred. If the destination of the control message is the node device that has received the control message in step S207, processing corresponding to the control message is executed.

ステップS215では、ノード装置または第1ノード装置の電源がオフにされたか否か、または、離脱処理が実行されたか否かが判定される。離脱処理とは、オーバーレイネットワークOLからノード装置または第1ノード装置が離脱することである。具体的には、離脱処理は、ノード装置または第1ノード装置にインストールされたP2Pソフトウェアプログラムの起動が停止された場合である。電源がオフにされた、または、離脱処理が実行されたと判定された場合(ステップS215:YES)、ノード装置及び第1ノード装置のメイン動作処理は終了される。電源がオフにされた、または、離脱処理が実行されたと判定されなかった場合(ステップS215:NO)、ステップS201が再度実行される。   In step S215, it is determined whether or not the power of the node device or the first node device has been turned off, or whether or not the leaving process has been executed. The leaving process means that the node device or the first node device leaves the overlay network OL. Specifically, the leaving process is a case where activation of the P2P software program installed in the node device or the first node device is stopped. When it is determined that the power is turned off or the disconnection process is executed (step S215: YES), the main operation process of the node device and the first node device is ended. When it is not determined that the power is turned off or the separation process is executed (step S215: NO), step S201 is executed again.

[参加メッセージ処理の説明]
次に図8を用いて、本実施形態の参加メッセージ処理動作の処理手順について説明する。図8は、本実施形態の参加メッセージ処理動作を示すフローチャートである。まず、ステップS301では、コンタクトノードへの接続が実行される。アドレス情報一時記憶領域36に記憶されたIPアドレスに基づいて、コンタクトノードへの接続が実行される。
[Description of participation message processing]
Next, the processing procedure of the participation message processing operation of this embodiment will be described with reference to FIG. FIG. 8 is a flowchart showing the participation message processing operation of the present embodiment. First, in step S301, connection to a contact node is executed. Based on the IP address stored in the address information temporary storage area 36, connection to the contact node is executed.

ステップS302では、コンタクトノードからDHTのルーティングテーブルが受信されたか否かが判定される。DHTのルーティングテーブルが受信されたと判定された場合(ステップS302:YES)、ステップS303が実行される。DHTのルーティングテーブルが受信されたと判定されなかった場合(ステップS302:NO)、ステップS304が実行される。   In step S302, it is determined whether or not a DHT routing table has been received from the contact node. If it is determined that the DHT routing table has been received (step S302: YES), step S303 is executed. If it is not determined that the DHT routing table has been received (step S302: NO), step S304 is executed.

ステップS303では、オーバーレイネットワークOLへの参加処理が実行される。具体的には、ステップS302で受信したDHTのルーティングテーブルをルーティングテーブル記憶領域25に記憶する。そして、オーバーレイネットワークOLを用いて通信が可能な状態になる。ステップS302で、DHTのルーティングテーブルの一部が受信された場合、ステップS303で、受信した一部のDHTのルーティングテーブルに基づいて、他のノード装置から、残りのDHTのルーティングテーブルが取得されても良い。   In step S303, a process for joining the overlay network OL is executed. Specifically, the DHT routing table received in step S302 is stored in the routing table storage area 25. Then, communication is possible using the overlay network OL. If a part of the DHT routing table is received in step S302, the remaining DHT routing tables are acquired from other node devices based on the received part of the DHT routing table in step S303. Also good.

ステップS304では、第1ノード装置のノード情報が受信されたか否かが判定される。第1ノード装置のノード情報が受信されたと判定された場合(ステップS304:YES)、ステップS305が実行される。第1ノード装置のノード情報が受信されたと判定されなかった場合(ステップS304:NO)、ステップS302が実行される。なお、ステップS304で第1ノード装置のノード情報が受信された場合、第1ノード装置情報一時記憶領域34に受信されたノード情報が一時記憶される。本実施形態のコンピュータとステップS304とは、本発明の第1取得手段の一例である。   In step S304, it is determined whether node information of the first node device has been received. If it is determined that the node information of the first node device has been received (step S304: YES), step S305 is executed. If it is not determined that the node information of the first node device has been received (step S304: NO), step S302 is executed. When node information of the first node device is received in step S304, the received node information is temporarily stored in the first node device information temporary storage area 34. The computer of this embodiment and step S304 are an example of a first acquisition unit of the present invention.

ステップS305では、第1ノード装置とのセッションが生成される。具体的には、ステップS304で受信したノード情報に基づいて、第1ノード装置とのセッションが生成される。本実施形態のコンピュータとステップS305とは、本発明の第1生成手段の一例である。 In step S305, a session with the first node device is generated. Specifically, a session with the first node device is generated based on the node information received in step S304. The computer of this embodiment and step S305 are an example of the 1st production | generation means of this invention.

以下、本実施形態の変形例について説明する。変形例として、本実施形態において、中継が必要なノード装置は、必ずしもパブリッシュメッセージを送信しなくても良い。図9は、本実施形態の変形例のパブリッシュ処理のフローチャートである。パブリッシュ処理は、本実施形態において、中継が必要なノード装置により定期的に実行される処理である。ノード装置が備えるタイマーにより所定の時刻ごとに、パブリッシュ処理は開始される。また、パブリッシュ処理は、ノード装置がコンテンツデータ一時記憶領域31にコンテンツが記憶されたときに開始される。   Hereinafter, modifications of the present embodiment will be described. As a modification, in the present embodiment, a node device that needs to relay does not necessarily have to transmit a publish message. FIG. 9 is a flowchart of a publishing process according to a modification of the present embodiment. The publishing process is a process periodically executed by a node device that needs to be relayed in this embodiment. The publishing process is started every predetermined time by a timer provided in the node device. The publishing process is started when content is stored in the content data temporary storage area 31 by the node device.

ステップS501では、コンテンツデータ一時記憶領域31に記憶されたコンテンツの中で、パブリッシュする必要があるコンテンツIDを決定する。そして、決定されたコンテンツIDの検索メッセージが送信される。なお、パブリッシュする必要があるコンテンツIDとは、例えば、公開開始時期の近いコンテンツである。公開開始時期が近いとは、現在の時刻とコンテンツの公開開始時期との時刻差または日時差が、所定の期間以内になったことを示す。また、パブリッシュする必要があるコンテンツIDとは、コンテンツデータ一時記憶領域31に新たにコンテンツが記憶されたコンテンツである。また、ステップS501では、ノード装置に備えられたタイマーにより計時動作が開始される。本実施形態のコンピュータとステップS501とは、本発明の検索手段の一例である。   In step S501, a content ID that needs to be published among the content stored in the content data temporary storage area 31 is determined. Then, a search message for the determined content ID is transmitted. The content ID that needs to be published is, for example, content that is close to the release start time. The near release start time indicates that the time difference or date difference between the current time and the content release start time is within a predetermined period. The content ID that needs to be published is a content in which content is newly stored in the content data temporary storage area 31. In step S501, the timer operation is started by a timer provided in the node device. The computer of this embodiment and step S501 are an example of the search means of this invention.

ステップS502では、ステップS501で送信された検索メッセージに対応するインデックスキャッシュが受信されたか否かが判定される。インデックスキャッシュが受信されたと判定された場合(ステップS502:YES)、パブリッシュ処理は終了される。インデックスキャッシュが受信されたと判定されなかった場合(ステップS502:NO)、ステップS503が実行される。   In step S502, it is determined whether an index cache corresponding to the search message transmitted in step S501 has been received. If it is determined that the index cache has been received (step S502: YES), the publishing process is terminated. If it is not determined that the index cache has been received (step S502: NO), step S503 is executed.

ステップS503では、ステップS501で計時動作が開始されてから、所定の時間が経過したか否かが判定される。所定の時間が経過されたと判定された場合(ステップS503:YES)、ステップS504が実行される。所定の時間が経過されたと判定されなかった場合(ステップS503:NO)、ステップS502が実行される。   In step S503, it is determined whether or not a predetermined time has elapsed since the timing operation was started in step S501. If it is determined that the predetermined time has elapsed (step S503: YES), step S504 is executed. If it is not determined that the predetermined time has elapsed (step S503: NO), step S502 is executed.

ステップS504では、ステップS501で決定されたコンテンツIDを含むパブリッシュメッセージが送信される。本実施形態のコンピュータとステップS504とは、本発明の公開手段の一例である。   In step S504, a publish message including the content ID determined in step S501 is transmitted. The computer of this embodiment and step S504 are an example of the disclosure means of the present invention.

本変形例では、中継が必要なノード装置へは、コンテンツを中継する必要がある。コンテンツを安定的に通信するために、中継が必要なノード装置はできる限り、データのアップロードを控えた方が良い。中継が必要なノード装置がコンテンツをパブリッシュするときに、オーバーレイネットワークOLによりコンテンツのインデックスキャッシュが検索される。検索できなかった場合に、パブリッシュメッセージが送信されるため、中継が必要なノード装置がコンテンツをアップロードすることができる限り控えることができる。この結果、中継処理の発生を防ぎ、効率良く通信することができる。なお、本変形例では、インデックスキャッシュが検索または受信できなかった場合に、パブリッシュメッセージを送信したがこれに限定されるものではない。インデックスキャッシュが検索または受信されても良い。検索または受信されたインデックスキャッシュが含むコンテンツ保持ノードの数が所定数以下の場合に、パブリッシュメッセージが送信されても良い。   In this modification, it is necessary to relay content to a node device that requires relay. In order to communicate content stably, it is better for node devices that require relaying to refrain from uploading data as much as possible. When a node device requiring relaying publishes content, the content index cache is searched by the overlay network OL. Since the publish message is transmitted when the search cannot be performed, it is possible to refrain as much as possible so that the node device that needs to relay can upload the content. As a result, occurrence of relay processing can be prevented and communication can be performed efficiently. In this modification, the publish message is transmitted when the index cache cannot be searched or received. However, the present invention is not limited to this. An index cache may be retrieved or received. The publish message may be transmitted when the number of content holding nodes included in the retrieved or received index cache is a predetermined number or less.

本実施形態においては、オーバーレイネットワークOLに、DHTのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、DHT以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。DHTを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。   In this embodiment, the peer-to-peer communication system using the DHT routing table is applied to the overlay network OL. 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.

また、本実施形態では、オーバーレイネットワークOLが、IPv4により通信可能なノード装置により構成されているが、これに限定されるものではない。例えば、オーバーレイネットワークOLが、IPv6により通信可能なノード装置により構成されても良い。この場合、IPv4でしか通信できないノード装置と、第1ノード装置との間で、セッションが生成されることになる。また、IPv6で通信可能なノード装置のノード情報が登録されたDHTのルーティングテーブルが生成され、ルーティングテーブル記憶領域に記憶される。   In the present embodiment, the overlay network OL is configured by a node device that can communicate with IPv4, but is not limited to this. For example, the overlay network OL may be configured by a node device that can communicate with IPv6. In this case, a session is generated between the node device that can communicate only with IPv4 and the first node device. Further, a DHT routing table in which node information of node devices capable of communicating with IPv6 is registered is generated and stored in the routing table storage area.

1 CPU
2 HDD
3 RAM
4 デコーダ部
5 映像処理部
6 ディスプレイ
7 音声処理部
8 スピーカ
9 通信部
Tm−n ノード装置
NW ネットワーク
FW ファイアウォール
BR ブロードバンドルータ
S 情報通信システム
OL オーバーレイネットワーク
NLm 拠点ネットワーク
21 プログラム記憶領域
22 ノード装置メイン動作処理プログラム記憶領域
23 参加メッセージ処理プログラム記憶領域
25 ルーティングテーブル記憶領域
26 コンタクトノードメイン動作処理プログラム記憶領域
31 コンテンツデータ一時記憶領域
32 中継メッセージ一時記憶領域
33 ソケットテーブル一時記憶領域
34 第1ノード装置情報一時記憶領域
35 バージョン情報一時記憶領域
36 アドレス情報一時記憶領域
37 参加メッセージ一時記憶領域
1 CPU
2 HDD
3 RAM
4 Decoder unit 5 Video processing unit 6 Display 7 Audio processing unit 8 Speaker 9 Communication unit Tm-n Node device NW Network FW Firewall BR Broadband router S Information communication system OL Overlay network NLm Base network 21 Program storage area 22 Node device main operation processing Program storage area 23 Participation message processing program storage area 25 Routing table storage area 26 Contact node main operation processing program storage area 31 Temporary content data storage area 32 Relay message temporary storage area 33 Socket table temporary storage area 34 First node device information temporary storage Area 35 Version information temporary storage area 36 Address information temporary storage area
37 Participation Message Temporary Storage Area

Claims (7)

複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信する情報通信システムであって、
前記複数のノード装置のいずれかの前記ノード装置が、
IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段と、
前記複数のノード装置のいずれかであって、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段と、
前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、
前記受信手段により受信された参加メッセージが含む前記プロトコル情報が、前記第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する判定手段と、
前記判定手段により一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、
前記判定手段により一致すると判定されなかったとき、前記参加ノード装置へ、前記第2記憶手段に記憶された前記第1ノード装置の前記所在情報を送信する送信手段と、
を備えることを特徴とする情報通信システム。
An information communication system for transmitting and receiving a plurality of data distributed and stored by an overlay network composed of a plurality of node devices,
The node device of any of the plurality of node devices is
Location information indicating a location on the network of node devices participating in the first overlay network, which is a first overlay network composed of at least a part of node devices communicable with IPv4, is registered. The first routing table or the second overlay network configured by at least a part of node devices communicable with IPv6, wherein the location information of the node devices participating in the second overlay network is registered. First storage means for storing any one of the second routing tables,
A second storage that stores location information indicating a location of the first node device in the network, which is one of the plurality of node devices and can communicate with both IPv4 and IPv6, which are protocols that the node device can communicate with. Means,
A participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, including protocol information indicating IPv4 or IPv6 which is a protocol with which the participating node device can communicate Receiving means for receiving a participation message;
Determining means for determining whether the protocol information included in the participation message received by the receiving means matches the protocol of the routing table stored by the first storage means;
When it is determined by the determination means that they match, at least a part of the routing table determined to match is transmitted to the participating node devices,
A transmitting means for transmitting the location information of the first node device stored in the second storage means to the participating node device when it is not determined to match by the determining means;
An information communication system comprising:
前記参加ノード装置は、
前記送信手段により送信された前記第1ノード装置の前記所在情報を取得する第1取得手段と、
前記第1取得手段により取得された前記所在情報が示す前記第1ノード装置へ、前記参加ノード装置で通信可能なプロトコルを用いてセッションを生成する第1生成手段と、
を備え、
前記第1ノード装置は、
前記第1生成手段によりセッションを生成された前記参加ノード装置から、所定の前記データの要求を受信する要求受信手段と、
前記要求受信手段により要求された前記データを、前記オーバーレイネットワークに接続されるノード装置のいずれかから取得する第2取得手段と、
前記第2取得手段により取得された前記データを、前記参加ノード装置へ中継する中継手段と、
を備えることを特徴とする請求項1に記載の情報通信システム。
The participating node device is:
First acquisition means for acquiring the location information of the first node device transmitted by the transmission means;
First generation means for generating a session using a protocol communicable with the participating node apparatus to the first node apparatus indicated by the location information acquired by the first acquisition means;
With
The first node device is
Request receiving means for receiving a predetermined request for the data from the participating node device for which a session has been generated by the first generating means;
Second acquisition means for acquiring the data requested by the request reception means from any of the node devices connected to the overlay network;
Relay means for relaying the data acquired by the second acquisition means to the participating node device;
The information communication system according to claim 1, further comprising:
前記参加ノード装置は、
前記データを記憶する第3記憶手段と、
前記第3記憶手段に記憶されたデータを、前記オーバーレイネットワークで公開する公開手段と、
前記公開手段により前記データを公開する前に、前記公開手段により公開される前記データを、前記オーバーレイネットワークを用いて検索する検索手段と、
を備え、
前記検索手段により前記公開されるデータが検索されなかったとき、前記公開手段は、前記データを公開することを特徴とする請求項2に記載の情報通信システム。
The participating node device is:
Third storage means for storing the data;
Publishing means for publishing data stored in the third storage means on the overlay network;
Search means for searching the data published by the publication means using the overlay network before the data is published by the publication means;
With
The information communication system according to claim 2, wherein when the data to be disclosed is not searched by the search means, the release means releases the data.
前記受信手段により受信された前記参加メッセージが含む前記プロトコル情報が、IPv4とIPv6との両方で通信可能なことを示す場合、前記第2記憶手段は、前記参加ノード装置を前記第1ノード装置として、前記参加ノード装置の前記所在情報を記憶することを特徴とする請求項1から請求項3のいずれか一項に記載の情報通信システム。   When the protocol information included in the participation message received by the receiving unit indicates that communication is possible in both IPv4 and IPv6, the second storage unit sets the participating node device as the first node device. The information communication system according to any one of claims 1 to 3, wherein the location information of the participating node devices is stored. 複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信する情報通信システムが含む前記複数のノード装置のいずれかの前記ノード装置であって、
IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段と、
前記複数のノード装置のいずれかであって、前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段と、
前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信手段と、
前記受信手段により受信された参加メッセージが含む前記プロトコル情報が、前記第1記憶手段により記憶されたルーティングテーブルのプロトコルと一致するかを判定する判定手段と、
前記判定手段により一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、
前記判定手段により一致すると判定されなかったとき、前記参加ノード装置へ、前記第2記憶手段に記憶された前記第1ノード装置の前記所在情報を送信する送信手段と、
を備えることを特徴とするノード装置。
The node device of any of the plurality of node devices included in an information communication system that transmits and receives a plurality of data stored in a distributed manner by an overlay network composed of a plurality of node devices,
Location information indicating a location on the network of node devices participating in the first overlay network, which is a first overlay network composed of at least a part of node devices communicable with IPv4, is registered. The first routing table or the second overlay network configured by at least a part of node devices communicable with IPv6, wherein the location information of the node devices participating in the second overlay network is registered. First storage means for storing any one of the second routing tables,
A second storage that stores location information indicating a location of the first node device in the network, which is one of the plurality of node devices and can communicate with both IPv4 and IPv6, which are protocols that the node device can communicate with. Means,
A participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, including protocol information indicating IPv4 or IPv6 which is a protocol with which the participating node device can communicate Receiving means for receiving a participation message;
Determining means for determining whether the protocol information included in the participation message received by the receiving means matches the protocol of the routing table stored by the first storage means;
When it is determined by the determination means that they match, at least a part of the routing table determined to match is transmitted to the participating node devices,
A transmitting means for transmitting the location information of the first node device stored in the second storage means to the participating node device when it is not determined to match by the determining means;
A node device comprising:
複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信し、前記複数のノード装置のいずれかの前記ノード装置により実行される情報通信方法であって、
前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信ステップと、
IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段により記憶されたルーティングテーブルのプロトコルと、前記受信ステップにより受信された参加メッセージが含む前記プロトコル情報とが一致するかを判定する判定ステップと、
前記判定ステップにより一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、
前記判定ステップにより一致すると判定されなかったとき、前記複数のノード装置のいずれかであって前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された前記第1ノード装置の前記所在情報を、前記参加ノード装置へ送信する送信ステップと、
を含む情報通信方法。
An information communication method for transmitting and receiving a plurality of data distributed and stored by an overlay network composed of a plurality of node devices and executed by any one of the plurality of node devices,
A participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, including protocol information indicating IPv4 or IPv6 which is a protocol with which the participating node device can communicate A receiving step for receiving a participation message;
Location information indicating a location on the network of node devices participating in the first overlay network, which is a first overlay network composed of at least a part of node devices communicable with IPv4, is registered. The first routing table or the second overlay network configured by at least a part of node devices communicable with IPv6, wherein the location information of the node devices participating in the second overlay network is registered. It is determined whether the protocol of the routing table stored by the first storage unit that stores one of the routing tables stored in the second routing table matches the protocol information included in the participation message received by the receiving step Do And a constant step,
When it is determined to match by the determination step, at least a part of the routing table determined to match is transmitted to the participating node device,
In the network of the first node device that can communicate with both IPv4 and IPv6, which is one of the plurality of node devices and the node device can communicate with when it is not determined to match in the determination step A transmitting step of transmitting the location information of the first node device stored in second storage means for storing location information indicating the location to the participating node device;
An information communication method including:
複数のノード装置により構成されるオーバーレイネットワークにより、分散して保存される複数のデータを送受信し、前記複数のノード装置のいずれかの前記ノード装置のコンピュータに、
前記情報通信システムに参加する参加ノード装置から送信され、前記情報通信システムへの参加を示す参加メッセージであって、前記参加ノード装置が通信可能なプロトコルであるIPv4またはIPv6を示すプロトコル情報を含む前記参加メッセージを受信する受信ステップと、
IPv4で通信可能なノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が登録された第1ルーティングテーブル、または、IPv6で通信可能なノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が登録された第2ルーティングテーブルのいずれかのルーティングテーブルを記憶する第1記憶手段により記憶されたルーティングテーブルのプロトコルと、前記受信ステップにより受信された参加メッセージが含む前記プロトコル情報とが一致するかを判定する判定ステップと、
前記判定ステップにより一致すると判定されたとき、前記参加ノード装置へ、一致すると判定されたルーティングテーブルの少なくとも一部を送信し、
前記判定ステップにより一致すると判定されなかったとき、前記複数のノード装置のいずれかであって前記ノード装置が通信可能なプロトコルであるIPv4とIPv6との両方で通信可能な第1ノード装置のネットワークにおける所在を示す所在情報を記憶する第2記憶手段に記憶された前記第1ノード装置の前記所在情報を、前記参加ノード装置へ送信する送信ステップと、
を実行させることを特徴とするプログラム。
By transmitting and receiving a plurality of data stored in a distributed manner by an overlay network composed of a plurality of node devices, the computer of the node device of any of the plurality of node devices,
A participation message transmitted from a participating node device participating in the information communication system and indicating participation in the information communication system, including protocol information indicating IPv4 or IPv6 which is a protocol with which the participating node device can communicate A receiving step for receiving a participation message;
Location information indicating a location on the network of node devices participating in the first overlay network, which is a first overlay network composed of at least a part of node devices communicable with IPv4, is registered. The first routing table or the second overlay network configured by at least a part of node devices communicable with IPv6, wherein the location information of the node devices participating in the second overlay network is registered. It is determined whether the protocol of the routing table stored by the first storage unit that stores one of the routing tables stored in the second routing table matches the protocol information included in the participation message received by the receiving step Do And a constant step,
When it is determined to match by the determination step, at least a part of the routing table determined to match is transmitted to the participating node device,
In the network of the first node device that can communicate with both IPv4 and IPv6, which is one of the plurality of node devices and the node device can communicate with when it is not determined to match in the determination step A transmitting step of transmitting the location information of the first node device stored in second storage means for storing location information indicating the location to the participating node device;
A program characterized by having executed.
JP2010220663A 2010-09-30 2010-09-30 Information communication system, node device, information communication method and program Expired - Fee Related JP5338783B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010220663A JP5338783B2 (en) 2010-09-30 2010-09-30 Information communication system, node device, information communication method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010220663A JP5338783B2 (en) 2010-09-30 2010-09-30 Information communication system, node device, information communication method and program

Publications (2)

Publication Number Publication Date
JP2012080168A JP2012080168A (en) 2012-04-19
JP5338783B2 true JP5338783B2 (en) 2013-11-13

Family

ID=46239956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010220663A Expired - Fee Related JP5338783B2 (en) 2010-09-30 2010-09-30 Information communication system, node device, information communication method and program

Country Status (1)

Country Link
JP (1) JP5338783B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6406879B2 (en) * 2014-05-26 2018-10-17 キヤノン株式会社 Information processing apparatus, control method thereof, and program
CN117440057A (en) * 2022-07-12 2024-01-23 华为技术有限公司 Message forwarding method, system, network device, storage medium and program product

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004363745A (en) * 2003-06-03 2004-12-24 Sony Corp Communication processor, server device, communication processing system and method, and computer program
JP4655986B2 (en) * 2006-04-12 2011-03-23 ブラザー工業株式会社 Node device, storage control program, and information storage method

Also Published As

Publication number Publication date
JP2012080168A (en) 2012-04-19

Similar Documents

Publication Publication Date Title
JP5556104B2 (en) Information communication system, information communication method, and information communication program
JP3872051B2 (en) System and method for searching and distributing contents, and program
JP4910881B2 (en) Communication system, node device, node processing program, and message transmission / reception method
JP2006190205A (en) Network system, information processing method, information processing program, and information processor
JP5338783B2 (en) Information communication system, node device, information communication method and program
JP5440574B2 (en) Node device, information communication method, and program
JP5272991B2 (en) Information communication system, information communication method and program
JP5532649B2 (en) Node device, node processing program, and content storage method
JP5370316B2 (en) Node device, information communication system, 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
JP5359728B2 (en) Karaoke system, karaoke device, node device, karaoke program, node program, and karaoke data transmission method
JP2007053452A (en) Information communication system, information communication method, node device, and computer program
JP5370324B2 (en) First node device, content distributed storage system, content distributed storage method and program
JP5353789B2 (en) Node device, information communication system, message transmission method and program
JP5370315B2 (en) Communication system, information processing apparatus, information processing program, and location information registration method
JP2005244880A (en) Device, system, and method for information transfer
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP2012178119A (en) Communication system, information processor, management method and program
JP2012050019A (en) Node device, information communication system, information processing method, and information processing program
JP5494361B2 (en) Distributed storage system, representative node device, notification method, and program
JP5907132B2 (en) Relay device, program, and communication system
JP2013178609A (en) Node device, information communication system, upload method and program
JP2011193379A (en) Communication system

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R150 Certificate of patent or registration of utility model

Ref document number: 5338783

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