IP Library Granted Patent US 10,778,599
Granted Patent B2
US 10,778,599 · App. 15/474,121 · Granted Sep 15, 2020

Predictive scaling of computing resources

Inventors: Michal M. Bryc (Seattle, WA); Jared L. Reisinger (Redmond, WA); Lilia Abaibourova (Seattle, WA)
Assignee: HOME BOX OFFICE, INC.
H04L47/70G06F9/5005H04L12/4641H04L67/32G06F2209/5019
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,778,599
App. No.
15/474,121
Granted
Sep 15, 2020
Kind
B2
Abstract

The described technology is generally directed towards predicting a need for provisioned (e.g., cloud computing) resources so that the provisioned resources are proactively provisioned and operational before their actual need. Historical data is used to predict upcoming resource demand so that resources begin to be scaled up to meet demand in advance, at a prediction time, given that there is a “spin-up” delay between requesting resources and their actual availability. The predictive resource provisioning is adaptable to override customary historical data with expected exceptions, and is flexible to handle variable spin-up times, constraints, and optimizations.

Claims (41)

1. A method comprising:

predicting, by a system comprising a processor, an upcoming time at which there-is predicted to be a need for additional resources relative to a current amount of resources in use by the system, in association with providing steaming video services to client devices, wherein the predicting the upcoming time is based on historical data regarding historical traffic patterns associated with usage of the video streaming services;

determining, by the system, an amount of spin-up time needed to make the additional resources ready for operation by the upcoming time;

requesting, by the system, provisioning of the additional resources to begin at a point in time prior to the upcoming time, wherein the point in time is based on the upcoming time and the amount of spin-up time; and

building, by the system, a schedule that identifies predicted amounts of resources needed at different points in time over a defined period of time and respective start times for starting re-provisioning of the resources over the defined period of time to facilitate providing the amounts of the resources at the different points in time, wherein the building comprises building the schedule based on the historical data, and building the schedule based on a constraint regarding a number of re-provisioning events allowed over the defined period of time.

2. The method of claim 1 , wherein the determining comprises determining the amount of spin-up time as a function of an amount of the additional resources that are needed.

3. The method of claim 1 , wherein the building further comprises, building the schedule based on override data regarding a known upcoming event within the defined time frame that is not represented in the historical data.

4. The method of claim 1 , further comprising, optimizing the schedule to minimize costs associated with under provisioned and overprovisioned amounts of the resources.

5. The method of claim 1 , further comprising:

generating, by the system, simulated traffic corresponding to an expected amount of traffic to be received at the upcoming time; and

increasing, by the system, the current amount of the resources by an amount needed to handle simulated traffic, resulting in the additional resources being available at the upcoming time.

6. The method of claim 1 , further comprising:

generating, by the system, simulated traffic corresponding to an expected amount of traffic to be received at the upcoming time; and

provisioning, by the system, the additional resources at the point in time to account for the simulated traffic, resulting in the additional resources being available at the upcoming time.

7. The method of claim 1 , further comprising:

determining, by the system, an amount of the additional resources that are needed based on historical resource allocation data regarding historical allocation of system resources in association with the historical traffic patterns.

8. The method of claim 1 , wherein the predicting further comprises predicting the upcoming time based on popularity of video content that will become available for steaming at the upcoming time.

9. The method of claim 1 , wherein the predicting further comprises predicting the upcoming time based on an upcoming event for which there is no corresponding historical data.

10. The method of claim 1 , wherein the predicting further comprises predicting the upcoming time based on whether video content that will be available for steaming at the upcoming time was previously available for streaming.

11. A method comprising:

predicting, by a system comprising a processor, an upcoming time at which there-is predicted to be a need for additional resources, relative to a current amount of resources in use by the system, in association with providing steaming video services to client devices, wherein the predicting the upcoming time is based on historical data regarding historical traffic patterns associated with usage of the video streaming services;

determining, by the system, an amount of spin-up time needed to make the additional resources ready for operation by the upcoming time;

requesting, by the system, provisioning of the additional resources to begin at a point in time prior to the upcoming time, wherein the point in time is based on the upcoming time and the amount of spin-up time;

generating, by the system, simulated traffic corresponding to an expected amount of traffic to be received at the upcoming time; and

increasing, by the system, the current amount of the resources by an amount needed to handle simulated traffic, resulting in the additional resources being available at the upcoming time.

12. The method of claim 11 , wherein the determining comprises determining the amount of spin-up time as a function of an amount of the additional resources that are needed.

13. The method of claim 11 , further comprising:

building, by the system, a schedule that identifies predicted amounts of resources needed at different points in time over a defined period of time and respective start times for starting re-provisioning of the resources over the defined period of time to facilitate providing the amounts of the resources at the different points in time, wherein the building comprises building the schedule based on the historical data.

14. The method of claim 13 , wherein the building further comprises, building the schedule based on override data regarding a known upcoming event within the defined time frame that is not represented in the historical data.

15. The method of claim 11 , further comprising:

determining, by the system, an amount of the additional resources that are needed based on historical resource allocation data regarding historical allocation of system resources in association with the historical traffic patterns.

16. A method comprising:

predicting, by a system comprising a processor, an upcoming time at which there-is predicted to be a need for additional resources, relative to a current amount of resources in use by the system, in association with providing steaming video services to client devices, wherein the predicting the upcoming time is based on historical data regarding historical traffic patterns associated with usage of the video streaming services;

determining, by the system, an amount of spin-up time needed to make the additional resources ready for operation by the upcoming time;

requesting, by the system, provisioning of the additional resources to begin at a point in time prior to the upcoming time, wherein the point in time is based on the upcoming time and the amount of spin-up time;

generating, by the system, simulated traffic corresponding to an expected amount of traffic to be received at the upcoming time; and

provisioning, by the system, the additional resources at the point in time to account for the simulated traffic, resulting in the additional resources being available at the upcoming time.

17. The method of claim 16 , wherein the determining comprises determining the amount of spin-up time as a function of an amount of the additional resources that are needed.

18. The method of claim 16 , wherein the predicting further comprises predicting the upcoming time based on popularity of video content that will become available for steaming at the upcoming time.

19. The method of claim 16 , wherein the predicting further comprises predicting the upcoming time based on an upcoming event for which there is no corresponding historical data.

20. The method of claim 16 , wherein the predicting further comprises predicting the upcoming time based on whether video content that will be available for steaming at the upcoming time was previously available for streaming.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2017
From: BRYC, MICHAL M.; REISINGER, JARED L.; ABAIBOUROVA, LILIA
To: HOME BOX OFFICE, INC.
Reel/Frame 042115/0331 →