10212194

Server Controlled Throttling of Client to Server Requests

PublishedFebruary 19, 2019
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: generating, by a server, one or more data sets, wherein each data set from the one or more data sets includes a plurality of data points representing a characteristic of an instance of client-server communication between a respective client from a plurality of clients and the server, wherein each data point from the plurality of data points represents one or more of: a user-facing latency associated with a client-to-server request, a backend latency associated with processing of the client-to-server request, and an on-the-wire latency associated with the processing of the client-to-server request; determining, by the server and based at least in part on the one or more data sets, whether a condition for triggering a client-server communication parameter update has been met; and responsive to determining that the condition for triggering the client-server communication parameter update has been met: calculating, by the server, updated client-server communication parameters including at least an updated request retry limit identifying a maximum number of retries that the respective client from the plurality of clients are able to attempt prior to determining that a resource is unavailable; and transmitting, by the server and to one or more clients of the plurality of clients, the updated client-server communication parameters.

2

2. The method of claim 1 , wherein the updated client-server communication parameters further include a socket timeout.

3

3. The method of claim 1 , wherein each client from the plurality of clients is a member of a unique class of clients.

4

4. The method of claim 3 , wherein the class of clients is defined by one or more of: a network carrier, a geographic location, a characteristic of an affiliated user account, an IP address range, and a type of client device.

5

5. The method of claim 1 , wherein determining whether a condition for triggering a client-server communication parameter update has been met comprises: calculating, by the server, statistical characteristics of the one or more data sets; and determining, by the server, whether the statistical characteristics of one of the one or more data sets exceeds a threshold.

6

6. The method of claim 5 , further comprising: determining, by the server and based on current values of the client-server communication parameters, the threshold.

7

7. The method of claim 1 , wherein calculating updated client-server communication parameters is based at least in part on one or more of: statistical characteristics of the one or more data sets, historical client-server communication performance, and occurrence of an event.

8

8. The method of claim 7 , wherein the event comprises one or more of: a server reset of a data transfer limit, a network carrier reset of a data transfer limit, and release of new content at the server.

9

9. The method of claim 1 , wherein transmitting the updated client-server communication parameters to one or more clients comprises one of: transmitting the updated client-server communication parameters in a header of a response to a client request, transmitting the updated client-server communication parameters in a payload of a response to a client request, and transmitting the updated client-server communication parameters via a push notification.

10

10. The method of claim 9 , wherein transmitting the updated client-server communication parameters via the push notification comprises one of: transmitting the updated client-server communication parameters via a broadcast, and transmitting the updated client-server communication parameters via a multicast.

11

11. A device comprising: a processor; and a computer readable storage medium having stored thereon one or more modules executable by the processor to: generate one or more data sets, wherein each data set from the one or more data sets includes a plurality of data points representing a characteristic of an instance of client-server communication between a respective client forma plurality of clients and the device, wherein each data point from the plurality of data points represents one or more of: a user-facing latency associated with a client-to-server request, a backend latency associated with processing of the client-to-server request, and an on-the-wire latency associated with the processing of the client-to-server request; determine, based at least in part on the one or more data sets, whether a condition for triggering a client-server communication parameter update has been met; and responsive to determining that the condition for triggering the client-server communication parameter update has been met: calculate updated client-server communication parameters including at least an updated request retry limit identifying a maximum number of retries that the respective client from the plurality of clients are able to attempt prior to determining that a resource is unavailable; and transmit, to one or more clients of the plurality of clients, the updated client-server communication parameters.

12

12. The server of claim 11 , wherein the updated client-server communication parameters further include a socket timeout.

13

13. The server of claim 11 , wherein each data point in each data set corresponds to an instance of client-server communication involving a client that is a member of a unique class of clients.

14

14. The server of claim 13 , wherein the class of clients is defined by one or more of: a network carrier, a geographic location, a characteristic of an affiliated user account, an IP address range, and a type of client device.

15

15. The server of claim 11 , wherein the one or more modules are executable by the processor to determine whether the condition for triggering the client-server communication parameter update by at least being executable by the processor to: calculate statistical characteristics of the one or more data sets; and determine whether the statistical characteristics of one of the one or more data sets exceeds a threshold.

16

16. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a computing device to: generate one or more data sets, wherein each data set from the one or more data sets includes a plurality of data points representing a characteristic of an instance of client-server communication between a respective client from a plurality of clients and the device, wherein each data point from the plurality of data points represents one or more of: a user-facing latency associated with a client-to-server request, a backend latency associated with processing of the client-to-server request, and an on-the-wire latency associated with the processing of the client-to-server request; determine, based at least in part on the one or more data sets, whether a condition for triggering a client-server communication parameter update has been met; and responsive to determining that the condition for triggering the client-server communication parameter update has been met: calculate updated client-server communication parameters including at least an updated request retry limit identifying a maximum number of retries that the respective client from the plurality of clients are able to attempt prior to determining that a resource is unavailable; and transmit, to one or more clients of the plurality of clients, the updated client-server communication parameters.

17

17. The non-transitory computer-readable storage medium of claim 16 , wherein each data point in each data set corresponds to an instance of client-server communication involving a client that is a member of a unique class of clients, and wherein the class of clients is defined by one or more of a network carrier, a geographic location, a characteristic of an affiliated user account, an IP address range, or a type of client device.

18

18. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the one or more processors to: calculate statistical characteristics of the one or more data sets; and determine whether the statistical characteristics of one of the one or more data sets exceeds a threshold.

19

19. The non-transitory computer-readable storage medium of claim 16 , wherein the updated client-server communication parameters are calculated based at least in part on one or more of: statistical characteristics of the one or more data sets, historical client-server communication performance, and occurrence of an event.

20

20. The device of claim 11 , wherein the updated client-server communication parameters are calculated based at least in part on one or more of: statistical characteristics of the one or more data sets, historical client-server communication performance, and occurrence of an event.

Patent Metadata

Filing Date

Unknown

Publication Date

February 19, 2019

Inventors

Aurash MAHBOD
Ficus KIRKPATRICK

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SERVER CONTROLLED THROTTLING OF CLIENT TO SERVER REQUESTS” (10212194). https://patentable.app/patents/10212194

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

SERVER CONTROLLED THROTTLING OF CLIENT TO SERVER REQUESTS — Aurash MAHBOD | Patentable