IP Library Patent Application 10996580
Patent Application
App. No. 10/996,580

Redundant L2TP end points

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 None
App. No.
10/996,580
Abstract

Methods and systems are provided for recovering from an interruption in, or failure of, an L2TP tunnel connection, such that reconnection of the tunnel is not required. According to various embodiments, redundant storage of tunnel state information is used to avoid having to reconnect an interrupted or failed tunnel session. According to various other embodiments, extraction of sequence numbers from a peer L2TP endpoint server is achieved by subdividing the set of all available sequence numbers into an appropriate number of divisions, and sending a control message having a sequence number from each of the divisions to the peer endpoint server to elicit a response.

Claims (54)

1 . A method for recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) when a task fails and causes failure of the tunnel, the method comprising:

storing tunnel state information, descriptive of the tunnel, in more than one location prior to the failure of the tunnel;

upon the failure of the tunnel, activating at least one backup task that is substantially capable of replacing the failed task;

providing the stored tunnel state information to the at least one backup task; and

resuming communication over the tunnel using the stored tunnel state information and the backup task.

2 . The method of claim 1 , wherein the storing tunnel state information in more than one location comprises storing tunnel state information in two or more separate components in a communications system.

3 . The method of claim 1 , wherein the two or more separate components are two or more separate circuit boards or cards.

4 . The method of claim 1 , wherein the task failure is the result of a failure of the component on which the task is running.

5 . The method of claim 1 , wherein the tunnel state information comprises L2TP header information.

6 . The method of claim 5 , wherein the L2TP header information comprises a sequence number identifying a communication message.

7 . A method for recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) when a task fails and causes failure of the tunnel, the method comprising:

storing tunnel state information, descriptive of the tunnel, in more than one location prior to the failure of the tunnel;

upon the failure of the tunnel, restarting the failed task;

when the failed task is restarted, providing the stored tunnel state information to the restarted task; and

resuming communication over the tunnel using the stored tunnel state information and the restarted task.

8 . The method of claim 7 , wherein the storing tunnel state information in more than one location comprises storing tunnel state information in two or more separate components in a communications system.

9 . The method of claim 8 , wherein the two or more separate components are two or more separate circuit boards or cards.

10 . The method of claim 7 , wherein the task failure is the result of a failure of the component on which the task is running.

11 . The method of claim 10 , wherein the restarting the failed task comprises restarting the component on which the task is running.

12 . The method of claim 7 , wherein the tunnel state information comprises L2TP header information.

13 . The method of claim 12 , wherein the L2TP header information comprises a sequence number identifying a communication message.

14 . A method for recovering a failed communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) after a message sequence number of a first tunnel endpoint is no longer available, the method comprising:

sending a first control message from the first tunnel endpoint to a second tunnel endpoint, the first control message having a first sequence number;

sending a second control message from the first tunnel endpoint to the second tunnel endpoint, the second control message having a second sequence number that is different from the first sequence number;

receiving a response control message from the second tunnel endpoint, the response control message containing a peer sequence number from of the second tunnel endpoint; and

using the peer sequence number of the second tunnel endpoint as a basis for determining future message sequence numbers of control messages sent from the first tunnel endpoint.

15 . The method of claim 14 , wherein the difference in values between the first sequence number and the second sequence number is between 30,000 and 34,000.

16 . The method of claim 15 , wherein the difference in values between the first sequence number and the second sequence number is 32,536.

17 . The method of claim 14 , wherein the first tunnel endpoint is a first computer server and the second tunnel endpoint is a second computer server.

18 . The method of claim 14 , further comprising sending a third control message from the first tunnel endpoint to the second tunnel endpoint, the third control message having a third sequence number that is different from both the first and second sequence numbers.

19 . A communications system capable of recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) following a failure of the tunnel, the system comprising:

a first component that stores tunnel state information descriptive of the tunnel prior to the failure of the tunnel, wherein the failure of a first task running on the first component causes the failure of the tunnel;

a second component that stores the tunnel state information prior to the failure of the tunnel;

a third component that does not store the tunnel state information prior to the failure of the tunnel; and

wherein, upon failure of the tunnel, the tunnel state information stored in the second component is provided to the third component, and communication over the tunnel is resumed using a second task running on the third component and the tunnel state information provided to the third component.

20 . The method of claim 19 , wherein the failure of the first task is the result of a failure of the first component on which the first task is running.

21 . The method of claim 19 , wherein the tunnel state information comprises a sequence number identifying a communication message.

22 . A communications system capable of recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) following a failure of the tunnel, the system comprising:

a first component that stores tunnel state information descriptive of the tunnel prior to the failure of the tunnel, wherein the failure of a first task running on the first component causes the failure of the tunnel;

a second component that stores the tunnel state information prior to the failure of the tunnel; and

wherein, upon failure of the tunnel, the failed first task is restarted and subsequently provided the tunnel state information stored in the second component, and wherein communication over the tunnel is resumed using the restarted first task and the tunnel state information from the second component.

23 . The method of claim 22 , wherein the failure of the first task is the result of a failure of the first component on which the first task is running.

24 . The method of claim 22 , wherein the restarting of the failed first task comprises restarting the first component on which the first task is running.

25 . The method of claim 22 , wherein the tunnel state information comprises a sequence number identifying a communication message.

26 . A system for recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) when a task fails and causes failure of the tunnel, the system comprising:

means for storing tunnel state information, descriptive of the tunnel, in more than one location prior to the failure of the tunnel;

means for activating at least one backup task that is substantially capable of replacing the failed component upon the failure of the session;

means for providing the stored tunnel state information to the at least one backup task; and

means for resuming communication over the tunnel using the stored tunnel state information and the backup task.

27 . A system for recovering a communications session over a tunnel established using the Layer 2 Tunneling Protocol (L2TP) when a task fails and causes failure of the tunnel, the system comprising:

means for storing tunnel state information, descriptive of the tunnel, in more that one location prior to the failure of the tunnel;

means for restarting the failed task upon the failure of the tunnel;

means for providing the stored tunnel state information to the restarted task after the failed task has been restarted; and

means for resuming communication over the tunnel using the stored tunnel state information and the restarted task.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: STARENT NETWORKS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 026794/0924 →
CHANGE OF NAME Recorded Mar 9, 2010
From: STARENT NETWORKS, CORP.
To: STARENT NETWORKS LLC
Reel/Frame 024050/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2005
From: PUTHIYANDYIL, SANIL KUMAR; HARPER, MATTHEW H.
To: STARENT NETWORKS CORPORATION
Reel/Frame 015996/0032 →