JP6485811B2 - Node device and routing table management method - Google Patents

Node device and routing table management method Download PDF

Info

Publication number
JP6485811B2
JP6485811B2 JP2016028930A JP2016028930A JP6485811B2 JP 6485811 B2 JP6485811 B2 JP 6485811B2 JP 2016028930 A JP2016028930 A JP 2016028930A JP 2016028930 A JP2016028930 A JP 2016028930A JP 6485811 B2 JP6485811 B2 JP 6485811B2
Authority
JP
Japan
Prior art keywords
routing table
node
entries
node device
threshold
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.)
Active
Application number
JP2016028930A
Other languages
Japanese (ja)
Other versions
JP2017147645A (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.)
Nippon Telegraph and Telephone Corp
Tokyo Institute of Technology NUC
Original Assignee
Nippon Telegraph and Telephone Corp
Tokyo Institute of Technology NUC
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 Nippon Telegraph and Telephone Corp, Tokyo Institute of Technology NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016028930A priority Critical patent/JP6485811B2/en
Publication of JP2017147645A publication Critical patent/JP2017147645A/en
Application granted granted Critical
Publication of JP6485811B2 publication Critical patent/JP6485811B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、範囲クエリを扱う構造化オーバレイ技術におけるノード装置および経路表管理方法に関する。   The present invention relates to a node device and a routing table management method in a structured overlay technique that handles range queries.

構造化オーバレイは、コンピュータ等の多数の計算機(以降、「ノード装置」または単に「ノード」と呼ぶ)が接続されたネットワークにおいて、数学的ルールに基づきオーバレイネットワークを構築することで、ノードが相互に発見や通知を行なうことを可能とする技術である。構造化オーバレイは、ノード情報の集中管理を必要とせず、自律分散的に振る舞うことから、分散データベース等の大規模システムにおいて有用な技術として着目されている。   In a structured overlay, a network in which a large number of computers such as computers (hereinafter referred to as “node devices” or simply “nodes”) are connected to each other by constructing an overlay network based on mathematical rules. It is a technology that enables discovery and notification. Structured overlays are attracting attention as a useful technique in large-scale systems such as distributed databases because they do not require centralized management of node information and behave autonomously.

範囲クエリを扱う構造化オーバレイは、各ノードがキー(全順序関係を持つ値)を有する状況において、キーの範囲を指定することで、当該範囲に含まれるキーを有する全ノードに効率的にメッセージを配送可能な機能を有する構造化オーバレイ技術を指す。   A structured overlay that handles range queries can be used to efficiently send messages to all nodes that have keys in the range by specifying the key range in a situation where each node has keys (values with a total order relationship). This refers to a structured overlay technology having a function capable of delivering

非特許文献1は、範囲クエリを扱う構造化オーバレイの一例を提案している。非特許文献1の例では、ノード同士で構成する論理ネットワークにSkip List(スキップリスト)を多重化した構造を持たせることで範囲クエリを可能としている。すなわち、全体が階層構成となっており、最下位レベルはキーをソートした順序で全ノードが並んだ双方向リストとなっている。各ノードはキーとは別にメンバシップベクタと呼ばれるk進数の乱数列を有し、レベルiではメンバシップベクタの接頭i桁までが等しいノード同士で双方向リストを形成する。検索を行なう時は、検索開始ノードの最上位レベルからスタートし、Skip Listと同様に目的のキーを通り過ぎない範囲でホップしてレベルをひとつ下げるという動作を繰り返す。これにより、上位レベルがショートカットリンクとして働き、目的キーまで少ないホップ数で到達することができる。この手法において、各ノードが保持する経路表のサイズと検索時の経路長は、ノード数をNとすると、共にO(log N)である。   Non-Patent Document 1 proposes an example of a structured overlay that handles range queries. In the example of Non-Patent Document 1, a range query is made possible by providing a logical network composed of nodes with a structure in which a skip list is multiplexed. That is, the whole has a hierarchical structure, and the lowest level is a bidirectional list in which all nodes are arranged in the order in which the keys are sorted. Each node has a k-ary random number sequence called a membership vector in addition to the key, and at level i, a bidirectional list is formed by nodes having the same prefix up to i digits of the membership vector. When performing a search, the operation starts from the highest level of the search start node, and repeats the operation of hopping within a range that does not pass the target key and lowering the level by one as in the Skip List. As a result, the upper level works as a shortcut link, and the target key can be reached with a small number of hops. In this method, the size of the route table held by each node and the route length at the time of retrieval are both O (log N), where N is the number of nodes.

非特許文献2は、経路表を柔軟に管理可能な構造化オーバレイの一例を提案している。非特許文献2の例では、分散ハッシュテーブルを対象として、経路表間の優劣を表す順序関係を定義し、それに従って経路表の改良を繰り返すことで、ノードID以外の要素を考慮した経路表の構築・管理を可能としている。これによって、ノード数が少ない時には経路長をO(1)とすることや、下位ネットワークにおいてISP(Internet Service Provider)をまたぐ通信を削減する等の効果を得ている。   Non-Patent Document 2 proposes an example of a structured overlay that can flexibly manage a routing table. In the example of Non-Patent Document 2, an order relationship representing superiority or inferiority between routing tables is defined for a distributed hash table, and the improvement of the routing table is repeated accordingly. Construction and management are possible. As a result, when the number of nodes is small, the route length is set to O (1), and communication across ISPs (Internet Service Providers) in the lower network is reduced.

James Aspnes, Gauri Shah, “Skip Graphs”, ACM Transactions on Algorithms, pp.37:1-37:25, 2007.James Aspnes, Gauri Shah, “Skip Graphs”, ACM Transactions on Algorithms, pp.37: 1-37: 25, 2007. 長尾洋也, 首藤一幸, “柔軟な経路表:経路表空間上の順序関係に基づくオーバレイネットワークルーティング方式”, 先進的計算基盤システムシンポジウム論文集, pp.117-125, 2011年.Hiroya Nagao and Kazuyuki Shudo, “Flexible Routing Table: An Overlay Network Routing Method Based on Ordering Relations in the Routing Table Space,” Advanced Computer Systems Symposium Proceedings, pp.117-125, 2011.

非特許文献1に示されるような範囲クエリを扱う従来の構造化オーバレイにおいては、経路表に記載すべきノード(エントリ)を特定の要素のみに基づいて選択的に探索する。非特許文献1の場合、各レベルにおいてメンバシップベクタが所定の桁数一致し、かつキーが最近接するノードを探索し、そのノードの情報を経路表エントリとする。このため、キーとメンバシップベクタ以外の要素、例えば相手ノードとの通信遅延や所属ISP・AS(Autonomous System)等を考慮して経路表を構築することができず、クエリの配送遅延が増大してしまう等の問題がある。また、経路表サイズは全ノード共通にO(log N)であり、ノード毎のメモリサイズ等に応じて経路表サイズを変えることはできない。   In a conventional structured overlay that handles a range query as shown in Non-Patent Document 1, a node (entry) to be described in a routing table is selectively searched based only on specific elements. In the case of Non-Patent Document 1, a node whose membership vector matches a predetermined number of digits at each level and whose key is closest is searched for, and the information of the node is used as a route table entry. For this reason, a routing table cannot be constructed in consideration of elements other than the key and the membership vector, for example, communication delay with the partner node, affiliated ISP / AS (Autonomous System), etc., and query delivery delay increases. There are problems such as. The routing table size is O (log N) common to all nodes, and the routing table size cannot be changed according to the memory size of each node.

一方で、非特許文献2に示されるような分散ハッシュテーブルを対象として柔軟な経路表管理を実現している手法が存在する。非特許文献2以前の分散ハッシュテーブルでは、経路表構築に際しノードID以外の要素を考慮することが困難であったが、非特許文献2の手法では、相手ノードとの通信遅延や所属ISP・AS等を考慮して経路表を構築することが可能であり、経路表サイズもノード毎に設定可能である。しかしながら、扱うことができるクエリは完全一致クエリに限定され、範囲クエリを扱うことはできない。   On the other hand, there is a technique that realizes flexible routing table management for a distributed hash table as shown in Non-Patent Document 2. In the distributed hash table before Non-Patent Document 2, it is difficult to consider elements other than the node ID when constructing the routing table. However, with the method of Non-Patent Document 2, communication delay with the partner node and the affiliated ISP / AS The route table can be constructed in consideration of the above, and the size of the route table can be set for each node. However, queries that can be handled are limited to exact match queries and cannot handle range queries.

以上に示したように、構造化オーバレイにおいて、範囲クエリを扱うことおよび柔軟な経路表管理を実現することを両立することは困難である。特に、非特許文献2における手法では、ノードID以外の要素を考慮可能とは言え、ノードIDを対象とした探索においてO(log N)の探索効率を実現するためにはノードIDを考慮することが不可欠であり、このノードIDは数値空間上に一様に分布していることが前提となる。しかしながら、非特許文献1においては探索対象となるキー(非特許文献2におけるノードIDに相当)が一様に分布しているという前提を設けておらず、全順序関係を持つという前提のみを有している。このため、非特許文献2の手法をそのまま非特許文献1の手法に組み合わせることは困難である。   As described above, in the structured overlay, it is difficult to handle both range queries and realize flexible routing table management. In particular, in the method in Non-Patent Document 2, although elements other than the node ID can be considered, the node ID is considered in order to realize the search efficiency of O (log N) in the search for the node ID. Is essential, and it is assumed that the node IDs are uniformly distributed in the numerical space. However, in Non-Patent Document 1, there is no assumption that keys to be searched (corresponding to the node IDs in Non-Patent Document 2) are uniformly distributed, only the assumption that there is a total order relationship. doing. For this reason, it is difficult to combine the method of Non-Patent Document 2 as it is with the method of Non-Patent Document 1.

本発明は、上記事情に着目してなされたものであり、その目的とするところは、範囲クエリを扱う構造化オーバレイにおいて経路表構築に関する柔軟性を向上させることができるノード装置および経路表管理方法を提供することにある。   The present invention has been made paying attention to the above circumstances, and an object of the present invention is to provide a node device and a routing table management method capable of improving flexibility related to routing table construction in a structured overlay that handles range queries. Is to provide.

本発明の一態様は、複数のノード装置によりオーバレイネットワークが構成され、前記複数のノード装置それぞれが全順序関係を持つ値を有し、前記オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれる値を有するノード装置にメッセージを配信する通信システムにおいて、他のノード装置に関するノード情報を収集し、前記他のノード装置が有する前記値を含む前記ノード情報を経路表にエントリとして追加し、前記経路表内のエントリの数が閾値を超えるか否かを判定し、前記経路表内のエントリの数が前記閾値を超えると判定された場合に、前記経路表内のエントリの中から前記閾値を超える数分のエントリを選択し、前記選択したエントリを前記経路表から削除するようにしたものである。   According to an aspect of the present invention, an overlay network is configured by a plurality of node devices, each of the plurality of node devices has a value having a total order relationship, and is included in a range specified by a range query by the overlay network. In a communication system for delivering a message to a node device having a value, node information relating to another node device is collected, and the node information including the value possessed by the other node device is added as an entry to a route table, and the route It is determined whether or not the number of entries in the table exceeds a threshold, and when it is determined that the number of entries in the routing table exceeds the threshold, the threshold is exceeded from among the entries in the routing table. Several entries are selected, and the selected entries are deleted from the routing table.

本発明によれば、範囲クエリを扱う構造化オーバレイにおいて柔軟な経路表管理を実現することができる。   According to the present invention, flexible routing table management can be realized in a structured overlay that handles range queries.

実施形態に係る通信システムの構成例を示す図。The figure which shows the structural example of the communication system which concerns on embodiment. 図1に示した各ノードの構成例を示すブロック図。The block diagram which shows the structural example of each node shown in FIG. 図2に示した経路表更新部による厳選処理の一例を示す図。The figure which shows an example of the careful selection process by the routing table update part shown in FIG. 図2に示した経路表更新部による厳選処理の他の例を示す図。The figure which shows the other example of the careful selection process by the routing table update part shown in FIG. 実施形態に係る経路表を管理する方法の一例を示すフローチャート。6 is a flowchart illustrating an example of a method for managing a routing table according to the embodiment.

以下、図面を参照しながら本発明の実施形態を説明する。実施形態は、範囲クエリを扱う論理ネットワークにおける経路表を管理する技術に関する。実施形態では、経路表構築の柔軟性を高めるために、必要な経路表エントリを選択的に追加するのではなく、不要な経路表エントリを削除することで経路表を構築する。すなわち、経路表エントリを収集する際には特定の要素に依らずに経路表に追加し、ノード毎に予め設定したエントリ数を超過した時点で超過数分のエントリを破棄する。この時、破棄するエントリの選択においてノード毎に異なる需要を反映させる。以上の動作を反復することにより、各ノードの環境等に対し適応的に経路表を改良し維持することができる。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment relates to a technique for managing a routing table in a logical network that handles range queries. In the embodiment, in order to increase the flexibility of routing table construction, a routing table is constructed by deleting unnecessary routing table entries instead of selectively adding necessary routing table entries. That is, when collecting routing table entries, it is added to the routing table without depending on specific elements, and when the number of entries preset for each node is exceeded, the excess number of entries is discarded. At this time, a different demand is reflected for each node in selecting an entry to be discarded. By repeating the above operations, the routing table can be adaptively improved and maintained for the environment of each node.

図1は、実施形態に係る通信システムの全体構成の一例を概略的に示している。図1に示されるネットワーク12は、例えばインターネット等の物理ネットワークであり、複数のノード(図1では6つのノードA〜F)がネットワーク12を介して互いに通信可能に接続されている。具体的には、ノードAおよびノードEがルータ13に接続され、ノードCおよびノードFがルータ14に接続され、ノードBおよびノードDがルータ15に接続され、ルータ13およびルータ15がルータ14に接続されている。   FIG. 1 schematically shows an example of the overall configuration of a communication system according to an embodiment. A network 12 shown in FIG. 1 is a physical network such as the Internet, for example, and a plurality of nodes (six nodes A to F in FIG. 1) are connected to each other via the network 12 so as to communicate with each other. Specifically, node A and node E are connected to router 13, node C and node F are connected to router 14, node B and node D are connected to router 15, and router 13 and router 15 are connected to router 14. It is connected.

オーバレイネットワーク11は、ネットワーク12上に構築した仮想的なネットワークである。オーバレイネットワーク11はノードA〜Fを含む。なお、オーバレイネットワーク11は、図1に示される例ではネットワーク12に含まれる全てのノードA〜Fによって構成されているが、これに限らず、ネットワーク12に含まれるノードの一部によって構成されてもよい。   The overlay network 11 is a virtual network constructed on the network 12. The overlay network 11 includes nodes A to F. The overlay network 11 is configured by all the nodes A to F included in the network 12 in the example illustrated in FIG. 1, but is not limited thereto, and is configured by a part of the nodes included in the network 12. Also good.

オーバレイネットワーク11において、ノードA〜Fの各々は、経路表を保持し、自身の経路表に従って、メッセージの送信または転送を行なう。あるノードから目的ノードへのメッセージ送信は、それぞれのノードが経路表に従ってメッセージの転送を繰り返すことによって達成される。本実施形態では、ノードA〜Fはそれぞれ全順序関係を持つ値(以降、「キー」と呼ぶ)を有し、目的ノードは、範囲クエリにより指定されたキー範囲に含まれるキーを有する全てのノードである。また、本実施形態では、ノードA〜Fはそれぞれ、キーとは独立なk進数の乱数列(以降、「メンバシップベクタ」と呼ぶ)を有していてもよい。ここで、kは2以上の整数である。   In the overlay network 11, each of the nodes A to F holds a routing table and transmits or forwards a message according to its own routing table. Message transmission from a certain node to the target node is achieved by each node repeating the transfer of the message according to the routing table. In this embodiment, each of the nodes A to F has a value having a total order relationship (hereinafter referred to as “key”), and the target node has all keys having keys included in the key range specified by the range query. It is a node. In the present embodiment, each of the nodes A to F may have a random number sequence (hereinafter referred to as “membership vector”) in k notation independent of the key. Here, k is an integer of 2 or more.

図2は、実施形態に係るノードの構成例を概略的に示している。図2に示されるノードは、図1に示されるノードA〜Fの各々に対応するものである。ここでは、図2に示されるノードが図1に示されるノードAであるとして説明を行なう。   FIG. 2 schematically illustrates a configuration example of a node according to the embodiment. The nodes shown in FIG. 2 correspond to the nodes A to F shown in FIG. Here, description will be made assuming that the node shown in FIG. 2 is node A shown in FIG.

ノードAは、通信処理部21、ノード情報収集部22、更新開始判定部23、経路表更新部24、クエリ処理部25、および経路表格納部26を備える。通信処理部21、ノード情報収集部22、更新開始判定部23、経路表更新部24、およびクエリ処理部25は、図示しないメモリに格納されるコンピュータプログラムを図示しないプロセッサに実行させることにより実現することができる。経路表格納部26は、図示しないメモリにより実現することができる。経路表格納部26は、経路表を格納する。   The node A includes a communication processing unit 21, a node information collection unit 22, an update start determination unit 23, a route table update unit 24, a query processing unit 25, and a route table storage unit 26. The communication processing unit 21, the node information collection unit 22, the update start determination unit 23, the routing table update unit 24, and the query processing unit 25 are realized by causing a processor (not shown) to execute a computer program stored in a memory (not shown). be able to. The routing table storage unit 26 can be realized by a memory (not shown). The route table storage unit 26 stores a route table.

通信処理部21は、他のノードと通信するための処理を行なう。具体的には、通信処理部21は、他のノードへメッセージを送信したり、他のノードからメッセージを受信したりする。   The communication processing unit 21 performs processing for communicating with other nodes. Specifically, the communication processing unit 21 transmits a message to another node or receives a message from another node.

ノード情報収集部22は、通信処理部21を通じて、他のノードに関するノード情報を収集する。具体的には、ノード情報収集部22は、経路表格納部26内の経路表に未だ登録されていないノード(例えばノードB)に関するノード情報を収集する。ノード情報収集部22は、何らの制約を設けずにノード情報の収集を行なうことができる。ノード情報は、例えば、IPアドレス、ポート番号、およびキーを含む。IPアドレスは、下位ネットワーク(図1に示されるネットワーク12)上の所在を示す所在情報の一例である。下位ネットワークは、TCP/IPベースのネットワークに限らず、他のプロトコルに基づくネットワークであってもよい。ノード情報は、メンバシップベクタをさらに含んでいてもよい。   The node information collection unit 22 collects node information regarding other nodes through the communication processing unit 21. Specifically, the node information collection unit 22 collects node information related to a node (for example, the node B) that is not yet registered in the route table in the route table storage unit 26. The node information collection unit 22 can collect node information without any restrictions. The node information includes, for example, an IP address, a port number, and a key. The IP address is an example of location information indicating the location on the lower network (network 12 shown in FIG. 1). The lower network is not limited to a TCP / IP-based network, and may be a network based on another protocol. The node information may further include a membership vector.

ノード情報の収集は、経路表に既に登録されている既知のノード(例えばノードC)を経由してノード情報収集要求を送出し、ノードBまたはノードBを知るノード(例えばノードD)からノード情報を受け取るなどのように、能動的に行なわれてもよい。また、ノード情報の収集は、ノードEからノードA宛てに送信された範囲クエリなどの他の目的で行なわれる通信の際に、通信内容に含まれる情報を読み取るなどのように、受動的に行なわれてもよい。
ノード情報収集部22は、収集したノード情報を経路表にエントリとして追加する。
Node information is collected by sending a node information collection request via a known node (for example, node C) already registered in the routing table, and node information from node B or a node (for example, node D) that knows node B. May be actively performed, such as receiving In addition, node information is collected passively, such as reading information included in communication contents during communication performed for other purposes such as a range query transmitted from node E to node A. May be.
The node information collection unit 22 adds the collected node information as an entry to the route table.

更新開始判定部23は、経路表内のエントリの数が予め定めた経路表サイズ(閾値)を超えているか否かを判定する。経路表サイズは、ノード毎に異なっていてもよい。また、経路表サイズは、システム稼働中に変更されてもよい。更新開始判定部23は、経路表内のエントリ数が経路表サイズを超えていると判定すると、経路表更新部24に対して更新処理の開始要求を与える。   The update start determination unit 23 determines whether or not the number of entries in the routing table exceeds a predetermined routing table size (threshold). The routing table size may be different for each node. Further, the routing table size may be changed while the system is operating. When the update start determination unit 23 determines that the number of entries in the routing table exceeds the routing table size, the update start determination unit 23 gives an update processing start request to the routing table update unit 24.

経路表更新部24は、更新開始判定部23から更新処理の開始要求を受けて、経路表を更新する。経路表更新部24は、予め定めた規則に基づいて経路表サイズの超過数分のエントリを選択し、選択したエントリを経路表から削除する。この処理を経路表エントリの厳選と呼ぶ。上記の規則は、下記(1)から(4)に示す更新方法例のいずれか1つまたは2以上の組み合わせに基づいていることができる。経路表の更新により、経路表内のエントリの数が経路表サイズ以下になる。   The routing table updating unit 24 receives the update processing start request from the update start determining unit 23 and updates the routing table. The routing table update unit 24 selects entries corresponding to the number exceeding the routing table size based on a predetermined rule, and deletes the selected entries from the routing table. This process is called careful selection of route table entries. The above rules can be based on any one or a combination of two or more update method examples shown in the following (1) to (4). By updating the routing table, the number of entries in the routing table becomes less than or equal to the routing table size.

(1)削除するエントリの選択において、ノード毎に異なる様々な需要を反映させることができる。例えば、可能な限り同じ自律システム(AS;Autonomous System)内のノードを残すこと、ラウンドトリップタイム(RTT;Round Trip Time)の値が小さいノードを残すこと等の規則を設けることができる。このような規則を設けることにより、メッセージの配送遅延を小さくすることができる。   (1) In selecting an entry to be deleted, various demands different for each node can be reflected. For example, rules such as leaving a node in the same autonomous system (AS) as much as possible and leaving a node having a small round trip time (RTT) value can be provided. By providing such a rule, the message delivery delay can be reduced.

(2)経路表更新部24は、図3(a)に示すように、予め定めた基準に従って複数の経路表を比較する経路表比較部31を含んでもよい。経路表更新部24は、厳選によって構成し得る全ての経路表を生成し、経路表比較部31を用いてこれらの経路表から最も望ましい経路表を選択し、選択した経路表を構成するように厳選を行なう。経路表比較部31は、経路表内のキーの頻度分布に基づいて比較を行なうことができる。例えば、経路表比較部31は、キー空間が1次元の距離空間である場合に、ノードAの経路表内のキーをマップした時のノードAのキーを基点とした頻度分布が指数分布に近いほど望ましい経路表である、という基準を用いてもよい。例えば、経路表1および経路表2のキーの頻度分布が図3(b)に示されるものである場合、経路表2のキーの頻度分布のほうが指数分布に近いため、図3(a)に示すように、経路表比較部31の出力は経路表2となる。   (2) The routing table update unit 24 may include a routing table comparison unit 31 that compares a plurality of routing tables according to a predetermined criterion, as shown in FIG. The routing table updating unit 24 generates all routing tables that can be configured by careful selection, selects the most desirable routing table from these routing tables using the routing table comparison unit 31, and configures the selected routing table. Carefully select. The routing table comparison unit 31 can perform comparison based on the frequency distribution of keys in the routing table. For example, when the key space is a one-dimensional metric space, the routing table comparison unit 31 has a frequency distribution close to the exponential distribution based on the key of the node A when the key in the routing table of the node A is mapped. A criterion that the route table is more desirable may be used. For example, when the frequency distribution of the keys of the routing table 1 and the routing table 2 is as shown in FIG. 3B, the frequency distribution of the keys of the routing table 2 is closer to the exponential distribution, so that FIG. As shown, the output of the routing table comparison unit 31 is the routing table 2.

(3)経路表更新部24は、スティッキーエントリを除いたエントリ群を対象として厳選を行なってもよい。スティッキーエントリは、経路表内のエントリのうちの、予め定めた条件に合致するエントリである。例えば、経路表に登録されている全ノードおよび自身(自ノード)をキー順に並べた際に、自ノードの前後に位置するノードをスティッキーエントリとして選択する。この場合、非特許文献1におけるレベル0の双方向リストが再現され、到達性が保証される。   (3) The routing table update unit 24 may perform careful selection for an entry group excluding sticky entries. The sticky entry is an entry that matches a predetermined condition among the entries in the routing table. For example, when all nodes registered in the routing table and themselves (own nodes) are arranged in the key order, nodes located before and after the own nodes are selected as sticky entries. In this case, the bidirectional list of level 0 in Non-Patent Document 1 is reproduced, and reachability is guaranteed.

(4)経路表更新部24は、経路表内のエントリのメンバシップベクタに基づいて厳選を行なってもよい。この場合、経路表内の各エントリは、メンバシップベクタをさらに含み、経路表更新部24は、図4(a)に示すように、予め定めた基準に従って複数の経路表を比較する経路表比較部41を含む。経路表更新部24は、自身のメンバシップベクタと経路表内のエントリのメンバシップベクタとの一致度に基づいて厳選を行なうことができる。一致度としては、例えば、プレフィックス一致長がある。プレフィックス一致長は、自身のメンバシップベクタと経路表内のエントリのメンバシップベクタとの間で接頭が一致する桁数を示す。例えば、図4(b)に示すように、自身(ノードA)のメンバシップベクタが「001011・・・」である場合、メンバシップベクタ「011101・・・」については、接頭の「0」が一致するので、プレフィックス一致長は1となり、メンバシップベクタ「001000・・・」接頭の「0010」が一致するので、プレフィックス一致長は4となる。経路表比較部41は、メンバシップベクタのプレフィックス一致長の頻度分布が一様分布に近いほど望ましい経路表である、という基準を用いてもよい。例えば、経路表1および経路表2のプレフィックス一致長の頻度分布が図4(b)に示されるようなものである場合、経路表2のキーの頻度分布のほうが一様分布に近いため、図4(a)に示すように、経路表比較部41の出力は経路表2となる。この場合において、メンバシップベクタのプレフィックス一致長毎に、ノードAのキーに最近接のキーを有するノード2つが経路表に含まれていれば、非特許文献1において示されている経路長および経路表サイズがO(log N)となるトポロジが再現される。   (4) The routing table update unit 24 may perform careful selection based on the membership vector of the entry in the routing table. In this case, each entry in the routing table further includes a membership vector, and the routing table update unit 24 compares the routing tables according to a predetermined criterion as shown in FIG. Part 41 is included. The routing table update unit 24 can select carefully based on the degree of coincidence between its membership vector and the membership vector of the entry in the routing table. As the matching degree, for example, there is a prefix matching length. The prefix match length indicates the number of digits whose prefix matches between its own membership vector and the membership vector of the entry in the routing table. For example, as shown in FIG. 4B, when the membership vector of itself (node A) is “001011...”, The prefix “0” is assigned to the membership vector “011101. Since they match, the prefix match length is 1, and the prefix “0010” of the membership vector “001000...” Matches, so the prefix match length is 4. The route table comparison unit 41 may use a criterion that the frequency distribution of the prefix match length of the membership vector is closer to a uniform distribution, which is a desirable route table. For example, when the frequency distribution of the prefix match lengths of the routing table 1 and the routing table 2 is as shown in FIG. 4B, the frequency distribution of the key of the routing table 2 is closer to the uniform distribution. As shown in 4 (a), the output of the route table comparison unit 41 is the route table 2. In this case, for each prefix match length of the membership vector, if two nodes having the closest key to the key of node A are included in the route table, the route length and route shown in Non-Patent Document 1 A topology with a table size of O (log N) is reproduced.

クエリ処理部25は、キーの範囲を指定する範囲クエリを受け付け、必要に応じて、経路表を参照してメッセージの転送先を決める。通信処理部21は、クエリ処理部25によって決定された転送先にメッセージを転送する。   The query processing unit 25 receives a range query specifying a key range, and determines a message transfer destination by referring to a routing table as necessary. The communication processing unit 21 transfers the message to the transfer destination determined by the query processing unit 25.

次に、図5を参照して実施形態に係る経路表を管理する方法例について説明する。   Next, an example of a method for managing the routing table according to the embodiment will be described with reference to FIG.

図5のステップS501では、ノード情報収集部22は、経路表エントリとなるノードに関するノード情報を収集する。ステップS502では、ノード情報収集部22は、収集したノード情報を経路表に追加する。ステップS503では、更新開始判定部23は、経路表エントリの数が予め定めた経路表サイズを超えているか否かを判定する。経路表エントリ数が経路表サイズ以下である場合、ステップS501に戻り、経路表エントリ数が経路表サイズを超えている場合、ステップS504に進む。ステップS504では、経路表更新部24は、経路表を更新する。具体的には、経路表更新部24は、経路表エントリの中から経路表サイズを超過した数のエントリを選択し、選択したエントリを経路表から削除する。
図5に示される動作を継続的に繰り返すことにより、各ノードの環境等に対し適応的に経路表を改良し維持することができる。
In step S501 in FIG. 5, the node information collection unit 22 collects node information related to a node that is a routing table entry. In step S502, the node information collection unit 22 adds the collected node information to the route table. In step S503, the update start determination unit 23 determines whether the number of route table entries exceeds a predetermined route table size. If the number of routing table entries is less than or equal to the routing table size, the process returns to step S501. If the number of routing table entries exceeds the routing table size, the process proceeds to step S504. In step S504, the routing table update unit 24 updates the routing table. Specifically, the routing table update unit 24 selects a number of entries that exceed the routing table size from the routing table entries, and deletes the selected entries from the routing table.
By continuously repeating the operation shown in FIG. 5, the routing table can be improved and maintained adaptively to the environment of each node.

なお、ステップS503に示される判定処理は、経路表にエントリが追加された後に実行される場合に限らず、例えば、各ノードにおいて経路表サイズが変更されるたびに実行されてもよい。   Note that the determination process shown in step S503 is not limited to being executed after an entry is added to the routing table, and may be executed every time the routing table size is changed in each node, for example.

以上のように、本実施形態によれば、複数のノードによりオーバレイネットワークが構成され、複数のノード装置それぞれが全順序関係を持つ値を有し、オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれる値を有するノードにメッセージを配信する通信システムにおいて、他のノードに関する、このノードが有するキーを含むノード情報を収集し、このノード情報を経路表にエントリとして追加し、経路表内のエントリの数が経路表サイズを超える場合に、経路表内のエントリの中から経路表サイズを超える数分のエントリを選択し、選択したエントリを経路表から削除する。これにより、範囲クエリを扱う構造化オーバレイにおいて、ノード毎に経路表サイズを設定することができる等、柔軟な経路表管理を実現することができる。   As described above, according to the present embodiment, an overlay network is configured by a plurality of nodes, each of the plurality of node devices has a value having a total order relationship, and the range specified by the range query is set by the overlay network. In a communication system that distributes a message to a node having an included value, node information including the key of this node regarding other nodes is collected, this node information is added as an entry to the routing table, and an entry in the routing table When the number exceeds the routing table size, entries corresponding to the number exceeding the routing table size are selected from the entries in the routing table, and the selected entries are deleted from the routing table. This makes it possible to implement flexible routing table management, such as setting a routing table size for each node in a structured overlay that handles range queries.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

11…オーバレイネットワーク、12…ネットワーク、13,14,15…ルータ、21…通信処理部、22…ノード情報収集部、23…更新開始判定部、24…経路表更新部、25…クエリ処理部、26…経路表格納部、31,41…経路表比較部。 DESCRIPTION OF SYMBOLS 11 ... Overlay network, 12 ... Network, 13, 14, 15 ... Router, 21 ... Communication processing part, 22 ... Node information collection part, 23 ... Update start determination part, 24 ... Routing table update part, 25 ... Query processing part, 26: Route table storage unit, 31, 41: Route table comparison unit.

Claims (6)

複数のノード装置によりオーバレイネットワークが構成され、前記複数のノード装置それぞれが全順序関係を持つ値と、前記値とは異なる乱数列と、を有し、前記オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれる値を有するノード装置にメッセージを配信する通信システムにおけるノード装置であって、
他のノード装置に関するノード情報を収集し、前記他のノード装置が有する前記値を含む前記ノード情報を経路表にエントリとして追加する収集手段と、
前記経路表内のエントリの数が閾値を超えるか否かを判定する判定手段と、
前記経路表内のエントリの数が前記閾値を超えると判定された場合に、前記経路表を更新する更新手段であって、
前記経路表内のエントリの中から前記閾値を超える数分のエントリを削除することにより構成される複数の経路表候補を生成し、
自ノード装置の乱数列と経路表候補内のエントリに対応するノードの乱数列とのプレフィックス一致長の頻度分布が最も一様分布に近い経路表候補を選択し、
前記選択した経路表候補を構成するエントリ以外のエントリを前記経路表から削除する
ように構成された更新手段と、
を備えるノード装置。
An overlay network is configured by a plurality of node devices, and each of the plurality of node devices has a value having a total order relationship and a random number sequence different from the values, and is specified by a range query by the overlay network. A node device in a communication system for delivering a message to a node device having a value included in a range,
Collecting means for collecting node information relating to another node device and adding the node information including the value of the other node device as an entry to a routing table;
Determining means for determining whether the number of entries in the routing table exceeds a threshold;
Updating means for updating the routing table when it is determined that the number of entries in the routing table exceeds the threshold ;
Generating a plurality of routing table candidates configured by deleting a number of entries exceeding the threshold from the entries in the routing table;
Select a routing table candidate whose frequency distribution of prefix match length between the random number sequence of the own node device and the random number sequence of the node corresponding to the entry in the routing table candidate is the most uniform distribution,
Delete entries other than those constituting the selected routing table candidate from the routing table
An updating means configured to :
A node device comprising:
複数のノード装置によりオーバレイネットワークが構成され、前記複数のノード装置それぞれが全順序関係を持つ値であるキーを有し、前記オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれるキーを有するノード装置にメッセージを配信する通信システムにおけるノード装置であって、
他のノード装置に関するノード情報を収集し、前記他のノード装置が有する前記キーを含む前記ノード情報を経路表にエントリとして追加する収集手段と、
前記経路表内のエントリの数が閾値を超えるか否かを判定する判定手段と、
前記経路表内のエントリの数が前記閾値を超えると判定された場合に、前記経路表を更新する更新手段であって、
前記経路表内のエントリの中から前記閾値を超える数分のエントリを削除することにより構成される複数の経路表候補を生成し、
キー空間が一次元の距離空間である場合に経路表候補内のキーの頻度分布が指数分布に最も近い経路表候補を選択し、
前記選択した経路表候補を構成するエントリ以外のエントリを前記経路表から削除する
ように構成された更新手段と、
を備えるノード装置。
An overlay network is configured by a plurality of node devices, each of the plurality of node devices has a key that is a value having a total order relationship, and a node having a key included in a range specified by a range query by the overlay network A node device in a communication system for delivering a message to a device,
Collecting means for collecting node information relating to another node device, and adding the node information including the key of the other node device as an entry to a routing table;
Determining means for determining whether the number of entries in the routing table exceeds a threshold;
Updating means for updating the routing table when it is determined that the number of entries in the routing table exceeds the threshold ;
Generating a plurality of routing table candidates configured by deleting a number of entries exceeding the threshold from the entries in the routing table;
If the key space is a one-dimensional metric space, select the route table candidate whose key frequency distribution in the route table candidate is closest to the exponential distribution,
Delete entries other than those constituting the selected routing table candidate from the routing table
An updating means configured to :
A node device comprising:
前記更新手段は、予め定めた条件に合致するエントリを除いた前記経路表内のエントリの中から、前記閾値を超える数分のエントリを選択することにより、前記複数の経路表候補を生成する、請求項1または請求項2に記載のノード装置。 The update unit generates the plurality of routing table candidates by selecting a number of entries exceeding the threshold from the entries in the routing table excluding entries that match a predetermined condition. The node device according to claim 1 or 2. 前記更新手段は、前記経路表内のエントリに対応するノード装置および自ノード装置を前記値の順に並べた際に自ノード装置の前後に位置するノード装置を選定し、当該選定したノード装置に対応するエントリを除いた前記経路表内のエントリの中から、前記閾値を超える数分のエントリを選択することにより、前記複数の経路表候補を生成する、請求項1または請求項2に記載のノード装置。 The updating means selects a node device located before and after the own node device when the node device corresponding to the entry in the routing table and the own node device are arranged in the order of the values, and corresponds to the selected node device. 3. The node according to claim 1 , wherein the plurality of routing table candidates are generated by selecting as many entries as the number exceeding the threshold from the entries in the routing table excluding the entry to be processed. apparatus. 複数のノード装置によりオーバレイネットワークが構成され、前記複数のノード装置それぞれが全順序関係を持つ値と、前記値とは異なる乱数列と、を有し、前記オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれる値を有するノード装置にメッセージを配信する通信システムにおいて経路表を管理する方法であって、
他のノード装置に関するノード情報を収集し、前記他のノード装置が有する前記値を含む前記ノード情報を経路表にエントリとして追加することと、
前記経路表内のエントリの数が閾値を超えるか否かを判定することと、
前記経路表内のエントリの数が前記閾値を超えると判定された場合に、前記経路表を更新することと、
を備え、
前記経路表を更新することは、
前記経路表内のエントリの中から前記閾値を超える数分のエントリを削除することにより構成される複数の経路表候補を生成し、
自ノード装置の乱数列と経路表候補内のエントリに対応するノードの乱数列とのプレフィックス一致長の頻度分布が一様分布に最も近い経路表候補を選択し、
前記選択した経路表候補を構成するエントリ以外のエントリを前記経路表から削除する
ことを含む、経路表管理方法。
An overlay network is configured by a plurality of node devices, and each of the plurality of node devices has a value having a total order relationship and a random number sequence different from the values, and is specified by a range query by the overlay network. A method for managing a routing table in a communication system that distributes a message to a node device having a value included in a range,
Collecting node information related to other node devices and adding the node information including the value of the other node devices as an entry to the routing table;
Determining whether the number of entries in the routing table exceeds a threshold;
Updating the routing table when it is determined that the number of entries in the routing table exceeds the threshold ;
With
Updating the routing table
Generating a plurality of routing table candidates configured by deleting a number of entries exceeding the threshold from the entries in the routing table;
Select the route table candidate whose frequency distribution of the prefix match length between the random number sequence of its own node device and the random number sequence of the node corresponding to the entry in the route table candidate is closest to the uniform distribution,
Delete entries other than those constituting the selected routing table candidate from the routing table
A routing table management method.
複数のノード装置によりオーバレイネットワークが構成され、前記複数のノード装置それぞれが全順序関係を持つ値であるキーを有し、前記オーバレイネットワークにより、範囲クエリによって指定される範囲に含まれるキーを有するノード装置にメッセージを配信する通信システムにおいて経路表を管理する方法であって、
他のノード装置に関するノード情報を収集し、前記他のノード装置が有する前記キーを含む前記ノード情報を経路表にエントリとして追加することと、
前記経路表内のエントリの数が閾値を超えるか否かを判定することと、
前記経路表内のエントリの数が前記閾値を超えると判定された場合に、前記経路表を更新することと、
を備え、
前記経路表を更新することは、
前記経路表内のエントリの中から前記閾値を超える数分のエントリを削除することにより構成される複数の経路表候補を生成し、
キー空間が一次元の距離空間である場合に経路表候補内のキーの頻度分布が指数分布に最も近い経路表候補を選択し、
前記選択した経路表候補を構成するエントリ以外のエントリを前記経路表から削除する
ことを含む、経路表管理方法。
An overlay network is configured by a plurality of node devices, each of the plurality of node devices has a key that is a value having a total order relationship, and a node having a key included in a range specified by a range query by the overlay network A method for managing a routing table in a communication system for delivering messages to a device, comprising:
Collecting node information relating to another node device, and adding the node information including the key of the other node device as an entry to the routing table;
Determining whether the number of entries in the routing table exceeds a threshold;
Updating the routing table when it is determined that the number of entries in the routing table exceeds the threshold ;
With
Updating the routing table
Generating a plurality of routing table candidates configured by deleting a number of entries exceeding the threshold from the entries in the routing table;
If the key space is a one-dimensional metric space, select the route table candidate whose key frequency distribution in the route table candidate is closest to the exponential distribution,
Delete entries other than those constituting the selected routing table candidate from the routing table
A routing table management method.
JP2016028930A 2016-02-18 2016-02-18 Node device and routing table management method Active JP6485811B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016028930A JP6485811B2 (en) 2016-02-18 2016-02-18 Node device and routing table management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016028930A JP6485811B2 (en) 2016-02-18 2016-02-18 Node device and routing table management method

Publications (2)

Publication Number Publication Date
JP2017147645A JP2017147645A (en) 2017-08-24
JP6485811B2 true JP6485811B2 (en) 2019-03-20

Family

ID=59683336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016028930A Active JP6485811B2 (en) 2016-02-18 2016-02-18 Node device and routing table management method

Country Status (1)

Country Link
JP (1) JP6485811B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3804239A4 (en) * 2018-06-05 2022-03-23 Gramboo Inc. Directory assisted routing of content in an information centric network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636325B2 (en) * 2004-12-07 2009-12-22 Hewlett-Packard Development Company, L.P. Determining highest workloads for nodes in an overlay network
US7516116B2 (en) * 2006-04-07 2009-04-07 Microsoft Corporation Range and cover queries in overlay networks

Also Published As

Publication number Publication date
JP2017147645A (en) 2017-08-24

Similar Documents

Publication Publication Date Title
US8190630B2 (en) Data search device, data search system, data search method and data search program
JP5915545B2 (en) Route selection method and control server
CN108337170B (en) Distributed resource searching method and system
CN103986661B (en) A kind of multicast route method for supporting network code
JP6438719B2 (en) Communication system and communication program
US10542081B2 (en) Apparatus, design method, and recording medium
WO2017190559A1 (en) Routing searching method, device, allocation node, searching node, and ingress node
US20150281352A1 (en) Communication control device, storage device, and communication control method
Ascigil et al. A native content discovery mechanism for the information-centric networks
EP2856355A1 (en) Service-aware distributed hash table routing
JP4815547B2 (en) Data synchronization system, data synchronization method, and synchronization management server
JP6485811B2 (en) Node device and routing table management method
US20230246940A1 (en) Selecting and deduplicating forwarding equivalence classes
Dash et al. Flooding control in named data networking
Mishra et al. Hybrid mode of operation schemes for p2p communication to analyze end-point individual behaviour in iot
Roos et al. Dealing with dead ends: Efficient routing in darknets
Hojo et al. Frt-skip graph: A skip graph-style structured overlay based on flexible routing tables
US20180176129A1 (en) Communication method, control device, and system
JP2016225729A (en) Network system, data transfer control method and control device
JP4624314B2 (en) Data management device
Mir et al. Data forwarding with finite buffer capacity in opportunistic networks
JP6036302B2 (en) Information processing apparatus, information processing system, information processing method, and information processing program
Lertsuwanakul et al. Routing with temperature field in mesh overlay network
JP4280230B2 (en) Route calculation instruction method, calculation instruction program, and calculation instruction device
JP2006221457A (en) Servant for replication control in pure p2p communication, replication control method for the same, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190212

R150 Certificate of patent or registration of utility model

Ref document number: 6485811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250