System and method for maintaining a network connection
First Claim
1. A system for maintaining a persistent connection, the system comprising:
- an electronic device including a network interface for communicating with another device via a network connection carried over physical link that includes an equipment;
the equipment for terminating said network connection if said network connection remains idle for a predetermined time-out criterion of said equipment;
wherein said electronic device is configured to send keep-alive signals on said network connection;
wherein said electronic device is configured to send said keep-alive signals according to a plurality of different time intervals to determine said predetermined time-out criterion of said equipment;
wherein said electronic device determines said predetermined time-out criterion by;
loading an initial default time period into said electronic device;
sending at least one of said keep-alive signals to said another device at said initial default time period;
increasing said initial default time period if said initial default time period does not cause said network connection to be dropped by said equipment;
repeating said sending step and increasing step until said increased initial default time period causes said network connection to be dropped;
maintaining a last-known good time period when said increased initial default time period causes said network connection to be dropped, wherein said last-known good time period is less than and closest to said increased initial default time period that causes said network connection to be dropped;
reestablishing said network connection; and
thereafter,sending subsequent keep-alive signals to said another electronic device at said last-known good time period.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for maintaining a persistent connection is provided. In an embodiment, a system includes a client that connects to a web-server via a physical link that is bandwidth-constrained. The physical link also includes at least one network address translation (“NAT”) router that is configured to terminate idle connections between the client and the web-server. The client is configured to send keep-alive packets to the web-server in order to reduce the likelihood of the NAT router terminating the connection. The keep-alive packets are sent on a variable basis that is intended to reduce bandwidth consumption while ensuring that the NAT router does not deem the connection idle and terminate the connection.
63 Citations
16 Claims
-
1. A system for maintaining a persistent connection, the system comprising:
-
an electronic device including a network interface for communicating with another device via a network connection carried over physical link that includes an equipment; the equipment for terminating said network connection if said network connection remains idle for a predetermined time-out criterion of said equipment; wherein said electronic device is configured to send keep-alive signals on said network connection; wherein said electronic device is configured to send said keep-alive signals according to a plurality of different time intervals to determine said predetermined time-out criterion of said equipment; wherein said electronic device determines said predetermined time-out criterion by; loading an initial default time period into said electronic device; sending at least one of said keep-alive signals to said another device at said initial default time period; increasing said initial default time period if said initial default time period does not cause said network connection to be dropped by said equipment; repeating said sending step and increasing step until said increased initial default time period causes said network connection to be dropped; maintaining a last-known good time period when said increased initial default time period causes said network connection to be dropped, wherein said last-known good time period is less than and closest to said increased initial default time period that causes said network connection to be dropped; reestablishing said network connection; and
thereafter,sending subsequent keep-alive signals to said another electronic device at said last-known good time period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of maintaining a network connection, the method comprising the steps of:
-
loading a time-out period into a first electronic device of an initial default value; establishing a connection from said first electronic device to a second electronic device via a physical link that includes an equipment for terminating said connection if said connection remains idle for a predetermined timeout period; sending keep-alive signals from said first electronic device to said second electronic device via said equipment according to said time-out period; increasing said time-out period and repeating said sending step if said time-out period does not cause said connection to be terminated by said equipment; repeating said increasing step until said connection is terminated by said equipment in order to determine said predetermined time-out period of said equipment; adjusting said time-out period to a value less than and closest to said determined predetermined time-out period of said equipment; and
thereaftersending said keep-alive signals using said adjusted time-out period. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium containing a set of programming instructions, when executed by a first electronic device, for performing a method comprising the steps of:
-
loading a time-out period into said first electronic device of an initial default value; establishing a connection from said first electronic device to a second electronic device via a physical link that includes an equipment for terminating said connection if said connection remains idle for a predetermined time-out period; sending keep-alive signals from said first electronic device to said second electronic device according to said time-out period; increasing said predetermined time-out period and repeating said sending step if said time-out period does not cause said connection to be terminated by said equipment; and
,repeating said increasing step until said connection is terminated by said equipment in order to determine said pre-determined time-out period of said equipment; adjusting said time-out period to a value less than and closest to said determined predetermined time-out period of said equipment; and
thereaftersending said keep-alive signals using said adjusted time-out period.
-
Specification