Method and apparatus for uninterrupted packet transfer using replication over disjoint paths
First Claim
1. A method comprising:
- identifying a first network component in a first path using a first identifier stored in a heap data structure, wherein the first path is between a first node and a second node;
removing the first identifier from the heap data structure;
identifying a second network component in a second path using a second identifier stored in the heap data structure, wherein the second identifier remains in the heap data structure subsequent to the removing the first identifier, the second path is between the first node and the second node, and the first path and the second path are disjoint;
sending a packet from the first node via the first path; and
sending a duplicate of the packet from the first node via the second path.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of operating a fault tolerant connection in a network is described. The network includes a number of network elements and a number of links. Each of the network elements is coupled to at least one other of the network elements by at least one of the links. The method identifies a first path and a second path. The first path is between a first one of the network elements and a second one of the network elements, as is the second path. Moreover, the first path and the second path are disjoint. This disjointedness can be any difference between the two paths (e.g., any combination of different network elements or links). A packet is sent from the first one of the network elements via the first path, while a duplicate packet is sent from the first one of the network elements via the second path. The duplicate packet is a duplicate of the packet. Once these packets have been sent, at least one of the packet and the duplicate packet are received at the second one of the network elements. If both the packet and the duplicate packet are received at the second one of the network elements, one of the two is discarded (e.g., by simply ignoring the last one received).
-
Citations
43 Claims
-
1. A method comprising:
-
identifying a first network component in a first path using a first identifier stored in a heap data structure, wherein the first path is between a first node and a second node; removing the first identifier from the heap data structure; identifying a second network component in a second path using a second identifier stored in the heap data structure, wherein the second identifier remains in the heap data structure subsequent to the removing the first identifier, the second path is between the first node and the second node, and the first path and the second path are disjoint; sending a packet from the first node via the first path; and sending a duplicate of the packet from the first node via the second path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium storing program instructions executable by a processor to:
-
identify a first network component, in a first path between a first node and a second node, using an identifier stored in a heap data structure; remove the identifier corresponding to the first network component from the heap data structure; identify a second network component, in a second path between the first node and the second node, using a second identifier stored in the heap data structure, wherein the second identifier remains in the heap data structure subsequent to removal of the first identifier, and the first path and the second path are disjoint; send a packet from the first node via the first path; and send a duplicate of the packet from the first node via the second path. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system comprising:
-
means for storing a heap data structure; means for identifying a first network component in a first path using an identifier stored in the heap data structure, wherein the first path is between a first node and a second node; means for removing the identifier corresponding to the first network component from the heap data structure; means for identifying a second network component in a second path using a second identifier stored in the heap data structure, wherein the second identifier remains in the heap data structure subsequent to removal of the first identifier, the second path is between the first node and the second node, and the first path and the second path are disjoint; means for sending a packet from the first node via the first path; and means for sending a duplicate of the packet from the first node via the second path. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system comprising:
-
a first node; a second node; a first path between the first node and the second node; and a second path between the first node and the second node, wherein the first node is configured to; identify a first network components in the first path using a first identifier stored in a heap data structure, remove the first identifier from the heap data structure, identify a second network component in the second path using a second identifier stored in the heap data structure, wherein the second identifier remains in the heap data structure subsequent to removal of the first identifier, and the first path and the second path are disjoint, send a packet via the first path, and send a duplicate of the packet via the second path. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43)
-
Specification