IP Library Granted Patent US 8,977,753
Granted Patent B1
US 8,977,753 · App. 12/945,128 · Granted Mar 10, 2015

System and method for router keep-alive control

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,977,753
App. No.
12/945,128
Granted
Mar 10, 2015
Kind
B1
Abstract

The real-time aspects of keep-alive generation are removed from the dynamic routing protocol (DRP) application and are embedded within a Unix-based operating system, which is programmed by DRP. A keep-alive control provides the ability to create a keep-alive message and a timeout interval on a TCP socket. Each socket can have an independent keep-alive message and timeout interval. A keep-alive message is sent whenever the TCP socket sends no normal user output for a duration exceeding the timeout interval. A timeout interval is normally specific in seconds and a keep-alive message is user definable and must not exceed a predetermined length in bytes. System calls are used to set the timeout interval and keep-alive message independently. Both a timeout and a keep-alive message must be set before the timeout becomes active.

Claims (41)

1. A method, comprising:

programming, by a routing protocol process, a real-time kernel underlying the routing protocol process to perform keep-alive message processing of data communication, thereby relieving the routing protocol process from performing keep-alive message processing;

maintaining, by the routing protocol process, a timeout timer, a temporal frequency at which to generate keep-alive packets, and a keep alive message in a per-socket data structure in the real-time kernel;

providing, by the routing protocol process, to a scheduler in the real-time kernel the temporal frequency;

replicating, by the real-time kernel, the keep-alive message in respective keep-alive packets; and

associating a port in a switch, by the real-time kernel, as an output port for a respective keep-alive packet in response to no user output message of the data communication being associated with the port for a predetermined duration.

2. The method of claim 1 , further comprising establishing at least one programming interface between the routing protocol process and the real-time kernel.

3. The method of claim 1 , wherein the temporal frequency corresponds to a timeout interval.

4. The method of claim 1 , wherein the keep-alive packets are sent to one or more Transmission Control Protocol (TCP sockets; and

wherein the keep-alive packets associated with a respective TCP socket are independent from keep-alive packets associated with other TCP sockets.

5. The method of claim 1 , wherein generating the keep-alive packets is triggered by a timeout period during which no user message is sent.

6. The method of claim 1 , wherein the routing protocol is a dynamic routing protocol.

7. The method of claim 1 , wherein the routing protocol is a Border Gateway Protocol (BGP) or an Open Shortest Path First (OSPF) protocol.

8. A switch system, comprising:

a processor;

a computer-readable storage medium storing instructions which when executed by the processor causes the processor to perform a method, the method comprising:

programming, by a routing protocol process, a real-time kernel underlying the routing protocol process to perform keep-alive message processing of data communication, thereby relieving the routing protocol process from performing keep-alive message processing;

maintaining, by the routing protocol process, a timeout timer, a temporal frequency at which to generate keep-alive packets, and a keep alive message in a per-socket data structure in the real-time kernel;

providing, by the routing protocol process, to a scheduler in the real-time kernel the temporal frequency;

replicating, by the real-time kernel, the keep-alive message in respective keep-alive packets; and

associating a port in the switch system, by the real-time kernel, as an output port for a respective keep-alive packet in response to no user output message of the data communication being associated with the port for a predetermined duration.

9. The switch system of claim 8 , wherein the real-time kernel comprises at least one programming interface with the routing protocol process.

10. The switch system of claim 8 , the temporal frequency corresponds to a timeout interval.

11. The switch system of claim 8 , wherein the keep-alive packets are sent to one or more Transmission Control Protocol (TCP) sockets; and

wherein the keep-alive packets associated with a respective TCP socket are independent from keep-alive packets associated with other TCP sockets.

12. The switch system of claim 8 , wherein generating the keep-alive packets is triggered by a timeout period during which no user message is sent.

13. The switch system of claim 8 , wherein the routing protocol is a dynamic routing protocol.

14. The switch system of claim 8 , wherein the routing protocol is a Border Gateway Protocol (BGP) or an Open Shortest Path First (OSPF) protocol.

15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

programming, by a routing protocol process, a real-time kernel underlying the routing protocol process to perform keep-alive message processing of data communication, thereby relieving the routing protocol process from performing keep-alive message processing;

maintaining, by the routing protocol process, a timeout timer, a temporal frequency at which to generate keep-alive packets, and a keep alive message in a per-socket data structure in the real-time kernel;

providing, by the routing protocol process, to a scheduler in the real-time kernel the temporal frequency;

replicating, by the real time kernel, the keep-alive message in respective keep-alive packets; and

associating a port in a switch, by the real-time kernel, as an output port for a respective keep-alive packet in response to no user output message of the data communication being associated with the port for a predetermined duration.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises establishing at least one programming interface between the routing protocol process and the real-time kernel.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the temporal frequency corresponds to a timeout interval.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the keep-alive packets are sent to one or more Transmission Control Protocol (TCP) sockets; and

wherein the keep-alive packets associated with a respective TCP socket are independent from keep-alive packets associated with other TCP sockets.

19. The non-transitory computer-readable storage medium of claim 15 , wherein generating the keep-alive packets is triggered by a timeout period during which no user message is sent.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the routing protocol is a dynamic routing protocol.

21. The non-transitory computer-readable storage medium of claim 15 , wherein the routing protocol is a Border Gateway Protocol (BGP) or an Open Shortest Path First (OSPF) protocol.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Mar 9, 2012
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 027840/0249 →