JP2010028551A - Content distributed storage system, node device, node processing program, and address information change notifying method - Google Patents
Content distributed storage system, node device, node processing program, and address information change notifying method Download PDFInfo
- Publication number
- JP2010028551A JP2010028551A JP2008188825A JP2008188825A JP2010028551A JP 2010028551 A JP2010028551 A JP 2010028551A JP 2008188825 A JP2008188825 A JP 2008188825A JP 2008188825 A JP2008188825 A JP 2008188825A JP 2010028551 A JP2010028551 A JP 2010028551A
- Authority
- JP
- Japan
- Prior art keywords
- node
- address
- node device
- address information
- information
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。 The present invention relates to a technical field of a peer-to-peer (P2P) type communication system including a plurality of node devices that can communicate with each other via a network.
この種のピアツーピア型の通信システムにおいて、複数のコンテンツデータ(映画及び音楽等のコンテンツのデータ)の複製データ(以下、「レプリカ」という)を複数のノード装置に分散して保存(配置)させ、IPアドレス(Internet Protocol)が割り当てられている各ノード装置間でレプリカを授受可能としたコンテンツ分散保存システムが知られている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。
ところで、各ノード装置に割り当てられているIPアドレスは、固定でないこと場合がある。例えば、Internet Protocol version 4(以下、「IPv4」という)の場合、一般に、DHCP(Dynamic Host Configuration Protocol)サーバによりIPアドレスが割り当てられるが、当該IPアドレスにリース期間(有効期間)が設定されていると、当該期間後にIPアドレスが変わることがある。また、Internet Protocol version 6(以下、「IPv6」という)の場合、DHCPサーバがなくても、ルータのステートレス自動設定によりIPアドレスを割り当てることができるが、当該IPアドレスを使用続けるとセキュリティ上の問題があるので、定期的に変更される一時アドレス(RFC3041)が使用される。 By the way, the IP address assigned to each node device may not be fixed. For example, in the case of Internet Protocol version 4 (hereinafter referred to as “IPv4”), an IP address is generally assigned by a DHCP (Dynamic Host Configuration Protocol) server, and a lease period (valid period) is set for the IP address. The IP address may change after the period. In the case of Internet Protocol version 6 (hereinafter referred to as “IPv6”), an IP address can be assigned by a stateless automatic configuration of a router without a DHCP server. However, if the IP address is continuously used, there is a security problem. Therefore, a temporary address (RFC3041) that is changed periodically is used.
しかしながら、このようにIPアドレスが変更されると、各ノード装置間の情報伝達、例えば、上記DHTを用いたメッセージのルーティング等に支障を来たす可能性がある。 However, when the IP address is changed in this way, there is a possibility that information transmission between the node devices, for example, message routing using the DHT may be hindered.
本発明は、以上の点等に鑑みてなされたものであり、IPアドレスが変更されても、各ノード装置間の情報伝達に支障が来たすことを防止することが可能なコンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法を提供することを課題とする。 The present invention has been made in view of the above points and the like. Even if the IP address is changed, the content distributed storage system and the node that can prevent the transmission of information between the respective node devices are prevented. It is an object to provide an apparatus, a node processing program, and an address information change notification method.
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続された複数のノード装置の参加により構成されるコンテンツ分散保存システムであり、複数のコンテンツの複製データが複数のノード装置に分散して保存され、各ノード装置間で前記複製データを授受可能としたコンテンツ分散保存システムにおいて、前記ノード装置は、前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、自己のアドレス情報の変更を検出するアドレス変更検出手段と、前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定するノード選定手段と、前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するアドレス変更通知手段と、を備え、前記アドレス変更通知メッセージを受信するノード装置は、前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するアドレス情報更新手段と、を備えることを特徴とする。
In order to solve the above-described problem, the invention according to
この発明によれば、ノード装置は、自己のアドレス情報の変更を検出した場合には、アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定し、当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信し、当該アドレス変更通知メッセージを受信するノード装置は、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するように構成したので、アドレス情報が変更されても、各ノード装置間の情報伝達に支障が来たすことを防止することができる。 According to the present invention, when the node device detects a change in its address information, the node device selects at least one node device from among the node devices in which the address information is stored, and The node device that transmits the address change notification message including the changed address information and its own node identification information and receives the address change notification message has the node identification information included in the received address change notification message. If the address information stored in the past and stored in association with the stored node identification information is different from the address information included in the message, the stored address information is replaced with the stored address information. Address information included in the message. Be changed, it is possible to prevent causing hinder the communication between the node devices.
請求項2に記載の発明は、請求項1に記載のコンテンツ分散保存システムにおいて、前記記憶手段には、メッセージの送信先候補となる前記複数のノード装置であって前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報が登録された送信先テーブルが記憶されており、前記ノード選定手段は、前記送信先テーブルにアドレス情報が登録されているノード装置を選定し、前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とする。 According to a second aspect of the present invention, in the content distributed storage system according to the first aspect, the storage unit includes the plurality of node devices that are message transmission destination candidates and participates in the content distributed storage system. A destination table in which address information and node identification information of a number of node devices smaller than the total number of node devices are registered is stored, and the node selection means stores address information in the destination table. The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device. .
この発明によれば、送信先テーブルを利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted using the transmission destination table.
請求項3に記載の発明は、請求項2に記載のコンテンツ分散保存システムにおいて、前記アドレス変更通知メッセージを受信したノード装置は、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報と、前記送信先テーブルに登録された他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を更に備えることを特徴とする。 According to a third aspect of the present invention, in the content distributed storage system according to the second aspect, the node device that has received the address change notification message includes node identification information included in the received address change notification message; One node device is selected from the transmission destination table based on the comparison result with the node identification information of another node device registered in the transmission destination table, and the address information of the selected node device is used for the node device. It further comprises message transfer means for transferring the address change notification message to the node device connected via the network.
この発明によれば、送信先テーブルを利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted using the transmission destination table.
請求項4に記載の発明は、請求項2に記載のコンテンツ分散保存システムにおいて、前記送信先テーブルは、アドレス情報を複数段に区別して登録し、前記ノード選定手段は、前記送信先テーブルの所定段にアドレス情報が登録されているノード装置、及び当該所定段より下位の段にアドレス情報が登録されているノード装置を選定し、前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、前記アドレス変更通知メッセージを受信するノード装置は、前記送信先テーブルの前記所定段より下位の段にアドレス情報が登録されているノード装置を選定し、当該選定した各ノード装置のアドレス情報を用いて当該各ノード装置に前記ネットワークを介して接続し当該各ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を更に備え、当該アドレス変更通知メッセージの転送は、その後に当該メッセージを受信した各ノード装置において同様に行われることを特徴とする。 According to a fourth aspect of the present invention, in the distributed content storage system according to the second aspect, the transmission destination table is registered by distinguishing address information in a plurality of stages, and the node selection unit is configured to store predetermined information in the transmission destination table. A node device in which address information is registered in a stage and a node device in which address information is registered in a stage lower than the predetermined stage, and the address change notification means An address change notification message including the changed address information and its own node identification information is transmitted, and a node device that receives the address change notification message has a lower level than the predetermined stage of the transmission destination table. Select the node device whose address information is registered in the stage, and use the address information of each selected node device It further comprises message transfer means for connecting to the node device via the network and transferring the address change notification message to each of the node devices. The transfer of the address change notification message The same is performed in the node device.
この発明によれば、送信先テーブルを利用してコンテンツ分散保存システムに参加している全ノード装置にアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted to all the node devices participating in the distributed content storage system using the transmission destination table.
請求項5に記載の発明は、請求項1に記載のコンテンツ分散保存システムにおいて、前記記憶手段には、何れかの前記コンテンツの複製データを保存している他のノード装置のアドレス情報と当該コンテンツのコンテンツ識別情報の組を含むインデックス情報が記憶されており、前記ノード選定手段は、前記インデックス情報にアドレス情報が含まれているノード装置を選定し、前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とする。 According to a fifth aspect of the present invention, in the content distributed storage system according to the first aspect, in the storage unit, the address information of another node device storing the duplicate data of any one of the contents and the content Index information including a set of content identification information is stored, the node selecting means selects a node device whose address information is included in the index information, and the address change notification means is the selected information An address change notification message including the changed address information and its own node identification information is transmitted to the node device.
この発明によれば、インデックス情報を利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted using the index information.
請求項6に記載の発明は、請求項1に記載のコンテンツ分散保存システムにおいて、前記記憶手段には、自己にメッセージを過去に送信した他のノード装置のアドレス情報を含むログ情報が記憶されており、前記ノード選定手段は、前記ログ情報にアドレス情報が含まれているノード装置を選定し、前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とする。 According to a sixth aspect of the present invention, in the content distributed storage system according to the first aspect, the storage unit stores log information including address information of another node device that has transmitted a message to itself in the past. The node selecting means selects a node device whose address information is included in the log information, and the address change notifying means selects the changed address information for the selected node device; An address change notification message including the node identification information is transmitted.
この発明によれば、ログ情報を利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, an address change notification message can be transmitted using log information.
請求項7に記載の発明は、請求項1に記載のコンテンツ分散保存システムにおいて、前記記憶手段には、前記コンテンツ分散保存システムへの参加の際に送信するべき参加メッセージの送信先のノード装置のアドレス情報が記憶されており、前記ノード選定手段は、前記参加メッセージの送信先のノード装置を選定し、前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、前記アドレス変更通知メッセージを受信したノード装置は、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報と、前記送信先テーブルに登録された他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を更に備えることを特徴とする。 A seventh aspect of the present invention is the content distributed storage system according to the first aspect, wherein the storage means includes a node device that is a transmission destination of a participation message to be transmitted when participating in the content distributed storage system. Address information is stored, the node selection means selects a node device to which the participation message is transmitted, and the address change notification means has the changed address information for the selected node device, And an address change notification message including its own node identification information, wherein the node device that has received the address change notification message includes the node identification information included in the received address change notification message, and the transmission The transmission based on the comparison result with the node identification information of another node device registered in the destination table Message transfer means for selecting one node device from the table, connecting to the node device via the network using the address information of the selected node device, and transferring the address change notification message to the node device Is further provided.
この発明によれば、参加メッセージの転送経路を利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted using the transfer path of the participation message.
請求項8に記載の発明は、請求項1乃至7の何れか一項に記載のコンテンツ分散保存システムにおいて、前記記憶手段には、メッセージの送信先候補となる前記複数のノード装置であって前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報が登録された送信先テーブルが記憶されており、前記アドレス変更通知手段は、自己が保存している前記複製データに対応するコンテンツ識別情報と、前記送信先テーブルに登録されている他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記変更されたアドレス情報、当該コンテンツ識別情報及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、前記アドレス変更通知メッセージを受信したノード装置は、前記受信されたアドレス変更通知メッセージが自己宛てであるか否かを、前記アドレス変更通知メッセージに含まれるコンテンツ識別情報と、自己のノード識別情報及び前記送信先テーブルに登録されている他のノード装置のノード識別情報との比較結果に基づいて判別し、自己宛でない場合には、前記比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段と、を更に備えることを特徴とする。
The invention according to
この発明によれば、送信先テーブルを利用してアドレス変更通知メッセージを送信することができる。 According to the present invention, the address change notification message can be transmitted using the transmission destination table.
請求項9に記載の発明は、ネットワークに接続された複数のノード装置の参加により構成されるコンテンツ分散保存システムであり、複数のコンテンツの複製データが複数のノード装置に分散して保存され、各ノード装置間で前記複製データを授受可能としたコンテンツ分散保存システムにおけるノード装置であって、前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、自己のアドレス情報の変更を検出するアドレス変更検出手段と、前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定するノード選定手段と、前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するアドレス変更通知手段と、前記受信したアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するアドレス情報更新手段と、を備えることを特徴とする。 The invention according to claim 9 is a content distributed storage system configured by participation of a plurality of node devices connected to a network, wherein duplicate data of a plurality of contents is distributed and stored in a plurality of node devices, Address information and node identification of node devices in a distributed content storage system that can exchange the replicated data between the node devices, the number being less than the total number of node devices participating in the distributed content storage system Storage means for storing information; address change detection means for detecting a change in its own address information; and if a change in the address information is detected, at least one of the node devices in which the address information is stored Node selection means for selecting one node device and the address of the selected node device Address change notifying means for transmitting the address change notification message including the changed address information and its own node identification information to the node device by connecting to the node device using the information, and The node identification information included in the received address change notification message is stored in the past, and the address information stored in association with the stored node identification information is different from the address information included in the message. In this case, the information processing apparatus includes an address information updating unit that updates the address information included in the message instead of the stored address information.
請求項10に記載のノード処理プログラムの発明は、コンピュータを、請求項1乃至9の何れか一項に記載のコンテンツ分散保存システムにおけるノード装置として機能させることを特徴とする。 The invention of a node processing program according to a tenth aspect is characterized in that a computer is caused to function as a node device in the content distributed storage system according to any one of the first to ninth aspects.
請求項11に記載の発明は、ネットワークに接続された複数のノード装置の参加により構成されるコンテンツ分散保存システムであり、複数のコンテンツの複製データが複数のノード装置に分散して保存され、各ノード装置間で前記複製データを授受可能としたコンテンツ分散保存システムにおけるアドレス情報変更通知方法であって、前記ノード装置は、前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する工程と、自己のアドレス情報の変更を検出する工程と、前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定する工程と、前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信する工程と、を備え、前記アドレス変更通知メッセージを受信するノード装置は、前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する工程と、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新する工程と、を備えることを特徴とする。
The invention according to
本発明によれば、ノード装置は、自己のアドレス情報の変更を検出した場合には、アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定し、当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信し、当該アドレス変更通知メッセージを受信するノード装置は、前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するように構成したので、アドレス情報が変更されても、各ノード装置間の情報伝達に支障が来たすことを防止することができる。 According to the present invention, when a node device detects a change in its address information, it selects at least one node device from among the node devices in which the address information is stored, and The node device that transmits the address change notification message including the changed address information and its own node identification information and receives the address change notification message has the node identification information included in the received address change notification message. If the address information stored in the past and stored in association with the stored node identification information is different from the address information included in the message, the stored address information is replaced with the stored address information. Address information included in the message. Be further, you are possible to prevent causing hinder the communication between the node devices.
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distributed storage system.
[1.コンテンツ分散保存システムの構成等]
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの概要構成等について説明する。
[ 1. Configuration of distributed content storage system ]
First, with reference to FIG. 1 and the like, a schematic configuration and the like of the content distributed storage system according to the present embodiment will be described.
図1は、本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。 FIG. 1 is a diagram showing an example of a connection mode of each node device in the distributed content storage system according to this embodiment.
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
As shown in the
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)がルータを介して接続されている。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレス(アドレス情報)が割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
A plurality of node devices (hereinafter referred to as “nodes”) Nn (n = 1, 2, 3,...) Are connected to such a
なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。かかるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。
A network 9 shown in the
そして、コンテンツ分散保存システムS(言い換えれば、オーバーレイネットワーク9)に参加している各ノードNnには、所定桁数からなる固有のノード識別情報であるノードIDが割り当てられている。また、当該ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。 Each node Nn participating in the distributed content storage system S (in other words, the overlay network 9) is assigned a node ID that is unique node identification information having a predetermined number of digits. The node ID is, for example, a value (for example, the bit length is 160 bits) obtained by hashing an IP address or a manufacturing number individually assigned to each node Nn with a common hash function (for example, SHA-1). Yes, it will be distributed in one ID space without any bias.
なお、コンテンツ分散保存システムSへの参加は、参加していないノードNn(例えば、ノードN8)が、参加している任意のノードNn(例えば、当該システムSに常時参加しているコンタクトノード)に対して参加要求を示す参加メッセージを送信することによって行われる。 In addition, participation in the content distributed storage system S is performed by any node Nn (for example, the node N8) that has not participated in any node Nn (for example, a contact node that always participates in the system S) that has not participated. This is done by sending a participation message indicating a participation request.
また、各ノードNnは、夫々、DHTを用いたルーティングテーブル(送信先テーブルの一例、以下、「DHTルーティングテーブル」という)を保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先候補(送信先候補)先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。 Each node Nn holds a routing table using DHT (an example of a destination table, hereinafter referred to as “DHT routing table”). This routing table defines transfer destination candidates (transmission destination candidates) destinations of various messages on the content distributed storage system S. Specifically, the node ID and IP of nodes Nn that are moderately separated in the ID space A plurality of node information including addresses and port numbers are registered.
コンテンツ分散保存システムSに参加している1台のノードNnは、該システムSに参加している全てのノードNnのうち、必要最低限のノードNn(つまり、該システムSに参加している全ノードNnの数より少ない数のノードNn)のノード情報をルーティングテーブルに登録しておき、ノード情報を知らない(記憶していない)ノードNnについては、各ノードNn間で互いに各種メッセージを転送し合って届けてもらうようになっている。 One node Nn participating in the content distributed storage system S is the minimum necessary node Nn among all the nodes Nn participating in the system S (that is, all nodes participating in the system S). Node information of nodes Nn) smaller than the number of nodes Nn) is registered in the routing table, and for nodes Nn that do not know (not store) node information, various messages are transferred between the nodes Nn. It is supposed to be delivered together.
ここで、図2及び図3を参照して、DHTルーティングテーブルについて詳しく説明する。 Here, the DHT routing table will be described in detail with reference to FIGS.
図2は、ノードN2が保持するDHTルーティングテーブルの一例を示す図であり、図3は、DHTのID空間の一例を示す概念図である。 FIG. 2 is a diagram showing an example of a DHT routing table held by the node N2, and FIG. 3 is a conceptual diagram showing an example of a DHT ID space.
なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。 2 and 3, for convenience of explanation, the bit length of the node ID is 2 bits × 3 digits = 6 bits, and each digit is represented by a quaternary number (an integer from 0 to 3) (actually, A longer bit length is used, and each digit is also divided into, for example, 4 bits and expressed by a hexadecimal number of 0 to f).
図2の例において、DHTルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数段のテーブルからなり、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードIDとこれに対応するノードNnのIPアドレス及びポート番号が対応付けられて登録されている。 In the example of FIG. 2, the DHT routing table is composed of a multi-level table of level 1 (first level) to level 3 (third level), and each level table entry includes node information as node information for each area. The ID is registered in association with the IP address and port number of the node Nn corresponding to the ID.
つまり、各ノードNnのノード情報は、複数段に区別して登録されており、最上位段をレベル1として、当該レベル1より下位の段であるレベル2、レベル3が続くことになる(レベル2はレベル3の上位の段ということになる)。
That is, the node information of each node Nn is registered separately in a plurality of levels, and the highest level is
各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図3に示すように、レベル1では、DHTのID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133” のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103” のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。
Each area in the table of each level is an area obtained by dividing the DHT node ID space. For example, as shown in FIG. 3, in the
そして、例えば、ノードN2のノードIDが“122”とすると、図2に示すように、かかるノードN2のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。
For example, if the node ID of the node N2 is “122”, as shown in FIG. 2, the table of the 1XX area at the
また、かかるノードN2のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図2に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。 Further, in the table of the 12X area (the area where the self exists) in the level 2 of the node N2, as shown in FIG. 2, the own node ID and the IP address (the IP address is own) In the areas where the self does not exist (that is, the 10X area, the 11X area, and the 13X area), etc., nodes of other arbitrary nodes Nn, respectively, are registered. ID, IP address, etc. are registered.
更に、かかるノードN2のレベル3には、図2に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
Further, in the
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
In the example of FIGS. 2 and 3, since the bit length of the node ID is 3 digits × 2 bits, it can be covered by a table of three levels of
このように、本実施形態におけるDHTルーティングテーブルでは、レベルの数値が大きくなるほど、言い換えれば、下位の段にいくほど、エリアが狭まっていくようになっている。 As described above, in the DHT routing table according to the present embodiment, the area becomes narrower as the numerical value of the level becomes larger, in other words, as the level becomes lower.
そして、このようなDHTルーティングテーブルは、例えば、未参加のノードがコンテンツ分散保存システムSに参加する際に生成される。 Such a DHT routing table is generated, for example, when a non-participating node participates in the content distributed storage system S.
ここで、図4を参照して、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順について詳しく説明する。 Here, with reference to FIG. 4, a procedure for generating a DHT routing table when participating in the distributed content storage system S will be described in detail.
図4は、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順の一例を示す概念図である。 FIG. 4 is a conceptual diagram illustrating an example of a procedure for generating a DHT routing table at the time of participation in the content distributed storage system S.
図4に示すように、未参加のノードN8(例えば、ノードIDを“123”とする)がコンテンツ分散保存システムSに参加する場合、例えば、コンタクトノードのIPアドレスを用いて当該コンタクトノードにネットワーク8を介して接続し当該コンタクトノードに対して参加メッセージ(ノードN8のノード情報を含む)を送信する。当該参加メッセージを受信したコンタクトノードは、自己のDHTルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。更に、コンタクトノードは、受信された参加メッセージに含まれるノードIDと、DHTルーティングテーブルに登録された他のノードNnのノードIDとの比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定する。例えば、参加メッセージに含まれるノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードN35が、DHTルーティングテーブルから選定され、当該ノードN35に上記参加メッセージが転送される。このとき、当該参加メッセージには、次に返信させるべきテーブルの段数(ここでは、レベル2)を示す情報が含められる。
As shown in FIG. 4, when a non-participating node N8 (for example, node ID “123”) participates in the content distribution storage system S, for example, a network is connected to the contact node using the IP address of the contact node. 8 and a participation message (including node information of the node N8) is transmitted to the contact node. The contact node that has received the participation message returns a reply message including node information registered in the
次に当該参加メッセージを受信したノードN35は、自己のDHTルーティングテーブルにおけるレベル2のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。更に、ノードN35は、受信された参加メッセージに含まれるノードIDと、DHTルーティングテーブルに登録された他のノードNnのノードIDとの比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定する。例えば、参加メッセージに含まれるノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードN2が、DHTルーティングテーブルから選定され、当該ノードN2に上記参加メッセージが転送される。このとき、当該参加メッセージには、次に返信させるべきテーブルの段数(ここでは、レベル3)を示す情報が含められる。 Next, the node N35 that has received the participation message returns a reply message including the node information registered in the level 2 table in its own DHT routing table to the node N8. Further, the node N35 selects one node Nn from the DHT routing table based on the comparison result between the node ID included in the received participation message and the node ID of the other node Nn registered in the DHT routing table. . For example, the node N2 having the node ID closest to the node ID included in the participation message (for example, the higher digit matches more) is selected from the DHT routing table, and the participation message is transferred to the node N2. At this time, the participation message includes information indicating the number of steps of the table to be returned next (here, level 3).
次に当該参加メッセージを受信したノードN2は、自己のDHTルーティングテーブルにおけるレベル3のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。
Next, the node N2 that has received the participation message returns a reply message including node information and the like registered in the
以上のようにして参加メッセージは、ノードIDをキーとするDHTルーティングにより、未参加のノードN8のノードIDに一番近いノードIDを有するノードNnまで転送される。 As described above, the participation message is transferred to the node Nn having the node ID closest to the node ID of the non-participating node N8 by DHT routing using the node ID as a key.
そして、ノードN8は、各ノードNnから受信した返信メッセージに含まれるノード情報等を用いて自己のDHTルーティングテーブルを生成する。当該DHTルーティングテーブルを生成においては、例えば、コンタクトノードから受信されたノード情報が自己のDHTルーティングテーブルのテーブル1に登録され、ノードN35から受信されたノード情報が自己のDHTルーティングテーブルのテーブル2に登録され、ノードN2から受信されたノード情報が自己のDHTルーティングテーブルのテーブル3に登録される。 Then, the node N8 generates its own DHT routing table using the node information included in the reply message received from each node Nn. In generating the DHT routing table, for example, the node information received from the contact node is registered in the table 1 of its own DHT routing table, and the node information received from the node N35 is stored in the table 2 of its own DHT routing table. The node information registered and received from the node N2 is registered in the table 3 of its own DHT routing table.
こうして、ノードN8は、コンテンツ分散保存システムSへの参加が完了することになる。なお、図4に示すようなメッセージのやりとりは三角形になるので、このような参加の形態を「三角JOIN」と称する。 Thus, the node N8 completes participation in the content distributed storage system S. Since message exchanges as shown in FIG. 4 are triangular, such a form of participation is referred to as “triangular JOIN”.
ところで、コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツ(例えば、映画や音楽等)のレプリカが所定のファイル形式で複数のノードNnに分散して保存(格納)されており、各ノードNn間で当該レプリカを授受可能になっている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存されている。 By the way, in the content distributed storage system S, replicas of various contents having different contents (for example, movies, music, etc.) are distributed (stored) in a plurality of nodes Nn in a predetermined file format. The replica can be exchanged between Nn. For example, the node N5 stores a replica of the movie content with the title XXX, while the node N3 stores a replica of the movie content with the title YYY. (Hereinafter referred to as “content holding nodes”).
また、これらのコンテンツのレプリカには、夫々、コンテンツ名(タイトル)、及びコンテンツID(コンテンツ毎に固有のコンテンツ識別情報)等の情報が付与されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム管理者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれたコンテンツカタログ情報が、全ノードNnに配布される。 In addition, information such as a content name (title) and a content ID (content identification information unique to each content) is assigned to each of these content replicas. This content ID is generated, for example, by hashing the content name + arbitrary numerical value (or may be the first few bytes of the content data) with a hash function common to obtaining the node ID (node ID and Placed in the same ID space). Alternatively, the system administrator may give a unique ID value (same bit length as the node ID) for each content. In this case, the content catalog information in which the correspondence between the content name and the content ID is written is distributed to all the nodes Nn.
また、このように分散保存されているレプリカの所在、つまり、当該レプリカを保存したノードNnのノード情報と当該コンテンツのレプリカに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードNn(以下、「ルートノード」、又は「コンテンツデータ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。 In addition, the location of the replica stored in this manner, that is, the index information including the set of the node information of the node Nn storing the replica and the content ID corresponding to the replica of the content is the replica of the content. Is stored (stored in the index cache) and managed by a node Nn (hereinafter referred to as “root node” or “root node of content data (content ID)”) that manages the location of
つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。 That is, the node information of the content holding node storing the content replica is managed by the root node so as to be provided in response to an inquiry from another node Nn.
例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。 For example, the index information about the replica of the movie content with the title XXX is managed by the node N4 which is the root node of the content (content ID), and the index information about the replica of the movie content with the title YYY is Managed by the node N7 which is the root node of the content (content ID). Further, such a root node is determined to be, for example, a node Nn having a node ID closest to the content ID (for example, the higher-order digits match more).
そして、あるノードNnのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより例えばコンテンツカタログ情報から選択されたコンテンツのコンテンツID及び自己のIPアドレス等を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛に)送出する(つまり、ルートノードにコンテンツのレプリカの所在を問い合わせる)。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。なお、このDHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。 When a user of a certain node Nn wants to acquire a replica of the desired content, the node Nn that desires to acquire the replica (hereinafter referred to as “user node”) is the content selected by the user from content catalog information, for example. A content location inquiry (search) message (query) including the content ID and its own IP address is generated and sent to another node Nn according to its own DHT routing table. That is, the user node sends a content location inquiry (search) message toward the root node (to the root node) (that is, inquires the location of the content replica to the root node). As a result, the content location inquiry (search) message finally arrives at the root node by DHT routing using the content ID as a key. Since this DHT routing is known in Japanese Patent Laid-Open No. 2006-197400 and the like, detailed description thereof is omitted.
なお、各ノードNnにおいてユーザにより選択されるべきコンテンツのコンテンツ名、コンテンツID、公開日時等の属性情報は、例えばコンテンツ提供サーバから全てのノードNnに配信されるコンテンツカタログ情報に記述されている。また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。 Note that the attribute information such as the content name, content ID, and publication date of the content to be selected by the user in each node Nn is described in, for example, content catalog information distributed from the content providing server to all the nodes Nn. The content ID included in the content location inquiry (search) message may be generated by the user node by hashing the content name with the common hash function.
上記コンテンツ所在問合せ(検索)メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのIPアドレス等に基づいて当該コンテンツ保持ノードに接続して、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカを取得(ダウンロード)する。 The root node that receives the content location inquiry (search) message acquires index information corresponding to the content ID included in the content node from the index cache, and uses the index information as a user who is the transmission source of the content location inquiry message. Reply to the node. The user node that has acquired the index information in this way connects to the content holding node based on the IP address of the content holding node included in the index information, transmits a content transmission request message, and then creates a replica of the content from there. Obtain (download).
なお、ルートノードは、当該インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカを取得することもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。 The root node transmits a content transmission request message to the content holding node indicated by the IP address or the like included in the index information, whereby the user node acquires the replica from the content holding node. You can also The user node can also acquire the index information from a cache node that caches the same index information as the root node until the content location inquiry message reaches the root node.
そして、コンテンツ保持ノードから取得したコンテンツのレプリカを保存(例えば、ハードディスクに記録)したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために(言い換えれば、該システムSに参加している他のノードNnに対して公開するために)、当該レプリカのコンテンツID及び自己のノード情報が含まれるパブリッシュ(登録通知)メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて(ルートノード宛に)送出する。 Then, the user node that has stored the replica of the content acquired from the content holding node (for example, recorded on the hard disk) notifies the root node that the replica has been stored (in other words, participates in the system S). A publish (registration notification) message including the content ID of the replica and its own node information, and direct the publish message to the root node (to be disclosed to other nodes Nn) Send to node).
これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)することになる。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。 As a result, the publish message arrives at the root node by DHT routing using the content ID as a key, like the content location inquiry (search) message. Then, the root node registers (stores in the index cache area) index information including a set of node information and content ID included in the received publish message. In this way, the user node becomes a new content holding node that holds a replica of the content.
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録(キャッシュ)される。 Note that the index information including the set of node information and content ID included in the publish message is also registered (cached) in the cache node in the transfer path to the root node.
[2.ノードNnの構成及び機能等]
次に、図5を参照して、ノードNnの構成及び機能について説明する。
[ 2. Configuration and function of node Nn ]
Next, the configuration and function of the node Nn will be described with reference to FIG.
図5は、ノードNnの概要構成例を示す図である。 FIG. 5 is a diagram illustrating a schematic configuration example of the node Nn.
各ノードNnは、図5に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータのレプリカ、インデックス情報、DHTルーティングテーブル等)及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部12と、受信されたコンテンツデータのレプリカ等を一時蓄積するバッファメモリ13と、コンテンツデータのレプリカに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部19と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)20と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部19、及び入力部20はバス21を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
As shown in FIG. 5, each node Nn includes a
また、記憶部12には、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号等が記憶されている。なお、上述したDHTルーティングテーブル及びインデックスキャッシュに記憶されているノード情報の他にも、記憶部12には、自ノードにメッセージを過去に送信した他のノードNnのIPアドレスを含むログ情報が記憶されるように構成しても良い。
In addition, the
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行い、更に、本発明におけるアドレス変更検出手段、ノード選定手段、アドレス変更通知手段、メッセージ転送手段、及びアドレス情報更新手段等として機能する。
In such a configuration, the
具体的には、制御部11は、自ノードのIPアドレスの変更を検出する。なお、IPアドレスの変更は、例えば他のノードNnと接続できたときに検出することができる。制御部11は、IPアドレスの変更を検出した場合、当該IPアドレスの変更を通知するために、IPアドレスが記憶されている他のノードNn(つまり、IPアドレスを知っている他のノードNn)のうちから少なくとも一つのノードNnを選定する。
Specifically, the
そして、制御部11は、選定したノードNnのIPアドレスを用いて当該ノードNnにネットワーク8を介して接続し当該ノードNnに対して、自ノードの変更されたIPアドレス及び自ノードのノードIDを含むアドレス変更通知メッセージを送信する。
Then, the
ところで、当該アドレス変更通知メッセージの送信対象として、例えば、DHTルーティングテーブルにノード情報が登録されている全てのノードNn、及びインデックスキャッシュにIPアドレスが記憶されている全てのノードNnが選定されるように構成すれば、自ノードとメッセージのやり取りを行う可能性のある多くのノードNnに対して、IPアドレスの変更を通知することができる。また、上述したログ情報が記憶されるのであれば、当該ログ情報中にIPアドレスが含まれている全てのノードNnがアドレス変更通知メッセージの送信対象として選定されるように構成すれば、自ノードとメッセージのやり取りを行う可能性のある、より多くのノードNnに対して、IPアドレスの変更を通知することができる。 By the way, for example, all nodes Nn whose node information is registered in the DHT routing table and all nodes Nn whose IP addresses are stored in the index cache are selected as transmission targets of the address change notification message. With this configuration, it is possible to notify the change of the IP address to many nodes Nn that may exchange messages with the own node. In addition, if the log information described above is stored, if configured so that all nodes Nn whose IP addresses are included in the log information are selected as transmission targets of the address change notification message, the own node The IP address change can be notified to a larger number of nodes Nn that may exchange messages with each other.
ただし、DHTルーティングテーブル、インデックスキャッシュ、及びログ情報におけるノードNnに対してアドレス変更通知メッセージを送信するだけでは、自ノードが把握していない他のノードNnに対してはIPアドレスの変更を通知することが困難である。そこで、IPアドレスの変更通知(アドレス変更通知メッセージ)を上述したパブリッシュメッセージと同様の転送経路で転送させるように構成すると良い。例えば、制御部11は、自ノードの記憶部12に保存されているレプリカのコンテンツID、及び自ノードのノード情報(自ノードの変更されたIPアドレス及び自ノードのノードIDを含む)が含まれるパブリッシュメッセージ(つまり、アドレス変更通知メッセージを含むパブリッシュメッセージ)を、当該コンテンツIDをキーとしてそのルートノードに向けて送出する。これにより、パブリッシュメッセージがルートノードに至るまでの転送経路におけるキャッシュノード(自ノードのIPアドレスを記憶しているであろうノードNn)に対してもIPアドレスの変更を通知することができる。
However, only by sending an address change notification message to the node Nn in the DHT routing table, index cache, and log information, the change of the IP address is notified to other nodes Nn that the node itself does not grasp. Is difficult. Therefore, it is preferable that the IP address change notification (address change notification message) be transferred through the same transfer path as the publish message described above. For example, the
更に、上述した三角JOINを利用して、IPアドレスの変更通知(アドレス変更通知メッセージ)を参加メッセージと同様の転送経路で転送させるように構成すると良い。例えば、制御部11は、自ノードのノード情報(自ノードの変更されたIPアドレス及び自ノードのノードIDを含む)が含まれる再参加メッセージ(つまり、アドレス変更通知メッセージを含む再参加メッセージ)を、当該ノードIDをキーとしてそのルートノードに向けて送出する。これにより、再参加メッセージがルートノードに至るまでの転送経路におけるノードNn(図4の例では、自ノードのIPアドレスを記憶しているであろうコンタクトノード及びノードN35)に対してもIPアドレスの変更を通知することができる。
Furthermore, it is preferable to use the above-described triangular JOIN to transfer the IP address change notification (address change notification message) through the same transfer path as the participation message. For example, the
また、別の例として、特開2007−053662号公報にて開示されたDHTマルチキャスト(マルチキャストメッセージ転送処理)によりコンテンツ分散保存システムSに参加している全てのノードNnに対してアドレス変更通知メッセージを送信することが、IPアドレスの変更を通知する上で最も確実である。その反面、自ノードのIPアドレスを記憶していない多くのノードNnに対してアドレス変更通知メッセージが送信されることになるので、無駄が多く、トラフィック量の増大によりネットワーク8に負荷がかかる。
As another example, address change notification messages are sent to all nodes Nn participating in the content distributed storage system S by DHT multicast (multicast message transfer processing) disclosed in Japanese Patent Laid-Open No. 2007-053662. Sending is most reliable for notifying the change of the IP address. On the other hand, since the address change notification message is transmitted to many nodes Nn that do not store the IP address of the own node, it is wasteful and a load is applied to the
一方、アドレス変更通知メッセージを受信したノードNnの制御部11は、当該受信されたアドレス変更通知メッセージに含まれるノードIDが、過去に記憶(例えば、例えばDHTルーティングテーブル、インデックスキャッシュ、及びログ情報の少なくとも何れか一つに記憶)されており、当該記憶されているノードIDに対応付けられて記憶されているIPアドレスが、当該メッセージに含まれるIPアドレスと異なる場合には、当該記憶されているIPアドレスに代えて当該メッセージに含まれるIPアドレスに更新する。
On the other hand, the
[3.コンテンツ分散保存システムSの動作]
次に、図6〜図11等を参照して、コンテンツ分散保存システムSの動作について説明する。
[ 3. Operation of Content Distributed Storage System S ]
Next, the operation of the distributed content storage system S will be described with reference to FIGS.
図6は、ノードNnにおける制御部11のメイン処理を示すフローチャートである。また、図7は、図6に示すステップS2等のパブリッシュ処理の詳細を示すフローチャートであり、図8は、図6に示すステップS5のIPアドレス変更通知処理の詳細を示すフローチャートである。また、図9は、図6に示すステップS7のメッセージ受信処理の詳細を示すフローチャートであり、図10は、図9に示すステップS72及びS86のIPアドレス更新処理の詳細を示すフローチャートである。また、図11は、メッセージ送信処理の詳細を示すフローチャートである。
FIG. 6 is a flowchart showing main processing of the
図6に示す処理は、ノードNnにおいて電源オンがなされると開始され、先ず、制御部11は参加処理を行う(ステップS1)。当該参加処理においては、図4を用いて説明したように、制御部11は、コンタクトノードにネットワーク8を介して接続し当該コンタクトノードに対して参加メッセージを送信する。そして、当該制御部11は、コンタクトノードを含む各ノードNnから返信されてきた返信メッセージを受信すると、各返信メッセージに含まれるノード情報等を用いてDHTルーティングテーブルを生成する。
The process shown in FIG. 6 is started when the power is turned on at the node Nn. First, the
次いで、制御部11はパブリッシュ処理を行う(ステップS2)。当該パブリッシュ処理においては、図7に示すように、制御部11は、記憶部12にコンテンツのレプリカが保存されているか否かを判別し(ステップS21)、保存されていない場合には(ステップS21:NO)、図6の処理に戻り、保存されている場合には(ステップS21:YES)、ステップS22に進む。
Next, the
ステップS22では、制御部11は、保存されているレプリカに対応するコンテンツID及び自ノードのノード情報が含まれるパブリッシュメッセージを、そのルートノードに向けて送出する。具体的には、制御部11は、当該コンテンツIDと、DHTルーティングテーブルに登録されている他のノードNnのノードIDとの比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定、例えば、当該コンテンツIDに最も近いノードIDを有するノードNnを選定する。そして、制御部11は、当該選定したノードNnに対して、上記パブリッシュメッセージを送信する。なお、内容の異なる複数のコンテンツのレプリカが保存されている場合には、各コンテンツのコンテンツIDに対応するルートノードに向けてパブリッシュメッセージが送出される。
In step S22, the
次いで、制御部11は、電源オフ指令があったか否かを判別し(ステップS3)、電源オフ指令がない場合には(ステップS3:NO)、ステップS4に進み、電源オフ指令があった場合には(ステップS3:YES)、脱退処理を行った後、図6の処理を終了する。当該脱退処理においては、保存されているレプリカに対応するコンテンツID及び自ノードのノード情報が含まれる脱退通知メッセージがそのルートノードに向けて送出される。これにより、当該脱退通知メッセージを受信したルートノード、及び当該脱退通知メッセージの転送経路上に存在するキャッシュノードにおいて、脱退通知メッセージの送信元のノード情報がインデックス情報から削除されることになる。
Next, the
ステップS4では、制御部11は、自ノードのIPアドレスの変更を検出したか否かを判別し、IPアドレスの変更を検出していない場合には(ステップS4:NO)、ステップS6に進み、IPアドレスの変更を検出した場合には(ステップS4:YES)、IPアドレス変更通知処理を行う(ステップS5)。当該IPアドレス変更通知処理の例としては、図8(A)〜(E)に示すように、実施例1〜実施例5が挙げられる。
In step S4, the
図8(A)に示す実施例1は、DHTルーティングテーブルを利用した例である。この場合、制御部11は、先ず、自ノードの変更されたIPアドレス及び自ノードのノードIDを含むアドレス変更通知メッセージを生成する(ステップS51A)。次いで、制御部11は、DHTルーティングテーブルにノード情報が登録されている全てのノードNnを選定し、選定した各ノードNnに対して、上記生成したアドレス変更通知メッセージを送信する(ステップ52A)。次いで、制御部11は、図7に示すパブリッシュ処理を行う(ステップS53A)。ここで送信されるパブリッシュメッセージには、自ノードの変更されたIPアドレス及び自ノードのノードIDが含まれる。
Example 1 shown in FIG. 8A is an example using a DHT routing table. In this case, the
図8(B)に示す実施例2は、インデックスキャッシュを利用した例である。この場合、制御部11は、先ず、自ノードの変更されたIPアドレス及び自ノードのノードIDを含むアドレス変更通知メッセージを生成する(ステップS51B)。次いで、制御部11は、インデックスキャッシュにIPアドレスが記憶されている全てのノードNnを選定し、選定した各ノードNnに対して、上記生成したアドレス変更通知メッセージを送信する(ステップ52B)。次いで、制御部11は、図7に示すパブリッシュ処理を行う(ステップS53B)。なお、図8(B)に示す処理において、図8(A)に示すステップS52Aの処理が行われるように構成しても良い。ただし、DHTルーティングテーブルとインデックスキャッシュとの双方にノード情報が記憶されているノードNnについては、当該処理において一度だけアドレス変更通知メッセージが送信される。
Example 2 shown in FIG. 8B is an example using an index cache. In this case, the
図8(C)に示す実施例3は、ログ情報を利用した例である。この場合、制御部11は、先ず、自ノードの変更されたIPアドレス及び自ノードのノードIDを含むアドレス変更通知メッセージを生成する(ステップS51C)。次いで、制御部11は、ログ情報にIPアドレスが記憶されている全てのノードNnを選定し、選定した各ノードNnに対して、上記生成したアドレス変更通知メッセージを送信する(ステップ52C)。次いで、制御部11は、図7に示すパブリッシュ処理を行う(ステップS53C)。
Example 3 shown in FIG. 8C is an example using log information. In this case, the
図8(D)に示す実施例4は、三角JOINを利用した例である。この場合、制御部11は、先ず、自ノードの変更されたIPアドレス及び自ノードのノードIDを含む再参加メッセージを生成する(ステップS51D)。次いで、制御部11は、DHTルーティングテーブルやインデックスキャッシュ等にノード情報が記憶されている一つのノードNnを選定し、選定したノードNnに対して、上記生成した再参加メッセージを送信する(ステップ52D)。ここで、選定されるノードNnとしてコンタクトノードとすれば、当該再参加メッセージは、上記ステップS1の参加処理による参加メッセージの転送経路上に存在するノードNnにおけるDHTルーティングテーブルの内容に変更がなければ、当該参加メッセージと同一の転送経路で転送されるのでより効果的である。次いで、制御部11は、図7に示すパブリッシュ処理を行う(ステップS53D)。
Example 4 shown in FIG. 8D is an example using a triangle JOIN. In this case, the
図8(E)に示す実施例5は、DHTマルチキャストを利用した例である。この場合、制御部11は、先ず、自ノードの変更されたIPアドレス、自ノードのノードID、IDマスク「0」を含むアドレス変更通知メッセージを生成し(ステップS51E)、RAMに記憶しておく。なお、自ノードのノードIDは、ターゲットノードIDに設定される。
Example 5 shown in FIG. 8 (E) is an example using DHT multicast. In this case, the
次いで、制御部11は、当該アドレス変更通知メッセージにおけるIDマスクがDHTルーティングテーブルの全レベル数(全段数)よりも小さいか否かを判別し(ステップS52E)、IDマスクが上記全レベル数より小さい場合には(ステップS52E:YES)、ステップS53Eに進み、IDマスクが上記全レベル数より小さくない場合、つまり、一致した場合には(ステップS52E:NO)、当該処理を終了する。例えば、IDマスクが「0」の場合、図2に示すDHTルーティングテーブルの全レベル数「3」よりも小さいため、ステップS53Eに進む。
Next, the
ステップS53Eでは、制御部11は、DHTルーティングテーブルのうち、「IDマスク+1」のレベル(例えば、レベル1)のテーブルにノード情報が登録されている全てのノードNnを選定し、選定した各ノードNnに対して、上記生成したアドレス変更通知メッセージを送信する。
In step S53E, the
次いで、制御部11は、上記アドレス変更通知メッセージにおいて設定されているIDマスクに「1」を加算して得た値を、新たなIDマスクとしてアドレス変更通知メッセージに設定し(ステップS54E)、ステップS52Eに戻る。こうして、上記ステップS52EにおいてIDマスクがDHTルーティングテーブルの全レベル数と一致するまで、ステップS53E及びS54Eの処理は繰り返し実行され、DHTルーティングテーブルにノード情報が登録されている全てのノードNnに対してアドレス変更通知メッセージが送信されることになる。そして、当該アドレス変更通知メッセージは、これを受信した各ノードNnにより転送(図9のステップS77)され、コンテンツ分散保存システムS全体に行き渡ることになる。また、上記処理により、例えば、DHTルーティングテーブルのレベル1のテーブルに登録されているノードNnに送信されるアドレス変更通知メッセージに設定されたIDマスクは「0」となり、DHTルーティングテーブルのレベル2のテーブルに登録されているノードNnに送信されるアドレス変更通知メッセージに設定されたIDマスクは「1」となる。つまり、レベルの数値が大きくなるほど、IDマスクの値は大きくなっていく。
Next, the
図6に示す処理に戻り、ステップS6では、制御部11は、メッセージを受信したか否かを判別し、メッセージを受信していない場合には(ステップS6:NO)、ステップS9に進みその他の処理を行い、メッセージを受信した場合には(ステップS6:YES)、メッセージ受信処理を行う(ステップS7)。当該メッセージ受信処理においては、受信されたメッセージの種別に応じた処理が行われる。なお、メッセージの種別は、例えば、各メッセージのヘッダ内に記述されている。
Returning to the processing shown in FIG. 6, in step S6, the
図9に示すメッセージ受信処理では、制御部11は、受信したメッセージがアドレス変更通知メッセージであるか否かを判別し(ステップS71)、アドレス変更通知メッセージである場合には(ステップS71:YES)、ステップS72に進み、アドレス変更通知メッセージでない場合には(ステップS71:NO)、ステップS78に進む。
In the message reception process shown in FIG. 9, the
ステップS72では、制御部11は、IPアドレス更新処理を行う。当該IPアドレス更新処理においては、図10に示すように、制御部11は、受信されたアドレス変更通知メッセージに含まれるノードID(当該メッセージの送信元ノードNnのノードID)が、DHTルーティングテーブルに登録されているか否かを判別する(ステップS721)。そして、当該ノードIDがDHTルーティングテーブルに登録されている場合(ステップS721:YES)、ステップS722に進み、当該ノードIDがDHTルーティングテーブルに登録されていない場合には(ステップS721:NO)、ステップS724に進む。
In step S72, the
ステップS722では、制御部11は、上記ノードIDに対応付けられてDHTルーティングテーブルに登録されているIPアドレスが、上記受信されたアドレス変更通知メッセージに含まれた変更通知に係るIPアドレスと同じであるか否かを判別し、同じである場合には(ステップS722:YES)、ステップS724に進み、異なる場合には(ステップS722:NO)、ステップS723に進む。
In step S722, the
ステップS723では、制御部11は、上記アドレス変更通知メッセージに含まれた変更通知に係るIPアドレスにより、当該IPアドレスと同じノードIDが対応付けられてDHTルーティングテーブルに登録されているIPアドレスを更新する。
In step S723, the
ステップS724では、制御部11は、受信されたアドレス変更通知メッセージに含まれるノードID(当該メッセージの送信元ノードNnのノードID)が、インデックスキャッシュに記憶されているか否かを判別する。そして、当該ノードIDがインデックスキャッシュに記憶されている場合(ステップS724:YES)、ステップS725に進み、当該ノードIDがインデックスキャッシュに記憶されていない場合には(ステップS724:NO)、図9に示す処理に戻る。
In step S724, the
ステップS725では、制御部11は、上記ノードIDに対応付けられてインデックスキャッシュに記憶されているIPアドレスが、上記受信されたアドレス変更通知メッセージに含まれた変更通知に係るIPアドレスと同じであるか否かを判別し、同じである場合には(ステップS725:YES)、図9に示す処理に戻り、異なる場合には(ステップS725:NO)、ステップS726に進む。
In step S725, the
ステップS726では、制御部11は、上記アドレス変更通知メッセージに含まれた変更通知に係るIPアドレスにより、当該IPアドレスと同じノードIDが対応付けられてインデックスキャッシュに記憶されているIPアドレスを更新し、図9に示す処理に戻る。
In step S726, the
次に、図9に示すステップS73では、制御部11は、上記受信されたアドレス変更通知メッセージがDHTマルチキャストにより送信されたメッセージであるか否かを判別(例えば、IDマスクにより判別)し、DHTマルチキャストにより送信されたメッセージである場合には(ステップS73:YES)、ステップS74に進み、DHTマルチキャストにより送信されたメッセージでない場合には(ステップS73:NO)、図6に示す処理に戻る。
Next, in step S73 shown in FIG. 9, the
ステップS74では、制御部11は、上記受信されたアドレス変更通知メッセージに含まれるターゲットノードIDを自ノードのノードIDに変換する。
In step S74, the
次いで、制御部11は、当該アドレス変更通知メッセージにおいて設定されているIDマスクに「1」を加算して得た値を、新たなIDマスクとしてアドレス変更通知メッセージに設定する(ステップS75)。
Next, the
次いで、制御部11は、当該アドレス変更通知メッセージにおけるIDマスクがDHTルーティングテーブルの全レベル数(全段数)よりも小さいか否かを判別し(ステップS76)、IDマスクが上記全レベル数より小さい場合には(ステップS76:YES)、ステップS77に進み、IDマスクが上記全レベル数より小さくない場合、つまり、一致した場合には(ステップS76:NO)、図6に示す処理に戻る。
Next, the
ステップS77では、制御部11は、DHTルーティングテーブルのうち、ステップS75で新たに設定されたIDマスク+1のレベル(例えば、レベル2)のテーブルにノード情報が登録されている全てのノードNnを選定し、選定した各ノードNnに対して、上記ターゲットノードIDが変換され新たなIDマスクが設定されたアドレス変更通知メッセージを転送し、ステップS75に戻る。
In step S77, the
こうして、上記ステップS76においてIDマスクがDHTルーティングテーブルの全レベル数と一致するまで、ステップS75及びS77の処理は繰り返し実行され、DHTルーティングテーブルにノード情報が登録されているノードNnのうち、所定レベル(所定段)より下位のレベルにノード情報が登録されている全てのノードNnに対してアドレス変更通知メッセージが送信されることになる。ここで、所定レベルとは、アドレス変更通知メッセージの受信時におけるIDマスク+1のレベルに相当する。 Thus, until the ID mask matches the number of all levels in the DHT routing table in step S76, the processes in steps S75 and S77 are repeatedly executed, and the predetermined level among the nodes Nn whose node information is registered in the DHT routing table is determined. The address change notification message is transmitted to all nodes Nn whose node information is registered at a level lower than (predetermined stage). Here, the predetermined level corresponds to the level of ID mask + 1 when the address change notification message is received.
次に、図9に示すステップS78では、制御部11は、受信したメッセージがパブリッシュメッセージであるか否かを判別し、パブリッシュメッセージである場合には(ステップS78:YES)、ステップS79に進み、パブリッシュメッセージでない場合には(ステップS78:NO)、ステップS85に進む。
Next, in step S78 shown in FIG. 9, the
ステップS79では、制御部11は、受信されたパブリッシュメッセージに含まれるノードID(当該メッセージの送信元ノードNnのノードID)が、インデックスキャッシュに記憶されているか否かを判別する。そして、当該ノードIDがインデックスキャッシュに記憶されている場合(ステップS79:YES)、ステップS80に進み、当該ノードIDがインデックスキャッシュに記憶されていない場合には(ステップS79:NO)、ステップS82に進む。
In step S79, the
ステップS80では、制御部11は、上記ノードIDに対応付けられてインデックスキャッシュに記憶されているIPアドレスが、上記受信されたパブリッシュメッセージに含まれた変更通知に係るIPアドレスと同じであるか否かを判別し、同じである場合には(ステップS80:YES)、ステップS83に進み、異なる場合には(ステップS80:NO)、ステップS81に進む。
In step S80, the
ステップS81では、制御部11は、上記パブリッシュメッセージに含まれた変更通知に係るIPアドレスにより、当該IPアドレスと同じノードIDが対応付けられてインデックスキャッシュに記憶されているIPアドレスを更新する。
In step S81, the
ステップS82では、制御部11は、受信されたパブリッシュメッセージに含まれるコンテンツID及びノード情報の組をインデックス情報としてインデックスキャッシュに追加記憶する。
In step S82, the
ステップS83では、制御部11は、受信されたパブリッシュメッセージが自ノード宛てであるか(つまり、自ノードがコンテンツIDのルートノードであるか)否かを、パブリッシュメッセージに含まれるコンテンツIDと、自ノードのノードID及びDHTルーティングテーブルに登録されている他のノードNnのノードIDとの比較結果に基づいて判別する。そして、自ノード宛である場合、例えば、パブリッシュメッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnが自ノードである場合には、図6に示す処理に戻り、自ノード宛でない場合、ステップS84に進む。
In step S83, the
ステップS84では、制御部11は、上記比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定、例えば、上記コンテンツIDに最も近いノードIDを有するノードNnを選定し、当該選定したノードNnに対して、上記パブリッシュメッセージを転送し、図6に示す処理に戻る。
In step S84, the
次に、図9に示すステップS85では、制御部11は、受信したメッセージが再参加メッセージであるか否かを判別し、再参加メッセージである場合には(ステップS85:YES)、ステップS86に進み、再参加メッセージでない場合には(ステップS85:NO)、ステップS89に進む。
Next, in step S85 shown in FIG. 9, the
ステップS86では、制御部11は、図10に示すIPアドレス更新処理を行う。
In step S86, the
次いで、制御部11は、受信された再参加メッセージが自ノード宛てであるか(つまり、自ノードが、再参加メッセージの送信元のノードNnのノードIDのルートノードであるか)否かを、再参加メッセージに含まれるノードIDと、自ノードのノードID及びDHTルーティングテーブルに登録されている他のノードNnのノードIDとの比較結果に基づいて判別する(ステップS87)。そして、自ノード宛である場合(ステップS87:YES)、例えば、再参加メッセージに含まれるノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnが自ノードである場合には、図6に示す処理に戻り、自ノード宛でない場合(ステップS87:NO)、ステップS88に進む。
Next, the
ステップS88では、制御部11は、上記比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定、例えば、上記再参加メッセージに含まれるノードIDに最も近いノードIDを有するノードNnを選定し、当該選定したノードNnに対して、上記再参加メッセージを転送し、図6に示す処理に戻る。
In step S88, the
なお、ステップS89では、その他のメッセージ(例えば、参加メッセージ、コンテンツ所在問合せメッセージ、コンテンツ送信要求メッセージなど)に応じた処理が行われる。 In step S89, processing according to other messages (for example, a participation message, a content location inquiry message, a content transmission request message, etc.) is performed.
図6に示すステップS8では、例えば、受信されたアドレス変更通知メッセージに含まれた変更通知に係るIPアドレスにより、当該IPアドレスと同じノードIDが対応付けられてログ情報中に含まれるIPアドレスが更新されるか、又は受信された参加メッセージに含まれるIPアドレス及びノードIDの組の新規追加が行われる。 In step S8 shown in FIG. 6, for example, the IP address included in the log information is associated with the same node ID as the IP address according to the IP address related to the change notification included in the received address change notification message. A new set of IP address and node ID pairs that are updated or included in the received join message is made.
次に、以上の図6〜図10の中で行われるメッセージの送信処理の詳細について、図11を参照して説明する。 Next, details of the message transmission processing performed in FIGS. 6 to 10 will be described with reference to FIG.
図11に示す処理は、送信すべきメッセージ(例えば、アドレス変更通知メッセージなど)及び当該メッセージの送信先のノードNnが確定した場合に開始され、制御部11は、当該メッセージの送信先のノードNnとの接続がプールされているか否かを判別する(ステップS31)。
The process illustrated in FIG. 11 is started when a message to be transmitted (for example, an address change notification message) and a node Nn that is the transmission destination of the message are determined, and the
ここで、送信先のノードNnとの接続(セッション)は、例えば、3ウェイハンドシェイクと呼ばれる接続手順(SSL(Secure Socket Layer)を使用している場合、認証が行われる)により確立されるが、コンテンツ分散保存システムSでは、多くのノードNnとの接続がなされるので、メッセージの転送の度にハンドシェイクが行われると、転送に時間がかかる。よって、頻繁に接続が行われるノードNnとは、一度ハンドシェイクが行われたら、その接続を切断せずに、そのセッション情報をソケットテーブルに登録し保持(これをソケットプールという)しておく。例えば、ソケットテーブルには、最大50程度のセッション情報を登録できる(50程度のソケットをプールできる)ようになっている。なお、セッション情報には、例えば、自ノードのノード情報、接続相手のノード情報、及びソケット識別子が含まれる。そして、ソケットプールされていないノードNnとの新たな接続は、ソケットプールの中で最も使用されていないノードNnとの接続が切断された上で、ハンドシェイクにより行われる。 Here, the connection (session) with the destination node Nn is established by, for example, a connection procedure called 3-way handshake (authentication is performed when using SSL (Secure Socket Layer)). Since the content distributed storage system S is connected to many nodes Nn, if handshaking is performed each time a message is transferred, the transfer takes time. Therefore, once handshake is performed with the node Nn that is frequently connected, the session information is registered and held in the socket table (this is referred to as a socket pool) without disconnecting the connection. For example, a maximum of about 50 session information can be registered in the socket table (about 50 sockets can be pooled). Note that the session information includes, for example, node information of the own node, node information of the connection partner, and a socket identifier. Then, a new connection with the node Nn that is not socket pooled is performed by handshaking after the connection with the node Nn that is least used in the socket pool is disconnected.
上記ステップS31において、当該メッセージの送信先のノードNnとの接続がプールされている場合(ステップS31:YES)、制御部11は、当該メッセージ(パケット)を、当該送信先のノードNnに通信部19を通じて送信する(ステップS32)。
In the above step S31, when the connection with the destination node Nn of the message is pooled (step S31: YES), the
一方、当該メッセージの送信先のノードNnとの接続がプールされていない場合(ステップS31:NO)、制御部11は、当該送信先のノードNnのIPアドレス及びポート番号を宛先IPアドレス及び宛先ポート番号として用いて上記ハンドシェイクにより当該送信先のノードNnとの接続確立を試みる。そして、上記送信先のノードNnとの接続確立できた場合には(ステップS33:YES)、制御部11は、当該送信先のノードNnとのセッション情報をソケットテーブルに追加登録(最大登録数に達している場合、例えば最も古いセッション情報を削除した上で追加登録)し(ステップS34)、上記ステップS32の処理を行う。一方、上記送信先のノードNnとの接続確立できない場合には(ステップS33:NO)、制御部11は、当該送信先のノードNnのノード情報をDHTルーティングテーブル等から削除する(ステップS35)。次いで、制御部11は、上記送信すべきメッセージが他のノードNnへ転送すべきメッセージ(例えば、パブリッシュメッセージなど)であるか否かを判別し(ステップS36)、転送すべきメッセージである場合には(ステップS36:YES)、ステップS37に進み、転送すべきメッセージでない場合には(ステップS36:NO)、ステップS38に進む。
On the other hand, when the connection with the destination node Nn of the message is not pooled (step S31: NO), the
ステップS37では、制御部11は、当該メッセージの他の送信先(転送先)のノードNnの候補を例えばDHTルーティングテーブルから検索し、検索できた場合には(ステップS37:YES)、ステップS31に戻り、当該検索できたノードNnについて上記と同様の処理を行う。一方、検索できなかった場合には(ステップS37:NO)、制御部11は、ステップS38に進む。
In step S37, the
ステップS38〜S44は、ソケットプールのクリーニング処理である。先ず、制御部11は、変数Iを「0」に設定し(ステップS38)、当該Iがソケットテーブルへの最大登録数(例えば、50)より小さいか否かを判別する(ステップS39)。そして、Iがソケットテーブルへの最大登録数(例えば、50)より小さい場合には(ステップS39:YES)、ステップS40に進み、Iがソケットテーブルへの最大登録数(例えば、50)より小さくない場合には(ステップS39:NO)、当該処理が終了する。
Steps S38 to S44 are socket pool cleaning processing. First, the
ステップS40では、制御部11は、ソケットテーブルのI番目に登録されているノードNnとの接続が確立されているか否かを判別し、接続が確立されている場合には(ステップS40:YES)、ステップS41に進み、接続が確立されていない場合には(ステップS40:NO)、ステップS44に進む。
In step S40, the
ステップS41では、制御部11は、I番目に登録されているノードNnとの間で非推奨のIPアドレス(自ノードのIPアドレス)で接続しているか否かを判別し、非推奨のIPアドレスで接続している場合には(ステップS41:YES)、ステップS42に進み、推奨のIPアドレスで接続している場合には(ステップS41:NO)、ステップS44に進む。
In step S41, the
ここで、上記非推奨のIPアドレスは、IPv6の場合を考慮したものである。IPv6の場合、IPアドレスの割り当てから一定時間までは推奨期間であるが、この推奨期間を過ぎると、当該IPアドレスは非推奨になる。 Here, the non-recommended IP address is for the case of IPv6. In the case of IPv6, the recommended period is from the assignment of the IP address to a certain time, but after the recommended period, the IP address is deprecated.
ステップS42では、制御部11は、I番目に登録されているノードNnに対して、現時点から過去所定時間(例えば、10分)以内にメッセージを送信しているか否かを判別し、メッセージを送信している場合には(ステップS42:YES)、ステップS44に進み、メッセージを送信していない場合には(ステップS42:NO)、ステップS43に進む。
In step S42, the
ステップS43では、制御部11は、I番目に登録されているノードNnとの接続を切断し、ステップS44に進む。
In step S43, the
ステップS44では、制御部11は、上記Iを1インクリメントしてステップS39に戻り、次のノードNnについて上記と同様の処理を行う。
In step S44, the
以上説明したように、上記実施形態によれば、各ノードNnは、自己のIPアドレスの変更を検出した場合には、DHTルーティングテーブルやインデックスキャッシュ等から他のノードNnを選定し、当該選定したノードNnに対してアドレス変更通知メッセージを送信することにより、IPアドレスの変更を通知して更新させるように構成したので、IPアドレスが変更されても、各ノードNn間の情報伝達(例えば、DHTルーティングテーブルを用いたメッセージのルーティング等)に支障が来たすことを防止することができる。 As described above, according to the above embodiment, when each node Nn detects a change in its own IP address, it selects another node Nn from the DHT routing table, index cache, etc. Since the address change notification message is transmitted to the node Nn to notify and update the change of the IP address, even if the IP address is changed, information transmission between the nodes Nn (for example, DHT) It is possible to prevent troubles in message routing using a routing table.
また、IPアドレスの変更通知をパブリッシュメッセージと同様の転送経路で行うように構成すれば、パブリッシュメッセージがルートノードに至るまでの転送経路において自ノードのIPアドレスを記憶しているであろうノードNnに対して、より効果的にIPアドレスの変更を通知することができる。 In addition, if the IP address change notification is configured to be performed through the same transfer path as that of the publish message, the node Nn that may store the IP address of the own node in the transfer path until the publish message reaches the root node. On the other hand, the change of the IP address can be notified more effectively.
また、IPアドレスの変更通知を参加メッセージと同様の転送経路で行うように構成すれば、再参加メッセージがルートノードに至るまでの転送経路において自ノードのIPアドレスを記憶しているであろうノードNnに対して、より効果的にIPアドレスの変更を通知することができる。 Further, if the IP address change notification is configured to be performed through the same transfer path as that of the participation message, the node that will store the IP address of the own node in the transfer path until the re-participation message reaches the root node. It is possible to notify Nn of the change of the IP address more effectively.
また、IPアドレスの変更通知をDHTマルチキャストにより行うように構成すれば、コンテンツ分散保存システムSに参加している全てのノードNnに対してIPアドレスの変更を通知することができる。 If the IP address change notification is configured to be performed by DHT multicast, the IP address change can be notified to all the nodes Nn participating in the content distributed storage system S.
なお、上記実施形態においては、アドレス情報の一例としてIPアドレスとしたが、待ち受けポート(listen port)の変更の場合にも適用できる。 In the above embodiment, the IP address is used as an example of the address information. However, the present invention can also be applied to the case of changing the listening port.
なお、上記実施形態におけるコンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。 In addition, although the content distributed storage system S in the said embodiment was demonstrated on the assumption that it was formed by the algorithm using DHT, this invention is not limited to this.
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
Nn ノード
S コンテンツ分散保存システム
8 Network 9
Claims (11)
前記ノード装置は、
前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、
自己のアドレス情報の変更を検出するアドレス変更検出手段と、
前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定するノード選定手段と、
前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するアドレス変更通知手段と、
を備え、
前記アドレス変更通知メッセージを受信するノード装置は、
前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、
前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するアドレス情報更新手段と、
を備えることを特徴とするコンテンツ分散保存システム。 A distributed content storage system configured by participation of a plurality of node devices connected to a network, in which replicated data of a plurality of contents is distributed and stored in a plurality of node devices, and the replicated data is exchanged between the respective node devices. In the distributed content storage system that made possible,
The node device is
Storage means for storing address information and node identification information of a plurality of node devices participating in the content distributed storage system and less than the number of all node devices participating in the content distributed storage system When,
An address change detection means for detecting a change in its own address information;
If a change in the address information is detected, node selection means for selecting at least one node device from among the node devices in which the address information is stored;
The address information of the selected node device is connected to the node device via the network, and the address change notification message including the changed address information and its own node identification information is transmitted to the node device. Address change notification means to perform,
With
The node device that receives the address change notification message,
Storage means for storing address information and node identification information of a plurality of node devices participating in the content distributed storage system and less than the number of all node devices participating in the content distributed storage system When,
The node identification information included in the received address change notification message has been stored in the past, and the address information stored in association with the stored node identification information is the address information included in the message. The address information updating means for updating to the address information included in the message instead of the stored address information,
A content distributed storage system comprising:
前記記憶手段には、メッセージの送信先候補となる前記複数のノード装置であって前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報が登録された送信先テーブルが記憶されており、
前記ノード選定手段は、前記送信先テーブルにアドレス情報が登録されているノード装置を選定し、
前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とするコンテンツ分散保存システム。 The content distributed storage system according to claim 1,
The storage means includes address information and node identification information of a plurality of node devices which are message transmission destination candidates and are smaller than the number of all node devices participating in the content distributed storage system. The registered destination table is stored,
The node selection means selects a node device whose address information is registered in the transmission destination table,
The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device.
前記アドレス変更通知メッセージを受信したノード装置は、
前記受信されたアドレス変更通知メッセージに含まれるノード識別情報と、前記送信先テーブルに登録された他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を
更に備えることを特徴とするコンテンツ分散保存システム。 The content distribution storage system according to claim 2,
The node device that has received the address change notification message,
One node device is selected from the destination table based on a comparison result between the node identification information included in the received address change notification message and the node identification information of another node device registered in the destination table. And further comprising message transfer means for connecting to the node device via the network using the address information of the selected node device and transferring the address change notification message to the node device. Content distributed storage system.
前記送信先テーブルは、アドレス情報を複数段に区別して登録し、
前記ノード選定手段は、前記送信先テーブルの所定段にアドレス情報が登録されているノード装置、及び当該所定段より下位の段にアドレス情報が登録されているノード装置を選定し、
前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、
前記アドレス変更通知メッセージを受信するノード装置は、
前記送信先テーブルの前記所定段より下位の段にアドレス情報が登録されているノード装置を選定し、当該選定した各ノード装置のアドレス情報を用いて当該各ノード装置に前記ネットワークを介して接続し当該各ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を更に備え、
当該アドレス変更通知メッセージの転送は、その後に当該メッセージを受信した各ノード装置において同様に行われることを特徴とするコンテンツ分散保存システム。 The content distribution storage system according to claim 2,
The destination table registers address information in a plurality of stages,
The node selection means selects a node device in which address information is registered in a predetermined stage of the transmission destination table, and a node apparatus in which address information is registered in a stage lower than the predetermined stage,
The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device,
The node device that receives the address change notification message,
Select a node device in which address information is registered in a lower level than the predetermined level of the destination table, and connect to each node device via the network using the address information of each selected node device. A message transfer means for transferring the address change notification message to each node device;
Transfer of the address change notification message is performed in the same manner in each node device that subsequently receives the message.
前記記憶手段には、何れかの前記コンテンツの複製データを保存している他のノード装置のアドレス情報と当該コンテンツのコンテンツ識別情報の組を含むインデックス情報が記憶されており、
前記ノード選定手段は、前記インデックス情報にアドレス情報が含まれているノード装置を選定し、
前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とするコンテンツ分散保存システム。 The content distributed storage system according to claim 1,
The storage means stores index information including a set of address information of another node device storing the duplicate data of any of the contents and content identification information of the content,
The node selection means selects a node device whose address information is included in the index information,
The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device.
前記記憶手段には、自己にメッセージを過去に送信した他のノード装置のアドレス情報を含むログ情報が記憶されており、
前記ノード選定手段は、前記ログ情報にアドレス情報が含まれているノード装置を選定し、
前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信することを特徴とするコンテンツ分散保存システム。 The content distributed storage system according to claim 1,
The storage means stores log information including address information of other node devices that have transmitted messages to the past in the storage means,
The node selection means selects a node device whose address information is included in the log information,
The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device.
前記記憶手段には、前記コンテンツ分散保存システムへの参加の際に送信するべき参加メッセージの送信先のノード装置のアドレス情報が記憶されており、
前記ノード選定手段は、前記参加メッセージの送信先のノード装置を選定し、
前記アドレス変更通知手段は、前記選定されたノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、
前記アドレス変更通知メッセージを受信したノード装置は、
前記受信されたアドレス変更通知メッセージに含まれるノード識別情報と、前記送信先テーブルに登録された他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段を
更に備えることを特徴とするコンテンツ分散保存システム。 The content distributed storage system according to claim 1,
In the storage means, address information of a node device that is a transmission destination of a participation message to be transmitted when participating in the distributed content storage system is stored,
The node selection means selects a node device as a transmission destination of the participation message,
The address change notification means transmits an address change notification message including the changed address information and its own node identification information to the selected node device,
The node device that has received the address change notification message,
One node device is selected from the destination table based on a comparison result between the node identification information included in the received address change notification message and the node identification information of another node device registered in the destination table. And further comprising message transfer means for connecting to the node device via the network using the address information of the selected node device and transferring the address change notification message to the node device. Content distributed storage system.
前記記憶手段には、メッセージの送信先候補となる前記複数のノード装置であって前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報が登録された送信先テーブルが記憶されており、
前記アドレス変更通知手段は、自己が保存している前記複製データに対応するコンテンツ識別情報と、前記送信先テーブルに登録されている他のノード装置のノード識別情報との比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記変更されたアドレス情報、当該コンテンツ識別情報及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するものであって、
前記アドレス変更通知メッセージを受信したノード装置は、
前記受信されたアドレス変更通知メッセージが自己宛てであるか否かを、前記アドレス変更通知メッセージに含まれるコンテンツ識別情報と、自己のノード識別情報及び前記送信先テーブルに登録されている他のノード装置のノード識別情報との比較結果に基づいて判別し、自己宛でない場合には、前記比較結果に基づいて前記送信先テーブルから一つのノード装置を選定し、当該選定したノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して、前記アドレス変更通知メッセージを転送するメッセージ転送手段と、
を更に備えることを特徴とするコンテンツ分散保存システム。 In the content distribution storage system as described in any one of Claims 1 thru | or 7,
The storage means includes address information and node identification information of a plurality of node devices which are message transmission destination candidates and are smaller than the number of all node devices participating in the content distributed storage system. The registered destination table is stored,
The address change notifying means transmits the transmission based on a comparison result between content identification information corresponding to the duplicate data stored by itself and node identification information of another node device registered in the transmission destination table. Select one node device from the destination table, connect to the node device via the network using the address information of the selected node device, and change the address information and content identification to the node device. Sending an address change notification message including information and its own node identification information,
The node device that has received the address change notification message,
Whether or not the received address change notification message is addressed to itself, content identification information included in the address change notification message, its own node identification information, and other node devices registered in the transmission destination table Based on the comparison result with the node identification information, and if not addressed to itself, select one node device from the destination table based on the comparison result, and use the address information of the selected node device Message transfer means for connecting to the node device via the network and transferring the address change notification message to the node device;
A content distributed storage system, further comprising:
前記コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する記憶手段と、
自己のアドレス情報の変更を検出するアドレス変更検出手段と、
前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定するノード選定手段と、
前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信するアドレス変更通知手段と、
前記受信したアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新するアドレス情報更新手段と、
を備えることを特徴とするノード装置。 A distributed content storage system configured by participation of a plurality of node devices connected to a network, in which replicated data of a plurality of contents is distributed and stored in a plurality of node devices, and the replicated data is exchanged between the respective node devices. A node device in a distributed content storage system that is made possible,
Storage means for storing address information and node identification information of a smaller number of node devices than the number of all node devices participating in the content distributed storage system;
An address change detection means for detecting a change in its own address information;
If a change in the address information is detected, node selection means for selecting at least one node device from among the node devices in which the address information is stored;
The address information of the selected node device is connected to the node device via the network, and the address change notification message including the changed address information and its own node identification information is transmitted to the node device. Address change notification means to perform,
The node identification information included in the received address change notification message is stored in the past, and the address information stored in association with the stored node identification information is the address information included in the message. If different, address information update means for updating to the address information included in the message instead of the stored address information;
A node device comprising:
前記ノード装置は、
前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する工程と、
自己のアドレス情報の変更を検出する工程と、
前記アドレス情報の変更が検出された場合には、前記アドレス情報が記憶されているノード装置のうちから少なくとも一つのノード装置を選定する工程と、
前記選定されたノード装置のアドレス情報を用いて当該ノード装置に前記ネットワークを介して接続し当該ノード装置に対して前記変更されたアドレス情報、及び自己のノード識別情報を含むアドレス変更通知メッセージを送信する工程と、
を備え、
前記アドレス変更通知メッセージを受信するノード装置は、
前記コンテンツ分散保存システムに参加している複数のノード装置であって当該コンテンツ分散保存システムに参加している全ノード装置の数より少ない数のノード装置のアドレス情報及びノード識別情報を記憶する工程と、
前記受信されたアドレス変更通知メッセージに含まれるノード識別情報が過去に記憶されており、当該記憶されているノード識別情報に対応付けられて記憶されているアドレス情報が、前記メッセージに含まれるアドレス情報と異なる場合には、当該記憶されているアドレス情報に代えて当該メッセージに含まれるアドレス情報に更新する工程と、
を備えることを特徴とするアドレス情報変更通知方法。 A distributed content storage system configured by participation of a plurality of node devices connected to a network, in which replicated data of a plurality of contents is distributed and stored in a plurality of node devices, and the replicated data is exchanged between the respective node devices. An address information change notification method in a distributed content storage system,
The node device is
Storing address information and node identification information of a plurality of node devices participating in the content distributed storage system, the number being less than the number of all node devices participating in the content distributed storage system; ,
Detecting a change in its own address information;
If a change in the address information is detected, selecting at least one node device from among the node devices in which the address information is stored;
The address information of the selected node device is connected to the node device via the network, and the address change notification message including the changed address information and its own node identification information is transmitted to the node device. And a process of
With
The node device that receives the address change notification message,
Storing address information and node identification information of a plurality of node devices participating in the content distributed storage system, the number being less than the number of all node devices participating in the content distributed storage system; ,
The node identification information included in the received address change notification message has been stored in the past, and the address information stored in association with the stored node identification information is the address information included in the message. If different from the above, the step of updating to the address information included in the message instead of the stored address information,
An address information change notification method comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008188825A JP2010028551A (en) | 2008-07-22 | 2008-07-22 | Content distributed storage system, node device, node processing program, and address information change notifying method |
US12/458,638 US8321586B2 (en) | 2008-07-22 | 2009-07-17 | Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008188825A JP2010028551A (en) | 2008-07-22 | 2008-07-22 | Content distributed storage system, node device, node processing program, and address information change notifying method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010028551A true JP2010028551A (en) | 2010-02-04 |
Family
ID=41569594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008188825A Pending JP2010028551A (en) | 2008-07-22 | 2008-07-22 | Content distributed storage system, node device, node processing program, and address information change notifying method |
Country Status (2)
Country | Link |
---|---|
US (1) | US8321586B2 (en) |
JP (1) | JP2010028551A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012054648A (en) * | 2010-08-31 | 2012-03-15 | Brother Ind Ltd | Node device, information communication system, information communication method, and program |
JP2012178786A (en) * | 2011-02-28 | 2012-09-13 | Brother Ind Ltd | Information communication system, information communication method, information processor, and program |
JP2013026683A (en) * | 2011-07-15 | 2013-02-04 | National Institute Of Information & Communication Technology | Information transmission path search system |
JP2013210698A (en) * | 2012-03-30 | 2013-10-10 | Hitachi Solutions Ltd | File retrieval system and program |
CN104537081A (en) * | 2014-12-31 | 2015-04-22 | 北京畅游天下网络技术有限公司 | File management system and method |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120302275A1 (en) * | 2010-02-17 | 2012-11-29 | Nokia Corporation | Cognitive control network selection |
CN102866995B (en) * | 2011-07-05 | 2017-05-24 | 中兴通讯股份有限公司 | File access method for PPN (Peer-to-Peer Network), management method and distributed file system |
CN103139081B (en) * | 2011-11-28 | 2017-08-11 | 中兴通讯股份有限公司 | Distributed hashtable routing table update method and node |
US9288177B2 (en) * | 2011-12-14 | 2016-03-15 | International Business Machines Corporation | Inventory updating of an internet protocol (IP) alias within a highly available computing cluster |
US10157051B2 (en) * | 2012-03-02 | 2018-12-18 | International Business Machines Corporation | Upgrading devices in a dispersed storage network |
JP2018067248A (en) * | 2016-10-21 | 2018-04-26 | 富士通株式会社 | Control program, control method, and information processing apparatus |
US11258694B2 (en) * | 2017-01-04 | 2022-02-22 | Cisco Technology, Inc. | Providing dynamic routing updates in field area network deployment using Internet Key Exchange v2 |
WO2018131176A1 (en) * | 2017-01-11 | 2018-07-19 | 甲賀電子株式会社 | Data communication method |
CN109561125B (en) * | 2017-09-27 | 2021-11-09 | 阿里巴巴集团控股有限公司 | Data transmission method, method and device for copying data in distributed system |
US11412041B2 (en) | 2018-06-25 | 2022-08-09 | International Business Machines Corporation | Automatic intervention of global coordinator |
CN110365809B (en) * | 2019-07-23 | 2021-12-14 | 中南民族大学 | Distributed server address configuration system and method |
CN110932980B (en) * | 2019-11-27 | 2022-09-20 | 达闼机器人股份有限公司 | Communication method, terminal, and computer-readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007174672A (en) * | 2005-12-21 | 2007-07-05 | Ntt Docomo Inc | Method and apparatus for mobility churn handling to peer-to-peer lookup system |
WO2008142511A2 (en) * | 2007-05-17 | 2008-11-27 | Nokia Corporation | A node and method to provide and keep real-time up-to-date data in a distributed hash table |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7613796B2 (en) * | 2002-09-11 | 2009-11-03 | Microsoft Corporation | System and method for creating improved overlay network with an efficient distributed data structure |
US7555527B1 (en) * | 2003-11-07 | 2009-06-30 | Symantec Operating Corporation | Efficiently linking storage object replicas in a computer network |
US7698414B1 (en) * | 2004-05-27 | 2010-04-13 | Symantec Operating Corporation | Global monitoring and statistics collection for a plurality of computing nodes |
JP4418897B2 (en) | 2005-01-14 | 2010-02-24 | ブラザー工業株式会社 | Information distribution system, information update program, information update method, etc. |
WO2006075424A1 (en) * | 2005-01-13 | 2006-07-20 | Brother Kogyo Kabushiki Kaisha | Information distribution system, distribution demand program, transfer program, distribution program and so on |
JP2006277338A (en) * | 2005-03-29 | 2006-10-12 | Brother Ind Ltd | Information processor and accumulation device, information processing method and accumulation method, information processing program and accumulation device program |
US7808971B2 (en) * | 2005-07-01 | 2010-10-05 | Miller John L | Routing cache for distributed hash tables |
JP2007280303A (en) * | 2006-04-11 | 2007-10-25 | Brother Ind Ltd | Information communication system, content catalogue information distribution method and node device |
-
2008
- 2008-07-22 JP JP2008188825A patent/JP2010028551A/en active Pending
-
2009
- 2009-07-17 US US12/458,638 patent/US8321586B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007174672A (en) * | 2005-12-21 | 2007-07-05 | Ntt Docomo Inc | Method and apparatus for mobility churn handling to peer-to-peer lookup system |
WO2008142511A2 (en) * | 2007-05-17 | 2008-11-27 | Nokia Corporation | A node and method to provide and keep real-time up-to-date data in a distributed hash table |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012054648A (en) * | 2010-08-31 | 2012-03-15 | Brother Ind Ltd | Node device, information communication system, information communication method, and program |
JP2012178786A (en) * | 2011-02-28 | 2012-09-13 | Brother Ind Ltd | Information communication system, information communication method, information processor, and program |
US8943121B2 (en) | 2011-02-28 | 2015-01-27 | Brother Kogyo Kabushiki Kaisha | Communication across an overlay network |
JP2013026683A (en) * | 2011-07-15 | 2013-02-04 | National Institute Of Information & Communication Technology | Information transmission path search system |
JP2013210698A (en) * | 2012-03-30 | 2013-10-10 | Hitachi Solutions Ltd | File retrieval system and program |
CN104537081A (en) * | 2014-12-31 | 2015-04-22 | 北京畅游天下网络技术有限公司 | File management system and method |
CN104537081B (en) * | 2014-12-31 | 2018-11-16 | 北京畅游时空软件技术有限公司 | File management system and method |
Also Published As
Publication number | Publication date |
---|---|
US20100023593A1 (en) | 2010-01-28 |
US8321586B2 (en) | 2012-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010028551A (en) | Content distributed storage system, node device, node processing program, and address information change notifying method | |
US7782867B2 (en) | Node device, memory medium saving computer program, information delivery system, and network participation method | |
US7984182B2 (en) | Node device, information transfer processing program, and network participation processing method and the like | |
US20080235321A1 (en) | Distributed contents storing system, copied data acquiring method, node device, and program processed in node | |
JP2007058275A (en) | Node device, shared information updating processing program, shared information updating method, and information-sharing system | |
JP4375303B2 (en) | Information communication system, information communication method, node device included in information communication system, information processing program, and node device program | |
JP2007200203A (en) | Information distribution system, re-registration message transmission method, node device, and node processing program | |
JP4702314B2 (en) | Content distributed storage system, node device, node processing program, and content data acquisition method | |
JP2008294627A (en) | Communication system, node device, node processing program, and message transmission and reception method | |
US8819295B2 (en) | Information communication system, first information processing device, method for processing information, and computer readable storage medium | |
US8332463B2 (en) | Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded | |
JP4539603B2 (en) | Information communication system, information communication method, node device included in information communication system, and information processing program | |
JP5532649B2 (en) | Node device, node processing program, and content storage method | |
JP5212292B2 (en) | Information communication system, node device, node device confirmation method and program | |
JP4623030B2 (en) | Tree-type broadcasting system, connection destination determination method, connection management device, connection management processing program, etc. | |
JP2009232272A (en) | Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program | |
JP2010039722A (en) | Node device, management node device, node processing program, management node processing program, content distribution storage system, and replica data acquisition method | |
JP4770804B2 (en) | Overlay network type communication system, overlay network type node device and program | |
JP5434268B2 (en) | Distributed storage system, data file distributed storage method and program | |
JP5287059B2 (en) | Node device, node processing program, and storage instruction method | |
JP5494361B2 (en) | Distributed storage system, representative node device, notification method, and program | |
JP2009187056A (en) | Content distribution storage system, evaluation value addition method, server device, node device and node processing program | |
JP2009080546A (en) | Content distribution and storage system, duplicate data storage number tabulation method, node device, and node processing program | |
JP2009247015A (en) | Information communication system, information communication method, node device included in the information communication system, information processing program and program for the node device | |
JP2010067073A (en) | Storage instruction device, node device, storage instruction processing program, node processing program and storage instruction method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120925 |