HTTP push to simulate server-initiated sessions
First Claim
1. A controller-executed method for performing a Hypertext Transfer Protocol (HTTP) push function comprising:
- receiving, by push server logic executing in a push server, an HTTP request containing parameters including a device identifier (ID) of a sending agent device and a timeout specifier specifying a timeout interval;
holding open, by the push server logic, HTTP connections of all of a plurality of devices including the sending agent device until either expiration of the timeout interval or interruption by a notification request from the push server;
sending, by the push server logic, an empty body if no messages are present for the sending agent device during the timeout interval;
receiving, by the push server logic, an interrupt from the push server if a message is present for the sending agent device;
responding, by the push server logic, to the interrupt by returning a trigger message to the sending agent device and completing HTTP request processing;
if a trigger message is received from the push server before the sending agent device is connected to the push server,storing, by the push server logic, the trigger message from the push server in an HTTP push memory;
connecting, by the push server logic, the sending agent device to the push server; and
returning the stored trigger message to the push server upon connection.
6 Assignments
0 Petitions
Accused Products
Abstract
A mobile device apparatus uses an HyperText Transfer protocol (HTTP) push operation to simulate server-initiated sessions. The illustrative mobile device apparatus comprises a push server logic operable in a push server that sends a message to a mobile device over a network. The push server logic is configured to receive a GET command from a mobile device. The GET command includes a mobile device identifier parameter and a timeout parameter designating a maximum time interval for the push server to reply with a message. The push server logic holds a GET command session until expiration of a timeout designated by the timeout parameter in a condition that no message is targeted to the mobile device. The push server logic terminates the GET command session by sending a message immediately in a condition that the message is targeted to the mobile device.
14 Citations
18 Claims
-
1. A controller-executed method for performing a Hypertext Transfer Protocol (HTTP) push function comprising:
-
receiving, by push server logic executing in a push server, an HTTP request containing parameters including a device identifier (ID) of a sending agent device and a timeout specifier specifying a timeout interval; holding open, by the push server logic, HTTP connections of all of a plurality of devices including the sending agent device until either expiration of the timeout interval or interruption by a notification request from the push server; sending, by the push server logic, an empty body if no messages are present for the sending agent device during the timeout interval; receiving, by the push server logic, an interrupt from the push server if a message is present for the sending agent device; responding, by the push server logic, to the interrupt by returning a trigger message to the sending agent device and completing HTTP request processing; if a trigger message is received from the push server before the sending agent device is connected to the push server, storing, by the push server logic, the trigger message from the push server in an HTTP push memory; connecting, by the push server logic, the sending agent device to the push server; and returning the stored trigger message to the push server upon connection. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A controller-executed method for performing a Hypertext Transfer Protocol (HTTP) push function comprising:
-
receiving, by push server logic executing in a push server, an HTTP request specifying parameters including a device identifier of a sending agent device and a timeout specifier, wherein the sending agent device is operated in a roaming mode, and wherein HTTP push functionality is disabled when the sending agent device is operated in the roaming mode; holding open, by the push server logic, HTTP connections of all of a plurality of devices including the sending agent device until either expiration of a timeout or interruption by a notification request from the push server; sending, by the push server logic, an empty body if no messages are present for the sending agent device during a timeout interval; receiving, by the push server logic, an interrupt from the push server if a message is present for the sending agent device; and responding, by the push server logic, to the interrupt by returning a trigger message to the sending agent device and completing HTTP request processing.
-
-
7. A controller-executed method for performing a Hypertext Transfer Protocol (HTTP) push function comprising:
-
receiving, by push server logic executing in a particular push server, an HTTP request specifying parameters including a device identifier of a sending agent device and a timeout specifier, wherein the sending agent device is connectable to a plurality of push servers by randomly selecting from among the plurality of push servers, determining whether the selected push server is busy, if the selected push server is busy, selecting a different push server, and if the selected push server is not busy, connecting to the selected push server; holding open, by the push server logic, HTTP connections of all of a plurality of devices including the sending agent device until either expiration of a timeout or interruption by a notification request from the particular push server; sending, by the push server logic, an empty body if no messages are present for the sending agent device during a timeout interval; receiving, by the push server logic, an interrupt from the particular push server if a message is present for the sending agent device; and responding, by the push server logic, to the interrupt by returning a trigger message to the sending agent device and completing HTTP request processing.
-
-
8. A controller-executed method for performing a Hypertext Transfer Protocol (HTTP) push function comprising:
-
receiving, by push server logic executing in a first push server, an HTTP request specifying parameters including a device identifier of a sending agent device and a timeout specifier, wherein the sending agent device is connectable to a plurality of push servers including the first push server; holding open, by the push server logic, HTTP connections of all of a plurality of devices including the sending agent device until either expiration of a timeout or interruption by a notification request from the first push server; responding to the timeout by disconnecting the sending agent device with the first push server maintaining sending agent device information in memory until an exception after the timeout, wherein the timeout causes connection of the sending agent device to a second push server; sending, by the push server logic, an empty body if no messages are present for the sending agent device during a timeout interval; receiving, by the push server logic, an interrupt from the push server if a message is present for the sending agent device; and responding, by the push server logic, to the interrupt by returning a trigger message to the sending agent device and completing HTTP request processing.
-
-
9. A mobile device comprising:
-
a processor; and a push agent logic executable on the processor to; send a GET command to a server over a network, wherein the GET command includes a mobile device identifier parameter and a timeout parameter designating a maximum time interval for the server to reply with a message, wherein the push agent logic is configured to send the GET command repeatedly to the server to maintain a capability to receive a push message from the server over the network; wherein the mobile device is operable in a roaming mode and HTTP push functionality is disabled when the mobile device is operated in the roaming mode, and wherein the mobile device is configured to receive the push message while the mobile device is operated in the roaming mode. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A push server comprising:
-
a processor; and a push server logic operable in the push server to send a message to a mobile device over a network, the push server logic executable on the processor to; receive a GET command from the mobile device, wherein the GET command includes a mobile device identifier parameter and a timeout parameter designating a maximum time interval for the push server to reply with the message; hold a GET command session until expiration of a timeout designated by the timeout parameter in a condition that no message is targeted to the mobile device; and terminate the GET command session by sending the message in a condition that the message is targeted to the mobile device; wherein the push server logic is operable to send the message to the mobile device that is operable in a roaming mode, where HTTP push functionality is disabled when the mobile device is operated in the roaming mode, and wherein the push server logic is operable to send the message to the mobile device while the mobile device is operated in the roaming mode. - View Dependent Claims (15, 16, 17, 18)
-
Specification