Claims
- 1. A method for transmitting packets, comprising the steps of:
creating first and second duplicate packets from an original packet; inserting a sequence number into the first and second duplicate packets; and transmitting the first and second duplicate packets along respective different paths towards a destination node, wherein a bit in each of the first and second duplicate packets identifies whether duplicate packet transmission was initiated within a specific period of time.
- 2. The method of claim 1, wherein:
the bit is set to a first value when duplicate packet transmission is initiated; and the bit is set to a second value after a specified number of duplicate packets have been transmitted.
- 3. The method of claim 2, wherein the bit is maintained at the second value until duplicate packet transmission is re-initiated following a failure of one of the paths.
- 4. A method for transmitting packets, comprising the steps of:
creating first and second duplicate packets from an original packet; inserting a sequence number into the first and second duplicate packets; and transmitting the first and second duplicate packets along respective different paths towards a destination node, wherein a bit in each of the first and second duplicate packets identifies whether the sequence number is an inner sequence number or an outer sequence number, wherein a specified number of inner sequence packets are transmitted between each consecutive pair of outer sequence packets.
- 5. A method for processing received packets, comprising the steps of:
maintaining a sliding window based on a sequence number of a previously accepted packet; receiving a current packet via either a first path or a second path; determining whether the sequence number of the current packet falls within the sliding window; and accepting the current packet, when the sequence number of the current packet falls within the sliding window.
- 6. The method of claim 5, further comprising the step of rejecting the current packet, when the sequence number of the current packet falls outside of the sliding window.
- 7. The method of claim 6, further comprising the steps of:
keeping track of the most significant bit (MSB) of the sequence number of the previously accepted packet; and comparing the MSB of the sequence number of the current packet with the MSB of the sequence number in the previously accepted packet to detect a roll-over of the sequence number.
- 8. A method for processing received packets, comprising the steps of:
receiving a current packet via either a first path or a second path; maintaining a first least significant bit (LSB) counter and a first MSB counter for the first path and a second LSB counter and a second MSB counter for the second path; identifying whether the current packet has been received via the first path or the second path; interpreting the sequence number in the current packet as an LSB sequence number; generating a full sequence number by concatenating the current LSB sequence number with a corresponding MSB counter value; and comparing the full sequence number to a full sequence number of a previously accepted packet.
- 9. The method of claim 8, wherein the full sequence number is compared to a full sequence number of a previously accepted packet to determine whether to accept or reject the current packet.
- 10. The method of claim 8, wherein the current LSB sequence number is compared with the corresponding LSB counter to detect a roll-over of the sequence number.
- 11. The method of claim 8, wherein the corresponding MSB counter is incremented upon detection of the roll-over.
- 12. A method for processing received packets, comprising the steps of:
receiving a current packet via either a first path or a second path; tracking which path is a leading path and which path is a trailing path; and accepting the current packet, when the current packet was received from the leading path.
- 13. The method of claim 12, wherein the current packet is rejected, when the current packet was received from the trailing path.
- 14. The method of claim 12, further comprising the step of maintaining a delay counter corresponding to how far the leading path leads the trailing path.
- 15. The method of claim 14, further comprising the step of updating the delay counter based on the sequence number of the current packet.
- 16. The method of claim 12, wherein a bit in the current packet identifies whether duplicate packet transmission was initiated within a specific time period.
- 17. The method of claim 16, wherein the bit is used to detect initiation of duplicate packet transmission following a failure of one of the first or second paths.
- 18. A method for processing received packets, comprising the steps of:
receiving a current packet via either a first path or a second path, wherein a bit in the current packet identifies whether the sequence number is an inner sequence number or an outer sequence number, wherein a specified number of inner sequence packets are transmitted between each consecutive pair of outer sequence packets; identifying which inner sequence packets are associated with which outer sequence packets; and comparing a sequence number in the current packet to the inner and outer sequence numbers associated with the previously accepted packet to determine whether to accept the current packet.
CROSS-REFERENCE TO REPLATED APPLICATIONS
[0001] The subject matter of this application is related to U.S. patent application Ser. No. 09/687,348 (the '348 application), filed Oct. 12, 2000 as attorney docket no. Nagarajan 16-13-2, the teachings of which are incorporated herein by reference.