Polling protocol for automatic load limiting
First Claim
Patent Images
1. A system comprising:
- a processor and a memory; and
a module configured to cause the processor to repeatedly adapt rate of polling by a plurality of clients on a server based on current utilization of the server by;
calculating a next polling interval for a client of the plurality of clients, the next polling interval being calculated by a bucket reservation mechanism in which a first request received by the server from the plurality of clients is assigned a first bucket of a plurality of buckets and a second request is assigned a second bucket of the plurality of buckets, and each bucket of the plurality of buckets is associated with a time interval, such that when the plurality of buckets is utilized, a desired refresh rate is maintained regardless of a number of the plurality of clients making polling requests to the server; and
sending the calculated next polling interval to the client in a server polling response sent by the server to the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A client-specific or client-independent polling interval is provided to each client dynamically based on server load. The polling interval can be provided in the server polling response sent in response to a client polling request. The polling interval can be determined using a feedback control system or using a Bucket Reservation Method. The server uses a next polling interval and a flag that indicates if the previous polling request was ignored. Using these two parameters the server can continuously control the polling frequency from the client to achieve optimal performance.
-
Citations
20 Claims
-
1. A system comprising:
-
a processor and a memory; and a module configured to cause the processor to repeatedly adapt rate of polling by a plurality of clients on a server based on current utilization of the server by; calculating a next polling interval for a client of the plurality of clients, the next polling interval being calculated by a bucket reservation mechanism in which a first request received by the server from the plurality of clients is assigned a first bucket of a plurality of buckets and a second request is assigned a second bucket of the plurality of buckets, and each bucket of the plurality of buckets is associated with a time interval, such that when the plurality of buckets is utilized, a desired refresh rate is maintained regardless of a number of the plurality of clients making polling requests to the server; and sending the calculated next polling interval to the client in a server polling response sent by the server to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving by a server module executing on a server computer a request from a client executing on a client computer; calculating a next polling interval for a plurality of clients polling the server computer, to continuously adapt a rate of polling requests received on the server computer based on current server utilization, using a bucket reservation mechanism in which a first request received on the server from the plurality of clients is assigned a first bucket and a second request from the plurality of clients is assigned a second bucket of a plurality of buckets, and the plurality of buckets are each associated with a time interval, such that when the plurality of buckets is utilized, a desired refresh rate is maintained regardless of a number of the plurality of clients making polling requests to the server; and sending the next polling interval for a client of the plurality of clients to the client computer in a server polling response. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage device having computer-executable instructions recorded thereon which when executed cause at least one processor to:
-
continuously adapt rate of polling of a server based on current utilization of the server by causing the at least one processor to; calculate a next polling interval for a client of the plurality of clients using a bucket reservation mechanism in which a first client of the plurality of clients is assigned a first bucket of a plurality of buckets and a second client of the plurality of clients is assigned a second bucket of the plurality of buckets, and the plurality of buckets is associated with an interval of time such that when the plurality of buckets is utilized, a desired refresh rate is maintained regardless of a number of the plurality of clients making polling requests to the server; and send the calculated next polling interval to the client in a server polling response sent by the server to the client. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification