Mobile network optimized method for keeping an application IP connection always on
First Claim
1. A method comprising:
- providing a keep-alive application programming interface on a device configured to connect to an application client;
transmitting one or more messages of a first keep-alive message type from the device;
determining keep-alive parameters via the keep-alive application programming interface;
transmitting, to a network element via the keep-alive application programming interface, data comprising the keep-alive parameters and information identifying one or more types of keep-alive messages such that the network element is instructed to transmit the one or more types of keep-alive messages to an application server on behalf of the device;
receiving, by the device, information from the network element that directs the device to stop transmitting the one or more types of keep-alive messages to the network element, wherein the information that directs the device to stop transmitting the one or more types of the keep-alive messages to the network element directs the device to stop transmitting the first keep-alive message type;
determining that an outgoing message is one of the one or more types of keep-alive messages that the device is to stop transmitting to the network element; and
filtering, by the device, the outgoing message from outgoing traffic of the device.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method of maintaining an always-on application client communication is provided. An application programming interface implemented on a device hosting an always-on application client determines if network-based keep-alive functionality exists in a network where the device operates. If network-based keep-alive functionality exists, a network element is instructed to transmit keep-alive messages to the application server on behalf of the device. The network element can be implemented in or as a variety of existing network elements, e.g., as a GPRS gateway serving node or a standalone keep-alive network element. Alternatively, an application server communicatively connected to the always-on application client may query whether network-based keep-alive functionality exists. If network-based keep-alive functionality exists, the application server negotiates with the always-on application client to determine an application-specific mechanism for implementing the network-based keep-alive functionality. When an application server queries for network-based keep-alive functionality, an application programming interface need not be utilized.
19 Citations
22 Claims
-
1. A method comprising:
-
providing a keep-alive application programming interface on a device configured to connect to an application client; transmitting one or more messages of a first keep-alive message type from the device; determining keep-alive parameters via the keep-alive application programming interface; transmitting, to a network element via the keep-alive application programming interface, data comprising the keep-alive parameters and information identifying one or more types of keep-alive messages such that the network element is instructed to transmit the one or more types of keep-alive messages to an application server on behalf of the device; receiving, by the device, information from the network element that directs the device to stop transmitting the one or more types of keep-alive messages to the network element, wherein the information that directs the device to stop transmitting the one or more types of the keep-alive messages to the network element directs the device to stop transmitting the first keep-alive message type; determining that an outgoing message is one of the one or more types of keep-alive messages that the device is to stop transmitting to the network element; and filtering, by the device, the outgoing message from outgoing traffic of the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus comprising:
-
a processor; and a memory storing computer executable instructions that, when executed, cause the apparatus to at least; provide a keep-alive application programming interface that is configured to connect to an application client; transmit one or more messages of a first keep-alive message type; determine keep-alive parameters via the keep-alive application programming interface; transmit, to a network element via the keep-alive application programming interface, data comprising the keep-alive parameters and information identifying one or more types of keep-alive messages such that the network element is instructed to transmit the one or more types of keep-alive messages to an application server on behalf of the apparatus; receive information from the network element that directs the apparatus to stop transmitting the one or more types of keep-alive messages to the network element, wherein the information that directs the apparatus to stop transmitting the one or more types of the keep-alive messages to the network element directs the apparatus to stop transmitting the first keep-alive message type; determine that an outgoing message is one of the one or more types of keep-alive messages that the apparatus is to stop transmitting to the network element; and filter the outgoing message from outgoing traffic of the apparatus. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A memory comprising computer executable instructions that, when executed, cause a device to at least:
-
provide a keep-alive application programming interface on the device configured to connect to an application client; transmit one or more messages of a first keep-alive message type from the device; determine keep-alive parameters via the application programming interface; transmit, to a network element via the application programming interface, data comprising the keep-alive parameters and information identifying one or more types of keep-alive messages such that the network element is instructed to transmit the one or more types of keep-alive messages to an application server on behalf of the device; receive, by the device, information from the network element that directs the device to stop transmitting the one or more types of keep-alive messages to the network element, wherein the information that directs the device to stop transmitting the one or more types of the keep-alive messages to the network element directs the device to stop transmitting the first keep-alive message type; determine that an outgoing message is one of the one or more types of keep-alive messages that the device is to stop transmitting to the network element; and filter, by the device, the outgoing message from outgoing traffic of the device.
-
Specification