IP Library Granted Patent US 9,806,960
Granted Patent B2
US 9,806,960 · App. 14/088,545 · Granted Oct 31, 2017

Method and system for adjusting heavy traffic loads between personal electronic devices and external services

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,806,960
App. No.
14/088,545
Granted
Oct 31, 2017
Kind
B2
Abstract

A network traffic monitoring system monitors communications that a large number of personal electronic devices will direct to various services via various proxies. When a detection system determines that the volume of requests directed to at least one of the services exceeds a capacity limit threshold, a control system will command the proxies to instruct the devices to slow or stop the service requests until the system determines that it is clear to resume communication.

Claims (110)

1. A method of controlling traffic between a plurality of electronic devices and one or more services, the method comprising, by one or more processors:

monitoring information relating to communicated service requests that pass from a plurality of electronic devices to a service through each of a plurality of proxy units;

determining whether the information indicates that a volume of the service requests directed to the service violates a capacity limit rule, wherein each service request in the volume of the service requests is associated with a type; and

upon determining that the volume violates the capacity limit rule:

identifying one or more of the service requests in the volume as a restricted service request by identifying the type of service request that makes up a largest portion of the volume,

determining which of the proxy units are affected proxy units,

generating instructions to send a first command to a plurality of the electronic devices to reduce a frequency of the restricted service requests to the service until a second command is received, and

sending the instructions to the affected proxy units.

2. The method of claim 1 , wherein the determining whether the volume of the service requests violates the capacity limit rule comprises one or more of the following:

determining whether at least a threshold number of the communicated service requests are directed to the service;

determining whether at least a threshold number of identical service requests are directed to the service and at least one additional service; or

determining whether at least a threshold number of identical service requests are directed to the service.

3. The method of claim 1 , wherein the determining whether the volume of the service requests violates the capacity limit rule comprises determining whether communications to the service are exhibiting at least a threshold latency level.

4. The method of claim 1 , further comprising, by each of the affected proxy units, in response to receiving the instructions:

sending the first command to the electronic devices, wherein the first command is to reduce the frequency of, but not to halt, the restricted service requests;

determining a maximum pass-through rate, and caching received instances of the restricted service requests so that a frequency of the restricted service requests passed through to the service does not exceed the maximum pass through-rate; and

in response to receipt of a resume communication message:

discontinuing the caching and delivering the cached service requests to the service,

generating a second command to resume delivery of the restricted service requests; and

sending the second command to the electronic devices.

5. The method of claim 1 , further comprising, by each of the affected proxy units, in response to receiving the instructions:

sending the first command to the electronic devices, wherein the first command is to reduce the frequency to zero;

blocking all instances of the restricted service request until a resume communication message is received; and

upon receipt of the resume communication message:

discontinuing the blocking,

generating a second command to resume delivery of the restricted service requests, and

sending the second command to the electronic devices.

6. The method of claim 1 , further comprising, by the electronic devices:

upon receipt of the first command, implement the first command by stopping or slowing delivery of the restricted service requests; and

resume normal communication of the restricted service requests upon receipt of a second command to resume normal communication.

7. The method of claim 1 , wherein the first commands comprise one or more of the following:

an instruction to slow or stop the restricted service requests;

an error message that the electronic devices will recognize as corresponding to a command to slow or stop the restricted service requests; or

an altered handshake pattern that the electronic devices will recognize as corresponding to a command to slow or stop the restricted service requests.

8. The method of claim 1 , further comprising:

based on the monitoring, detecting both that the service requests are increasing in frequency and that responses from the service to the service requests are experiencing an increase in latency; and

in response to the detecting, adjusting the capacity limit rule to reduce a frequency threshold or a latency level threshold in the capacity limit rule.

9. The method of claim 1 , further comprising:

by each of the affected proxy units, in response to receiving the instructions, sending the first command to the personal electronic devices;

by the electronic devices in response to the first command, implement the first command by stopping or slowing delivery of the restricted service requests;

by each of the affected proxy units:

caching or blocking restricted service requests until a resume communications message is received, and

in response to receipt of a resume communication message, resuming delivery of the restricted service requests, and

sending the second command to the electronic devices, and

by the electronic devices in response to the second command, resuming normal communication of the restricted service requests.

10. A system for controlling traffic between a plurality of electronic devices and one or more services, the system comprising:

a detection system comprising one or more detection system processors and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause one or more of the detection system processors to:

monitor information relating to communicated service requests that pass through each of a plurality of proxy units,

determine whether the information indicates that a volume of the service requests directed to one of the services violates a capacity limit rule, wherein each service request in the volume of the service requests is associated with a type, and

upon determining that the volume violates the capacity limit rule:

identify one or more of the service requests in the volume as a restricted service request by identifying the type of service request that makes up a largest portion of the volume, and

identify a set of the proxy units that are affected by the violation of the capacity limit rule, and generate an alert, wherein the alert comprises an identification of the one or more restricted service requests and an identification of the affected proxy units; and

a control system comprising one or more control system processors and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause one or more of the control system processors to:

upon receipt of the alert from the detection service, instruct the affected proxy units to send a first command to a group of the electronic devices to reduce a frequency of the restricted service requests to the service until a second command is received.

11. The system of claim 10 , wherein the instructions that cause one or more of the detection system processors to determine whether the volume of the service requests violates the capacity limit rule comprise instructions to determine one or more of the following:

whether at least a threshold number of service requests are directed to the service;

whether at least a threshold number of identical service requests are directed to the service and at least one additional service;

whether at least a threshold number of identical service requests are directed to the service; or

whether communications to the service are exhibiting at least a threshold latency level.

12. The system of claim 10 , further comprising the affected proxy units, each comprising a processor and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause the associated affected proxy unit to, in response to receiving the instructions:

send the first command to the group of electronic devices, wherein the first command is to reduce the frequency of, but not to halt, the restricted service requests;

determine a maximum pass-through rate, and cache received instances of the restricted service requests so that a frequency of the restricted service requests passed through to the service does not exceed the maximum pass through-rate; and

in response to receipt of a resume communication message:

discontinue the caching and deliver the cached service requests to the service,

generate a second command to resume delivery of the restricted service requests, and

send the second command to the group of electronic devices.

13. The system of claim 10 , further comprising the affected proxy units, each comprising a processor and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause the associated affected proxy unit to, in response to receiving the instructions:

send the first command to the group of electronic devices, wherein the first command is to reduce the frequency to zero;

block all instances of the restricted service request until a resume communication message is received from the control service; and

upon receipt of the resume communication message:

discontinue the blocking,

generate a second command to no longer reduce the frequency of the restricted service requests, and

send the second command to the group of electronic devices.

14. The system of claim 10 , wherein the instructions to generate the first commands comprise instructions to generate one or more of one or more of the following:

an instruction to slow or stop the restricted service requests;

an error message that the electronic devices will recognize as corresponding to a command to slow or stop the restricted service requests; or

an altered handshake pattern that the electronic devices will recognize as corresponding to a command to slow or stop the restricted service requests.

15. The system of claim 10 , further comprising the group of electronic devices, wherein each of the devices in the group comprises a device processor and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause the device processor to:

upon receipt of the first command, implement the stop command by stopping or slowing delivery of the restricted service requests; and

resume normal transmission of the restricted service requests upon receipt of the second command.

16. The system of claim 10 , further comprising additional instructions that cause the one or more detection system processors to:

based on the monitored information, detect when the service requests are increasing in frequency and responses from the service to the service requests are experiencing an increase in latency; and

in response to the detecting, adjust the capacity limit rule to reduce a frequency threshold or a latency level threshold in the capacity limit rule.

17. A system for controlling traffic between a plurality of electronic devices and one or more services, the system comprising:

one or more processors and a non-transitory computer readable medium containing programming instructions that, when executed, are configured to cause one or more of the processors to:

monitor information relating to communicated service requests that pass through each of a plurality of proxy units,

determine whether the information indicates that a volume of the service requests directed to a service violates a capacity limit rule, wherein each service request in the volume of the service requests is associated with a type,

upon determining that the volume violates the capacity limit rule:

identify one or more of the service requests in the volume as a restricted service request by identifying the type of service request that makes up a largest portion of the volume, and

identify a set of the proxy units that are affected by the violation of the capacity limit rule, and generate an alert, wherein the alert comprises an identification of a restricted service request and an identification of the affected proxy units, and

instruct the affected proxy units to send a first command to a group of electronic devices to reduce a frequency of the restricted service requests to the service until a second command is received.

18. The system of claim 17 , further comprising additional programming instructions that, when executed, are configured to cause one or more of the processors to, in response to the instructions:

send the first command to the group of electronic devices, wherein the first command is to reduce the frequency of, but not to halt, the restricted service requests;

determine a maximum pass-through rate, and cause the affected proxy units to cache received instances of the restricted service requests so that a frequency of the restricted service requests passed through to the service does not exceed the maximum pass through-rate; and

in response a resume communication message:

cause the affected proxy units to discontinue the caching and deliver the cached service requests to the service,

generate a second command to resume delivery of the restricted service requests, and

send the second command to the group of electronic devices.

19. The system of claim 17 , further comprising additional programming instructions that, when executed, are configured to cause one or more of the processors to, in response to receiving the instructions:

send the first command to the group of electronic devices, wherein the first command is to reduce the frequency to zero;

cause the affected proxy units to block all instances of the restricted service request until a resume communication message is received from the control service; and

upon receipt of the resume communication message:

cause the affected proxy units to discontinue the blocking,

generate a second command to no longer reduce the frequency of the restricted service requests, and

send the second command to the group of electronic devices.

20. The system of claim 17 , further comprising additional instructions that, when executed, are configured to cause one or more of the processors to:

based on the monitored information, detect when the service requests are increasing in frequency and responses from the service to the service requests are experiencing an increase in latency; and

in response to the detecting, adjust the capacity limit rule to reduce a frequency threshold or a latency level threshold in the capacity limit rule.

21. The method of claim 1 , wherein identifying one or more of the service requests in the volume as a restricted service request further comprises identifying a service request as the restricted service if a violation of the capacity limit rule affects the service request.

22. The system of claim 10 , wherein the instructions to identify one or more of the service requests in the volume as a restricted service request further comprises identifying a service request as the restricted service if a violation of the capacity limit rule affects the service request.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2013
From: JHANB, SUBIR; DAYAN, TAL
To: GOOGLE INC.
Reel/Frame 031666/0287 →