Reliable broadcast of information in a wide area network
First Claim
1. A method for aging and purging from storage in each node of a distributed system of nodes, packets which expire over time, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprisingcausing each node to regularly modify the data is each said packet stored therein to indicate that less time remains before each said packet expires than the time that remained before said data was modified, andcausing each node, when a given packet has expired, to wait a purge time approximately equal to the time necessary for a packet to propagate through said distributed system, and then erase said given packet.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for creating and managing databases in routers of a routing network. The databases store link state packets, each packet being originated by nodes in the network, and transmitted to other nodes through the network. Each packet contains data identifying its originating node, a sequence number in a linear space indicating its place in the sequence of packets generated by its originating node, and an age value indicating the time remaining before it expires. The contents of the databases are updated by newly received packets. In addition, the nodes themselves are reset if the packets currently in the network have later sequence numbers than new packets. Also, a mechanism is provided to purge the databases of packets from a given router by issuing a purging packet.
-
Citations
21 Claims
-
1. A method for aging and purging from storage in each node of a distributed system of nodes, packets which expire over time, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
causing each node to regularly modify the data is each said packet stored therein to indicate that less time remains before each said packet expires than the time that remained before said data was modified, and causing each node, when a given packet has expired, to wait a purge time approximately equal to the time necessary for a packet to propagate through said distributed system, and then erase said given packet.
-
7. A method for purging, from storage in each node of a distributed system of nodes, packets originated from a given node, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
transmitting to at least one node of said system a purging packet, said purging packet identifying its originating node as said given node, having a sequence number latest in the sequence of packets originated from said given node, and including data indicating that said purging packet is expired.
-
12. A controller circuit for maintaining a database storing link state packets, each said packet comprising a sequence number in a linear space, data identifying its originating controller circuit, and data indicating the time remaining until said packet expires, comprising
communications circuitry connecting said controller circuit to at least another controller circuit for receiving transmitted packets and sending stored packets, and a computing circuit for managing said database, said computing circuit being programmed to: -
regularly modify the data in each said packet stored in said database to indicate that less time remains before each said packet expires than the time that remained before said data was modified, and when a given packet has expired, wait a purge time approximately equal to the time necessary for a packet to propagate to all other controller circuits which communicate packets to said controller circuit, and then erase said given packet. - View Dependent Claims (13, 14)
-
-
15. A controller circuit for maintaining a database storing link state packets, each said packet comprising a sequence number in a linear space, data identifying its originating controller circuit, and data indicating the time remaining until said packet expires, comprising
communications circuitry connecting said controller circuit to at least another controller circuit for receiving transmitted packets and sending stored packets, and a computing circuit for managing said database, said computing circuit being programmed to: -
purge said network of all packets originated by said controller circuit by transmitting a purging packet, said purging packet identifying its originating controller circuit as said controller circuit, having a sequence number latest in the sequence of packets originated from said controller circuit, and including data indicating that said purging packet is expired. - View Dependent Claims (16, 17)
-
-
18. A method for aging and purging from storage in each node of a distributed system of nodes, packets which expire over time, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
causing each node to regularly modify the data in each said packet stored therein to indicate that less time remains before each said packet expires than the time that remained before said data was modified, causing each node which receives a transmitted packet to modify the data indicating the time remaining before said transmitted packet expires to indicate that less time remains before said transmitted packet expires than the time that remained before said data was modified, causing each node, when a packet has expired, to wait a given purge time and then erase the packet, and causing each node which receives a transmitted packet which has the same originating node, and the same sequence number, as a packet previously stored in the receiving node, where said transmitted packet includes data indicating said transmitted packet is expired, to modify said stored packet to indicate that said stored packet is expired.
-
19. A method for aging and purging from storage in each node of a distributed system of nodes, packets which expire over time, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
causing each node to regularly modify the data in each said packet stored therein to indicate that less time remains before each said packet expires than the time that remained before said data was modified, transmitting to at least one node of said system a purging packet, said purging packet identifying its originating node, having a sequence number latest in the sequence of packets originated from said originating node, and including data indicating that said purging packet is expired, and causing each node, when a packet has expired, to wait a given purge time and then erase the packet.
-
20. A method for purging from storage in each node of a distributed system of nodes, packets originated from a given node, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
causing each node which has originated a packet having the maximum sequence number or which contains invalid information to subsequently originate a purging packet, said purging packet identifying its originating node, having a sequence number latest in the sequence of packets originated from said originating node, and including data indicating that said purging packet is expired, and transmitting said purging packet to at least one node of said system.
-
21. A method for aging and purging from storage in each node of a distributed system of nodes, packets which expire over time, each said packet comprising a sequence number in a linear space, data identifying its originating node, and data indicating the time remaining until said packet expires, the method comprising
causing each node to regularly modify the data in each said packet stored therein to indicate that less time remains before each said packet expires than the time that remained before said data was modified, causing each node to erase from storage any packet which has expired, and causing each node which receives a transmitted packet which has the same originating node, and the same sequence number, as a packet previously stored in the receiving node, where said transmitted packet includes data indicating said transmitted packet is expired, to modify said stored packet to indicate that said stored packet is expired.
Specification