Optimized Polling in Low Resource Devices
First Claim
1. An apparatus comprising:
- a processor configured to control some operations of the apparatus; and
memory storing computer readable instructions that, when executed by the processor, cause the apparatus to execute server polling by;
a software module intercepting a plurality of server request messages, each server request message received from a different client component executing on the apparatus;
multiplexing the plurality of server request messages into a broker request message; and
transmitting the broker request message.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for optimizing server polling by a mobile client are described, thereby allowing mobile terminals to conserve battery life by more efficiently using resources such as the processor and transceiver in the mobile terminal. A broker system may be used to minimize wireless communication traffic used for polling. A broker stub intercepts server polling messages at the client, multiplexes the sever requests together, and forwards the multiplexed message to a broker skeleton that de-multiplexes and forwards the messages as appropriate. Polling may also be dynamically adapted based on user behavior, or a server guard may be used to monitor changes to data, and notify a client to poll its respective server when the server guard detects new or updated data on that server for that client.
222 Citations
74 Claims
-
1. An apparatus comprising:
-
a processor configured to control some operations of the apparatus; and memory storing computer readable instructions that, when executed by the processor, cause the apparatus to execute server polling by; a software module intercepting a plurality of server request messages, each server request message received from a different client component executing on the apparatus; multiplexing the plurality of server request messages into a broker request message; and transmitting the broker request message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 33)
-
-
9. A method comprising:
-
intercepting a plurality of server request messages, each server request message received from a different client component executing on an apparatus; multiplexing the plurality of server request messages into a broker request message; and transmitting the broker request message. - View Dependent Claims (10, 11, 12, 13)
-
-
14. One or more computer readable media storing computing executable instructions that, when executed, perform server polling by:
-
intercepting a plurality of server request messages, each server request message received from a different client component; multiplexing the plurality of server request messages into a broker request message; and transmitting the broker request message. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method comprising:
-
receiving a multiplexed broker request message; demultiplexing the broker request message into a plurality of component request messages; forwarding each component request message; receiving a component response message corresponding to each component request message; multiplexing the component response messages into a broker response message; and sending the broker response message. - View Dependent Claims (22, 23, 24, 25)
-
-
26. One or more computer readable media storing computer executable instructions that, when executed, perform:
-
receiving a multiplexed broker request message; demultiplexing the broker request message into a plurality of component request messages; forwarding each component request message; receiving a component response message corresponding to each component request message; multiplexing the component response messages into a broker response message; and sending the broker response message. - View Dependent Claims (27, 28, 29, 30)
-
-
31. An apparatus, comprising:
-
a processor configured to control some operations of the apparatus, and memory storing computer readable instructions that, when executed by the processor, perform; receiving a multiplexed broker request message; demultiplexing the broker request message into a plurality of component request messages; forwarding each component request message; receiving a component response message corresponding to each component request message; multiplexing the component response messages into a broker response message; and sending the broker response message. - View Dependent Claims (32, 34, 35)
-
-
36. An apparatus comprising:
-
a processor configured to control some operations of the apparatus; and memory storing computer readable instructions that, when executed by the processor, configure the apparatus to perform server polling by; executing a client component to poll a server at a first rate when a user interaction criterion is met, wherein said server provides data for the client component; and executing the client component to poll the server at a second rate, different from said first rate, when the user interaction criterion is not met. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method comprising:
-
executing a client component; the client component polling a server at a first rate when a user interaction criterion is met, wherein said server provides data for the client component; and the client component polling the server at a second rate, different from said first rate, when the user interaction criterion is not met. - View Dependent Claims (42, 43, 44, 45, 46)
-
-
47. One or more computer readable media storing computer readable instructions that, when executed, perform server polling by:
-
executing a client component to poll a server at a first rate when a user interaction criterion is met, wherein said server provides data for the client component; and executing the client component to poll the server at a second rate, different from said first rate, when the user interaction criterion is not met. - View Dependent Claims (48, 49, 50)
-
-
51. An apparatus, comprising:
-
a processor configured to control some operations of the apparatus; and memory storing computer readable instructions that, when executed by the processor, configure the apparatus to act as a server guard by; receiving a registration message, said registration message providing server information for a server component corresponding to a client component; registering the server information in a database; polling the server component according to a predefined schedule to determine whether the server component has new data intended for the client component; and when the server component has new data intended for the client component, sending a message addressed to the client component indicating that the server component has new data intended for the client component. - View Dependent Claims (52, 53, 54)
-
-
55. One or more computer readable media storing computer readable instructions that, when executed, perform:
-
receiving a registration message, said registration message providing server information for a server component corresponding to a client component; registering the server information in a database; polling the server component according to a predefined schedule to determine whether the server component has new data intended for the client component; and when the server component has new data intended for the client component, sending a message addressed to the client component indicating that the server component has new data intended for the client component. - View Dependent Claims (56, 57, 58)
-
-
59. A method comprising:
-
receiving a registration message, said registration message providing server information for a server component corresponding to a client component; registering the server information in a database; polling the server component according to a predefined schedule to determine whether the server component has new data intended for the client component; and when the server component has new data intended for the client component, sending a message addressed to the client component indicating that the server component has new data intended for the client component. - View Dependent Claims (60, 61, 62)
-
-
63. An apparatus comprising:
-
a processor; and memory storing computer executable instructions that, when executed by the processor, configure the apparatus to poll a server by; wirelessly sending a registration message addressed to a server guard module, wherein said registration message comprises server information corresponding to a server component providing data to a client component executing on the apparatus; sending a plurality of heartbeat messages addressed to the server guard module according to a predefined schedule; and receiving a response to one of the heartbeat messages, said response indicating the server component has new data that the apparatus has not yet received. - View Dependent Claims (64, 65, 66)
-
-
67. A method comprising:
-
wirelessly sending a registration message addressed to a server guard module, wherein said registration message comprises server information corresponding to a server component providing data to a client component; sending according to a predefined schedule a plurality of heartbeat messages addressed to the server guard module; and receiving a response to one of the heartbeat messages, said response indicating the server component has new data that the client component has not yet received. - View Dependent Claims (68, 69, 70)
-
-
71. One or more computer readable media storing computer executable instructions that, when executed, perform:
-
wirelessly sending a registration message addressed to a server guard module, wherein said registration message comprises server information corresponding to a server component providing data to a client component executing on the apparatus; sending a plurality of heartbeat messages addressed to the server guard module according to a predefined schedule; and receiving a response to one of the heartbeat messages, said response indicating the server component has new data that the apparatus has not yet received. - View Dependent Claims (72, 73, 74)
-
Specification