IP Library Granted Patent US 8,385,231
Granted Patent B2
US 8,385,231 · App. 12/512,635 · Granted Feb 26, 2013

Disseminating link state information to nodes of a network

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 8,385,231
App. No.
12/512,635
Granted
Feb 26, 2013
Kind
B2
Abstract

Techniques are generally disclosed for disseminating link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels.

Claims (69)

1. A method implemented by a node for disseminating link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels, the method comprising:

forwarding to the network of nodes link state information for an outgoing link of the node;

receiving from the network of nodes link state information for a plurality of outgoing links of the network of nodes;

building a link state matrix based on the link state information for the outgoing link and also based on the link state information for the plurality of outgoing links;

generating a spanning tree based on the link state matrix;

determining whether a threshold for a quality of service (QoS) state associated with the outgoing link has been reached;

updating the link state matrix and updating the spanning tree in response to a determination of the threshold being reached; and

disseminating updated link state information for the outgoing link based on the updated spanning tree, the updated link state information to indicate a change in the QoS state associated with the outgoing link;

determining whether one or more nodes failed to receive the updated link state information; and

if it is determined that one or more nodes failed to receive the updated link state information, forwarding the updated link state information to a child of the one or more nodes via at least one outgoing link not included in the updated link state information.

2. A method according to claim 1 , further comprising:

receiving an acknowledgement of receipt of the updated link state information, wherein the acknowledgement is associated with a child node, wherein the acknowledgement includes updated link state information for an outgoing link of the child node; and

updating the link state matrix and updating the spanning tree based on the updated link state information for the outgoing link of the child node.

3. A method according to claim 2 , wherein updating the spanning tree based on the updated link state information received from the child node comprises generating another spanning tree.

4. A method according to claim 1 , wherein updating the spanning tree in response to the determination of the threshold being reached comprises generating another spanning tree.

5. A method according to claim 1 , wherein determining whether the threshold for the QoS state associated with the outgoing link comprises determining whether the threshold has been reached responsive to a minimum time threshold being reached.

6. A method according to claim 1 , wherein the QoS state associated with the outgoing link comprises an indication of whether data forwarded from the node via the outgoing link has an ability to meet a class of service associated with a QoS parameter.

7. A method according to claim 6 , wherein the QoS parameter comprises one or more of delay, available bandwidth, packet loss and/or security requirement.

8. A method according to claim 6 , wherein the QoS parameter is associated with a weight value, wherein the spanning tree is updated based on the weight value and the class of service associated with the QoS parameter.

9. A method implemented by a node for disseminating link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels, the method comprising:

receiving link state information from a parent node;

determining whether current link state information for an outgoing link of the node indicates that a threshold for a quality of service (QoS) state associated with the outgoing link has been reached;

in response to a determination that the current link state information indicates that the threshold has been reached, updating a link state matrix based on the received link state information from the parent node and also based on the current link state information;

adjusting a spanning tree based on the updated link state matrix, wherein the adjusted spanning tree is used to forward the current link state information and the updated link state information received from the parent node, the information forwarded to a child node via the outgoing link of the node; and

sending a fail indication to the parent node based on failing to receive an acknowledgement from the child node of the child node receiving the updated link state information and the current link state information for the outgoing link of the node, the fail indication to include the current link state information, wherein the current link state information is to be forwarded by the parent node to the node's child node via at least one outgoing link not included in the adjusted spanning tree.

10. A method according to claim 9 , further comprising:

sending to the parent node an acknowledgement of receipt of the updated link state information, the acknowledgement to include the current link state information for the outgoing link of the node, wherein the acknowledgement is sent to the parent node using the unadjusted spanning tree.

11. A method according to claim 9 , further comprising:

receiving an acknowledgement of receipt of the current link state information for the outgoing link of the node and the updated link state information received from the parent node, the acknowledgement received from the child node, wherein the acknowledgement includes current link state information for an outgoing link of the child node; and

updating the link state matrix and updating the adjusted spanning tree based on the received current link state information for the outgoing link of the child node.

12. A method according to claim 9 , wherein failing to receive the acknowledgement from the child node, comprises failing to receive the acknowledgement within a predetermined time interval.

13. A method according to claim 9 , wherein the QoS state associated with the outgoing link of the node comprises an indication of whether data forwarded from the node via the outgoing link has an ability to meet a class of service associated with a QoS parameter, the QoS parameter comprising one or more of delay, available bandwidth, packet loss and/or security requirement.

14. A method according to claim 13 , wherein the QoS parameter is associated with a weight value, wherein the spanning tree is adjusted based on the weight value and the class of service associated with the QoS parameter.

15. An apparatus to disseminate link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels, the apparatus comprising:

a dissemination manager at a node, the dissemination manager including logic configured to:

forward to the network of nodes link state information for an outgoing link of the node;

receive from the network of nodes link state information for a plurality of outgoing links of the network of nodes;

build a link state matrix based on the link state information for the outgoing link and also based on the link state information for the plurality of outgoing links;

generate a spanning tree based on the link state matrix;

determine whether a threshold for a quality of service (QoS) state associated with the outgoing link has been reached;

update the link state matrix and update the spanning tree in response to a determination of the threshold being reached; and

disseminate the updated link state information for the outgoing link based on the updated spanning tree, the updated link state information to indicate a change in the QoS state associated with the outgoing link;

determining whether one or more nodes failed to receive the updated link state information; and

if it is determined that one or more nodes failed to receive the updated link state information, forwarding the updated link state information to a child of the one or more nodes via at least one outgoing link not included in the updated link state information.

16. An apparatus according to claim 15 , wherein the QoS state associated with the outgoing link of the node comprises an indication of whether data forwarded from the node via the outgoing link has an ability to meet a class of service associated with a QoS parameter including one or more of delay, available bandwidth, packet loss and/or security requirement.

17. An apparatus according to claim 16 , wherein the QoS parameter is associated with a weight value, wherein the spanning tree is updated based on the weight value and the class of service associated with the QoS parameter.

18. A system for disseminating link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels, the system comprising:

a memory resident on a node to store a link state matrix and a spanning tree;

a dissemination manager for the node, the dissemination manager having logic configured to:

receive link state information from a parent node;

determine whether current link state information for an outgoing link of the node indicates that a threshold for a quality of service (QoS) state associated with the outgoing link has been reached;

in response to a determination that the current link state information indicates that the threshold has been reached, update the link state matrix stored in the memory based on the received link state information from the parent node and also based on the current link state information;

adjust the spanning tree stored in the memory based on the updated link state matrix;

forward the current link state information and the updated link state information received from the parent node based on the adjusted spanning tree, the information forwarded to a child node; and

sending a fail indication to the parent node based on failing to receive an acknowledgement from the child node of the child node receiving the updated link state information and the current link state information for the outgoing link of the node, the fail indication to include the current link state information, wherein the current link state information is to be forwarded by the parent node to the node's child node via at least one outgoing link not included in the adjusted spanning tree.

19. A system according to claim 18 , wherein the QoS state associated with the outgoing link of the node, comprises an indication of whether data forwarded from the node via the outgoing link has an ability to meet a class of service associated with a QoS parameter, the QoS parameter comprising one or more of delay, available bandwidth, packet loss and/or security requirement.

20. A system according to claim 19 , wherein the QoS parameter is associated with a weight value, wherein the dissemination manager logic is further configured to adjust the spanning tree based on the weight value and the class of service associated with the QoS parameter.

21. A computer program product comprising a machine-readable non-transitory medium having instructions for disseminating link state information to one or more nodes of a network of nodes, the network of nodes interconnected via a plurality of communication channels, the instructions, which, when executed by logic at a node, cause the logic to:

forward to the network of nodes link state information for an outgoing link of the node;

receive from the network of nodes link state information for a plurality of outgoing links of the network of nodes;

build a link state matrix based on the link state information for the outgoing link and also based on the link state information for the plurality of outgoing links;

generate a spanning tree based on the link state matrix;

determine whether a threshold for a quality of service (QoS) state associated with the outgoing link has been reached;

update the link state matrix and update the spanning tree in response to a determination of the threshold being reached; and

disseminate updated link state information for the outgoing link based on the updated spanning tree, the updated link state information to indicate a change in the QoS state associated with the outgoing link;

determining whether one or more nodes failed to receive the updated link state information; and

if it is determined that one or more nodes failed to receive the updated link state information, forwarding the updated link state information to a child of the one or more nodes via at least one outgoing link not included in the updated link state information.

22. A computer program product according to claim 21 , wherein the QoS state associated with the outgoing link of the node, comprises an indication of whether data forwarded from the node via the outgoing link has an ability to meet a class of service associated with a QoS parameter comprising one or more of delay, available bandwidth, packet loss and/or security requirement.

23. A computer program product according to claim 22 , wherein the QoS parameter is associated with a weight value, wherein the spanning tree is updated based on the weight value and the class of service associated with the QoS parameter.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS, RECORDED ON JANUARY 29, 2019 AT REEL 048373 FRAME 0217 Recorded Sep 22, 2025
From: CRESTLINE DIRECT FINANCE, L.P., AS COLLATERAL AGENT
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 072936/0464 →
CONFIRMATORY LICENSE Recorded Dec 21, 2021
From: NEW JERSEY INSTITUTE OF TECHNOLOGY
To: NSF - DEITR
Reel/Frame 058449/0901 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2019
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 049924/0794 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
CONFIRMATORY LICENSE Recorded Dec 27, 2010
From: NEW JERSEY INSTITUTE OF TECHNOLOGY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 025568/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2009
From: ROJAS-CESSA, ROBERTO; QIN, ZHEN; ANSARI, NIRWAN
To: NEW JERSEY INSTITUTE OF TECHNOLOGY
Reel/Frame 023162/0491 →