Flow timeout control within a network
First Claim
1. A method comprising:
- determining, by a first computing device and for a packet flow that will include data from an instance of an application executed by the first computing device, a minimum timeout value indicative of a time duration during which the first computing device is not required to send a keep-alive message to prevent an intermediate network device positioned in a service provider network between the first computing device and a second computing device from timing out the packet flow, the first computing device operating as a client of the second computing device, the second computing device positioned in a public network to which the service provider network provides access, the packet flow is from the first computing device to the second computing device, and the intermediate network device is not configured to execute, for the packet flow, as any of a host of, client of, or proxy for any of the first computing device and the second computing device;
generating, by the first computing device, either a transport control protocol (TCP) packet of the packet flow, the packet including an option field in a header of the TCP packet specifying the minimum timeout value, or a user datagram protocol (UDP) packet of the packet flow, the UDP packet including a field in a payload of the UDP packet specifying the minimum timeout value;
transmitting, by the first computing device and via the intermediate network device, either the TCP packet or the UDP packet to an application executing on the second computing device;
receiving a packet forwarded by the intermediate network device specifying an intermediate timeout value inserted, by the intermediate network device, into a TCP packet or UDP packet forwarded by the intermediate network device; and
transmitting, based on the intermediate timeout value and the minimum timeout value, subsequent packets of the packet flow.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, techniques are described for performing flow timeout control within a network. A device comprising a processor may be configured to perform the techniques. The processor may be configured to, as one example, determine, from a first packet of a packet flow, a minimum timeout value for the packet flow indicative of a time duration during which a first computing device will not send a keep-alive message to prevent the packet flow from timing out. The processor may then determine an intermediate timeout value for the packet flow based on a comparison of the minimum timeout value to a maximum timeout value, and specify the intermediate timeout value in a second packet of the packet flow sent by the second network device to the first network device in response to the first packet.
-
Citations
20 Claims
-
1. A method comprising:
-
determining, by a first computing device and for a packet flow that will include data from an instance of an application executed by the first computing device, a minimum timeout value indicative of a time duration during which the first computing device is not required to send a keep-alive message to prevent an intermediate network device positioned in a service provider network between the first computing device and a second computing device from timing out the packet flow, the first computing device operating as a client of the second computing device, the second computing device positioned in a public network to which the service provider network provides access, the packet flow is from the first computing device to the second computing device, and the intermediate network device is not configured to execute, for the packet flow, as any of a host of, client of, or proxy for any of the first computing device and the second computing device; generating, by the first computing device, either a transport control protocol (TCP) packet of the packet flow, the packet including an option field in a header of the TCP packet specifying the minimum timeout value, or a user datagram protocol (UDP) packet of the packet flow, the UDP packet including a field in a payload of the UDP packet specifying the minimum timeout value; transmitting, by the first computing device and via the intermediate network device, either the TCP packet or the UDP packet to an application executing on the second computing device; receiving a packet forwarded by the intermediate network device specifying an intermediate timeout value inserted, by the intermediate network device, into a TCP packet or UDP packet forwarded by the intermediate network device; and transmitting, based on the intermediate timeout value and the minimum timeout value, subsequent packets of the packet flow. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A first computing device comprising:
-
one or more processors operably coupled to a memory, and configured to; determine, for a packet flow that will include data from an instance of an application executed by the first computing device, a minimum timeout value indicative of a time duration during which the first computing device is not required to send a keep-alive message to prevent an intermediate network device positioned in a service provider network between the first computing device and a second computing device from timing out the packet flow, the first computing device operating as a client of the second computing device, the second computing device positioned in a public network to which the service provider network provides access, the packet flow is from the first computing device to the second computing device, and the intermediate network device is not configured to execute, for the packet flow, as any of a host of, client of, or proxy for any of the first computing device and the second computing device; and generate either a transport control protocol (TCP) packet of the packet flow, the packet including an option field in a header of the TCP packet specifying the minimum timeout value, or a user datagram protocol (UDP) packet of the packet flow, the UDP packet including a field in a payload of the UDP packet specifying the minimum timeout value; and a network interface configured to; transmit, via the intermediate network device, either the TCP packet or the UDP packet to an application configured to be executed by the second computing device; receive a packet forwarded by the intermediate network device specifying an intermediate timeout value inserted, by the intermediate network device, into the TCP packet or the UDP packet forwarded by the intermediate network device; and transmit, based on the intermediate timeout value and the minimum timeout value, subsequent packets of the packet flow.
-
-
8. A method comprising:
-
determining, from a first packet of a packet flow that includes data from an instance of an application executed by a first computing device, a minimum timeout value for the packet flow indicative of a time duration during which the first computing device will not send a keep-alive message to prevent the packet flow from timing out, wherein the first packet comprises either a transport control protocol (TCP) packet including a header having an option field specifying the minimum timeout value or a user datagram protocol (UDP) packet including a field in a payload of the UDP packet specifying the minimum timeout value; determining an intermediate timeout value for the packet flow based on a comparison of the minimum timeout value to a maximum timeout value, the maximum timeout value configured for use by an intermediate network device intermediately positioned in a service provider network between the first computing device and a second computing device and indicative of a maximum time duration that any given packet flow is to remain active within the intermediate network device before being timed out, the first computing device operating as a client of the second computing device, the second computing device positioned in a public network to which the service provider network provides access, the packet flow is from the first computing device to the second computing device, and the intermediate network device is not configured to execute, for the packet flow, as any of a host of, client of, or proxy for any of the first computing device and the second computing device; and specifying the intermediate timeout value in a second packet of the packet flow sent by the second computing device to the first computing device in response to the first packet. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An intermediate network device comprising:
one or more processors operably coupled to a memory, configured to; determine, from a first packet of a packet flow that includes data from an instance of an application executed by a first computing device, a minimum timeout value for the packet flow indicative of a time duration during which the first computing device will not send a keep-alive message to prevent the packet flow from timing out, wherein the first packet comprises either a transport control protocol (TCP) packet including a header having an option field specifying the minimum timeout value or a user datagram protocol (UDP) packet including a field in a payload of the UDP packet specifying the minimum timeout value; determine an intermediate timeout value for the packet flow based on a comparison of the minimum timeout value to a maximum timeout value, the maximum timeout value configured for use by the intermediate network device intermediately positioned in a service provider network between the first computing device and a second computing device and indicative of a maximum time duration that any given packet flow is to remain active within the intermediate network device before being timed out, the first computing device operating as a client of the second computing device, the second computing device positioned in a public network to which the service provider network provides access, the packet flow is from the first computing device to the second computing device, and the intermediate network device is not configured to execute, for the packet flow, as any of a host of, client of, or proxy for any of the first computing device and the second computing device; and specify the intermediate timeout value in a second packet of the packet flow sent by the second network device to the first network device in response to the first packet. - View Dependent Claims (17, 18, 19, 20)
Specification