Claims
- 1. A method for synchronizing redundant communication tasks, comprising:
receiving at least one inbound lower layer protocol packet at a lower layer protocol task of an active module of a network element; queuing a first copy of the at least one inbound lower layer protocol packet in a receive queue of the active module; forwarding a second copy of the at least one inbound lower layer protocol packet to an inactive module of the network element; and queuing the second copy of the at least one inbound lower layer protocol packet in a receive queue of the inactive module.
- 2. The method of claim 1 wherein queuing the second copy of the at least one inbound lower layer protocol packet in the receive queue of the inactive module includes holding the second copy of the at least one inbound lower layer protocol packet in a pending portion of the inactive module receive queue.
- 3. The method of claim 2, further comprising:
forwarding a higher layer protocol packet for reception by a higher layer protocol task of the active module, wherein the higher layer protocol packet is extracted from the at least one inbound lower layer protocol packet; and moving the second copy of the at least one inbound lower layer protocol packet from the pending portion of the inactive module receive queue to a ready portion of the inactive module receive queue.
- 4. The method of claim 3, further comprising:
processing the higher layer protocol packet by the higher layer protocol task of the active module; wherein the step of moving the second copy of the at least one inbound lower layer protocol packet occurs after the step of processing the higher layer protocol packet is successfully completed.
- 5. The method of claim 3 wherein forwarding the higher layer protocol packet includes forwarding the higher layer protocol packet only when the at least one inbound lower layer protocol packet encapsulates a complete higher layer protocol packet.
- 6. The method of claim 3 wherein the at least one inbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.
- 7. The method of claim 3 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.
- 8. The method of claim 3 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.
- 9. The method of claim 1, further comprising:
transmitting a lower layer protocol packet acknowledgement confirming reception of the at least one inbound lower layer protocol packet by the network element in response to storing the at least one inbound lower layer protocol packet in the receive queue of the inactive module.
- 10. The method of claim 1, further comprising:
queuing a first copy and a second copy of an at least one outbound lower layer protocol packet in a transmit queue of the active module and a transmit queue of the inactive module, respectively, after receiving a higher layer protocol packet from a higher layer protocol task of the active module, wherein the higher layer protocol packet is encapsulated within the at least one outbound lower layer protocol packet.
- 11. The method of claim 10 wherein the at least one outbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.
- 12. The method of claim 10 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.
- 13. The method of claim 10 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.
- 14. The method of claim 10, further comprising:
forwarding the first copy of the at least one outbound lower layer protocol packet from the active module transmit queue after queuing the second copy of the at least one outbound lower layer protocol packet in the inactive module transmit queue.
- 15. The method of claim 13, further comprising:
receiving an acknowledgement that the first copy of the at least one outbound lower layer protocol packet has been received by an other network element after forwarding the first copy of the at least one outbound lower layer protocol packet from the network element for reception by the other network element; and purging the second copy of the at least one outbound lower layer protocol packet from the inactive module transmit queue after receiving the acknowledgement that the first copy of the at least one outbound lower layer protocol packet has been received by the other network element.
- 16. The method of claim 10 wherein queuing the first copy and the second copy of the at least one outbound lower layer protocol packet includes queuing the first copy and the second copy of the at least one outbound lower layer protocol packet only when the at least one outbound lower layer protocol packet encapsulates a complete higher layer protocol packet.
- 17. Apparatus for synchronizing redundant communication tasks, comprising:
an active module for receiving an at least one inbound lower layer protocol packet at a lower layer protocol task of the active module of a network element and for queuing a first copy of the at least one inbound lower layer protocol packet in a receive queue of the active module; and an inactive module of the network element for receiving a second copy of the at least one inbound lower layer protocol packet forwarded from the active module of the network element, wherein the second copy of the at least one inbound lower layer protocol packet is queued in a receive queue of the inactive module.
- 18. The apparatus of claim 17 wherein the second copy of the at least one inbound lower layer protocol packet is held in a pending portion of the inactive module receive queue.
- 19. The apparatus of claim 18 wherein a higher layer protocol packet is forwarded for reception by a higher layer protocol task of the active module, wherein the higher layer protocol packet is extracted from the at least one inbound lower layer protocol packet, and wherein the second copy of the at least one inbound lower layer protocol packet is moved from the pending portion of the inactive module receive queue to a ready portion of the inactive module receive queue.
- 20. The apparatus of claim 19 wherein the higher layer protocol task of the active module processes the higher layer protocol packet before the second copy of the at least one inbound lower layer protocol packet is moved from the pending portion of the inactive module receive queue to the ready portion of the inactive module receive queue.
- 21. The apparatus of claim 19 wherein the higher layer protocol packet is forwarded from the lower layer protocol task only when the at least one inbound lower layer protocol packet encapsulates a complete higher layer protocol packet.
- 22. The apparatus of claim 19 wherein the at least one inbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.
- 23. The apparatus of claim 19 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.
- 24. The apparatus of claim 19 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.
- 25. The apparatus of claim 17 wherein a lower layer protocol packet acknowledgement confirming reception of the at least one inbound lower layer protocol packet is transmitted by the network element in response to storing the at least one inbound lower layer protocol packet in the receive queue of the inactive module.
- 26. The apparatus of claim 17 wherein a first copy and a second copy of an at least one outbound lower layer protocol packet is queued in a transmit queue of the active module and a transmit queue of the inactive module, respectively, after receiving a higher layer protocol packet from a higher layer protocol task of the active module, wherein the higher layer protocol packet is encapsulated within the at least one outbound lower layer protocol packet.
- 27. The apparatus of claim 26 wherein the at least one outbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.
- 28. The apparatus of claim 26 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.
- 29. The apparatus of claim 26 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.
- 30. The apparatus of claim 26 wherein the first copy of the at least one outbound lower layer protocol packet is forwarded from the active module transmit queue after queuing the second copy of the at least one outbound lower layer protocol packet in the inactive module transmit queue.
- 31. The apparatus of claim 30 wherein an acknowledgement that the first copy of the at least one outbound lower layer protocol packet has been received by an other network element is received after forwarding the first copy of the at least one outbound lower layer protocol packet from the network element for reception by the other network element and wherein the second copy of the at least one outbound lower layer protocol packet is purged from the inactive module transmit queue after receiving the acknowledgement that the first copy of the at least one outbound lower layer protocol packet has been received by the other network element.
- 32. The apparatus of claim 26 wherein the first copy and the second copy of the at least one outbound lower layer protocol packet are queued in the transmit queue of the active module and the transmit queue of the inactive module, respectively, only when the at least one outbound lower layer protocol packet encapsulates a complete higher layer protocol packet.
RELATED APPLICATIONS
[0001] The present application claims priority to U.S. Provisional Patent Application No. 60/351,683, filed on Jan. 24, 2002, having the same title as the present application. The present application is related to the U.S. patent application entitled METHOD AND APPARATUS FOR PROVIDING REDUNDANT PROTOCOL PROCESSES IN A NETWORK ELEMENT, having an attorney docket number of 1400.1375100, filed on the same day as the present application and claiming priority to U.S. Provisional Patent Application No. 60/352,065 which was also filed on Jan. 24, 2002. The present application is also related to the U.S. patent application entitled METHOD AND APPARATUS FOR FACILITATING ROUTING PROTOCOL REDUNDANCY IN A NETWORK ELEMENT, having an attorney docket number of 1400.1375110, filed on the same day as the present application and claiming priority to U.S. Provisional Patent Application No. 60/352,100, which was also filed on Jan. 24, 2002.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60351683 |
Jan 2002 |
US |
|
60352065 |
Jan 2002 |
US |
|
60352100 |
Jan 2002 |
US |