IP Library Granted Patent US 9,143,430
Granted Patent B2
US 9,143,430 · App. 14/463,818 · Granted Sep 22, 2015

State information and routing table updates in large scale data networks

Inventors: Maged E. Beshai (Maberly, CA); Richard Vickers (Kanata, CA)
Assignee: RPX CLEARINGHOUSE LLC
H04L45/02H04L12/28H04L45/025H04L45/22H04L45/28H04L45/42H04L45/54H04L12/26
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,143,430
App. No.
14/463,818
Granted
Sep 22, 2015
Kind
B2
Abstract

In a communication network comprising nodes and links between the nodes, a controller node disseminates link state information. A nodal routing table exists at each node comprising routes between pairs of nodes. The nodal routing table is either populated by the given node based on network information received from the controlling node or populated at the controlling node and received by the given node. Each node receives heartbeat signals from its neighbouring nodes. An unexpected delay between heartbeat signals may be perceived as a failure of a link. The perceived failure of that link is reported by the perceiving node to the controlling node. Upon receiving link failure information from a node, the controlling node may determine a subset of nodes in the network influenced by the link failure and indicate the link failure to the determined subset of influenced nodes.

Claims (38)

1. A method of determining routes in a network comprising a plurality of nodes and a plurality of links interconnecting the nodes, the method comprising:

partitioning the network into domains, each domain having a respective set of nodes and a respective network controller designated for the domain;

populating a respective overall routing table at the respective network controller designated for each respective domain, each respective overall routing table comprising a respective nodal routing table associated with each respective node in the each respective domain;

distributing to each respective node in each respective domain the respective nodal routing table which is associated with said each respective node;

perceiving a change in link state in a first domain;

determining a subset of nodes in the first domain that are affected by the change in link state;

updating respective nodal routing tables for nodes in the first domain that are affected by the change in link state; and

indicating the change in link state to at least one network controller designated for a domain other than the first domain.

2. The method of claim 1 , wherein updating respective nodal routing tables for nodes in the first domain that are affected by the change in link state comprises the network controller for the first domain providing to respective nodes in the first domain that are affected by the change in link state respective changes to respective previously distributed nodal routing tables.

3. The method of claim 1 , wherein updating respective nodal routing tables for nodes in the first domain that are affected by the change in link state comprises the network controller for the first domain providing respective link state information to respective nodes in the first domain that are affected by the change in link state to enable respective nodes to modify respective previously distributed nodal routing tables in response to the change in link state.

4. The method of claim 1 , wherein populating the respective overall routing table at the respective network controller designated for each respective domain comprises determining a respective route set for each respective node pair which comprises a respective source node in the respective domain and a respective sink node in the network.

5. The method of claim 4 , wherein determining the respective route set for each respective node pair which comprises a respective source node in the respective domain and a respective sink node in the network comprises:

for each link emanating from a respective source node, determining a respective metric-optimised route from a respective node at an end of the link to the respective sink node;

associating with the respective metric optimised route a respective sum of a metric of the link and a cumulative metric of the respective metric optimised route; and

sorting the metric optimised routes based on the respective associated sum.

6. The method of claim 5 , wherein determining the respective route set for each respective node pair which comprises a respective source node in the respective domain and a respective sink node in the network further comprises limiting the respective route set to a respective predetermined number of the respective metric optimised routes, the respective predetermined number being an integer greater than zero and less than a respective number of links emanating from the respective source node.

7. The method of claim 6 , further comprising predetermining a respective metric optimized matrix for each domain by:

determining a respective metric optimised route from each respective source node in the respective domain to each respective sink node in the network; and

storing each respective metric optimised route in the respective metric optimized matrix.

8. The method of claim 7 , wherein determining the respective metric optimised route from the node at the end of the link to the respective sink node comprises consulting the metric optimised matrix.

9. The method of claim 8 , wherein the metric-optimised route is determined using Dijkstra's Algorithm.

10. The method of claim 5 , wherein sorting the metric optimized routes comprises:

(a) initializing a respective ranked set with a route in each respective route set having a least associated sum;

(b) until all routes in the respective route set are in the ranked set:

(i) for each route not in the respective ranked set:

determining an intersection level value, the intersection level value for a given route being equivalent to a number of links the given route has in common with routes in the ranked set; and

determining, from the associated sum and the intersection level value, a respective composite index;

and

(ii) adding to the ranked set a route having a least composite index;

(c) sorting the routes in the ranked set based on the respective composite indices.

11. The method of claim 1 , wherein determining the subset of nodes in the first domain that are affected by the change in link state comprises computing an inversion of the respective overall routing table for the first domain.

12. The method of claim 11 , wherein the respective inversion of the overall routing table for the first domain relates a particular link to each node whose route set includes a route using the particular link.

13. The method of claim 1 , wherein said each domain is located in a respective geographic region.

14. The method of claim 1 , wherein each node is controlled by a respective nearest accessible network controller.

15. The method of claim 14 , wherein each node is controlled by a respective primary network controller when the respective primary network controller is accessible, and by a respective other network controller when the respective primary network controller is not accessible.

16. The method of claim 1 , wherein each node monitors state of respective adjacent links and reports changes in link state to a respective network controller.

17. The method of claim 16 , wherein each node reports changes in link state to the respective network controller designated for its respective domain.

18. The method of claim 16 , wherein each node reports changes in link state to a respective nearest accessible network controller.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
Continuity (5)
Continuation 13599461 · Aug 30, 2012
Division 11208056 · Aug 19, 2005
Division 10747077 · Dec 30, 2003
Continuation 09405003 · Sep 27, 1999
Related Publication 20140362737A1 · Dec 11, 2014