Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5915522B2 - Adjacent node selection method, node, and program - Google Patents
[go: Go Back, main page]

JP5915522B2 - Adjacent node selection method, node, and program - Google Patents

Adjacent node selection method, node, and program Download PDF

Info

Publication number
JP5915522B2
JP5915522B2 JP2012504361A JP2012504361A JP5915522B2 JP 5915522 B2 JP5915522 B2 JP 5915522B2 JP 2012504361 A JP2012504361 A JP 2012504361A JP 2012504361 A JP2012504361 A JP 2012504361A JP 5915522 B2 JP5915522 B2 JP 5915522B2
Authority
JP
Japan
Prior art keywords
node
site
identifier
communication environment
delay time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012504361A
Other languages
Japanese (ja)
Other versions
JPWO2011111449A1 (en
Inventor
藤田 範人
範人 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2011111449A1 publication Critical patent/JPWO2011111449A1/en
Application granted granted Critical
Publication of JP5915522B2 publication Critical patent/JP5915522B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、分散ハッシュテーブルを構成する場合に用いられる隣接ノード選択方法、ノード、及びプログラムに関する。   The present invention relates to an adjacent node selection method, a node, and a program used when configuring a distributed hash table.

ピアツーピア(Peer−to−Peer:P2P)ネットワークや分散データベースなどの分野において効率的なデータ検索を実現するために、分散ハッシュテーブル(Distributed Hash Table:DHT)が広く用いられている。   A distributed hash table (DHT) is widely used in order to realize efficient data retrieval in fields such as a peer-to-peer (P2P) network and a distributed database.

DHTを用いた検索では、データの検索対象キーワードからハッシュ関数を用いてハッシュ値を生成し、そのハッシュ値に対応するノードごとにデータを格納する。そして、データを検索する場合は、その検索対象キーワードからハッシュ関数を用いてハッシュ値を生成し、そのハッシュ値に対応するノード内のみを検索する。DHTプロトコルの例として、Chord、Pastry、Tapestry、CAN(Content Addressable Network)などが広く知られている。これらのDHTプロトコルにおいて、ノードは、予め定められた規則に従い、ノードID(ID:識別子)を基に隣接ノードを選択する。ここで、「隣接ノード」とは、自ノードと接続するノードのことである。   In a search using DHT, a hash value is generated from a data search target keyword using a hash function, and data is stored for each node corresponding to the hash value. When searching for data, a hash value is generated from the search target keyword using a hash function, and only the node corresponding to the hash value is searched. As examples of the DHT protocol, Chord, Pastry, Tapestry, CAN (Content Addressable Network), and the like are widely known. In these DHT protocols, a node selects an adjacent node based on a node ID (ID: identifier) according to a predetermined rule. Here, “adjacent node” refers to a node connected to the own node.

ここで、ノードIDはノード間の近接性(すなわち遅延の大小)とは全く関係なく割り当てられる。このため、必ずしも近接している(すなわち遅延の小さい)ノードが隣接ノードとして選択されるわけではない。したがって、データ検索時のエンド−エンドの遅延が大きくなる可能性があることが課題とされている。   Here, the node ID is assigned regardless of the proximity (that is, the magnitude of the delay) between the nodes. For this reason, nodes that are close (that is, have a small delay) are not necessarily selected as adjacent nodes. Therefore, there is a problem that the end-to-end delay at the time of data search may increase.

このような課題に対して、特許文献1に開示されているように、ノードID自体をノードの近接性に基づいて割り当てて、エンド−エンドの検索時の遅延を小さくする方法も存在する。ただし、このような方法はCANのようなn次元直交座標空間にノードIDがマッピングされ、かつ、ショートカットリンクがないDHTプロトコルにおいて適用可能である。上記方法は、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルでは適用できない。   In order to deal with such a problem, as disclosed in Patent Document 1, there is also a method of assigning a node ID itself based on the proximity of the node to reduce a delay in end-to-end search. However, such a method can be applied to a DHT protocol in which a node ID is mapped in an n-dimensional orthogonal coordinate space such as CAN and there is no shortcut link. The above method cannot be applied to a DHT protocol such as Chord or Tapestry that takes a ring structure or a Plaxton structure.

そこで、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルにおいて、検索時の遅延を短縮する技術として、非特許文献1などに開示されている、近接ベース隣接ノード選択法(PNS:Proximity Neighbor Selection)が提案されている。PNSは、複数の候補から隣接ノードが選択可能な場合に、最も遅延の短い候補ノードを隣接ノードとして選ぶ方法である。このようにして各ホップの遅延をできるだけ小さくすることで検索時のエンド−エンドの遅延を小さくする効果が得られる。   Therefore, in a DHT protocol such as Chord or Tapestry that takes a ring structure or a Platton structure, as a technique for shortening a search delay, a proximity-based adjacent node selection method (PNS) disclosed in Non-Patent Document 1 or the like is disclosed. Proximity Neighbor Selection) has been proposed. PNS is a method of selecting a candidate node with the shortest delay as an adjacent node when an adjacent node can be selected from a plurality of candidates. By reducing the delay of each hop as much as possible in this way, the effect of reducing the end-to-end delay at the time of retrieval can be obtained.

ChordにおいてPNSを実現する方法について図8Aおよび図8Bを参照しながら説明する。Chordでは、nというIDを持つノード(ノードn)は、式(1)に示す領域ごとに、当該領域の中から隣接ノード(Chordではfingerと呼ぶ)を選択する。   A method for realizing PNS in Chord will be described with reference to FIGS. 8A and 8B. In Chord, a node (node n) having an ID of n selects an adjacent node (referred to as finger in Chord) from the area shown in Expression (1).

Figure 0005915522
Figure 0005915522

但し、iは、IDの最大ビット長以下の自然数である。また、IDは、隣接ノードのIDを示す。
PNSを行わない通常のChordプロトコルでは、ノードnは、式(1)に示す領域において、IDがn+2i−1より大きいノードの中で最も小さいIDを持つノードを隣接ノードとして選択する。図8Aは、通常のChordプロトコルにおける隣接ノードの選択方法を示している。
一方、ChordでPNSを行う場合、ノードnは、式(1)に示す領域で自ノードから最も遅延の小さいノードを隣接ノードとして選択する。図8Bは、PNSを適用した場合のChordプロトコルにおける隣接ノードの選択方法を示している。
However, i is a natural number not more than the maximum bit length of ID. ID indicates the ID of an adjacent node.
In a normal Chord protocol that does not perform PNS, the node n selects a node having the smallest ID among the nodes having an ID greater than n + 2i−1 as an adjacent node in the area shown in Expression (1). FIG. 8A shows a method for selecting an adjacent node in the normal Chord protocol.
On the other hand, when performing PNS in Chord, node n selects the node with the smallest delay from its own node as an adjacent node in the area shown in Equation (1). FIG. 8B shows a method for selecting an adjacent node in the Chord protocol when PNS is applied.

また、ピアツーピアの情報転送技術としては、特許文献2に、次のような技術が記載されている。特許文献2の情報転送装置は、メッセージを転送先のノードとの間で送受信する通信部と、宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定部と、論理的距離測定部で計測した論理的距離を、メッセージの属性と宛先のノードの識別符号と転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納部と、転送するメッセージの宛先のノードとそのメッセージの属性に従って、論理的距離を用いて、メッセージの転送先のノードを決定する転送先決定部とを備えている。こうした構成とすることで、メッセージの属性に応じて、メッセージ転送を効率化するようにしている。この特許文献2に記載されている技術では、各ノードが物理的距離を測定し、その各ノードがその物理的距離を格納部に出力する必要がある。   As a peer-to-peer information transfer technique, Patent Document 2 describes the following technique. The information transfer device of Patent Document 2 measures a logical distance, which is a distance that can be changed according to a message attribute, between a communication unit that transmits and receives a message to and from a transfer destination node and a destination node. A logical distance storage unit that stores the logical distance measured by the distance measurement unit and the logical distance measurement unit in association with the attribute of the message, the identification code of the destination node, and the network address of the destination node; A forwarding destination determination unit that determines a forwarding destination node of a message using a logical distance according to a destination node of the forwarding message and an attribute of the message. By adopting such a configuration, the message transfer is made efficient according to the attribute of the message. In the technique described in Patent Document 2, each node needs to measure a physical distance, and each node needs to output the physical distance to a storage unit.

日本特開2008−299586号公報Japanese Unexamined Patent Publication No. 2008-299586 日本特開2009−218728号公報Japanese Unexamined Patent Publication No. 2009-218728

K.Gummadi、R.Gummadi、S.Gribble、S.Ratnasamy、S.Shenker、I.Stoica、「The Impact of DHT Routing Geometry on Resilience and Proximity」、Proceedings of the 2003 SIGCOMM、2003年8月K. Gummadi, R.A. Gummadi, S.M. Gribble, S.M. Ratnasamy, S .; Shenker, I.D. Stoica, “The Impact of DHT Routing Geometry on Resilience and Proximity”, Proceedings of the 2003 SIGCOMM, August 2003

上述のように、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルにおいて、データ検索時のエンド−エンドの遅延を小さくするためには、PNSが有効な方法である。しかしながら、理想的なPNSを実現するためには、式(1)に示す領域に存在する全ノードを知ることが必要である。また、各ノードへの遅延計測を行う必要がある。このため、オーバーヘッドがかかる。したがって、理想的なPNSを実現することは困難とされている。   As described above, PNS is an effective method for reducing the end-to-end delay at the time of data search in the DHT protocol such as Chord and Tapestry that adopts a ring structure or a Plaxton structure. However, in order to realize an ideal PNS, it is necessary to know all the nodes existing in the region shown in Expression (1). In addition, it is necessary to measure delay to each node. For this reason, overhead is required. Therefore, it is difficult to realize an ideal PNS.

本発明は、上記の課題を解決することが可能な隣接ノード選択方法、ノード、及びプログラムを提供することを目的としている。
本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を受信ノードで記憶し、送信ノードに関する情報が含まれたメッセージを前記受信ノードで受信し、前記送信ノードに関する前記情報に基づいて、前記送信ノードと前記受信ノードとの間の第1の通信環境を前記受信ノードで導出し、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと前記受信ノードとの間の第2の通信環境を前記受信ノードで導出し、前記第1の通信環境と前記第2の通信環境とを前記受信ノードで比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接ノード選択方法であって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、前記各ノードには、前記各ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記受信ノードは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた前記受信ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記受信ノードは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記受信ノードは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える隣接ノード選択方法である。
An object of the present invention is to provide an adjacent node selection method, a node, and a program that can solve the above-described problems.
According to the present invention, for each predetermined identifier area of an identifier for identifying each node participating in the distributed hash table protocol, information related to an adjacent node is stored in a receiving node, and a message including information related to a transmitting node is stored in the receiving node. Receiving and deriving a first communication environment between the transmitting node and the receiving node at the receiving node based on the information regarding the transmitting node, the information regarding the neighboring node and the information regarding the transmitting node And the receiving node derives a second communication environment between the current adjacent node selected as the current adjacent node for the identifier region corresponding to the transmitting node and the receiving node, and the first communication An environment and the second communication environment are compared at the receiving node, and the first communication environment is compared with the second communication environment. If it is good, a neighbor node selection method to replace the current neighbor node selected as the current neighbor node for the identifier region corresponding to the transmitting node by the transmitting node, the first communication environments and the The second communication environment is a delay time between nodes, and for each site participating in the distributed hash table protocol, a site that is a group composed of nodes existing in the same management domain, A site identifier for identifying a site is assigned, and the information about the adjacent node includes a site identifier assigned to a site to which the adjacent node belongs and an identifier for identifying the adjacent node, The delay time from the site to which each node belongs to each other site is maintained, and the message Includes, as the information on the transmitting node, a first site identifier assigned to a first site to which the transmitting node belongs and a first identifier that identifies the transmitting node, wherein the receiving node The first site identifier and the first identifier are extracted, and based on the held delay time, the second site and the first site to which the receiving node to which the second site identifier is assigned belong A first delay time between the second site and the third site to which the current adjacent node belongs based on the held delay time. A delay time is obtained, and the receiving node compares the first delay time with the second delay time, and when the first delay time is smaller than the second delay time, the transmission node This is an adjacent node selection method in which the second identifier of the current adjacent node currently stored as the adjacent node for the identifier region corresponding to the node is replaced with the first identifier .

また、本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶する記憶部と、送信ノードに関する情報が含まれたメッセージを受信するメッセージ受信部と、前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出する第1の通信環境導出部と、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出する第2の通信環境導出部と、前記第1の通信環境と前記第2の通信環境とを比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接ノード選択部とを備えるノードであって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記第1の通信環境導出部は、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記第2の通信環境導出部は、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記隣接ノード選択部は、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換えるノードである。 In addition, the present invention receives, for each predetermined identifier area of an identifier for identifying each node participating in the distributed hash table protocol, a storage unit that stores information related to an adjacent node, and a message that includes information related to a transmission node. A message receiving unit, a first communication environment deriving unit for deriving a first communication environment between the transmitting node that is a transmission source of the message and the own node based on the information about the transmitting node; Based on the information on the neighboring node and the information on the sending node, a second communication environment between the current neighboring node selected as the current neighboring node and the own node is derived for the identifier region corresponding to the sending node. A second communication environment deriving unit that compares the first communication environment with the second communication environment, and compares the first communication environment with the first communication environment. Node There comprising said if it is better than the second communication environment, replacing the current neighbor node selected as the current neighbor node for the identifier region corresponding to the transmitting node by the transmitting node adjacent node selection unit The first communication environment and the second communication environment are delay times between nodes, and the nodes existing in the same management domain among the nodes participating in the distributed hash table protocol. A site identifier for identifying the site is assigned to a site that is a group to be configured, and the information on the adjacent node specifies the site identifier assigned to the site to which the adjacent node belongs and the adjacent node. The self-node has a delay from the site to which it belongs to each other site. Time is retained, and the message includes, as the information about the transmitting node, a first site identifier assigned to a first site to which the transmitting node belongs and a first identifier that identifies the transmitting node; The first communication environment deriving unit extracts the first site identifier and the first identifier from the message, and the own node to which the second site identifier is allocated is based on the held delay time. A first delay time between the second site to which the first site belongs and the first site is obtained, and the second communication environment deriving unit determines whether the second node to which the current adjacent node belongs is based on the held delay time. A second delay time between the third site and the second site, the adjacent node selection unit compares the first delay time with the second delay time, and When delayed A node that replaces the second identifier of the current adjacent node stored as the current adjacent node for the identifier region corresponding to the transmitting node with the first identifier when the interval is smaller than the second delay time is there.

また、本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶するステップと、送信ノードに関する情報が含まれたメッセージを受信するステップと、前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出するステップと、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出するステップと、前記第1の通信環境と前記第2の通信環境とを比較するステップと、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換えるステップとをコンピュータに実行させるプログラムであって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記第1の通信環境を導出するステップでは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記第2の通信環境を導出するステップでは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記第1の通信環境と前記第2の通信環境とを比較するステップでは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記現隣接ノードを前記送信ノードで置き換えるステップでは、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換えるプログラムである。 The present invention also includes a step of storing information related to adjacent nodes for each predetermined identifier area of an identifier for identifying each node participating in the distributed hash table protocol, and a step of receiving a message including information related to a transmission node Deriving a first communication environment between the transmission node that is the transmission source of the message and the own node based on the information about the transmission node, the information about the adjacent node, and the transmission node Deriving a second communication environment between the current adjacent node and the current node selected as the current adjacent node for the identifier region corresponding to the transmitting node based on the information about the transmitting node; and the first communication Comparing the environment with the second communication environment, and wherein the first communication environment is the second communication If more boundary is good, a program for executing a step of replacing the current neighbor node selected as the current neighbor node for the identifier region corresponding to the transmitting node by the transmitting node to the computer, the first The first communication environment and the second communication environment are delay times between nodes, and are a group composed of nodes existing in the same management domain among the nodes participating in the distributed hash table protocol. A site identifier for identifying the site is assigned to the site, and the information regarding the adjacent node includes a site identifier assigned to the site to which the adjacent node belongs and an identifier for identifying the adjacent node, A node has a delay from the site to which it belongs to each other site. The message includes, as the information on the transmission node, a first site identifier assigned to a first site to which the transmission node belongs and a first identifier that identifies the transmission node, In the step of deriving one communication environment, the first node identifier and the first identifier are extracted from the message, and the own node to which the second site identifier is assigned based on the held delay time In the step of obtaining a first delay time between the second site to which the user belongs and the first site and deriving the second communication environment, the current adjacent node is based on the held delay time. Determining the second delay time between the third site to which the second site belongs and the second site, and comparing the first communication environment with the second communication environment, In the step of comparing the first delay time with the second delay time and replacing the current adjacent node with the transmitting node, when the first delay time is smaller than the second delay time, The program replaces the second identifier of the current adjacent node currently stored as the adjacent node for the identifier area corresponding to the transmission node with the first identifier .

本発明では、ノードは、他のノードからのメッセージを受信し、メッセージの送信元のノードと自ノードとの間の通信環境を導出する。そして、送信元のノードと自ノードとの間の通信環境が、現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の通信環境よりも良好であれば、現隣接ノードを送信ノードで置き換えている。このように、他のノードからメッセージを受信し、自ノードとの通信環境がより良いノードを隣接ノードとして更新するので、少ないオーバーヘッドで隣接ノードを選択することができ、理想的なPNSの状況に近づけることができる。   In the present invention, a node receives a message from another node and derives a communication environment between the node that has transmitted the message and its own node. If the communication environment between the transmission source node and the own node is better than the communication environment between the current adjacent node currently selected as the adjacent node and the own node, the current adjacent node is set as the transmission node. It is replaced with. In this way, a message is received from another node, and a node having a better communication environment with the own node is updated as an adjacent node. Therefore, it is possible to select an adjacent node with less overhead, which is an ideal PNS situation. You can get closer.

本発明の第1の実施形態に係るシステムの全体構成を示すブロック図である。1 is a block diagram showing an overall configuration of a system according to a first embodiment of the present invention. 本発明の第1の実施形態における隣接ノード・座標テーブルの一例の説明図である。It is explanatory drawing of an example of the adjacent node and coordinate table in the 1st Embodiment of this invention. 本発明の第1の実施形態の説明に用いるフローチャートである。It is a flowchart used for description of the 1st Embodiment of this invention. 本発明の第2の実施形態に係るシステムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるサイト間遅延のテーブルの一例の説明図である。It is explanatory drawing of an example of the table of the delay between sites in the 2nd Embodiment of this invention. 本発明の第2の実施形態における隣接ノード・サイトIDテーブルの一例の説明図である。It is explanatory drawing of an example of the adjacent node site ID table in the 2nd Embodiment of this invention. 本発明の第2の実施形態の説明に用いるフローチャートである。It is a flowchart used for description of the 2nd Embodiment of this invention. 通常のChordプロトコルにおける隣接ノードの選択方法を示す説明図である。It is explanatory drawing which shows the selection method of the adjacent node in a normal Chord protocol. PNSを適用した場合のChordプロトコルにおける隣接ノードの選択方法を示す説明図である。It is explanatory drawing which shows the selection method of the adjacent node in Chord protocol at the time of applying PNS.

以下、本発明の実施形態について図面を参照しながら説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るシステムの全体構成を示すブロック図である。図1を参照すると、本発明の第1の実施形態に係るシステムは、ノードA1と、ノードA2と、ベースネットワークB1とを備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<First Embodiment>
FIG. 1 is a block diagram showing the overall configuration of a system according to the first embodiment of the present invention. Referring to FIG. 1, the system according to the first embodiment of the present invention includes a node A1, a node A2, and a base network B1.

ノードA1およびノードA2は、ベースネットワークB1に接続されている。なお、ノードA1とノードA2は同様に構成されている。以下、原則としてノードA1についてだけ説明する。また、実際にはノードA1およびノードA2の他に複数のノードが存在する構成が一般的である。しかし、ここでは簡単のためにノードA1の他のノードを代表してノードA2が存在するものとして説明する。なお、本実施形態では、ノードA1およびノードA2が用いるDHTプロトコルとしてChordを用いる場合を例として説明する。   The nodes A1 and A2 are connected to the base network B1. Note that the nodes A1 and A2 are configured similarly. Hereinafter, only the node A1 will be described in principle. In practice, a configuration in which a plurality of nodes exist in addition to the node A1 and the node A2 is generally used. However, here, for simplicity, the description will be made assuming that the node A2 exists on behalf of the other nodes of the node A1. In this embodiment, a case where Chord is used as the DHT protocol used by the nodes A1 and A2 will be described as an example.

ノードA1は、DHTプロトコル部11と、TCP/IP(Transmission Control Protocol/Internet Protocol)通信部12とを備える。なお、ノードA2は、同様に、DHTプロトコル部21とTCP/IP通信部22とを備える。DHTプロトコル部11は、座標計算部111と、メッセージ送信部112と、メッセージ受信部113と、DHTプロトコル処理部114と、距離計算部115と、隣接ノード選択部116と、隣接ノード・座標記憶部117とから構成される。   The node A1 includes a DHT protocol unit 11 and a TCP / IP (Transmission Control Protocol / Internet Protocol) communication unit 12. Similarly, the node A2 includes a DHT protocol unit 21 and a TCP / IP communication unit 22. The DHT protocol unit 11 includes a coordinate calculation unit 111, a message transmission unit 112, a message reception unit 113, a DHT protocol processing unit 114, a distance calculation unit 115, an adjacent node selection unit 116, and an adjacent node / coordinate storage unit. 117.

座標計算部111は、DHTプロトコルに参加するノード間の遅延に基づいて、ノードA1のネットワーク内の位置を、予め決められた座標空間内の座標にマッピングする。すなわち、座標計算部111は、ノード間遅延のマトリクスから、ノードA1のネットワーク内での近似された位置の座標を計算する。このように各ノードを近似された座標にマッピングすると、任意の2ノード間の遅延は、これらノードの座標間の距離を用いて推定することが可能となる。また、座標計算部111は、計算したノードA1の座標を保持し、適宜更新を行う。   The coordinate calculation unit 111 maps the position of the node A1 in the network to coordinates in a predetermined coordinate space based on a delay between nodes participating in the DHT protocol. That is, the coordinate calculation unit 111 calculates the coordinates of the approximate position in the network of the node A1 from the matrix of inter-node delays. Thus, when each node is mapped to the approximated coordinates, the delay between any two nodes can be estimated using the distance between the coordinates of these nodes. In addition, the coordinate calculation unit 111 holds the calculated coordinates of the node A1, and appropriately updates the coordinates.

このような近似された座標へのマッピング方法の一例として、下記の参考文献(Vivaldi)で開示されている座標計算を用いる方法が挙げられる。
[参考文献]
F.Dabek,R.Cox,F.Kaashoek,R.Morris,“Vivaldi:A Decentralized Network Coordinate System,”In Proceedings of the 2004 SIGCOMM,August 2004.
As an example of the mapping method to such approximated coordinates, there is a method using coordinate calculation disclosed in the following reference (Vivaldi).
[References]
F. Dabek, R.A. Cox, F.M. Kaashhoek, R.A. Morris, “Vivaldi: A Decentralized Network Coordinate System,” In Proceedings of the 2004 SIGCOMM, August 2004.

Vivaldiでは、ノードiおよびノードjの現座標をそれぞれpi(old)およびpj(old)とし、計測されたノードiおよびノードj間の遅延をrttとしたとき、ノードiの座標pi(new)を式(2)に従い更新する。   In Vivaldi, the current coordinates of node i and node j are pi (old) and pj (old), respectively, and the measured delay between node i and node j is rtt, the coordinate pi (new) of node i is Update according to equation (2).

Figure 0005915522
Figure 0005915522

ここで、δは定数であり、uは単位ベクトルである。すなわち、Vivaldiは、ノード間遅延と座標間距離との差が最小化されるように、各ノードが自律分散的に座標を更新していくアルゴリズムを採用している。また、Vivaldiでは、座標系としては、ユークリッド空間や球面座標などを用いることが想定されている。   Here, δ is a constant and u is a unit vector. That is, Vivaldi employs an algorithm in which each node updates coordinates in an autonomous and distributed manner so that the difference between the inter-node delay and the inter-coordinate distance is minimized. In Vivaldi, it is assumed that Euclidean space or spherical coordinates are used as the coordinate system.

メッセージ送信部112は、DHTプロトコルにおけるメッセージを送信する機能を備える。送信されるメッセージは、TCP/IP通信部12を介して他のノードへ転送される。メッセージの種類の例として、Chordの場合、あるハッシュ値を管理するノードを返すfind_successorメッセージや、検索要求(クエリ)メッセージが挙げられる。また、メッセージ送信部112は、メッセージの送信時に、座標計算部111が計算したノードA1の座標およびノードA1のノードIDを該メッセージ内に含める。ここで、該メッセージ内にノードA1の座標およびノードIDを含めるか否かはメッセージの種類に応じて変えてもよい。   The message transmission unit 112 has a function of transmitting a message in the DHT protocol. The message to be transmitted is transferred to another node via the TCP / IP communication unit 12. Examples of message types include a find_successor message that returns a node that manages a certain hash value and a search request (query) message in the case of Chord. Further, the message transmission unit 112 includes the coordinates of the node A1 and the node ID of the node A1 calculated by the coordinate calculation unit 111 in the message when the message is transmitted. Here, whether or not to include the coordinates of the node A1 and the node ID in the message may be changed according to the type of the message.

メッセージ受信部113は、DHTプロトコルにおけるメッセージを受信する機能を備える。受信されるメッセージは、TCP/IP通信部12を介して受け渡される。メッセージ受信部113は、受信したメッセージ内に座標に関する情報(以下、「座標情報」という)が含まれる場合に、含まれる座標情報と該座標情報が示す座標に対応するノードの情報を受信したメッセージから抽出し、距離計算部115へ抽出した情報を渡す。また、メッセージ受信部113は、受信したメッセージにおける座標情報およびノードID以外の部分をDHTプロトコル処理部114へ渡す。   The message receiving unit 113 has a function of receiving a message in the DHT protocol. The received message is delivered via the TCP / IP communication unit 12. When the received message contains information about coordinates (hereinafter referred to as “coordinate information”), the message receiving unit 113 receives the received coordinate information and node information corresponding to the coordinates indicated by the coordinate information. And the extracted information is passed to the distance calculation unit 115. In addition, the message receiving unit 113 passes a part other than the coordinate information and the node ID in the received message to the DHT protocol processing unit 114.

DHTプロトコル処理部114は、受信したDHTメッセージに対してメッセージの種類に従ったプロトコル処理を行う機能を備える。例えば、Chordプロトコルにおいて、find_successorメッセージ(キーとして含められるIDのsuccessorのノードのIDを見つけるメッセージ)を受信した場合、DHTプロトコル処理部114は、キーとして含められるIDに基づき、該メッセージを適切な隣接ノード(finger)に転送するか、replyメッセージを返す処理を行う。座標情報を含むメッセージを転送する際には、DHTプロトコル処理部114は、該座標情報も含めてそのままメッセージを転送する。また、Chordプロトコル以外のプロトコルが用いられる場合、DHTプロトコル処理部114は、用いられるプロトコルに応じた処理を行う。   The DHT protocol processing unit 114 has a function of performing protocol processing according to the type of message on the received DHT message. For example, in the Chord protocol, when a find_successor message (a message for finding the ID of a successor node of an ID included as a key) is received, the DHT protocol processing unit 114, based on the ID included as a key, transmits the message to an appropriate neighbor. A process of transferring to a node or returning a reply message is performed. When transferring a message including coordinate information, the DHT protocol processing unit 114 transfers the message as it is including the coordinate information. When a protocol other than the Chord protocol is used, the DHT protocol processing unit 114 performs processing according to the protocol used.

距離計算部115は、メッセージ受信部113において抽出した座標情報に基づいて、自ノードとメッセージを最初に送信したノードとの間の距離を計算する。座標情報を含むメッセージをノードA2が送信したとすると、距離計算部115は、距離の計算においては、ノードA2の座標と、座標計算部111に保持されているノードA1の座標とから、これらノード間の距離を割り出す。座標系が2次元ユークリッド空間であり、ノードA1およびノードA2の座標がそれぞれ(xi,yi)および(xj,yj)であったとすると、距離dは、式(3)に従って求められる。   The distance calculation unit 115 calculates the distance between the own node and the node that first transmitted the message based on the coordinate information extracted by the message reception unit 113. If the node A2 transmits a message including coordinate information, the distance calculation unit 115 calculates the distance from the coordinates of the node A2 and the coordinates of the node A1 held in the coordinate calculation unit 111. Determine the distance between. Assuming that the coordinate system is a two-dimensional Euclidean space and the coordinates of the node A1 and the node A2 are (xi, yi) and (xj, yj), respectively, the distance d is obtained according to the equation (3).

Figure 0005915522
Figure 0005915522

距離計算部115は、計算した距離を、ノードA2のID(すなわち座標情報を含むメッセージを送信したノードのID)とともに、隣接ノード選択部116へ渡す。   The distance calculation unit 115 passes the calculated distance to the adjacent node selection unit 116 together with the ID of the node A2 (that is, the ID of the node that transmitted the message including the coordinate information).

隣接ノード選択部116は、距離計算部115から渡された、座標情報を含むメッセージを送信したノード(以下、「送信ノード」という)のIDと、該送信ノードと自ノードとの間の距離に基づいて、該送信ノードを隣接ノードとして選択するかを判断する。ここで、該送信ノードを隣接ノードとして選択するかどうかの判断は、例えば、以下のように行う。
まず、隣接ノード選択部116は、隣接ノード・座標記憶部117に保持されている現在の隣接ノードリストを参照して、該送信ノードのIDに対応する領域における現在の隣接ノードの情報を得る。そして、隣接ノード選択部116は、対応する領域における現在の隣接ノードと自ノードとの間の距離を計算し、この計算された距離と、該送信ノードと自ノードとの間の距離とを比較する。隣接ノード選択部116は、該送信ノードと自ノードとの距離の方が小さければ、該送信ノードを隣接ノードとして選択すると判断し、対応する領域における現在の隣接ノードを該送信ノードで置き換える。現在の隣接ノードを該送信ノードで置き換える場合、隣接ノード選択部116は、隣接ノード・座標記憶部117における隣接ノードの情報を該送信ノードの情報に書き換える。反対に、該送信ノードと自ノードとの距離の方が小さくない場合、隣接ノード選択部116は、該送信ノードを隣接ノードとして選択しないと判断し、隣接ノードは現在のままとする。
The adjacent node selection unit 116 sets the ID of the node (hereinafter referred to as “transmission node”) that has passed the message including the coordinate information passed from the distance calculation unit 115 and the distance between the transmission node and the own node. Based on this, it is determined whether to select the transmitting node as an adjacent node. Here, whether or not to select the transmission node as an adjacent node is determined as follows, for example.
First, the adjacent node selection unit 116 refers to the current adjacent node list held in the adjacent node / coordinate storage unit 117 to obtain information on the current adjacent node in the area corresponding to the ID of the transmission node. Then, the adjacent node selection unit 116 calculates the distance between the current adjacent node and the own node in the corresponding region, and compares the calculated distance with the distance between the transmission node and the own node. To do. If the distance between the transmission node and the own node is smaller, the adjacent node selection unit 116 determines that the transmission node is selected as an adjacent node, and replaces the current adjacent node in the corresponding area with the transmission node. When replacing the current adjacent node with the transmission node, the adjacent node selection unit 116 rewrites the information on the adjacent node in the adjacent node / coordinate storage unit 117 with the information on the transmission node. On the other hand, when the distance between the transmitting node and the own node is not smaller, the adjacent node selection unit 116 determines that the transmitting node is not selected as an adjacent node, and the adjacent node remains as it is.

隣接ノード・座標記憶部117は、ノードA1における現在の隣接ノードをリスト形式で保持する。隣接ノード・座標記憶部117に保持された情報の例を図2に示す。
図2は、隣接ノード・座標記憶部117に保持される隣接ノード・座標テーブル101を示している。図2の隣接ノード・座標テーブル101を参照すると、Chordにおいて隣接ノードを選ぶ領域(図中の「ID領域」)ごとに、現在選ばれている隣接ノード(finger)の情報が示されている。隣接ノード・座標テーブル101の例では、座標系として2次元ユークリッド空間が用いられ、ノードA1のIDがnであるとしている。図2から、1番目の隣接ノードは、対応するID領域が式(4)に示すとおりであり、ID=n1であり、その座標は(x1,y1)であることがわかる。
The adjacent node / coordinate storage unit 117 holds the current adjacent node in the node A1 in a list format. An example of information held in the adjacent node / coordinate storage unit 117 is shown in FIG.
FIG. 2 shows an adjacent node / coordinate table 101 held in the adjacent node / coordinate storage unit 117. Referring to the adjacent node / coordinate table 101 in FIG. 2, information on the currently selected adjacent node (finger) is shown for each area (“ID area” in the figure) for selecting an adjacent node in Chord. In the example of the adjacent node / coordinate table 101, a two-dimensional Euclidean space is used as the coordinate system, and the ID of the node A1 is n. From FIG. 2, it can be seen that the ID region corresponding to the first adjacent node is as shown in Expression (4), ID = n1, and its coordinates are (x1, y1).

Figure 0005915522
Figure 0005915522

同様に2〜4番目の隣接ノード情報および対応する座標が示されている。隣接ノード・座標テーブル101のエントリは、IDの最大ビット長をmとするとm個作成される。   Similarly, 2nd to 4th adjacent node information and corresponding coordinates are shown. There are m entries in the adjacent node / coordinate table 101 where m is the maximum ID bit length.

ここでは、DHTプロトコルとしてChordを例にしたため、隣接ノードは予め定められたID領域ごとに選ばれる。これに対して、TapestryやPastryなどのPlaxton構造をとるDHTプロトコルの場合は、IDのプレフィクス(又はサフィクス)が同一であるノードの中から隣接ノードが選ばれる。ここで、隣接ノードは同一のプレフィクス(又はサフィクス)の長さごとに選ばれる。したがって、Plaxton構造をとるDHTプロトコルの場合、ID領域は、同一のプレフィクス(又はサフィクス)を持つID群から構成される。   Here, since Chord is taken as an example of the DHT protocol, an adjacent node is selected for each predetermined ID area. On the other hand, in the case of the DHT protocol having a Plotton structure such as Tastry or Pastry, an adjacent node is selected from nodes having the same ID prefix (or suffix). Here, adjacent nodes are selected for each length of the same prefix (or suffix). Therefore, in the case of the DHT protocol having the Platton structure, the ID area is composed of ID groups having the same prefix (or suffix).

TCP/IP通信部12は、TCP/IPプロトコルを用いて他のノードとの通信を行う機能を備える。ノードA1のOS(Operating System)が備えるTCP/IPスタックがTCP/IP通信部12に相当する。   The TCP / IP communication unit 12 has a function of performing communication with other nodes using the TCP / IP protocol. The TCP / IP stack provided in the OS (Operating System) of the node A1 corresponds to the TCP / IP communication unit 12.

ベースネットワークB1は、ノードA1およびノードA2が接続されるネットワークであり、任意の2ノード間で通信を行うことを可能とする。   The base network B1 is a network to which the node A1 and the node A2 are connected, and enables communication between any two nodes.

次に、図3を参照して、本発明の第1の実施形態においてノードA1が他のノードA2からメッセージを受信した際の動作について詳細に説明する。図3は、本発明の第1の実施形態においてノードA1が他のノードであるノードA2からメッセージを受信した際の動作を示すフローチャートである。この動作例では、各ノードが持つ座標の座標系として2次元ユークリッド空間が用いられるものとする。   Next, with reference to FIG. 3, the operation when the node A1 receives a message from another node A2 in the first embodiment of the present invention will be described in detail. FIG. 3 is a flowchart showing an operation when the node A1 receives a message from the node A2, which is another node, in the first embodiment of the present invention. In this operation example, it is assumed that a two-dimensional Euclidean space is used as a coordinate system of coordinates possessed by each node.

まず、ノードA1のメッセージ受信部113がノードA2からメッセージを受信する(ステップS101)。次に、メッセージ受信部113は、ステップS101で受信したメッセージに座標情報が含まれているかどうかをチェックする(ステップS102)。   First, the message receiving unit 113 of the node A1 receives a message from the node A2 (step S101). Next, the message receiving unit 113 checks whether coordinate information is included in the message received in step S101 (step S102).

ステップS102において、座標情報がメッセージに含まれていると判断された場合(ステップS102:YES)、メッセージ受信部113は、含まれる座標情報と該座標に対応するノードの情報(すなわちノードA2のノードID)を受信したメッセージから抽出し、距離計算部115へ抽出した情報を渡す(ステップS103)。また、ステップS102において、座標情報がメッセージに含まれていないと判断された場合(ステップS102:NO)、ノードA1の処理は後述するステップS107へ移る。   When it is determined in step S102 that the coordinate information is included in the message (step S102: YES), the message receiving unit 113 displays the included coordinate information and the node information corresponding to the coordinates (that is, the node of the node A2). ID) is extracted from the received message, and the extracted information is passed to the distance calculation unit 115 (step S103). If it is determined in step S102 that the coordinate information is not included in the message (step S102: NO), the process of the node A1 proceeds to step S107 described later.

ステップS103の後、距離計算部115は、ステップS103で抽出した座標情報に基づいて、式(3)に従って自ノードとノードA2との間の距離を計算し、計算した結果をノードA2のIDとともに隣接ノード選択部116へ渡す(ステップS104)。   After step S103, the distance calculation unit 115 calculates the distance between the own node and the node A2 according to the equation (3) based on the coordinate information extracted in step S103, and the calculated result together with the ID of the node A2. The data is passed to the adjacent node selection unit 116 (step S104).

次に、隣接ノード選択部116は、隣接ノード・座標記憶部117を参照し、ノードA2に対応するID領域において、現在隣接ノードとして選択しているノードと自ノードとの間の距離と、ステップS104で計算した自ノードとノードA2との間の距離とを比較する(ステップS105)。   Next, the adjacent node selection unit 116 refers to the adjacent node / coordinate storage unit 117, and in the ID area corresponding to the node A2, the distance between the node currently selected as the adjacent node and the own node, The distance between the node calculated in S104 and the node A2 is compared (step S105).

ステップS105において、ステップS104で計算したノードA2と自ノードとの間の距離が現在の隣接ノードと自ノードとの間の距離より小さい場合(ステップS105:YES)、隣接ノード選択部116は、ノードA2に対応するID領域において現在選択している隣接ノードを、ノードA2に置き換える(ステップS106)。他方、ステップS105においてノードA2と自ノードとの間の距離が現在の隣接ノードと自ノードとの間の距離以上である場合、隣接ノード選択部116は、隣接ノードは現在のままとする。そして、ノードA1の処理はステップS107へ移る。   In step S105, when the distance between the node A2 calculated in step S104 and the own node is smaller than the current distance between the adjacent node and the own node (step S105: YES), the adjacent node selection unit 116 The adjacent node currently selected in the ID area corresponding to A2 is replaced with node A2 (step S106). On the other hand, when the distance between the node A2 and the own node is greater than or equal to the current distance between the adjacent node and the own node in step S105, the adjacent node selection unit 116 keeps the adjacent node current. Then, the process of the node A1 moves to step S107.

ステップS106の後、メッセージ受信部113は、受信したメッセージにおける座標情報およびノードID以外の部分をDHTプロトコル処理部114へ渡す。DHTプロトコル処理部114は、メッセージの種類に従ったプロトコル処理を行う(ステップS107)。   After step S106, the message receiving unit 113 passes the portion other than the coordinate information and the node ID in the received message to the DHT protocol processing unit 114. The DHT protocol processing unit 114 performs protocol processing according to the type of message (step S107).

上述した例では、受信したメッセージに座標情報が含まれる場合、該座標に対応するノードは、該メッセージをノードA1へ送信したノードA2であった。   In the example described above, when coordinate information is included in the received message, the node corresponding to the coordinate is the node A2 that transmitted the message to the node A1.

しかしながら、ノードA2以外のノードの座標情報がメッセージに含まれる場合もありうる。例えば、ノードA2以外のノード(以下、ノードXとする)がメッセージを最初に送信し、該メッセージをノードA2がノードA1に対して転送した場合、該メッセージ内には、ノードXの座標情報が含まれている。したがって、このような場合は、メッセージ受信部113は、座標情報に対応するノードのIDとして、ノードXのノードIDを抽出する。   However, the coordinate information of nodes other than the node A2 may be included in the message. For example, when a node other than the node A2 (hereinafter referred to as node X) transmits a message first, and the node A2 forwards the message to the node A1, the coordinate information of the node X is included in the message. include. Therefore, in such a case, the message receiving unit 113 extracts the node ID of the node X as the node ID corresponding to the coordinate information.

次に本発明の第1の実施形態の効果について説明する。本発明の第1の実施形態では、各ノードがノード間の遅延に基づいて自ノードの座標を計算し、該座標および自ノードのノードIDをDHTプロトコルにおけるメッセージ内に含めて送信する。そして、送信ノードの座標が含まれたメッセージを受信したノードは、該送信ノードと自ノードとの間の距離をこれらノードの座標から計算し、計算した距離が、該送信ノードのIDに対応するID領域において現在隣接している隣接ノードと自ノードとの間の距離よりも小さければ、隣接ノードを該送信ノードに置き換える。   Next, effects of the first exemplary embodiment of the present invention will be described. In the first embodiment of the present invention, each node calculates the coordinates of its own node based on the delay between the nodes, and transmits the coordinates and the node ID of its own node included in a message in the DHT protocol. Then, the node that has received the message including the coordinates of the transmitting node calculates the distance between the transmitting node and its own node from the coordinates of these nodes, and the calculated distance corresponds to the ID of the transmitting node. If it is smaller than the distance between the adjacent node currently adjacent in the ID area and the own node, the adjacent node is replaced with the transmitting node.

上述した処理の結果、他のノードからのメッセージ受信を、自ノードにより近いノードを隣接ノードとして更新する機会とすることができる。したがって、より多くのノードからメッセージを受信するほど理想的なPNSの状況に近づけることが期待できる。   As a result of the processing described above, message reception from other nodes can be an opportunity to update a node closer to the own node as an adjacent node. Therefore, it can be expected that the closer to an ideal PNS situation, the more messages are received from more nodes.

<第2の実施形態>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。図4は、本発明の第2の実施形態に係るシステムの全体構成を示すブロック図である。本発明の第2の実施形態に係るシステムは、図1に示した本発明の第1の実施形態と同様に、ベースネットワークB1と、このベースネットワークB1に接続されたノードA3およびノードA4とを備えている。
<Second Embodiment>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 4 is a block diagram showing an overall configuration of a system according to the second embodiment of the present invention. Similar to the first embodiment of the present invention shown in FIG. 1, the system according to the second embodiment of the present invention includes a base network B1, and a node A3 and a node A4 connected to the base network B1. I have.

なお、本実施形態においても、ノードA3およびノードA4の用いるDHTプロトコルがChordである場合を例として説明する。また、ノードA3およびノードA4は同じ構成を有する。以下、原則としてノードA3についてだけ説明する。   In this embodiment, the case where the DHT protocol used by the node A3 and the node A4 is Chord will be described as an example. Node A3 and node A4 have the same configuration. Hereinafter, only the node A3 will be described in principle.

図4を参照すると、ノードA3は、DHTプロトコル部31と、TCP/IP通信部32とから構成される。なお、ノードA4は、同様に、DHTプロトコル部41とTCP/IP通信部42とから構成される。TCP/IP通信部32は、第1の実施形態で示したTCP/IP通信部12と同様の機能を備えており、TCP/IP通信部12と同様の動作を行うため、詳細な説明は省略する。   Referring to FIG. 4, the node A3 includes a DHT protocol unit 31 and a TCP / IP communication unit 32. Similarly, the node A4 includes a DHT protocol unit 41 and a TCP / IP communication unit 42. The TCP / IP communication unit 32 has the same function as that of the TCP / IP communication unit 12 described in the first embodiment, and performs the same operation as the TCP / IP communication unit 12, so detailed description thereof is omitted. To do.

DHTプロトコル部31は、サイト間遅延記憶部311と、メッセージ送信部312と、メッセージ受信部313と、DHTプロトコル処理部314と、遅延計算部315と、隣接ノード選択部316と、隣接ノード・サイトID記憶部317とから構成される。   The DHT protocol unit 31 includes an inter-site delay storage unit 311, a message transmission unit 312, a message reception unit 313, a DHT protocol processing unit 314, a delay calculation unit 315, an adjacent node selection unit 316, and an adjacent node / site. An ID storage unit 317.

DHTプロトコル処理部314は、第1の実施形態で示したDHTプロトコル処理部114と同様の機能を備えており、DHTプロトコル処理部114と同様の動作を行うため、詳細な説明は省略する。   The DHT protocol processing unit 314 has the same function as that of the DHT protocol processing unit 114 shown in the first embodiment and performs the same operation as the DHT protocol processing unit 114, and thus detailed description thereof is omitted.

サイト間遅延記憶部311は、自ノードが属するサイトから他のサイトまでの遅延を記憶している。ここで、サイトとは、互いに近傍に存在するノード(例えば、同一管理ドメイン内に存在するノード)で構成されるグループである。具体的には、IPネットワークにおけるAS(Autonomous System)や、VPN(Virtual Private Network)における拠点などがサイトの単位として用いられ、各ノードは1つのサイトに属する。例えば、ASがサイトの単位として用いられる場合、同一AS内に属するノードは、同一サイトに属するものとして扱われる。また、各サイトにはユニークなID(サイトID)が割り当てられる。また、自ノードが属するサイトから他のサイトまでの遅延を知る方法として、事前又は定期的に自ノードの代表ノードから各サイト内の代表ノードまでの遅延を計測する方法などが挙げられる。   The inter-site delay storage unit 311 stores a delay from the site to which the node belongs to another site. Here, a site is a group composed of nodes that are close to each other (for example, nodes that exist in the same management domain). Specifically, an AS (Autonomous System) in an IP network, a base in a VPN (Virtual Private Network), or the like is used as a site unit, and each node belongs to one site. For example, when AS is used as a unit of site, nodes belonging to the same AS are treated as belonging to the same site. Each site is assigned a unique ID (site ID). Further, as a method of knowing the delay from the site to which the own node belongs to another site, there is a method of measuring the delay from the representative node of the own node to the representative node in each site in advance or periodically.

サイト間遅延記憶部311に記憶されるサイト間遅延テーブルの例を図5に示す。図5を参照すると、サイト間遅延テーブル102が示されており、自ノード(ノードA3)が属するサイトから、他のサイトへの遅延が示されている。例えば、ノードA3はサイト「3」に属し、サイト「1」に属するノードへは100msecの遅延があり、サイト「2」に属するノードへは20msecの遅延があり、自サイト(サイト「3」)に属するノードへは1msecの遅延があり、サイト「4」に属するノードへは50msecの遅延があることがわかる。   An example of the inter-site delay table stored in the inter-site delay storage unit 311 is shown in FIG. Referring to FIG. 5, an inter-site delay table 102 is shown, showing a delay from the site to which the own node (node A3) belongs to another site. For example, the node A3 belongs to the site “3”, the node belonging to the site “1” has a delay of 100 msec, the node belonging to the site “2” has a delay of 20 msec, and the own site (site “3”) It can be seen that there is a 1 msec delay for nodes belonging to, and a 50 msec delay for nodes belonging to site “4”.

メッセージ送信部312は、第1の実施形態におけるメッセージ送信部112と同様、DHTプロトコルにおけるメッセージを送信する機能を備える。ただし、メッセージの送信時に該メッセージに座標およびノードIDを含めるのではなく、ノードA3が属するサイトのサイトIDおよびノードA3のノードIDを含める点が異なる。また、該メッセージ内にノードA3のサイトIDおよびノードIDを含めるか否かはメッセージの種類に応じて変えてもよい。   The message transmission unit 312 has a function of transmitting a message according to the DHT protocol, like the message transmission unit 112 in the first embodiment. However, the difference is that when sending a message, the coordinate and the node ID are not included in the message, but the site ID of the site to which the node A3 belongs and the node ID of the node A3 are included. Whether or not to include the site ID and node ID of the node A3 in the message may be changed according to the type of message.

メッセージ受信部313は、第1の実施形態におけるメッセージ受信部113と同様、DHTプロトコルにおけるメッセージを受信する機能を備える。ただし、メッセージの受信時に受信したメッセージから座標情報を抽出するのではなく、受信したメッセージ内にサイトIDが含まれている場合に、含まれるサイトIDと該サイトIDに対応するノードの情報を受信したメッセージから抽出し、遅延計算部315へ抽出した情報を渡す点が異なる。   The message receiving unit 313 has a function of receiving a message in the DHT protocol, like the message receiving unit 113 in the first embodiment. However, instead of extracting coordinate information from the received message when receiving the message, if the received message contains a site ID, the received site ID and node information corresponding to the site ID are received. The difference is that the extracted information is passed to the delay calculation unit 315 and the extracted information is passed to the delay calculation unit 315.

遅延計算部315は、メッセージ受信部313において抽出したサイトIDに基づいて、該サイトIDを含むメッセージを送信したノードと自ノードとの間の遅延を計算する。例えば、サイトIDを含むメッセージをノードA3がノードA4から受信し、該メッセージにノードA4の属するサイトのIDであるサイト「4」が含まれていたとする。ノードA3の遅延計算部315は、サイト間遅延記憶部311を参照し、サイトA4と自ノードA3が属するサイトとの間の遅延を調べる。サイト間遅延が、図5に示すサイト間遅延テーブル102の通りであったとすると、ノードA3とノードA4との間の遅延は、50msecであると求められる。遅延計算部315は、求めた遅延を、ノードA4のID(すなわちサイトIDを含むメッセージを送信したノードのID)とともに、隣接ノード選択部316へ渡す。   Based on the site ID extracted by the message reception unit 313, the delay calculation unit 315 calculates a delay between the node that transmitted the message including the site ID and the own node. For example, it is assumed that the message including the site ID is received by the node A3 from the node A4, and the message includes the site “4” that is the ID of the site to which the node A4 belongs. The delay calculation unit 315 of the node A3 refers to the inter-site delay storage unit 311 and checks the delay between the site A4 and the site to which the own node A3 belongs. If the inter-site delay is as shown in the inter-site delay table 102 shown in FIG. 5, the delay between the node A3 and the node A4 is calculated to be 50 msec. The delay calculation unit 315 passes the obtained delay to the adjacent node selection unit 316 together with the ID of the node A4 (that is, the ID of the node that transmitted the message including the site ID).

隣接ノード選択部316は、遅延計算部315から渡された、サイトIDを含むメッセージを送信したノード(以下、送信ノードという)のIDと、該送信ノードと自ノードとの間の遅延に基づいて、該送信ノードを隣接ノードとして選択するかを判断する。該送信ノードを隣接ノードとして選択するかどうかの判断において、隣接ノード選択部316は、まず、隣接ノード・サイトID記憶部317に保持されている現在の隣接ノードリストから、該送信ノードのIDに対応する領域における現在の隣接ノードの情報を参照する。そして、隣接ノード選択部316は、対応する領域における現在の隣接ノードと自ノードとの間の遅延と、該送信ノードと自ノードとの間の遅延とを比較する。該送信ノードと自ノードとの間の遅延の方が小さければ、隣接ノード選択部316は、対応する領域における現在の隣接ノードを該送信ノードで置き換える。現在の隣接ノードを該送信ノードで置き換える場合、隣接ノード選択部316は、隣接ノード・サイトID記憶部317における隣接ノードの情報を該送信ノードの情報に書き換える。反対に、該送信ノードと自ノードとの間の遅延の方が小さくない場合、隣接ノード選択部316は、隣接ノードを現在のままとする。   The adjacent node selection unit 316 is based on the ID of the node that transmitted the message including the site ID (hereinafter referred to as a transmission node) passed from the delay calculation unit 315 and the delay between the transmission node and the own node. , It is determined whether to select the transmitting node as an adjacent node. In determining whether to select the transmission node as an adjacent node, the adjacent node selection unit 316 first sets the ID of the transmission node from the current adjacent node list held in the adjacent node / site ID storage unit 317. Refer to the information of the current adjacent node in the corresponding area. Then, the adjacent node selection unit 316 compares the delay between the current adjacent node and the own node in the corresponding region with the delay between the transmission node and the own node. If the delay between the transmission node and the own node is smaller, the adjacent node selection unit 316 replaces the current adjacent node in the corresponding area with the transmission node. When replacing the current adjacent node with the transmission node, the adjacent node selection unit 316 rewrites the information on the adjacent node in the adjacent node / site ID storage unit 317 with the information on the transmission node. On the other hand, when the delay between the transmitting node and the own node is not smaller, the adjacent node selection unit 316 keeps the adjacent node as it is.

隣接ノード・サイトID記憶部317は、第1の実施形態における隣接ノード・座標記憶部117と同様、ノードA3における現在の隣接ノードをリスト形式で保持する。ただし、隣接ノード・サイトID記憶部317は、隣接ノードの座標の代わりに、隣接ノードの属するサイトIDを保持する点が、隣接ノード・座標記憶部117と異なる。隣接ノード・サイトID記憶部317に保持された情報の例を図6に示す。   Similar to the adjacent node / coordinate storage unit 117 in the first embodiment, the adjacent node / site ID storage unit 317 holds the current adjacent node in the node A3 in a list format. However, the adjacent node / site ID storage unit 317 is different from the adjacent node / coordinate storage unit 117 in that it stores the site ID to which the adjacent node belongs instead of the coordinates of the adjacent node. An example of information held in the adjacent node / site ID storage unit 317 is shown in FIG.

図6の隣接ノード・サイトIDテーブル103を参照すると、1番目の隣接ノードは、対応するID領域が式(4)に示すとおりであり、ID=n5であり、該ノードが属するサイトIDはサイト「4」であることがわかる。同様に2〜4番目の隣接ノード情報および対応するサイトIDが示されている。   Referring to the adjacent node / site ID table 103 in FIG. 6, the first adjacent node has a corresponding ID area as shown in Expression (4), ID = n5, and the site ID to which the node belongs is the site ID It turns out that it is "4". Similarly, the second to fourth neighbor node information and the corresponding site ID are shown.

次に、図7を参照して、本発明の第2の形態においてノードA3が他のノードであるノードA4からメッセージを受信した際の動作について詳細に説明する。図7は、本発明の第2の形態においてノードA3が他のノードであるノードA4からメッセージを受信した際の処理を示すフローチャートである。   Next, with reference to FIG. 7, the operation when the node A3 receives a message from the other node A4 in the second mode of the present invention will be described in detail. FIG. 7 is a flowchart showing processing when the node A3 receives a message from the node A4 which is another node in the second mode of the present invention.

まず、ノードA3のメッセージ受信部313がノードA4からメッセージを受信する(ステップS201)。次に、メッセージ受信部313は、ステップS201で受信したメッセージにサイトIDが含まれているかどうかをチェックする(ステップS202)。   First, the message receiving unit 313 of the node A3 receives a message from the node A4 (step S201). Next, the message receiving unit 313 checks whether the site ID is included in the message received in step S201 (step S202).

ステップS202において、サイトIDがメッセージに含まれていると判断された場合(ステップS202:YES)、メッセージ受信部313は、含まれるサイトIDと該サイトIDを含むメッセージを送信したノードの情報(すなわちノードA4のノードID)をメッセージから抽出し、遅延計算部315へ抽出した情報を渡す(ステップS203)。また、ステップS202において、サイトIDがメッセージに含まれていないと判断された場合(ステップS202:NO)、ノードA3の処理は後述するステップS207へ移る。   If it is determined in step S202 that the site ID is included in the message (step S202: YES), the message receiving unit 313 transmits the information including the included site ID and the message including the site ID (that is, the node ID). Node ID of node A4) is extracted from the message, and the extracted information is passed to delay calculation unit 315 (step S203). If it is determined in step S202 that the site ID is not included in the message (step S202: NO), the processing of the node A3 proceeds to step S207 described later.

ステップS203の後、遅延計算部315は、ステップS203で抽出したサイトIDに基づいて自ノードとノードA4との間の遅延を計算し、計算した結果をノードA4のIDとともに隣接ノード選択部316へ渡す(ステップS204)。   After step S203, the delay calculation unit 315 calculates a delay between the own node and the node A4 based on the site ID extracted in step S203, and sends the calculated result to the adjacent node selection unit 316 together with the ID of the node A4. (Step S204).

次に、隣接ノード選択部316は、隣接ノード・サイトID記憶部317を参照し、ノードA4に対応するID領域において、現在隣接ノードとして選択しているノードと自ノードとの間の遅延と、ステップS204で計算した自ノードとノードA4との間の遅延とを比較する(ステップS205)。   Next, the adjacent node selection unit 316 refers to the adjacent node / site ID storage unit 317, and in the ID area corresponding to the node A4, a delay between the node currently selected as the adjacent node and the own node, The delay between the node calculated in step S204 and the node A4 is compared (step S205).

ステップS205において、ステップS204で計算したノードA4と自ノードとの間の遅延が現在の隣接ノードと自ノードとの間の遅延より小さい場合(ステップS205:YES)、隣接ノード選択部316は、ノードA4に対応するID領域において現在選択している隣接ノードを、ノードA4に置き換える(ステップS206)。ステップS205において、ステップS204で計算したノードA4と自ノードとの間の遅延が現在の隣接ノードと自ノードとの間の遅延以上である場合(ステップS205:NO)、隣接ノード選択部316は、隣接ノードを現在のままとする。そして、ノードA3の処理はステップS207へ移る。   In step S205, when the delay between the node A4 calculated in step S204 and the current node is smaller than the delay between the current adjacent node and the current node (step S205: YES), the adjacent node selection unit 316 The adjacent node currently selected in the ID area corresponding to A4 is replaced with node A4 (step S206). In Step S205, when the delay between the node A4 calculated in Step S204 and the own node is equal to or greater than the delay between the current adjacent node and the own node (Step S205: NO), the adjacent node selection unit 316 Keep neighboring nodes current. Then, the process of the node A3 moves to step S207.

ステップS206の後、メッセージ受信部313は、メッセージにおけるサイトIDおよびノードID以外の部分をDHTプロトコル処理部314へ渡す。DHTプロトコル処理部314は、メッセージの種類に従ったプロトコル処理を行う(ステップS207)。   After step S206, the message receiving unit 313 passes the part other than the site ID and node ID in the message to the DHT protocol processing unit 314. The DHT protocol processing unit 314 performs protocol processing according to the type of message (step S207).

上述した例では、受信したメッセージにサイトIDが含まれる場合、該サイトIDに対応するノードは、該メッセージをノードA3へ送信したノードA4であった。   In the example described above, when the received message includes a site ID, the node corresponding to the site ID is the node A4 that transmitted the message to the node A3.

しかしながら、ノードA4以外のノードが属するサイトのサイトIDがメッセージに含まれる場合もありうる。例えば、ノードA4以外のノード(以下、ノードYとする)がメッセージを最初に送信し、該メッセージをノードA4がノードA3に対して転送した場合、該メッセージ内には、ノードYの属するサイトのサイトIDが含まれている。したがって、このような場合は、メッセージ受信部313は、メッセージに含まれるサイトIDに対応するノードのIDとして、ノードYのIDを抽出する必要がある。   However, the site ID of a site to which a node other than the node A4 belongs may be included in the message. For example, when a node other than the node A4 (hereinafter referred to as a node Y) transmits a message first and the node A4 forwards the message to the node A3, the message of the site to which the node Y belongs is included in the message. The site ID is included. Therefore, in such a case, the message receiving unit 313 needs to extract the ID of the node Y as the node ID corresponding to the site ID included in the message.

次に本発明の第2の実施形態の効果について説明する。本発明の第2の実施形態では、互いに近傍に存在するノード同士が同一のサイトに属するようにし、各ノードは自ノードが属するサイトのサイトIDおよび自ノードのノードIDをDHTプロトコルにおけるメッセージ内に含めて送信する。そして、送信ノードが属するサイトのサイトIDが含まれたメッセージを受信したノードは、該送信ノードと自ノードとの間の遅延を、事前あるいは定期的に計測されたサイト間遅延に基づいて求め、求められた遅延が、該送信ノードのIDに対応するID領域において現在隣接している隣接ノードと自ノードとの間の遅延よりも小さければ、隣接ノードを該送信ノードに置き換える。   Next, effects of the second exemplary embodiment of the present invention will be described. In the second embodiment of the present invention, nodes in the vicinity of each other belong to the same site, and each node includes the site ID of the site to which the own node belongs and the node ID of the own node in a message in the DHT protocol. Include and send. Then, the node that has received the message including the site ID of the site to which the transmitting node belongs, obtains the delay between the transmitting node and the own node based on the inter-site delay measured in advance or periodically, If the obtained delay is smaller than the delay between the adjacent node and the current node in the ID area corresponding to the ID of the transmitting node, the adjacent node is replaced with the transmitting node.

このようにすることで、他のノードからのメッセージ受信を、自ノードにより近いノードを隣接ノードとして更新する機会とすることができる。したがって、より多くのノードからメッセージを受信するほど理想的なPNSの状況に近づけることが期待できる。   In this way, message reception from other nodes can be used as an opportunity to update a node closer to the own node as an adjacent node. Therefore, it can be expected that the closer to an ideal PNS situation, the more messages are received from more nodes.

以上、実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更を加えることができる。   The present invention has been described above with reference to the embodiments. However, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

上述のノードは、内部にコンピュータシステムを有していても良い。この場合、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されている。そして、このプログラムをコンピュータが読み出し、読み出されたプログラムをコンピュータが実行して、上記処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disc)−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線経由でコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。   The above nodes may have a computer system inside. In this case, the operation of each processing unit described above is stored in a computer-readable recording medium in the form of a program. Then, the computer reads this program, the computer executes the read program, and the above processing is performed. Here, the computer-readable recording medium includes a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disc) -ROM, a semiconductor memory, and the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

この出願は、2010年3月10日に出願された日本出願特願2010−053653号を基礎とする優先権を主張し、その開示の全てをここに取り込む。   This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2010-036553 for which it applied on March 10, 2010, and takes in those the indications of all here.

本発明は、例えば、分散ハッシュテーブルを備えたノードや、こうしたノードを有するシステムに利用することができる。本発明では、少ないオーバーヘッドで隣接ノードを選択できる。   The present invention can be used for, for example, a node having a distributed hash table and a system having such a node. In the present invention, an adjacent node can be selected with little overhead.

11 DHTプロトコル部
12 TCP/IP通信部
21 DHTプロトコル部
22 TCP/IP通信部
31 DHTプロトコル部
32 TCP/IP通信部
41 DHTプロトコル部
42 TCP/IP通信部
101 隣接ノード・座標テーブル
102 サイト間遅延テーブル
103 隣接ノード・サイトIDテーブル
111 座標計算部
112 メッセージ送信部
113 メッセージ受信部
114 DHTプロトコル処理部
115 距離計算部(第1の通信環境導出部)
116 隣接ノード選択部(第2の通信環境導出部、隣接ノード選択部)
117 隣接ノード・座標記憶部(記憶部)
311 サイト間遅延記憶部
312 メッセージ送信部
313 メッセージ受信部
314 DHTプロトコル処理部
315 遅延計算部(第1の通信環境導出部)
316 隣接ノード選択部(第2の通信環境導出部、隣接ノード選択部)
317 隣接ノード・サイトID記憶部(記憶部)
11 DHT protocol unit 12 TCP / IP communication unit 21 DHT protocol unit 22 TCP / IP communication unit 31 DHT protocol unit 32 TCP / IP communication unit 41 DHT protocol unit 42 TCP / IP communication unit 101 Adjacent node / coordinate table 102 Inter-site delay Table 103 Adjacent node / site ID table 111 Coordinate calculator 112 Message transmitter 113 Message receiver 114 DHT protocol processor 115 Distance calculator (first communication environment deriving unit)
116 Adjacent node selection unit (second communication environment deriving unit, adjacent node selection unit)
117 Adjacent node / coordinate storage unit (storage unit)
311 Inter-site delay storage unit 312 Message transmission unit 313 Message reception unit 314 DHT protocol processing unit 315 Delay calculation unit (first communication environment deriving unit)
316 Adjacent node selection unit (second communication environment deriving unit, adjacent node selection unit)
317 Adjacent node / site ID storage unit (storage unit)

Claims (3)

分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を受信ノードで記憶し、
送信ノードに関する情報が含まれたメッセージを前記受信ノードで受信し、
前記送信ノードに関する前記情報に基づいて、前記送信ノードと前記受信ノードとの間の第1の通信環境を前記受信ノードで導出し、
前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと前記受信ノードとの間の第2の通信環境を前記受信ノードで導出し、
前記第1の通信環境と前記第2の通信環境とを前記受信ノードで比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える
隣接ノード選択方法であって、
前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
前記各ノードには、前記各ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
前記受信ノードは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた前記受信ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
前記受信ノードは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
前記受信ノードは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
隣接ノード選択方法。
For each predetermined identifier area of an identifier that identifies each node participating in the distributed hash table protocol, information related to neighboring nodes is stored at the receiving node,
Receiving at the receiving node a message containing information about the sending node;
Deriving a first communication environment between the transmitting node and the receiving node at the receiving node based on the information about the transmitting node;
A second communication environment between the current adjacent node and the receiving node selected as the current adjacent node for the identifier region corresponding to the transmitting node based on the information regarding the adjacent node and the information regarding the transmitting node; Is derived at the receiving node,
The first communication environment is compared with the second communication environment at the reception node, and the identifier corresponding to the transmission node when the first communication environment is better than the second communication environment An adjacent node selection method of replacing the current adjacent node currently selected as an adjacent node for an area with the transmitting node ,
The first communication environment and the second communication environment are delay times between nodes,
Among the nodes participating in the distributed hash table protocol, a site identifier for identifying the site is assigned to a site that is a group composed of nodes existing in the same management domain,
The information regarding the neighboring node includes a site identifier assigned to a site to which the neighboring node belongs and an identifier for identifying the neighboring node;
Each node holds a delay time from the site to which each node belongs to each other site,
The message includes, as the information on the transmission node, a first site identifier assigned to a first site to which the transmission node belongs and a first identifier that identifies the transmission node;
The receiving node extracts the first site identifier and the first identifier from the message, and based on the held delay time, the second receiving node to which the second site identifier is assigned belongs. A first delay time between the first site and the first site,
The receiving node obtains a second delay time between the third site to which the current adjacent node belongs and the second site based on the held delay time;
The receiving node compares the first delay time and the second delay time, and when the first delay time is smaller than the second delay time, the identifier region corresponding to the transmitting node Replacing the second identifier of the current adjacent node currently stored as the adjacent node with the first identifier
Adjacent node selection method.
分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子
領域毎に、隣接ノードに関する情報を記憶する記憶部と、
送信ノードに関する情報が含まれたメッセージを受信するメッセージ受信部と、
前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信
ノードと自ノードとの間の第1の通信環境を導出する第1の通信環境導出部と、
前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、
前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣
接ノードと自ノードとの間の第2の通信環境を導出する第2の通信環境導出部と、
前記第1の通信環境と前記第2の通信環境とを比較し、前記第1の通信環境が前記第2
の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現
在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接
ノード選択部と
を備えるノードであって、
前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
前記第1の通信環境導出部は、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
前記第2の通信環境導出部は、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
前記隣接ノード選択部は、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
ノード。
A storage unit that stores information about adjacent nodes for each predetermined identifier region of an identifier that identifies each node participating in the distributed hash table protocol;
A message receiving unit for receiving a message including information on the sending node;
A first communication environment deriving unit for deriving a first communication environment between the transmission node that is a transmission source of the message and the own node based on the information on the transmission node;
Based on the information about the neighboring node and the information about the sending node,
A second communication environment deriving unit for deriving a second communication environment between the current adjacent node currently selected as the adjacent node and the own node for the identifier region corresponding to the transmission node;
The first communication environment is compared with the second communication environment, and the first communication environment is the second communication environment.
If from the communication environment is good, a node and a neighboring node selecting unit to replace the current neighbor node selected as the current neighbor node for the identifier region corresponding to the transmitting node by the transmitting node,
The first communication environment and the second communication environment are delay times between nodes,
Among the nodes participating in the distributed hash table protocol, a site identifier for identifying the site is assigned to a site that is a group composed of nodes existing in the same management domain,
The information regarding the neighboring node includes a site identifier assigned to a site to which the neighboring node belongs and an identifier for identifying the neighboring node;
The own node holds the delay time from the site to which it belongs to each other site,
The message includes, as the information on the transmission node, a first site identifier assigned to a first site to which the transmission node belongs and a first identifier that identifies the transmission node;
The first communication environment deriving unit extracts the first site identifier and the first identifier from the message, and the own node to which the second site identifier is assigned based on the held delay time Determining a first delay time between the second site to which the
The second communication environment deriving unit obtains a second delay time between the third site to which the current adjacent node belongs and the second site based on the held delay time,
The adjacent node selection unit compares the first delay time with the second delay time, and when the first delay time is smaller than the second delay time, the adjacent node selection unit corresponds to the transmission node. Replace the second identifier of the current adjacent node currently stored as the adjacent node for the identifier area with the first identifier.
node.
分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶するステップと、
送信ノードに関する情報が含まれたメッセージを受信するステップと、
前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出するステップと、
前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出するステップと、
前記第1の通信環境と前記第2の通信環境とを比較するステップと、
前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換えるステップと
をコンピュータに実行させるプログラムであって、
前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
前記第1の通信環境を導出するステップでは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
前記第2の通信環境を導出するステップでは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
前記第1の通信環境と前記第2の通信環境とを比較するステップでは、前記第1の遅延時間と前記第2の遅延時間とを比較し、
前記現隣接ノードを前記送信ノードで置き換えるステップでは、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
プログラム。
Storing information about neighboring nodes for each predetermined identifier region of an identifier that identifies each node participating in the distributed hash table protocol;
Receiving a message containing information about the sending node;
Deriving a first communication environment between the sending node that is the source of the message and the own node based on the information about the sending node;
Based on the information on the adjacent node and the information on the transmitting node, a second communication environment between the current adjacent node and the current node selected as the current adjacent node for the identifier region corresponding to the transmitting node is Deriving steps;
Comparing the first communication environment and the second communication environment;
If the first communication environment is better than the second communication environment, replacing the current adjacent node currently selected as the adjacent node for the identifier region corresponding to the transmitting node with the transmitting node; a program causing a computer to execute the,
The first communication environment and the second communication environment are delay times between nodes,
Among the nodes participating in the distributed hash table protocol, a site identifier for identifying the site is assigned to a site that is a group composed of nodes existing in the same management domain,
The information regarding the neighboring node includes a site identifier assigned to a site to which the neighboring node belongs and an identifier for identifying the neighboring node;
The own node holds the delay time from the site to which it belongs to each other site,
The message includes, as the information on the transmission node, a first site identifier assigned to a first site to which the transmission node belongs and a first identifier that identifies the transmission node;
In the step of deriving the first communication environment, the first site identifier and the first identifier are extracted from the message, and a second site identifier is assigned based on the held delay time. Determining a first delay time between the second site to which the node belongs and the first site;
In the step of deriving the second communication environment, a second delay time between the third site to which the current adjacent node belongs and the second site is obtained based on the held delay time,
In the step of comparing the first communication environment and the second communication environment, the first delay time is compared with the second delay time;
In the step of replacing the current adjacent node with the transmitting node, the identifier area corresponding to the transmitting node is stored as the current adjacent node when the first delay time is smaller than the second delay time. Replace the second identifier of the current adjacent node with the first identifier
program.
JP2012504361A 2010-03-10 2011-02-04 Adjacent node selection method, node, and program Expired - Fee Related JP5915522B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010053653 2010-03-10
JP2010053653 2010-03-10
PCT/JP2011/052352 WO2011111449A1 (en) 2010-03-10 2011-02-04 Adjacent node selection method, node, and program

Publications (2)

Publication Number Publication Date
JPWO2011111449A1 JPWO2011111449A1 (en) 2013-06-27
JP5915522B2 true JP5915522B2 (en) 2016-05-11

Family

ID=44563275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012504361A Expired - Fee Related JP5915522B2 (en) 2010-03-10 2011-02-04 Adjacent node selection method, node, and program

Country Status (2)

Country Link
JP (1) JP5915522B2 (en)
WO (1) WO2011111449A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN7015001568; Hancong DUAN, et al.: 'Proceedings of The Sixth IEEE International Conference on Computer and Information Technology (CIT 2' Proximity Neighbor Selection in Structured P2P Network , 200612, IEEE *
JPN7015001569; Frank DABEK, et al.: 'Proceedings of SIGCOMM 2004' Vivaldi: A Decentralized Network Coordinate System Volume 34, Issue 4, 200410, ACM *
JPN7015001570; Michael PARKER, et al.: 'Proceedings of GLOBECOM '05' Optimizing Neighbors by Objective Functions in Peer-to-Peer Networks Volume 6, 200601, p.990-995, IEEE *

Also Published As

Publication number Publication date
WO2011111449A1 (en) 2011-09-15
JPWO2011111449A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
US7788400B2 (en) Utilizing proximity information in an overlay network
JP5745925B2 (en) Communication method of terminal in content center network (CCN), communication method of hub in CCN, recording medium therefor, and terminal for CCN
US7483391B2 (en) Providing a notification including location information for nodes in an overlay network
US7644167B2 (en) Identifying a service node in a network
US7827279B2 (en) Selecting nodes close to another node in a network using location information for the nodes
KR101607879B1 (en) Adaptive multi-interface use for content networking
US7289520B2 (en) Method, apparatus, and system for expressway routing among peers
US8190630B2 (en) Data search device, data search system, data search method and data search program
JP2006174417A (en) Method and system for associating resource requests with corresponding resources
CN101626392B (en) Methods and systems for storing and searching data
JP7564362B2 (en) Method for routing and forwarding messages that changes destination addresses along a path - Patents.com
CN116521668A (en) Method, apparatus and computer program product for data storage
CN1934845B (en) Determining location information of nodes in a network using at least one local landmark node
JP5915522B2 (en) Adjacent node selection method, node, and program
JP2014519294A (en) Routing by resolution
US20060209717A1 (en) Distributed storing of network position information for nodes
JP2015220699A (en) Cache node search method
JP2009218728A (en) Information transfer apparatus, information transfer method, and program
Thiruvenkatam et al. A novel replication protocol using scalable partition prediction and information estimation algorithm for improving DCN data availability
Chen et al. Cost‐Effective Location Management for Mobile Agents on the Internet
JP2006221457A (en) Servant for performing replication control in Pure P2P communication, replication control method and program thereof
JP4624314B2 (en) Data management device
WO2013027784A1 (en) Data processing device, data distribution processing system, data processing method, and program storage medium
Chen et al. Searching nearest neighbor in overlay network
Saleem et al. Distributed service discovery architecture: A bottom-up approach with application oriented networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160321

R150 Certificate of patent or registration of utility model

Ref document number: 5915522

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees