IP Library Granted Patent US 8,005,980
Granted Patent B2
US 8,005,980 · App. 10/350,818 · Granted Aug 23, 2011

Method and apparatus for synchronizing redundant communication tasks

Assignee: Alcatel Lucent
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,005,980
App. No.
10/350,818
Granted
Aug 23, 2011
Kind
B2
Abstract

An embodiment of a method and apparatus for synchronizing communication tasks (e.g., transmission control protocol (TCP) tasks) for redundancy in a network element is disclosed herein. The method includes an operation for receiving an inbound TCP packet at a TCP task of an active routing module of a network element. An operation is performed for queuing a first copy of the inbound TCP packet in a receive queue of the active routing module. After queuing the first copy of the inbound TCP packet, an operation is performed for forwarding a second copy of the inbound TCP packet to an inactive routing module of the network element. After receiving the second copy of the inbound TCP packet, an operation is performed for queuing the second copy of the inbound TCP packet in a receive queue of the inactive routing module.

Claims (57)

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;

queuing the second copy of the at least one inbound lower layer protocol packet in a receive queue of the inactive module, 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; 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.

2. The method of claim 1 , 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.

3. The method of claim 2 , 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.

4. The method of claim 2 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.

5. The method of claim 2 wherein the at least one inbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.

6. The method of claim 2 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.

7. The method of claim 2 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.

8. 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.

9. 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;

queuing the second copy of the at least one inbound lower layer protocol packet in a receive queue of the inactive module;

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; and

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.

10. The method of claim 9 wherein the at least one outbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.

11. The method of claim 9 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.

12. The method of claim 9 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.

13. 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;

queuing the second copy of the at least one inbound lower layer protocol packet in a receive queue of the inactive module;

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;

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.

14. 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;

queuing the second copy of the at least one inbound lower layer protocol packet in a receive queue of the inactive module;

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, 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.

15. 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, wherein the active module is implemented using a first data processor and a first memory device; 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, 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, 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, wherein the inactive module is implemented using a second data processor and a second memory device.

16. The apparatus of claim 15 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.

17. The apparatus of claim 16 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.

18. The apparatus of claim 16 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.

19. The apparatus of claim 16 wherein the at least one inbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.

20. The apparatus of claim 16 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.

21. The apparatus of claim 16 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.

22. The apparatus of claim 15 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.

23. The apparatus of claim 15 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.

24. The apparatus of claim 23 wherein the at least one outbound lower layer protocol packet comprises a Transmission Control Protocol (TCP) packet.

25. The apparatus of claim 23 wherein the higher layer protocol packet is a Border Gateway Protocol (BGP) packet.

26. The apparatus of claim 23 wherein the higher layer protocol packet is a Multi-Protocol Label Switching (MPLS) packet.

27. The apparatus of claim 23 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.

28. The apparatus of claim 27 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.

29. The apparatus of claim 23 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.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0001 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2011
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 026589/0580 →
MERGER Recorded Jun 20, 2011
From: ALCATEL CANADA INC.
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 026479/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2003
From: HARVEY, KENDALL WILLIAM; WINGER, BRIAN ROGER
To: ALCATEL CANADA, INC.
Reel/Frame 013709/0693 →
Continuity (4)
Provisional Application 60351683 · Jan 24, 2002
Provisional Application 60352065 · Jan 24, 2002
Provisional Application 60352100 · Jan 24, 2002
Related Publication 20030140167A1 · Jul 24, 2003