WO2009071008A1 - Method, equipment and system for updating routing table after node failure in peer-to-peer network - Google Patents

Method, equipment and system for updating routing table after node failure in peer-to-peer network Download PDF

Info

Publication number
WO2009071008A1
WO2009071008A1 PCT/CN2008/072836 CN2008072836W WO2009071008A1 WO 2009071008 A1 WO2009071008 A1 WO 2009071008A1 CN 2008072836 W CN2008072836 W CN 2008072836W WO 2009071008 A1 WO2009071008 A1 WO 2009071008A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
failed
range
network
failure information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2008/072836
Other languages
English (en)
French (fr)
Inventor
Guangyu Shi
Jian Chen
Hao Gong
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP08856338.2A priority Critical patent/EP2117166B1/en
Publication of WO2009071008A1 publication Critical patent/WO2009071008A1/zh
Priority to US12/605,931 priority patent/US8248919B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/025Updating only a limited number of routers, e.g. fish-eye update
    • 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
    • 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/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms

Definitions

  • the present invention relates to the field of communication technologies, and in particular, to a method, a device and a system for updating a route after a node fails in a P2P peer-to-peer network. Background technique
  • P2P peer-to-Peer, which represents a peer-to-peer relationship between peers
  • the system operates differently from the traditional client/server mode system, and each peer, that is, P2P
  • Each node (Peer) in the system can provide services for other nodes as well as services provided by other nodes.
  • P2P systems can be classified according to their topology. They are generally divided into: Centralized Topology, Decentralized Unstructured Topology, and Decentralized Structured Topology. Also known as DHT networks) and hybrid topologies.
  • the main topology of the current P2P system is a structured topology DHS (Distributed Hash Table) network.
  • DHS Distributed Hash Table
  • the node obtains a unique identifier Nodeld through some unique attributes of it, such as an IP address, and the corresponding data item is represented by a key value pair ⁇ key, value>, where the key key is for the data item.
  • Index and the value value can be the location address of the data item such as IP or URL.
  • the data index key is uniquely identified by a hash, and the key-value pair corresponding to the key is stored to the node closest to the key identifier. When querying, you can uniquely identify the hash by querying the key value, and use this unique identifier to find the node closest to it (this node stores the address where the data item is located;).
  • the P2P system is also a self-organizing network.
  • nodes can join or quit at will. This randomness will cause inaccurate resource location and network disturbance.
  • the degree of network disturbance is directly Affects the efficiency of route discovery methods.
  • Network perturbation (Churn, fluctuation of network) includes the node's force P input, exit, failure, migration, concurrent join process, network segmentation, and so on. How does the DHT route lookup method of the P2P network handle different network disturbances churn, It will directly affect the routing efficiency and load overhead of the entire P2P network.
  • the prior art provides the following two ways to solve the P2P network disturbance problem:
  • each node sends PING maintenance information to its neighboring K nodes at regular intervals.
  • the K nodes immediately feed back a message to inform the source.
  • the node itself survives normally, and the routing table of the source node does not need to be modified.
  • its neighboring neighbor nodes can discover the node perturbation behavior by means of this active PING detection, find the failed node, and broadcast the invalidation information to the sequential K nodes to update its routing table. link.
  • the prior art has the following disadvantages:
  • the sequential K nodes in the P2P Nodeld space are mutually PING to keep the nodes connected continuously, that is, the maintenance information is only in the Passed between K neighbor nodes.
  • the routing table information can only keep the K segments continuous, when searching for a node in the network, there are likely to be different degrees of "crawling", that is, due to the peer node that originally points to the failed node.
  • the routing table information is invalid, and the remote node can only find the replacement node of the failed node by recursively searching again.
  • the churn phenomenon and the "crawling" behavior also have cumulative effects.
  • the number of failed nodes in the network is increasing, most nodes still maintain the original invalid routing table because the invalid information is not effectively broadcast.
  • the number of "crawling” will increase, "crawling”
  • the time is also getting longer and longer.
  • the time complexity of finding a node will reach 0 (N) times (N is the number of nodes in the P2P Overlay), which seriously affects the route finding efficiency of the P2P network.
  • Predict the current survival probability of a node by using the historical lifecycle information of the nodes in the entire network. Specifically, the historical life cycle distribution probability of the node in the entire P2P network is collected, and the survival probability of a node in the next time period is derived, thereby generating a predictive information for the node behavior of the entire network to determine the next behavior of the network. . When it is predicted that the node is stable in a certain period of time, its neighbor nodes will reduce the PING maintenance operation on the node, thereby reducing the maintenance bandwidth overhead.
  • the embodiment of the invention provides a method, a device and a system for updating a routing table information after a node fails in a P2P peer-to-peer network, which is used to enhance the perception of the node's disturbance behavior and improve the route search efficiency and system stability of the entire network. Sex.
  • An embodiment of the present invention provides a method for updating routing table information after a node fails in a P2P peer-to-peer network, where the method includes:
  • the remote neighboring node updates the corresponding routing table information according to the failure information.
  • the embodiment of the invention further provides a network device, including:
  • a first determining module configured to determine, according to a distance between the failed node and a neighbor node of the failed node, a range of nodes that are directed to the failed node;
  • the first sending module is configured to send the failure information of the failed node to a remote neighboring node of the failed node within the range of the node.
  • the embodiment of the present invention further provides a network device, where the network device is a remote neighboring node of the failed node, and includes:
  • a receiving module configured to receive failure information of the failed node
  • the processing module is configured to update the corresponding routing table information according to the failure information.
  • the embodiment of the present invention further provides a communication network, including a failed node, and a neighbor node and a remote neighbor node of the failed node, where:
  • a neighbor node of the failed node configured to determine, according to a distance between the node and the failed node, a range of nodes that are directed to the failed node; and send invalid information of the failed node to the node, The remote neighboring node of the failed node;
  • the remote neighboring node is configured to receive the failure information, and update the corresponding routing table information according to the failure information.
  • the perception of the node's perturbation behavior increases the route lookup efficiency and system stability of the entire P2P peer-to-peer network.
  • FIG. 1 is a schematic diagram of updating routing table information after a node fails in a P2P peer-to-peer network according to an embodiment of the present invention
  • FIG. 2 is a flowchart of processing a specific example of updating routing table information after a node fails in a P2P peer-to-peer network according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of processing in a network structure of a specific example of updating a routing table information after a node fails in a P2P peer-to-peer network according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a node failure in a Kademlia DHT network according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of processing when a node fails in a Kademlia DHT network according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of a Chord network according to an embodiment of the present invention
  • FIG. 7A, 7B, 7C, 8A, and 8B are schematic diagrams showing the structure of a network device according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a communication network according to an embodiment of the present invention. detailed description
  • the process of updating the routing table information is as follows:
  • Step 11 Determine, according to the distance between the failed node and the neighbor node of the failed node, a range of nodes whose route points to the failed node.
  • Step 12 Send the failure information of the failed node to a remote neighboring node of the failed node in the range of the node.
  • LDN Long Distance Neighbor
  • Step 13 The remote neighboring node that receives the failure information updates the corresponding routing table information according to the failure information, and points the routing table information of the failed node to the substitute node of the failed node.
  • the state of the neighbor node in the network can be detected according to the set period, and the failed node is determined.
  • the failed node can be the current network.
  • the route determined by the distance between the failed node and the neighbor node of the failed node is different from the node range of the failed node.
  • the distance between the failed node and the neighbor node of the failed node may be determined according to the network.
  • the routing feature determines the range of nodes that the route points to the failed node.
  • the replacement node that sends the failure information may be determined in the neighbor node of the failed node according to the key value characteristic stored in the network, and the failure information of the failed node is sent by the substitute node to the node of the route pointing to the failed node, and the failure is The remote end of the node is adjacent to the node.
  • the failure information includes an address of the replacement node; in addition, the failure information may further include an identifier of the failed node, or an address of the failed node, or a key value of the failed node, or an identifier of the failed node, an address, a combination of key values, or the like. The combination. In one embodiment, the failure information may further include a range of influence of the failed node on its remote neighboring node; after receiving the failure information, the remote neighboring node may forward the failure information to the node within the affected range.
  • the remote information may be directly forwarded to the node within the affected range; or, when the range of the impact exceeds the maintenance range of the neighbor node of the node, Preferably, the failure information is forwarded to the neighbor node of the local node that is closest to the influence range, and the neighbor node continues to forward the failure information to other nodes in the influence range.
  • the remote neighbor node may also use the failure information. Forwarding to another node, the node receiving the forwarded invalidation information continues to forward the invalidation information to other nodes within the scope of the impact.
  • the node in the affected range updates the corresponding routing table information, that is, the routing table information pointing to the failed node points to the replacement node of the failed node.
  • FIG. 2 is a specific example of updating the routing table information after the node fails in the P2P peer-to-peer network according to the embodiment of the present invention.
  • the routing table information update diagram shown in FIG. 3 The processing flow is as follows:
  • Step 21 The node peer actively detects the neighboring node survival state.
  • the Node B performs an active detection on the neighboring neighbor nodes every cycle time to determine the survival state of the neighboring node F.
  • Step 22 When a node (node F) fails, the neighbor node (node B) passes the step 21 After the node F is found to be invalid, the failure information notification range is calculated.
  • the neighbor node (Node B) can calculate which routing tables in the entire network point to the node range of the failed node according to the different DHT network routing method characteristics according to the distance between the Nodeld and the failed node (Node F) Nodeld.
  • Step 23 The neighbor node (Node B) determines the substitute node (Node A) that sends the invalidation information.
  • the execution sequence of the step and the step 22 is not required, and may be performed at the same time. Step 22 may be performed first, and then step 23 may be performed, or step 23 may be performed first and then step 22 may be performed.
  • the neighbor node After calculating the range of the affected node, the neighbor node can select the neighbor node to actively send the node failure information and assume the responsibility of the substitute node according to the characteristics of the Key value stored in different DHT networks. If the Kademlia network or the Pastry network storing the Key value is selected by the node Nodeld, then the alternative node is the neighbor node with the smallest XOR distance from the failed node. If the Chord network or Koorde network that stores the Key value is the nearest subsequent node, the surrogate node is the subsequent node of the failed node.
  • Step 24 The substitute node (Node A) searches for the remote neighboring node LDN in the range of the failure impact range. That is, the neighboring node as the substitute node uses the route lookup method to find the LDN[i] node corresponding to the failed node in each interval, that is, the node within the interval and the closest to the failed node.
  • Step 25 The substitute node (Node A) sequentially sends the failure information to the remote neighboring node LDN of the failed node.
  • the replacement node After finding the LDN[i] of each affected interval of the failed node, the replacement node sequentially sends the failure information of the node to the LDN, and the failure information includes an address including the replacement node; in addition, the failure information may further include the identifier of the failed node, or The address of the failed node, or the key value of the failed node, or the identification of the failed node, the address, the combination of the key values, or a combination of the three.
  • the neighboring node may also notify each LDN of the range affected by the failed node, for example, the failure information includes the range of impact of the failed node on the LDN, and notify the LDNs to update the corresponding routing table information and the range affected by the failure information is in the LDN.
  • the invalidation information is forwarded in the neighbor.
  • Step 26 After receiving the failure information, the remote neighboring node LDN updates the corresponding routing table information, and points the routing table information of the failed node to the substitute node (node A). Further, the LDN node According to the scope of the received invalid node, the failure information is forwarded to its neighbor node according to the influence range.
  • each LDN node After receiving the range of the affected node information, each LDN node can calculate how many neighbor nodes around it need to know the failure information of the node according to the range, and forward the information to these nodes. If the scope of the notification needs to be beyond the scope of its neighbor node, the LDN informs the neighbors closest to the range to continue to notify other nodes in the range (for example, multicast), and reach the full range by multi-hop. The node notifies that, at this time, the remote neighboring node can also forward the failure information to another node, and the node that receives the forwarded failure information continues to forward the failure information to other nodes in the affected range.
  • the nodes in the affected range update the corresponding routing table information. After receiving the node failure information, the node in the affected area points the pointer to the failed node in the routing table to the replacement node of the failed node, and completes the update operation of the routing table information.
  • the node 10110 in the Kademlia network shown in FIG. 4 is used as an example.
  • its neighbor nodes 1010 and 10111 can learn from the active node that the node 10110 fails.
  • the distance between the Nodeld and the failed node Nodeld is derived from the range of the range affected by the failure information.
  • node F fails, all nodes whose routing table pointers point to F are included in the following range:
  • node F fails to generate a disturbance
  • nodes X and Y are the front neighbor node and the rear neighbor node of node F
  • node N is the node to be notified.
  • m is the number of bits in Nodeld. In the Kademlia network, m is 160, and i ranges from 1 to m.
  • the range affecting node N must satisfy: (1) Node N and failed node F The XOR distance is greater than 2m- 1 and less than or equal to 2m - 1+1 . (2) The XOR distance between nodes N and F is less than the XOR distance between nodes N and X, and (3) the XOR distance between nodes N and F. Less than the XOR distance between nodes N and Y.
  • N is the node that the method needs to notify.
  • the nodes 1010 and 10111 can confirm the substitute node of the failed node according to the difference between the Nodeld of the self Nodeld and the failed node 10110, because the difference between the Nodeld between the node 10111 and the failed node 10110 is smaller than the Nodeld between the node 1010 and the failed node 10110. The difference is thus confirmed that the substitute node is the neighbor node 10111.
  • the neighbor node 10111 finds an LDN node in each of the range of influence ranges determined according to the above formula and notifies the LDN node of the failure information.
  • the LDN[1] of the node 10110 is 00110, because the 00110 is the same except that the first bit is different from the 10110.
  • the composition of the Kademlia K bucket routing table nodes 00110 and 10110 will be in the other K bucket routing table.
  • the LDN nodes After calculating the range of nodes that need to be notified and finding the LDN nodes in their respective ranges, the LDN nodes will respectively find the nodes N in their respective ranges, and pass the disturbance information to these nodes N to update their routing table information.
  • the remote node when the remote node needs to find the failed node, it can directly know the information state of the node and the neighbor replacement node, and avoid the remote node in the traditional P2P network to find the failed node by slowly "crawling".
  • the routing table structure of the Pastry network is similar to the Kademlia method. The difference between the two is that the Pastry network converts the binary Nodeld into a multi-ary NodeId based on the Kademlia network. In the implementation, the node Nodeld can be converted from binary to binary first, and then implemented on the Pastry network according to Kademlia's method.
  • the specific processing is as follows:
  • the node F When the node F is disturbed, its nearest neighbor node X detects the disturbance, and can combine the other information of the neighboring node to find the first information and the node F according to the range of the following formula.
  • the node LDN[1] with the smallest difference between the other bits and the node F is notified that the node F has failed, and the routes pointing to the node F are replaced by the pointing node X, and they are notified to forward the information within the range.
  • the neighbor node X notifies the other LDN[i] that the i bit is different from the node F and the other bit difference is the smallest. Tell them the failure information of node F and let them proxy to inform other nodes in their respective ranges to update their routing tables.
  • the range affecting the node N must satisfy: (1) The XOR distance between the node N and the failed node F is greater than 2"" and less than or equal to 2 m - 1+1 , (2) the difference between nodes N and F Or the distance is less than the XOR distance between nodes N and X. (3) The XOR distance between nodes N and F is smaller than the XOR distance between nodes N and Y.
  • N is the node that the method needs to notify.
  • Pastry uses binary Nodeld, so Kademlia calculates the distance between two nodes using the XOR of XOR. Because Pastry uses the multi-node Nodeld method, the implementation needs to convert the multi-ary Nodeld in the Pastry network into a binary Nodeld and then perform the inventive steps.
  • n nodes are hashed onto the identification ring with logn bits.
  • the neighbor node can discover the disturbance behavior of the node F by actively detecting, and derive the entire Chord according to the distance between the Nodeld and the failed node F Nodeld.
  • Those routing table pointers in the ring have pointed to the section of F Point N range:
  • the substitute node of the failed node is confirmed as its subsequent node.
  • the replacement node can find the LDN nodes in each range according to the range.
  • the LDN [ml] of the node N8 should be the node of the last entry of the routing table pointing to N8, that is, the node NodeId of the node corresponding to the successor of the successor (Nodeld+S" 1 - 1 ), and its LDN[i ] is the node corresponding to the successor of (NodeId+2 1 ) pointing to N8, where i ranges from 0 to ml.
  • the replacement node of F notifies the LDN in each affected interval in the Chord ring, and informs the node failure information and The respective perturbation ranges. These LDNs multicast this information in their respective ranges, notifying those nodes in the routing table that have pointed to F, informing them that node F has expired, and the surrogate node is a subsequent neighbor node of F.
  • the nodes in the range interval are based on this Information updates its own routing table.
  • Koorde is a DHT (Distributed Hash Table Algorithm) that introduces the idea of de Bmijn graphs based on Chord to improve Chord routing.
  • DHT Distributed Hash Table Algorithm
  • a Koorde network when node F fails, its former neighbor node X and its neighbor node Y detect the node failure information. According to the structural characteristics of the Koorde network, the node Key value in the Koorde network is stored in its closest neighbor node. Therefore, when node F fails, the range of nodes N that need to know the changed information is as follows, and the alternate node that specifies the failed node is its subsequent neighbor node Y.
  • N when the node N satisfies: (1) The front and rear neighbor nodes of the failed node F are distributed as X And Y, (2) F does not belong to the subsequent node interval of nodes N and N (the interval includes the subsequent node succeedor(N) of N but does not include N), (3) The de Bruijn virtual node i of F is shifted by topBit(kshift) After the bit operation, it does not belong to the subsequent node interval of nodes N and N (the interval includes the subsequent node succeedor(N) of N but does not include N). When the node N satisfies the above three formulas at the same time, N is the node to be notified.
  • Node Y forwards the failure information to the LDN node in the range and forwards the node failure information within the range.
  • the embodiment of the present invention utilizes a symmetric mechanism on an existing DHT routing table.
  • the disturbance information may be inferred according to the distance between the disturbance node and the neighboring node Nodeld. Range, and the neighbor node actively informs its perturbation information to the remote node in the range that urgently needs to know this information, and continues to maintain the one-hop route between the original two nodes, so as to avoid the remote node finding the disturbing node by "crawling" .
  • the node fails, notifying the far-end node in the routing table more than the neighboring K nodes can improve the perception of the node's perturbation behavior.
  • the notification information is of the order of O(logN) or 0(1).
  • the value is related to the routing table size of each node in the DHT, which can directly improve the routing lookup efficiency of the entire P2P network in the churn environment, reduce system maintenance overhead, and improve system stability.
  • the present invention further provides a network device, as shown in FIG. 7A, including: a first determining module 71, a first sending module 72, wherein the first determining module 71 is configured to The distance between the neighbor nodes of the node determines the range of the node that points to the failed node.
  • the first sending module 72 is configured to send the failure information of the failed node to the remote neighboring node of the node in the range of the failed node.
  • the network device shown in FIG. 7A may further include a detecting module 73, configured to detect a state of a neighbor node in the network according to a set period, and determine a failed node.
  • a detecting module 73 configured to detect a state of a neighbor node in the network according to a set period, and determine a failed node.
  • the first determining module 71 is further configured to determine, according to the distance between the failed node and the neighbor node of the failed node, the routing characteristic of the network, the range of the node that points to the failed node.
  • the network device shown in FIG. 7A may further include a second authentic
  • the determining module 74 is configured to determine, in the neighbor node of the failed node, a substitute node that sends the invalidation information according to the key value characteristic stored in the network.
  • the second determining module 74 may be further configured to determine that the substitute node is a neighbor node with the smallest XOR distance from the failed node; or, if the network is a Chord DHT network or a Koorde DHT network, the second The determination module 74 can also be used to determine that the replacement node is a subsequent node of the failed node.
  • the failure information includes the address of the replacement node.
  • the failure information may also include an identification of the failed node, or an address of the failed node, or a combination of key values of the failed node, or an identification of the failed node, an address, a combination of the key values, or a combination of the three.
  • the failure information may also include a range of influence of the failed node on the remote neighbor node.
  • the embodiment of the present invention further provides a network device, which is a remote neighboring node of a failed node, and has a structure as shown in FIG. 8A, and includes: a receiving module 81 and a processing module 82; wherein, the receiving module 81.
  • the failure information for receiving the failed node, the failure information includes an address of the replacement node of the failed node, and the processing module 82 is configured to update the corresponding routing table information according to the failure information.
  • the failure information further includes an identification of the failed node, or an address of the failed node, or a combination of key values of the failed node, or an identification of the failed node, an address, a combination of the key values, or a combination of the three.
  • the failure information may further include a range of influence of the failed node on the local node.
  • the network device shown in FIG. 8A may further include: a second sending module 83, configured to: after receiving the failure information, the receiving module 81 , forward the invalidation information to the nodes within the scope of influence.
  • the failure information includes a range of influence of the failed node on the node.
  • the second sending module 83 may be further configured to: after the receiving module 81 receives the failure information, the range of the neighbor node that does not exceed the maintenance range of the node is The failure information is directly forwarded to the node within the influence range; when the scope of influence exceeds the maintenance scope of the neighbor node of the node, the failure information is forwarded to the neighbor node of the local node that is closest to the affected area, and the neighbor node is notified to continue to be invalid. Information forwarding Other nodes in the range.
  • the determination of the range of influence here is similar to the method of determining the range of influence in the different P2P peer-to-peer networks, including the method of determining the range of influence in the Kademlia network, the Pastry network, the Chord network, and the Koorde network.
  • an embodiment of the present invention further provides a P2P peer-to-peer communication network, which has a structure as shown in FIG. 9, and includes a failed node 91, and includes a neighbor node 92 of the failed node and a remote neighbor node 93, where:
  • the neighbor node 92 of the node is configured to determine, according to the distance between the node and the failed node, the range of the node that points to the failed node; and send the failure information of the failed node to the remote neighboring node of the node that is in the range of the node;
  • the neighboring node 93 is configured to receive the failure information, and update the corresponding routing table information according to the failure information.
  • the storage medium can include: ROM, RAM, Disk or disc, etc.
  • the failure information enhances the perception of the node perturbation behavior of the entire P2P peer-to-peer network, and improves the route search efficiency and system stability of the entire P2P peer-to-peer network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

P2P对等网络中节点失效后的路由更新方法、 设备及系统 技术领域
本发明涉及通信技术领域, 尤其涉及 P2P对等网络中节点失效后的路由 更新方法、 设备及系统。 背景技术
P2P ( Peer-to-Peer, 表示对等体之间的一种对等关系) 系统与传统的客户 机 /服务器模式系统不同, 在对等体之间进行操作, 每个对等体, 即 P2P系统 中每个节点 (Peer ), 既可以为其他节点提供服务, 又可以接受其他节点提供 的服务。 P2P 系统可以按照其拓朴结构进行分类, 一般分为: 集中化拓朴 ( Centralized Topology )、 全分布式非结构化拓朴 ( Decentralized Unstructured Topology )、 全分布式结构化拓朴 ( Decentralized Structured Topology, 也称作 DHT网络)和混合型拓朴。
当前 P2P系统的主要拓朴结构为结构化拓朴 DHT( Distributed Hash Table, 分布式哈希表) 网络, P2P系统中的很大部分应用都是基于 DHT网络所构成 的。 在这些系统中, 节点通过它的一些唯一属性, 如 IP地址, 哈希得到唯一 标识 Nodeld, 标识对应的数据项以键值对 <key, value>的方式表示, 其中键 key是对于数据项的索引,而值 value可以是数据项的定位地址如 IP或者 URL。 通过哈希赋予数据索引键以唯一标识, 并将此键对应的键值对存储到与此键 标识最邻近的节点。 查询时, 可以通过查询键值对哈希得到唯一标识, 并通 过此唯一标识找到与之最邻近的节点 (此节点存储了数据项所在的地址;)。
另一方面, P2P系统同时也是一种自组织形态的网络, 在该网络中, 节点 可以随意加入或退出, 这种随意性会造成资源定位的不准确和网络的扰动, 网络扰动的程度大小直接影响路由发现方法的效率。 网络扰动 (Churn、 fluctuation of network ) 包括节点的力 P入、 退出、 失败、 迁移、 并发加入过程、 网络分割等。 P2P网络的 DHT路由查找方法如何处理不同的网络扰动 churn, 将直接影响整个 P2P网络的路由效率和负载开销。
现有技术中给出如下两种方式解决 P2P网络扰动问题:
现有技术一
在 DHT网络中解决 churn问题时,考虑三个重要因素: 快速的替代节点、 超时检测和最近邻居节点选择。 该技术对于网络扰动的直接对抗方法是: 通 过 P2P Nodeld空间中的顺序 K个节点互相 PING, 来保持节点之间不断连。
在 P2P网络的运行过程中, 每个节点每隔一段时间向它周边顺序 K个节 点发送 PING维护信息,这顺序 K个节点接收到源节点所发过来的 PING消息 后, 立刻反馈一个信息告知源节点自己正常存活, 源节点的路由表不用做任 何修改。 而当网络中某节点失效时, 其周边的邻居节点能够通过这种主动探 测 PING的方式来发现这种节点扰动行为,找出失效节点, 并广播该失效信息 给顺序 K个节点更新其路由表链接。
发明人在实现本发明的过程中, 发现现有技术一存在如下不足: 现有技术一中, 通过 P2P Nodeld空间中的顺序 K个节点互相 PING来保 持节点之间不断连, 即维护信息只在 K个邻居节点间传递。 当网络中存在节 点失效行为时, 由于路由表信息只能保持 K段连续, 因此在网络中查找一个 节点时, 很可能会出现不同程度的 "爬行" 现象, 即由于原本指向失效节点 的 peer节点路由表信息均失效, 远方的节点只能通过再次递归查找的方式才 能找到失效节点的替代节点。 两个节点之间的距离相隔越远, 这个问题就越 严重,失效后节点间递归查找的次数也就越多。当网络中 churn问题很剧烈时, 假如一条 P2P路径中的多个关键路由节点都失效了, 那么路由表信息在网络 中的 "爬行" 现象将会十分明显, 节点在路由时必须通过逐 K跳逐 K跳来查 找下一步路由。
并且, 在 P2P网络中, churn现象和 "爬行" 行为还存在累计效应, 当网 络中失效节点数目不断递增时, 由于失效信息得不到有效广播, 大部分节点 仍维持原有的失效路由表, 而导致 "爬行" 的次数将会不断增多, "爬行" 的 时间也越来越长,最恶劣的情况下查找一个节点时间复杂度会达到 0(N)次(N 为 P2P Overlay中节点数目 ), 严重影响了 P2P网络的路由查找效率。
现有技术二
通过整个网络中节点的历史生命周期信息, 来预测某节点当前的存活概 率。 具体的, 釆集整个 P2P网络中节点历史生命周期分布概率, 推算出某节 点在下一时间段内的存活概率, 以此对整个网络的节点行为产生一种预判信 息来决定网络下一步的行为。 当预测出某下一时段内该节点较为稳定时, 其 邻居节点会减少对该节点的 PING维护操作, 从而降低了维护带宽的开销。
发明人在实现本发明的过程中, 发现现有技术二存在如下不足:
P2P网络越庞大越复杂, 节点的生命周期就越难预测准确。在预测的过程 中需要设定很多系统参数, 参数的数值选定存在很大的特殊性, 不同的参数 设定可能会给预测结果带来严重的不准确性。
另外, 现有技术二虽然降低了系统维护开销, 但是对于 P2P网络的路由 查找方法的效率并没有任何改进。 当网络中出现严重的扰动行为时, 节点的 查找复杂度仍可能会达到 0 ( N )次, "爬行" 现象在路由查找过程中依然存 在, 路由查找效率较低。 发明内容
本发明实施例提供一种 P2P对等网络中节点失效后路由表信息的更新方 法、 设备及系统, 用以增强整个网络对节点扰动行为的感知度, 提高整个网 络的路由查找效率和系统的稳定性。
本发明实施例釆取以下技术方案:
本发明实施例提供一种 P2P对等网络中节点失效后路由表信息的更新方 法, 该方法包括:
根据失效节点与所述失效节点的邻居节点之间的距离, 确定路由指向所 述失效节点的节点范围;
将所述失效节点的失效信息发送给所述节点范围内、 所述失效节点的远 端邻近节点;
所述远端邻近节点根据所述失效信息更新对应的路由表信息。
本发明实施例还提供一种网络设备, 包括:
第一确定模块, 用于根据失效节点与所述失效节点的邻居节点之间的距 离, 确定路由指向所述失效节点的节点范围;
第一发送模块, 用于将所述失效节点的失效信息发送给所述节点范围内、 所述失效节点的远端邻近节点。
本发明实施例还提供一种网络设备, 所述网络设备为失效节点的远端邻 近节点, 包括:
接收模块, 用于接收失效节点的失效信息;
处理模块, 用于根据所述失效信息更新对应的路由表信息。
本发明实施例还提供一种通信网络, 包括失效节点, 还包括失效节点的 邻居节点、 远端邻近节点, 其中:
失效节点的邻居节点, 用于根据本节点与所述失效节点之间的距离, 确 定路由指向所述失效节点的节点范围; 将所述失效节点的失效信息发送给所 述节点范围内、 所述失效节点的远端邻近节点;
远端邻近节点, 用于接收所述失效信息, 根据所述失效信息更新对应的 路由表信息。
本发明实施例中, 根据失效节点与邻居节点之间的距离, 确定路由指向 所述失效节点的节点范围; 将所述失效节点的失效信息发送给所述节点范围 内、 所述失效节点的远端邻近节点; 所述远端邻近节点根据所述失效信息更 新对应的路由表信息,与现有技术中节点失效时仅将失效信息通知 K个邻居节 点的技术方案相比, 增强了整个 P2P对等网络对节点扰动行为的感知度, 提高 了整个 P2P对等网络的路由查找效率和系统的稳定性。 附图说明
图 1为本发明实施例中 P2P对等网络中节点失效后更新路由表信息的处 理流程图;
图 2为本发明实施例中 P2P对等网络中节点失效后更新路由表信息的一 个具体实例的处理流程图;
图 3为本发明实施例中 P2P对等网络中节点失效后更新路由表信息的一 个具体实例在网络结构中的处理示意图;
图 4为本发明实施例中 Kademlia DHT网络中节点失效的示意图; 图 5为本发明实施例中 Kademlia DHT网络中节点失效时的处理示意图; 图 6为本发明实施例中 Chord网络的结构示意图;
图 7A、 图 7B、 图 7C、 图 8A、 图 8B为本发明实施例中网络设备的结构 示意图;
图 9为本发明实施例中通信网络的结构示意图。 具体实施方式
下面结合说明书附图对本发明实施例进行详细说明。
如图 1所示, 本发明实施例中, P2P对等网络中节点失效后, 更新路由表 信息的处理流程如下:
步骤 11、 根据失效节点与所述失效节点的邻居节点之间的距离, 确定路 由指向所述失效节点的节点范围。
步骤 12、 将所述失效节点的失效信息发送给该节点范围内失效节点的远 端邻近节点。 远端邻近节点( Long Distance Neighbor , LDN )可以有 i个, 若 节点 B的 Nodeld和节点 A的 Nodeld仅第 i位不同, 其他位都相同或相隔距 离最小, 则节点 B称为节点 A的 LDN[i] (远端邻近节点 [i] )。
步骤 13、 接收到所述失效信息的远端邻近节点根据该失效信息, 更新对 应的路由表信息, 将指向失效节点的路由表信息指向失效节点的替代节点。
图 1 所示流程中, 在确定路由指向失效节点的节点范围之前, 可以按设 定周期对网络中邻居节点的状态进行探测, 确定失效节点, 按设定周期的不 同, 失效节点可以是当前网络中突然失效的节点, 也可以是一段时期前网络 中失效的节点。 不同网络中, 根据失效节点与失效节点的邻居节点之间的距 离确定的路由指向失效节点的节点范围不同, 一个实施例中, 可以根据失效 节点与失效节点的邻居节点之间的距离、 网络的路由特性, 确定路由指向失 效节点的节点范围。
在步骤 12中, 可以根据网络存储的键值特性, 在失效节点的邻居节点中 确定发送失效信息的替代节点, 由替代节点将失效节点的失效信息发送给路 由指向失效节点的节点范围内、 失效节点的远端邻近节点。
失效信息包括替代节点的地址; 另外, 失效信息还可以包括失效节点的 标识、 或失效节点的地址、 或失效节点的键值、 或失效节点的标识、 地址、 键值的两两组合或三者的组合。 一个实施例中, 失效信息还可以包括失效节 点对其远端邻近节点的影响范围; 远端邻近节点在接收到失效信息后, 可以 将失效信息转发给该影响范围内的节点。
远端邻近节点确定该影响范围未超过本节点的邻居节点维护范围时, 可 以直接将失效信息转发给该影响范围内的节点; 或, 确定该影响范围超过本 节点的邻居节点维护范围时, 较佳的, 将失效信息转发给离该影响范围最近 的本节点的邻居节点, 由该邻居节点继续将失效信息转发给该影响范围内其 它节点, 当然, 此时远端邻近节点也可以将失效信息转发给另外的节点, 由 接收到转发的失效信息的节点继续将失效信息转发给该影响范围内其它节 点。 该影响范围内的节点在接收到失效信息后, 更新对应的路由表信息, 即 将指向失效节点的路由表信息指向失效节点的替代节点。
图 2为本发明实施例中 P2P对等网络中节点失效后更新路由表信息的一 个具体实例, 该流程在 P2P对等网络中的实施可参见图 3所示的路由表信息 更新示意图。 其处理流程如下:
步骤 21、 节点 peer主动探测邻居节点存活状态。 例如, 节点 B每隔周期 时间对周边邻居节点进行一次主动探测, 判断邻居节点 F的存活状态。
步骤 22、 当某一节点 (节点 F ) 失效时, 邻居节点 (节点 B )通过步骤 21发现节点 F失效后, 计算失效信息通知范围。 邻居节点 (节点 B )根据自 身 Nodeld和失效节点 (节点 F ) Nodeld之间的相隔距离, 可以基于不同的 DHT网络路由方法特性, 推算出整个网络中哪些路由表指向失效节点的节点 范围区间。
步骤 23、 邻居节点 (节点 B )确定发送失效信息的替代节点 (节点 A )。 该步骤与步骤 22的执行顺序并无要求,可以同时进行,也可以先执行步骤 22, 再执行步骤 23 , 或者可以先执行步骤 23再执行步骤 22。
邻居节点在计算出失效节点所影响的范围区间后, 可以根据不同 DHT网 络存储 Key值的特性, 选出最终由哪个邻居节点主动发送节点失效信息并承 担替代节点的责任。 若以节点 Nodeld远近来选择存储 Key值的 Kademlia网 络或 Pastry 网络, 那么作为替代节点的则是离失效节点异或距离最小的邻居 节点。 若以最近的后续节点来存储 Key值的 Chord网络或 Koorde网络, 作为 替代节点的则是失效节点的后续节点。
步骤 24、 替代节点 (节点 A )查找失效影响范围区间内的远端邻近节点 LDN。 即, 作为替代节点的邻居节点使用路由查找方法找出各个区间内失效 节点所对应的 LDN[i]节点, 即各个区间内和失效节点相隔距离最近的节点。
步骤 25、 替代节点(节点 A )依次向失效节点的远端邻近节点 LDN发送 失效信息。 在找出失效节点的各个影响区间的 LDN[i]后, 由替代节点依次向 LDN发送节点的失效信息, 失效信息包括包括替代节点的地址; 另外, 失效 信息还可以包括失效节点的标识、 或失效节点的地址、 或失效节点的键值、 或失效节点的标识、 地址、 键值的两两组合或三者的组合。
邻居节点还可以向各个 LDN通知失效节点对其影响的范围, 例如在失效 信息中包括失效节点对 LDN的影响范围, 通知这些 LDN更新其对应的路由 表信息并依据失效信息影响的范围在 LDN的邻居内转发这个失效信息。
步骤 26、远端邻近节点 LDN接收到失效信息后,更新对应的路由表信息, 将指向失效节点的路由表信息指向替代节点(节点 A )。 进一步地, LDN节点 根据接收到的失效节点对其影响的范围后, 根据影响范围向自己的邻居节点 转发失效信息。
各个 LDN节点在收到失效节点信息对其影响的范围后, 可以根据范围计 算出自己周边有多少邻居节点需要知道这一节点失效信息, 并向这些节点转 发这一信息。 如果需要通知的范围超出了自己邻居节点的范围, LDN则通知 离该范围最近的邻居继续向范围内其他节点通知 (例如: 组播)这一信息, 通过多跳的形式来达到全范围内的节点通知, 当然, 此时远端邻近节点也可 以将失效信息转发给另外的节点, 由接收到转发的失效信息的节点继续将失 效信息转发给该影响范围内其它节点。
影响范围内的节点更新对应的路由表信息。 在影响范围内的节点收到节 点失效信息后, 将路由表中原来指向失效节点的指针指向失效节点的替代节 点, 完成路由表信息的更新操作。
下面分别以不同的 P2P对等网络为例, 说明本发明实施例方法。
一、 以 Kademlia DHT网络为例
以图 4所示 Kademlia网络中的节点 10110失效为例, 居本发明实施例 方法, 当网络中节点 10110失效时, 它的邻居节点 1010和 10111通过主动探 测得知节点 10110失效后, 可以根据自身 Nodeld和失效节点 Nodeld的相隔 距离推算出失效信息所影响的范围区间。 根据 Kademlia网络的特性, 当节点 F失效时, 那些所有路由表指针都指向过 F的节点包括在以下范围内:
2m_! < XOR(N, F)≤ 2m-'+1 (1)
< XOR(N, F) < XOR(N, X) (2)
XOR(N, F) < XOR(N, Y) (3) 其中, 节点 F失效产生扰动, 节点 X和 Y为节点 F的前邻居节点和后邻 居节点, 节点 N为需要通知的节点。 m为 Nodeld的位数, Kademlia网络中 m 为 160, i的范围从 1到 m。
如上述公式所述,影响节点 N的范围必须满足: (1) 节点 N和失效节点 F 的异或距离大于 2m—1且小于等于 2m1+1 , (2) 节点 N和 F的异或距离小于节点 N和 X的异或距离, (3) 节点 N和 F的异或距离小于节点 N和 Y的异或距离。 当节点 N都满足上述三式时, N即为方法所需要通知的节点。
节点 1010和 10111可以根据自己 Nodeld和失效节点 10110的 Nodeld之 间的差值,确认失效节点的替代节点, 由于节点 10111与失效节点 10110之间 Nodeld的差值小于节点 1010与失效节点 10110之间 Nodeld的差值, 因此确 认替代节点为邻居节点 10111。邻居节点 10111在根据上述公式确定的各影响 范围区间内各找出一个 LDN节点并把这一失效信息通知到各个 LDN节点。 如图 5所示,本实例中,根据 Kademlia路由表的对称性,节点 10110的 LDN[1] 就是 00110, 这是由于 00110除了首位和 10110不同外, 其他位都相同。 而根 据 Kademlia K桶路由表的构成方式, 节点 00110和 10110均会在对方的 K桶 路由表中。 另外, 根据上述公式可以得知, 节点 10110 的 LDN 还包括 LDN[1]=00110, LDN[2]=111 , LDN[3]=10010, LDN[4]=1010, LDN[5]=10111。
在计算出需要通知的节点范围且找到各自范围内的 LDN节点后, LDN节 点会分别查找各自范围内的节点 N, 并将该扰动信息传递给这些节点 N, 使 其更新自身的路由表信息。
通过这样主动通知, 当远端节点需要查找失效节点时, 能够直接知道该 节点的信息状态和邻居替代节点, 避免了传统 P2P网络中远方的节点通过緩 慢 "爬行" 的方式来查找失效节点。
二、 以 Pastry DHT为例
Pastry网络的路由表结构和 Kademlia方法比较类似, 二者的区别在于, Pastry网络在 Kademlia网络的基础上, 将二进制 Nodeld变成多进制 NodeId。 实施中,可以先将节点 Nodeld由多进制转化为二进制,再依照 Kademlia的方 法来在 Pastry网络上实现。 具体处理过程如下:
节点 F扰动时, 它的最近邻居节点 X检测到这一扰动后, 可以结合失效 节点的另一个邻居将这一扰动信息根据下式的范围找出首位和节点 F不同, 其他位和节点 F异或差值最小的节点 LDN[1] , 通知它们节点 F已经失效, 以 后指向节点 F的路由都以指向节点 X代替,并通知它们在范围内转发该信息。 依次类推, 邻居节点 X分别通知其他那些 i位与节点 F不同, 其他位差值最 小的 LDN[i]。 告诉它们节点 F的失效信息, 并让它们代理通知各自范围内的 其他节点更新其路由表。
2m_! < XOR(N, F)≤ 2m-'+1 (1)
< XOR(N, F) < XOR(N, X) (2)
XOR(N, F) < XOR(N, Y) (3) 其中, k为 k进制基数, i的范围从 1到 m。 X、 Y为失效节点 F的前后 邻居, N为需要通知的节点。
如上述公式所述,影响节点 N的范围必须满足: (1) 节点 N和失效节点 F 的异或距离大于 2""且小于等于 2m1+1 , (2) 节点 N和 F的异或距离小于节点 N和 X的异或距离, (3) 节点 N和 F的异或距离小于节点 N和 Y的异或距离。 当节点 N都满足上述三式时, N即为方法所需要通知的节点。
Pastry和 Kademlia在实施中不同之处在于, Kademlia 釆用的是二进制 Nodeld, 所以 Kademlia在计算两个节点间距离的是釆用的异或 XOR的方式。 而 Pastry由于釆用的是多进制 Nodeld的方式, 所以在实现上需要先将 Pastry 网络里的多进制 Nodeld转化为二进制 Nodeld再执行发明步骤。
三、 以 Chord DHT为例
如图 6所示, Chord网络中, 将 n个节点哈希到具有 logn位的标识环上。 每个节点 X指向它的直接后续 successor节点 (沿环顺时针方向的最近节点)。 它将维护一个有 m=logn个表项的指针表( finger table )。 第 i表项存储 x+2" 的后续标识。
参见图 5和图 6, 当节点 F出现扰动时, 根据本发明实施例方法, 其邻居 节点可以通过主动探测发现节点 F的扰动行为, 并根据自身 Nodeld和失效节 点 F Nodeld的距离推算出整个 Chord环中那些路由表指针都曾指向过 F的节 点 N范围:
predecessor (F) < (N + ) mod 2m≤ F 0≤i < m
其中, predecessor(F)为节点 F的前邻居节点。 如上述公式所示, 节点 N 的 Nodeld加上 21且对 2"^又模后将大于失效节点 F的前邻居节点 Nodeld且小 于等于 F的 Nodeld, 在上述不等式范围内的节点 N即为需要通知的节点。
在获得扰动影响范围后, 根据 Chord 网络特性, 确认失效节点的替代节 点为其后续节点。 替代节点可以根据范围找出各个范围内的 LDN节点。 如节 点 N8 的 LDN[m-l]应当是路由表的最后一项指向 N8 的那个节点, 即 (Nodeld+S"1-1)所对应 successor后续节点为 N8 的那个节点 NodeId。 而它的 LDN[i]则为 (NodeId+21)所对应 successor指向 N8的那些节点,其中 i的范围从 0到 m-l。 由 F的替代节点通知 Chord环中各个影响区间内的 LDN, 并告之 节点失效信息和各自扰动范围。 这些 LDN在各自的范围内组播此信息, 通知 那些路由表中曾指向过 F的节点, 告知它们节点 F 已经失效, 替代节点为 F 后续邻居节点。 范围区间内的节点根据此信息更新自己的路由表。
四、 以 Koorde DHT为例
Koorde是在 Chord的基础上引入了 de Bmijn图的思想, 来对 Chord路由 改进的一种 DHT (分布式哈希表算法)。
在一个 Koorde网络中, 当节点 F失效时, 它的前邻居节点 X和后邻居节 点 Y探测出该节点失效信息。 根据 Koorde网络的结构特性, Koorde网络中 节点 Key值是存储在其最接近的后续邻居节点中的。 所以当节点 F失效, 那 些需要得知改信息的节点 N范围如下所示, 并且指定失效节点的替代节点为 其后续邻居节点 Y。
Figure imgf000013_0001
如上式所示, 当节点 N满足: (1) 失效节点 F的前后邻居节点分布为 X 和 Y, (2) F不属于节点 N和 N的后续节点区间 (区间包括 N的后续节点 successor(N)但不包括 N ), (3) F的 de Bruijn虚拟节点 i经过 topBit(kshift)移位 操作后也不属于节点 N 和 N 的后续节点区间 (区间包括 N 的后续节点 successor(N)但不包括 N )。 当节点 N同时满足上述三式时, N就为所要通知的 节点。
节点 Y通过向范围内的 LDN节点组播该失效信息,让其在范围内转发节 点失效信息。
综上所述, 本发明实施例利用在现有的 DHT路由表上实现对称机制, 当 网络中节点出现扰动时, 迅速根据扰动节点和周围邻居节点 Nodeld之间的距 离推算出扰动信息可能影响的范围, 并由邻居节点将其扰动信息主动通知到 范围内迫切需要知道这一信息的远方节点, 继续维护其原两节点间的一跳路 由, 避免远方节点通过 "爬行" 的方式来查找扰动节点。 当节点失效时, 通 知路由表中远端的节点比仅通知邻居 K个节点更能提高整个网络对节点扰动 行为的感知度, 通知信息数量级为 O(logN), 也有可能为 0(1), 其值和 DHT 中每个节点的路由表大小相关,从而能够直接提高整个 P2P网络在 churn环境 下的路由查找效率, 降低系统维护开销, 提高系统稳定性。
基于同一发明构思, 本发明实施还提供一种网络设备, 如图 7A所示, 包 括: 第一确定模块 71、 第一发送模块 72; 其中, 第一确定模块 71 , 用于根据 失效节点与失效节点的邻居节点之间的距离, 确定路由指向失效节点的节点 范围; 第一发送模块 72 , 用于将失效节点的失效信息发送给节点范围内、 失 效节点的远端邻近节点。
如图 7B所示, 一个实施例中, 图 7A所示的网络设备还可以包括探测模 块 73 , 用于按设定周期对网络中邻居节点的状态进行探测, 确定失效节点。
一个实施例中, 第一确定模块 71还可以用于根据失效节点与失效节点的 邻居节点之间的距离、 网络的路由特性, 确定路由指向失效节点的节点范围。
如图 7C所示, 一个实施例中, 图 7A所示的网络设备还可以包括第二确 定模块 74, 用于根据网络存储的键值特性, 在失效节点的邻居节点中确定发 送失效信息的替代节点。
若网络为 Kademlia DHT网络或 Pastry DHT网络, 第二确定模块 74还可 以用于确定替代节点为离失效节点异或距离最小的邻居节点; 或, 若网络为 Chord DHT网络或 Koorde DHT网络, 第二确定模块 74还可以用于确定替代 节点为失效节点的后续节点。
失效信息包括替代节点的地址。 失效信息还可以包括失效节点的标识、 或失效节点的地址、 或失效节点的键值的组合、 或失效节点的标识、 地址、 键值的两两组合或三者的组合。 失效信息还可以包括失效节点对所述远端邻 近节点的影响范围。
基于同一发明构思, 本发明实施例还提供一种网络设备, 该网络设备为 失效节点的远端邻近节点, 其结构如图 8A所示, 包括: 接收模块 81、 处理 模块 82; 其中, 接收模块 81 , 用于接收失效节点的失效信息, 失效信息包括 失效节点的替代节点的地址; 处理模块 82, 用于根据失效信息更新对应的路 由表信息。
一个实施例中, 失效信息还包括失效节点的标识、 或失效节点的地址、 或失效节点的键值的组合、 或失效节点的标识、 地址、 键值的两两组合或三 者的组合。
失效信息还可以包括失效节点对本节点的影响范围;此时,如图 8B所示, 图 8A所示的网络设备还可以包括: 第二发送模块 83 , 用于在接收模块 81接 收到失效信息后, 将失效信息转发给影响范围内的节点。
一个实施例中, 失效信息包括失效节点对本节点的影响范围, 此时, 第 二发送模块 83还可以用于在接收模块 81接收到失效信息后, 在影响范围未 超过本节点的邻居节点维护范围时, 直接将失效信息转发给影响范围内的节 点; 在影响范围超过本节点的邻居节点维护范围时, 将失效信息转发给离影 响范围最近的本节点的邻居节点, 通知该邻居节点继续将失效信息转发给影 响范围内其它节点。 此处影响范围的确定与前述在不同的 P2P对等网络中的 影响范围的确定方法类似, 包括在 Kademlia网络、 Pastry网络、 Chord网络、 Koorde网络中影响范围的确定方法。
基于同一发明构思, 本发明实施例还提供一种 P2P对等通信网络, 其结 构如图 9所示, 包括失效节点 91 , 还包括失效节点的邻居节点 92、 远端邻近 节点 93 , 其中: 失效节点的邻居节点 92, 用于根据本节点与失效节点之间的 距离, 确定路由指向失效节点的节点范围; 将失效节点的失效信息发送给节 点范围内、 失效节点的远端邻近节点; 远端邻近节点 93 , 用于接收失效信息, 根据失效信息更新对应的路由表信息。
本领域普通技术人员可以理解上述实施例方法中的全部或部分步骤是可 以通过程序来指令相关的硬件完成, 该程序可以存储于一计算机可读存储介 质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。
本发明实施例中, 根据失效节点与邻居节点之间的距离, 确定路由指向 所述失效节点的节点范围; 将所述失效节点的失效信息发送给所述节点范围 内、 所述失效节点的远端邻近节点; 所述远端邻近节点根据所述失效信息更 新对应的路由表信息, 并根据节点范围通知其周边的邻居节点更新各自对应 的路由表信息, 与现有技术中节点失效时仅将失效信息通知 K个邻居节点的 技术方案相比, 增强了整个 P2P对等网络对节点扰动行为的感知度, 提高了 整个 P2P对等网络的路由查找效率和系统的稳定性。 发明的精神和范围。 这样, 倘若对本发明的这些修改和变型属于本发明权利 要求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要求 书
1、 一种 P2P对等网络中节点失效后路由表信息的更新方法, 其特征在于, 该方法包括:
根据失效节点与所述失效节点的邻居节点之间的距离, 确定路由指向所述 失效节点的节点范围;
将所述失效节点的失效信息发送给所述节点范围内所述失效节点的远端邻 近节点;
所述远端邻近节点根据所述失效信息更新对应的路由表信息。
2、 如权利要求 1所述的方法, 其特征在于, 在确定路由指向所述失效节点 的节点范围的步骤之前, 该方法还包括:
按设定周期对网络中邻居节点的状态进行探测, 确定失效节点。
3、 如权利要求 1所述的方法, 其特征在于, 所述根据失效节点与所述失效 节点的邻居节点之间的距离, 确定路由指向所述失效节点的节点范围的步骤, 进一步包括:
根据失效节点与所述失效节点的邻居节点之间的距离、 网络的路由特性, 确定路由指向所述失效节点的节点范围。
4、 如权利要求 1所述的方法, 其特征在于, 所述根据失效节点与所述失效 节点的邻居节点之间的距离, 确定路由指向所述失效节点的节点范围步骤之后, 该方法还包括:
根据网络存储的键值特性, 在所述失效节点的邻居节点中确定发送所述失 效信息的替代节点。
5、 如权利要求 4所述的方法, 其特征在于,
所述网络为 Kademlia DHT网络或 Pastry DHT网络, 所述替代节点为离失 效节点异或距离最小的邻居节点;
或, 所述网络为 Chord DHT网络或 Koorde DHT网络, 所述替代节点为所 述失效节点的后续节点。
6、 如权利要求 4所述的方法, 其特征在于, 所述失效信息包括所述替代节 点的地址。
7、 如权利要求 6所述的方法, 其特征在于, 所述失效信息还包括失效节点 的标识、 或失效节点的地址、 或失效节点的键值的组合、 或失效节点的标识、 地址、 键值的两两组合或三者的组合。
8、 如权利要求 6所述的方法, 其特征在于, 所述失效信息还包括所述失效 节点对所述远端邻近节点的影响范围;
该方法进一步包括:
所述远端邻近节点接收到所述失效信息后, 将所述失效信息转发给所述影 响范围内的节点。
9、 如权利要求 8所述的方法, 其特征在于, 所述远端邻近节点将所述失效 信息转发给所述影响范围内的节点包括:
确定所述影响范围未超过本节点的邻居节点维护范围时, 直接将所述失效 信息转发给所述影响范围内的节点;
确定所述影响范围超过本节点的邻居节点维护范围时, 将所述失效信息转 发给离所述影响范围最近的本节点的邻居节点, 通知该邻居节点继续将所述失 效信息转发给所述影响范围内其它节点。
10、 如权利要求 8或 9所述的方法, 其特征在于, 该方法进一步包括: 所述影响范围内的节点接收到所述失效信息后更新对应的路由表信息。
11、 一种网络设备, 其特征在于, 包括:
第一确定模块(71 ), 用于根据失效节点与所述失效节点的邻居节点之间的 距离, 确定路由指向所述失效节点的节点范围;
第一发送模块(72 ), 用于将所述失效节点的失效信息发送给所述节点范围 内、 所述失效节点的远端邻近节点。
12、 如权利要求 11所述的设备, 其特征在于, 还包括: 探测模块(73 ), 用于按设定周期对网络中邻居节点的状态进行探测, 确定 失效节点。
13、 如权利要求 11所述的设备, 其特征在于, 所述第一确定模块(71 )进 一步用于根据失效节点与所述失效节点的邻居节点之间的距离、 网络的路由特 性, 确定路由指向所述失效节点的节点范围。
14、 如权利要求 11所述的设备, 其特征在于, 所述设备还包括:
第二确定模块(74 ), 用于根据网络存储的键值特性, 在所述失效节点的邻 居节点中确定发送所述失效信息的替代节点。
15、 如权利要求 14所述的设备, 其特征在于, 所述网络为 Kademlia DHT 网络或 Pastry DHT网络, 所述第二确定模块(74 )进一步用于确定所述替代节 点为离失效节点异或距离最小的邻居节点;
或, 所述网络为 Chord DHT网络或 Koorde DHT网络, 所述第二确定模块 进一步用于确定所述替代节点为所述失效节点的后续节点。
16、 如权利要求 11所述的设备, 其特征在于, 所述第一发送模块(72 )所 发送的失效信息包括替代节点的地址。
17、 一种网络设备, 其特征在于, 包括:
接收模块(81 ), 用于接收失效节点的失效信息, 所述失效信息包括所述失 效节点的替代节点的地址;
处理模块(82 ), 用于根据所述失效信息更新对应的路由表信息。
18、 如权利要求 17所述的设备, 其特征在于, 所述接收模块( 81 )所接收 的失效节点的失效信息还包括失效节点的标识、 或失效节点的地址、 或失效节 点的键值的组合、 或失效节点的标识、 地址、 键值的两两组合或三者的组合。
19、 如权利要求 17所述的设备, 其特征在于, 所述接收模块(81 )还用于 接收所述失效节点对本节点的影响范围的失效信息;
所述设备还包括: 第二发送模块(83 ), 用于在所述接收模块(81 )接收到所述失效信息后, 将所述失效信息转发给所述影响范围内的节点。
20、 如权利要求 19所述的设备, 其特征在于, 所述第二发送模块(83 )进 一步用于在所述接收模块(81 )接收到所述失效信息后, 在所述影响范围未超 过本节点的邻居节点维护范围时, 直接将所述失效信息转发给所述影响范围内 的节点; 在所述影响范围超过本节点的邻居节点维护范围时, 将所述失效信息 转发给离所述影响范围最近的本节点的邻居节点, 通知该邻居节点继续将所述 失效信息转发给所述影响范围内其它节点。
21、 一种 P2P对等通信网络, 包括失效节点(91 ), 其特征在于, 还包括失 效节点的邻居节点 (92 )、 远端邻近节点 (93 ), 其中:
失效节点的邻居节点 (92 ), 用于根据本节点与所述失效节点之间的距离, 确定路由指向所述失效节点的节点范围; 将所述失效节点 (91 ) 的失效信息发 送给所述节点范围内、 所述失效节点的远端邻近节点;
远端邻近节点 (93 ), 用于接收所述失效信息, 根据所述失效信息更新对应 的路由表信息。
PCT/CN2008/072836 2007-11-22 2008-10-27 Method, equipment and system for updating routing table after node failure in peer-to-peer network Ceased WO2009071008A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP08856338.2A EP2117166B1 (en) 2007-11-22 2008-10-27 Method and system for updating routing tables after node failure in peer-to-peer network
US12/605,931 US8248919B2 (en) 2007-11-22 2009-10-26 Method, device and system for updating routes after node fails in P2P network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710188100.1 2007-11-22
CN2007101881001A CN101442479B (zh) 2007-11-22 2007-11-22 P2p对等网络中节点失效后的路由更新方法、设备及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/605,931 Continuation US8248919B2 (en) 2007-11-22 2009-10-26 Method, device and system for updating routes after node fails in P2P network

Publications (1)

Publication Number Publication Date
WO2009071008A1 true WO2009071008A1 (en) 2009-06-11

Family

ID=40717301

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072836 Ceased WO2009071008A1 (en) 2007-11-22 2008-10-27 Method, equipment and system for updating routing table after node failure in peer-to-peer network

Country Status (4)

Country Link
US (1) US8248919B2 (zh)
EP (1) EP2117166B1 (zh)
CN (1) CN101442479B (zh)
WO (1) WO2009071008A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442479B (zh) 2007-11-22 2011-03-30 华为技术有限公司 P2p对等网络中节点失效后的路由更新方法、设备及系统
JP5578445B2 (ja) * 2009-02-18 2014-08-27 日本電気株式会社 分散監視システム、分散監視方法、及びプログラム
CN102148740B (zh) * 2010-02-05 2013-09-18 中国移动通信集团公司 一种邻区路由表的更新方法和系统
CN101854383B (zh) * 2010-04-28 2012-07-04 中国人民解放军国防科学技术大学 基于de Bruijn图的大规模网络资源搜索方法
US8812916B2 (en) * 2011-06-02 2014-08-19 International Business Machines Corporation Failure data management for a distributed computer system
US8443086B2 (en) 2011-06-22 2013-05-14 National Chiao Tung University Decentralized structured peer-to-peer network and load balancing methods thereof
CN103139081B (zh) * 2011-11-28 2017-08-11 中兴通讯股份有限公司 分布式哈希表路由表更新方法及节点
KR101849925B1 (ko) 2012-02-24 2018-04-18 삼성전자주식회사 무선 통신 네트워크에서 디바이스 탐색 방법 및 장치
US9338050B2 (en) 2012-03-27 2016-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Shared keep-alive and failure detection mechanism in distributed network
CN102780628B (zh) * 2012-07-31 2014-12-17 中国人民解放军国防科学技术大学 面向多核微处理器的片上互连网络路由方法
CN103595740B (zh) * 2012-08-14 2016-08-24 中国科学院声学研究所 一种更新对等网络版权内容相似度图的方法及系统
CN102932486A (zh) * 2012-11-26 2013-02-13 南京大学 一种在非结构化分布式p2p网络中划分网络结构的方法
US9210219B2 (en) * 2013-07-15 2015-12-08 Red Hat, Inc. Systems and methods for consistent hashing using multiple hash rings
US20160212205A1 (en) * 2013-09-26 2016-07-21 Hewlett Packard Enterprise Development Lp Subnetworks of peer to peer networks
US20160218954A1 (en) * 2013-09-26 2016-07-28 Hewlett-Packard Development Company, L.P. Peer nodes in peer to peer networks
US10057123B1 (en) * 2013-12-27 2018-08-21 Alarm.Com Incorporated Network topology backup
EP3100418A1 (en) * 2014-01-31 2016-12-07 Interdigital Patent Holdings, Inc. Methods, apparatuses and systems directed to enabling network federations through hash-routing and/or summary-routing based peering
US9699864B2 (en) 2014-05-30 2017-07-04 Lutron Electronics Co., Inc. Wireless control device
US9652979B2 (en) 2014-05-30 2017-05-16 Lutron Electronics Co., Inc. Wireless control device
CN104168147B (zh) * 2014-08-26 2017-07-04 浙江理工大学 一种针对p2p网络监控基于一维链表的节点维护方法
WO2016067299A1 (en) * 2014-10-30 2016-05-06 Hewlett-Packard Development Company, L.P. Location aware failover solution
US10771390B2 (en) * 2017-06-18 2020-09-08 Cisco Technology, Inc. Techniques for optimizing egress tunnel router failure scenarios in intelligent wide area networks
CN107426790A (zh) * 2017-07-28 2017-12-01 广东技术师范学院 一种无源感知网络节点调度系统及方法
CN108848250B (zh) * 2018-05-07 2020-12-15 北京奇点机智科技有限公司 路径更新方法、装置及设备
CN109495384B (zh) * 2018-11-06 2021-03-02 中国联合网络通信集团有限公司 一种提高网络路由可靠性的方法和装置
CN111510321B (zh) * 2019-10-16 2023-05-16 中国南方电网有限责任公司 网络故障处理方法、装置、计算机设备和存储介质
CN110990448B (zh) * 2019-10-28 2021-06-25 北京大学 一种支持容错的分布式查询方法及装置
CN113300948B (zh) * 2020-02-21 2022-07-29 华为技术有限公司 用于业务生存性分析的方法、装置、系统及存储介质
CN112019260B (zh) * 2020-09-14 2021-11-19 西安交通大学 一种低轨异构卫星网络路由方法及系统
CN113179336B (zh) * 2021-06-30 2021-09-07 正链科技(深圳)有限公司 面向亿量级大规模集群的分布式对等网络系统
CN115914009B (zh) * 2021-08-10 2024-10-22 中国移动通信集团江苏有限公司 ToB专网业务质量测试方法及系统
CN115412493A (zh) * 2022-06-30 2022-11-29 中国电子科技集团公司第五十四研究所 一种支持Kademlia网络的高效节点查询方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063318A1 (en) * 2003-09-19 2005-03-24 Zhichen Xu Providing a notification including location information for nodes in an overlay network
CN1681257A (zh) * 2004-03-31 2005-10-12 微软公司 对等网络中的路由
CN1283076C (zh) * 2004-04-16 2006-11-01 清华大学 点对点环境的草履虫自组织和协作路由方法
EP1802070A1 (en) * 2005-12-21 2007-06-27 NTT DoCoMo, Inc. Method and apparatus for mobility churn handling for peer-to-peer lookup systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1073091A3 (en) 1999-07-27 2004-10-06 Matsushita Electric Works, Ltd. Electrode for plasma generation, plasma treatment apparatus using the electrode, and plasma treatment with the apparatus
US6996065B2 (en) * 2000-07-06 2006-02-07 Lucent Technologies Inc. Dynamic backup routing of network tunnel paths for local restoration in a packet network
US20030212793A1 (en) * 2002-05-13 2003-11-13 Vineet Kumar Method and apparatus for group reception and fault-tolerant group transmission of frames in network
US7707307B2 (en) * 2003-01-09 2010-04-27 Cisco Technology, Inc. Method and apparatus for constructing a backup route in a data communications network
US7330440B1 (en) * 2003-05-20 2008-02-12 Cisco Technology, Inc. Method and apparatus for constructing a transition route in a data communications network
JP2005295457A (ja) * 2004-04-05 2005-10-20 Fujitsu Ltd P2pトラフィック対応ルータ及びそれを用いたp2pトラフィック情報共有システム
US7675882B2 (en) * 2005-02-01 2010-03-09 Exs, Inc. Hierarchical mesh network for wireless access
US7933197B2 (en) * 2005-02-22 2011-04-26 Cisco Technology, Inc. Method and apparatus for constructing a repair path around a non-available component in a data communications network
US7664742B2 (en) * 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
JP4670604B2 (ja) * 2005-11-21 2011-04-13 ブラザー工業株式会社 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
US7675860B2 (en) * 2006-02-27 2010-03-09 Cisco Technology, Inc. Method and apparatus for determining a preferred backup tunnel to protect point-to-multipoint label switch paths
JP4775153B2 (ja) * 2006-07-24 2011-09-21 日本電気株式会社 運用管理システム、ノード、運用管理方法及びプログラム
US7987506B1 (en) * 2006-11-03 2011-07-26 Cisco Technology, Inc. Methods and systems for dynamically updating a routing table in a virtual private network
US8472325B2 (en) * 2007-05-10 2013-06-25 Futurewei Technologies, Inc. Network availability enhancement technique for packet transport networks
CN101442479B (zh) 2007-11-22 2011-03-30 华为技术有限公司 P2p对等网络中节点失效后的路由更新方法、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063318A1 (en) * 2003-09-19 2005-03-24 Zhichen Xu Providing a notification including location information for nodes in an overlay network
CN1681257A (zh) * 2004-03-31 2005-10-12 微软公司 对等网络中的路由
CN1283076C (zh) * 2004-04-16 2006-11-01 清华大学 点对点环境的草履虫自组织和协作路由方法
EP1802070A1 (en) * 2005-12-21 2007-06-27 NTT DoCoMo, Inc. Method and apparatus for mobility churn handling for peer-to-peer lookup systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Hipeer: An Evolutionary Approach to P2P Systems", INTERNET CITATION, 1 January 2006 (2006-01-01), pages 1 - 196
See also references of EP2117166A4

Also Published As

Publication number Publication date
US8248919B2 (en) 2012-08-21
CN101442479B (zh) 2011-03-30
CN101442479A (zh) 2009-05-27
US20100039931A1 (en) 2010-02-18
EP2117166B1 (en) 2019-01-09
EP2117166A1 (en) 2009-11-11
EP2117166A4 (en) 2010-03-17

Similar Documents

Publication Publication Date Title
CN101442479B (zh) P2p对等网络中节点失效后的路由更新方法、设备及系统
CN102204346B (zh) 基于分布式哈希表的覆盖网络的路由机制
US7788400B2 (en) Utilizing proximity information in an overlay network
WO2009100671A1 (zh) 一种维护路由信息的方法及装置
Ghasemi et al. Muca: New routing for named data networking
JP2010199972A (ja) 経路制御方法およびノード装置
Zhong et al. The convergence-guaranteed random walk and its applications in peer-to-peer networks
JP2009508410A (ja) マルチデスティネーション・ルーティングを利用したピアツーピア・オーバーレイ通信の並列実行
Shin et al. Grapes: Topology-based hierarchical virtual network for peer-to-peer lookup services
CN105634964B (zh) 一种移动自组织网络及其组播路由方法
Moeini et al. Efficient caching for peer-to-peer service discovery in internet of things
CN101465753B (zh) P2p系统组管理方法及其装置和系统
JP4533923B2 (ja) 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法
Chau et al. Idrm: Inter-domain routing protocol for mobile ad hoc networks
CN113810488A (zh) 一种基于兴趣簇-热链的层次递进式资源查找模型及其构建方法
Liu et al. Improving query response delivery quality in peer-to-peer systems
Chang et al. MR-Chord: A scheme for enhancing Chord lookup accuracy and performance in mobile P2P network
Gu et al. ContextPeers: scalable peer-to-peer search for context information
Yang et al. An adaptive‐aware energy and queue improvement of AOMDV
Vodnala et al. An efficient on-demand link failure local recovery multicast routing protocol
Stojnic et al. COMPASS-optimized routing for efficient data access in mobile chord-based P2P systems
van Dien et al. Optimizing Multipath Route Discovery in AOMDV Using Gossip-Based Flooding
Dutta et al. Routing schemes used in content delivery
Lee et al. A lightweight prefix-based routing for content-centric networking
Chelliah et al. Node clone detection using a stable overlay network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08856338

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008856338

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE