IP Library › Granted Patent US 10,291,730
Granted Patent B1
US 10,291,730 · App. 15/167,670 · Granted May 14, 2019

Throttling push notifications using predictive workload modeling

Inventors: Michael Shavell (Merrimack, NH); Chengi Kuo (Manhattan Beach, CA)
Assignee: Symantec Corporation
H04L67/26H04L47/748H04M15/60
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 10,291,730
App. No.
15/167,670
Granted
May 14, 2019
Kind
B1
Abstract

The present disclosure relates to managing a rate of generating data requests to be processed at a service provider. An example method generally includes detecting an instance of a push notification event directed to a group of endpoint systems. The push notification event generally indicates that push notifications are to be transmitted to the group of endpoint systems to generate the data requests. A computing system determines a resource utilization associated with at least one of the data requests generated based on the push notification event and determines a push notification transmission rate based on the determined resource utilization and computing resources available at the service provider. The rate generally indicates a number of push notifications to generate and transmit over a period of time. The computing system transmits the push notifications to the group of endpoint systems based on the calculated push notification transmission rate.

Claims (45)

1. A method for managing a rate of generating data requests to be processed at a service provider, comprising:

detecting an instance of a push notification event directed to a group of endpoint systems, the push notification event indicating that push notifications are to be transmitted to the group of endpoint systems to generate the data requests;

determining a resource utilization associated with at least one of the data requests generated in response to expected receipt of the push notification event at the group of endpoint systems;

determining a push notification transmission rate based on the determined resource utilization and computing resources available at the service provider, the rate indicating a number of push notifications to generate and transmit over a period of time; and

transmitting the push notifications to the group of endpoint systems based on the calculated push notification transmission rate.

2. The method of claim 1 , wherein detecting the instance of the push notification event comprises receiving a message from the service provider indicating that data to be provided to the group of endpoint systems is available at the service provider.

3. The method of claim 1 , wherein determining the resource utilization associated with the at least one data request comprises determining a number of database queries generated in processing the at least one data request.

4. The method of claim 1 , wherein determining the resource utilization associated with the at least one data request comprises determining a size of a result set generated in response to the at least one data request.

5. The method of claim 1 , further comprising:

determining, based on historical data and one or more characteristics of the data requests generated by the endpoint systems, an amount of computing resources to allocate at the service provider.

6. The method of claim 5 , wherein the historical data comprises an association of an amount of computing resources allocated to processing a previous data request and an amount of data generated for the previous data request.

7. The method of claim 5 , wherein the historical data comprises an association of an amount of computing resources allocated to processing a previous data request and a number of endpoint systems that generated the previous data request.

8. The method of claim 7 , wherein the historical data further includes identifiers for each of the number of endpoint systems that generated the previous data request, and wherein the group of endpoint systems is identified based, at least in part, on identifiers of endpoint systems not found in the historical data.

9. A system, comprising:

a processor; and

a memory comprising instructions which, when executed on the processor, perform operations for managing a rate of generating data requests to be processed at a service provider, the operations comprising:

detecting an instance of a push notification event directed to a group of endpoint systems, the push notification event indicating that push notifications are to be transmitted to the group of endpoint systems to generate the data requests;

determining a resource utilization associated with at least one of the data requests generated in response to expected receipt of the push notification event at the group of endpoint systems;

determining a push notification transmission rate based on the determined resource utilization and computing resources available at the service provider, the rate indicating a number of push notifications to generate and transmit over a period of time; and

transmitting the push notifications to the group of endpoint systems based on the calculated push notification transmission rate.

10. The system of claim 9 , wherein detecting the instance of the push notification event comprises receiving a message from the service provider indicating that data to be provided to the group of endpoint systems is available at the service provider.

11. The system of claim 9 , wherein determining the resource utilization associated with the at least one data request comprises at least one of:

determining a number of database queries generated in processing the at least one data request; or

determining a size of a result set generated in response to the at least one data request.

12. The system of claim 9 , wherein the operations further comprise:

determining, based on historical data and one or more characteristics of the requests generated by the endpoint systems, an amount of computing resources to allocate at the service provider.

13. The system of claim 12 , wherein the historical data comprises at least one of:

an association of an amount of computing resources allocated to processing a previous data request and an amount of data generated for the previous data request; or

an association of an amount of computing resources allocated to processing a previous data request and a number of endpoint systems that generated the previous request.

14. The system of claim 13 , wherein the historical data further includes identifiers for each of the number of endpoint systems that generated the previous data request, and wherein the group of endpoint systems is identified based, at least in part, on identifiers of endpoint systems not found in the historical data.

15. A non-transitory computer-readable medium comprising instructions which, when executed on one or more processors, perform operations for managing a rate of generating data requests to be processed at a service provider, the operations comprising:

detecting an instance of a push notification event directed to a group of endpoint systems, the push notification event indicating that push notifications are to be transmitted to the group of endpoint systems to generate the data requests;

determining a resource utilization associated with at least one of the data requests generated in response to expected receipt of the push notification event at the group of endpoint systems;

determining a push notification transmission rate based on the determined resource utilization and computing resources available at the service provider, the rate indicating a number of push notifications to generate and transmit over a period of time; and

transmitting the push notifications to the group of endpoint systems based on the calculated push notification transmission rate.

16. The non-transitory computer-readable medium of claim 15 , wherein detecting the instance of the push notification event comprises receiving a message from the service provider indicating that data to be provided to the group of endpoint systems is available at the service provider.

17. The non-transitory computer-readable medium of claim 15 , wherein determining the resource utilization associated with the at least one data request comprises at least one of:

determining a number of database queries generated in processing the at least one data request; or

determining a size of a result set generated in response to the at least one data request.

18. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

determining, based on historical data and one or more characteristics of the requests generated by the endpoint systems, an amount of computing resources to allocate at the service provider.

19. The non-transitory computer-readable medium of claim 18 , wherein the historical data comprises at least one of:

an association of an amount of computing resources allocated to processing a previous data request and an amount of data generated for the previous data request; or

an association of an amount of computing resources allocated to processing a previous data request and a number of endpoint systems that generated the previous request.

20. The non-transitory computer-readable medium of claim 19 , wherein the historical data further includes identifiers for each of the number of endpoint systems that generated the previous data request, and wherein the group of endpoint systems is identified based, at least in part, on identifiers of endpoint systems not found in the historical data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2016
From: SHAVELL, MICHAEL; KUO, CHENGI
To: SYMANTIC CORPORATION
Reel/Frame 038740/0566 →
Cited By (2)
US 12,386,658 US 12,744,734