IP Library Granted Patent US 9,774,527
Granted Patent B2
US 9,774,527 · App. 13/600,537 · Granted Sep 26, 2017

Resilient peer-to-peer application message routing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,774,527
App. No.
13/600,537
Granted
Sep 26, 2017
Kind
B2
Abstract

Example embodiments relate to a method of, and device for facilitating, resilient peer-to-peer application message routing. The method comprises storing a network routing table comprising destination addresses of applications hosted on peer nodes of a network, and providing the peer nodes with a copy of the routing table via which routing table an application message from any one of the peer nodes is routed to a destination address designating a destination application hosted by a destination peer node. Further, the method comprises providing, when the destination application hosted by the destination peer node is inactivated, all peer nodes with a copy of an updated routing table taking into account the inactivation of said application, wherein a further application message addressed from any one of the peer nodes to the destination address associated with the inactivated application is routed via the updated routing table, to an alternative destination application having the same destination address as the inactivated application.

Claims (29)

1. A computer-implemented method of performing resilient peer-to-peer application message routing, comprising the steps of:

storing, in a memory, a network routing table comprising destination addresses of destination applications hosted on peer nodes of a network;

registering, by a data processing circuitry including a primary tracker node, a first destination application and a second destination application, where the first destination application is the same as the second destination application and both the first destination application and the second destination application have the same destination address;

providing, by the data processing circuitry including the primary tracker node, the peer nodes and a secondary tracker node with a copy of the routing table, via which routing table, an application message from a query one of the peer nodes is routed to a destination address designating a destination application hosted by a destination peer node;

providing, by the data processing circuitry including the primary tracker node, when the first destination application hosted by the destination peer node is inactivated, all of the peer nodes and the secondary tracker node with a copy of an updated routing table indicating the inactivation of the first destination application and routing of the application message to the second destination application,

wherein a further application message addressed from any of the peer nodes to the destination address associated with the inactivated application is routed, via the updated routing table, to the second destination application having the same destination address as the inactivated application, and

wherein the secondary tracker node, in case of failure of the primary tracker node, performs the providing steps for the primary tracker node including, in response to a request from the querying peer node for a copy of the updated routing table having a most recent version number, providing a copy of the updated routing table having the most recent version number to the querying peer node.

2. The method of claim 1 , wherein the alternative destination application is hosted on the destination peer node which hosted the inactivated application.

3. The method of claim 1 , wherein the alternative destination application is hosted on a peer node different from the peer node which hosted the inactivated application.

4. The method of claim 1 , further comprising:

receiving a notification from one of the primary and secondary tracker nodes that the destination application is inactivated; and

transmitting in response thereto a confirmation that an update of the routing table has been performed taking into account the inactivation of the destination application.

5. A system for facilitating resilient peer-to-peer application message routing, the device comprising:

a storage medium configured to store a network routing table comprising destination addresses of destination applications hosted on peer nodes of a network;

a processor including a primary tracker configured to:

register a first destination application and a second destination application, where the first destination application is the same as the second destination application and both the first destination application and the second destination application have the same destination address; and

provide the peer nodes and a secondary tracker with a copy of the routing table via which routing table an application message from a querying one of the peer nodes is routed to a destination address designating a destination application of a destination peer node,

provide, when the destination application hosted by the destination peer node is inactivated, all peer nodes and the secondary tracker with a copy of an updated routing table indicating the inactivation of the first destination application and routing of the application message to the second destination application,

wherein a further application message addressed from any of the peer nodes to the destination address associated with the inactivated application is routed, via the updated routing table, to an alternative destination application having the same destination address as the inactivated application, and

wherein the secondary tracker is configured to provide the copy of the routing table and provide the copy of the updated routing table in case of failure of the primary tracker node including, in response to a request from the querying peer node for a copy of the updated routing table having a most recent version number, to provide a copy of the updated routing table having the most recent version number to the querying peer node.

6. The system of claim 5 , wherein the alternative destination application is hosted on the destination peer node which hosted the inactivated application.

7. The system of claim 5 , wherein the alternative destination application is hosted on a peer node different from the peer node which hosted the inactivated application.

8. The system of claim 5 , wherein the processor is further configured to:

receive a notification from the destination peer node that the destination application is inactivated; and

transmit, in response thereto, a confirmation that an update of the routing table has been performed taking into account the inactivation of the destination application.

9. The system of claim 5 , wherein the routing table is a hash table.

10. The system of claim 5 , wherein the processor is further configured to provide the copy of the updated routing table in the form of incremental changes with respect to a latest provided copy of the routing table.

11. The system of claim 5 , wherein the processor is further configured to provide the copy of the routing table to the peer nodes of the network for local storage at the respective peer node.

12. A non-transitory, computer-readable medium comprising a computer program which when executed on a computer causes a device to perform the steps recited in claim 1 .

Assignments (2)
CHANGE OF NAME Recorded Jan 6, 2016
From: OMX TECHNOLOGY AB
To: NASDAQ TECHNOLOGY AB
Reel/Frame 037446/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2012
From: CARLSON, BJORN ROLF; ADOLFSSON, ROBERT
To: OMX TECHNOLOGY AB
Reel/Frame 029313/0229 →