IP Library Granted Patent US 8,190,748
Granted Patent B1
US 8,190,748 · App. 12/633,679 · Granted May 29, 2012

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,190,748
App. No.
12/633,679
Granted
May 29, 2012
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 (34)

1. A system comprising:

a processor;

a number of network interfaces coupled to the processor;

a dynamic routing application which is not constrained to run in real time and is not responsible for sending keep-alive messages in real time; and

an operating system kernel configured to send periodically keep-alive messages in real time on behalf of the dynamic routing application, thereby allowing the dynamic routing application to be free from keep-alive responsibilities.

2. The system of claim 1 , wherein the keep-alive messages are user-definable.

3. The system of claim 1 , wherein the operating system kernel is configured to send the keep-alive messages via a TCP socket.

4. The system of claim 3 , wherein the operating system kernel is configured to send periodical keep-alive messages to a number of TCP sockets; and

wherein the keep-alive messages for a respective TCP socket are sent independently from keep-alive messages sent via other TCP sockets.

5. The system of claim 1 , wherein the operating system kernel runs in real time.

6. The system of claim 1 , wherein sending the keep-alive messages is triggered by a timeout period during which no user message is sent.

7. The system of claim 6 , wherein the operating system facilitates an interface which allows the timeout period to be configured.

8. A router comprising:

a processor;

a number of network interfaces coupled to the processor;

a piece of dynamic routing protocol (DRP) which is not constrained to run in real time and is not responsible for sending keep-alive messages in real time; and

an operating system kernel configured to send periodically keep-alive messages in real time on behalf of the DRP, thereby allowing the DRP to be free from keep-alive responsibilities.

9. The router of claim 8 , wherein the keep-alive messages are Border Gateway Protocol (BGP) or Open Shortest Path First (OSPF) keep-alive messages.

10. The router of claim 8 , wherein the operating system kernel is configured to send the keep-alive messages via a TCP socket.

11. The router of claim 10 , wherein the operating system kernel is configured to send periodical keep-alive messages to a number of TCP sockets; and

wherein the keep-alive messages for a respective TCP socket are sent independently from keep-alive messages sent via other TCP sockets.

12. The router of claim 8 , wherein the operating system kernel runs in real time.

13. The router of claim 8 , wherein sending the keep-alive messages is triggered by a timeout period during which no user message is sent.

14. The router of claim 13 , wherein the operating system facilitates an interface which allows the timeout period to be configured.

15. A computer-implemented method comprising:

performing routing functions using a dynamic routing application which is configured to run on a processor and which is not constrained to run in real time and not responsible for sending keep-alive messages in real time; and

periodically sending keep-alive messages in real time by an operating system kernel on behalf of the dynamic routing application, thereby allowing the DRP to be free from keep-alive responsibilities.

16. The method of claim 15 , wherein the keep-alive messages are user-definable.

17. The method of claim 15 , wherein the keep-alive messages are sent via a TCP socket.

18. The method of claim 17 , wherein the keep-alive messages are sent periodically to a number of TCP sockets; and

wherein the keep-alive messages for a respective TCP socket are sent independently from keep-alive messages sent via other TCP sockets.

19. The method of claim 15 , further comprising running the operating system kernel in real time.

20. The method of claim 15 , wherein sending the keep-alive messages is triggered by a timeout period during which no user message is sent.

21. The method of claim 20 , further comprising allowing the timeout period to be configured.

Assignments (4)
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →