Keep-alive scheduler in a network device
First Claim
1. A method comprising:
- executing on a network device a first virtual machine in an active mode and a second virtual machine in a standby mode;
reading a database configured to store data for a network session for the first virtual machine;
determining, using data read from the database, a next transmission time associated with the network session, wherein the next transmission time determines when to send a keep-alive packet for the network session;
determining that the next transmission time is within a next time period from a current time;
placing, based on determining that the next transmission time is within the next time period, an identifier for the network session in a first bank of a timer queue of the network device, wherein the first bank stores identifiers for network sessions for which keep-alive packets are to be sent upon termination of the next time period, wherein the timer queue executes external to the first virtual machine and the second virtual machine; and
after the first virtual machine fails, transmitting by the network device the keep-alive packet for the network session within the next time period, thereby preventing the network session from terminating.
3 Assignments
0 Petitions
Accused Products
Abstract
A network device may execute a process (e.g., a software keep-alive process (SKAP)) that schedules the transmission of keep-alive messages or packets. The network device maintains a database of keep-alive network sessions storing information that is used for scheduling the transmission of the keep-alive messages or packets for the keep-alive network sessions. The database may be read and a next transmission time and session frequency for one or more keep-alive sessions may be determined. The one or more keep-alive sessions may then be placed in appropriate banks within a timer queue based on the determined next transmission time and session frequency. Each bank is associated with a time period from the current time. The keep-alive sessions having sooner next transmission times are placed in higher priority banks. The scheduler may allow for real-time scheduling of the one or more keep-alive sessions.
37 Citations
24 Claims
-
1. A method comprising:
-
executing on a network device a first virtual machine in an active mode and a second virtual machine in a standby mode; reading a database configured to store data for a network session for the first virtual machine; determining, using data read from the database, a next transmission time associated with the network session, wherein the next transmission time determines when to send a keep-alive packet for the network session; determining that the next transmission time is within a next time period from a current time; placing, based on determining that the next transmission time is within the next time period, an identifier for the network session in a first bank of a timer queue of the network device, wherein the first bank stores identifiers for network sessions for which keep-alive packets are to be sent upon termination of the next time period, wherein the timer queue executes external to the first virtual machine and the second virtual machine; and after the first virtual machine fails, transmitting by the network device the keep-alive packet for the network session within the next time period, thereby preventing the network session from terminating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network device comprising:
-
a first virtual machine in an active mode executing on the network device; a second virtual machine in a standby mode executing on the network device; a database configured to store data for one or more network sessions for the network device; one or more processors executing a keep-alive subsystem process external to the first virtual machine and the second virtual machine, wherein the keep-alive subsystem process is configured to; read the database; determine, using data read from the database, a next transmission time associated with a network session from the one or more network sessions, wherein the next transmission time determines when to send a keep-alive packet for the network session; determine that the next transmission time is within a next time period from a current time; place, based on determining that the next transmission time is within the next time period, an identifier for the network session in a first bank of a timer queue of the network device, wherein the first bank stores identifiers for network sessions for which keep-alive packets are to be sent upon termination of the next time period; and after the first virtual machine fails, transmit the keep-alive packet for the network session within the next time period, thereby preventing the network session from terminating. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more computing devices, cause the one or more computing devices to:
-
execute on a network device a first virtual machine in an active mode and a second virtual machine in a standby mode; read a database configured to store data for a network session for the first virtual machine; determine, using data read from the database, a next transmission time associated with the network session, wherein the next transmission time determines when to send a keep-alive packet for the network session; determine that the next transmission time is within a next time period from a current time; place, based on determining that the next transmission time is within the next time period, a identifier for the network session in a first bank of a timer queue of the network device, wherein the first bank stores identifiers for network sessions for which keep-alive packets are to be sent upon termination of the next time period, wherein the timer queue executes external to the first virtual machine and the second virtual machine; and after the first virtual machine fails, transmit by the network device the keep-alive packet for the network session within the next time period, thereby preventing the network session from terminating. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification