Mobile application daily user engagement scores and user profiles
US-2015088955-A1 · Mar 26, 2015 · US
US11016870B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11016870-B2 |
| Application number | US-201916419174-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 22, 2019 |
| Priority date | May 22, 2019 |
| Publication date | May 25, 2021 |
| Grant date | May 25, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Various examples are disclosed for forecasting resource usage and computing capacity utilizing an exponential decay. In some examples, a computing environment can obtain usage measurements from a data stream over a time interval, where the usage measurements describe utilization of computing resource. The computing environment can generate a weight function for individual ones of the usage measurements, where the weight function exponentially decays the usage measurements based on a respective time period at which the usage measurements were obtained. The computing environment can forecast a future capacity of the computing resources based on the usage measurements and the weight function assigned to the individual ones of the usage measurements. The computing environment can further upgrade a forecast engine to use the exponential decay without resetting the forecast engine or its memory.
Opening claim text (preview).
Therefore, the following is claimed: 1. A system for forecasting capacity of a computing environment, comprising: at least one computing device; program instructions stored in memory and executable in the at least one computing device that, when executed by the at least one computing device, direct the at least one computing device to: obtain a plurality of usage measurements describing usage of a plurality of computing resources of the computing environment over a time interval; generate a weight function for individual ones of the usage measurements, wherein the weight function exponentially decays the usage measurements based on a respective time period at which the usage measurements were obtained; and forecast a future capacity of the computing resources based on the usage measurements and the weight function assigned to the individual ones of the usage measurements. 2. The system of claim 1 , wherein the weight function exponentially decays the usage measurements by assigning a weight to respective ones of the usage measurements based on a timestamp, wherein a more recent timestamp is more heavily weighted than an older timestamp. 3. The system of claim 1 , wherein: the usage measurements are obtained from a data stream of usage measurements, the data stream of usage measurements being generated in near real-time as the computing resources operate; and the future capacity of the computing resources is forecasted and updated in near real-time as new usage measurements are received in the data stream of usage measurements. 4. The system of claim 2 , wherein: the weight is generated to be less than a preconfigured weight threshold; and the future capacity of the computing resources forecasted comprises at least one of: a central processing unit (CPU) demand, a memory demand, and a disk demand. 5. The system of claim 1 , wherein: the future capacity and the weight function is generated by a forecast engine; and the at least one computing device is further directed to detect a transition of the forecast engine from a first data model to a second data model, the second data model utilizing the weight function. 6. The system of claim 5 , wherein the at least one computing device is further directed to: maintain a first plurality of accumulators for use with the first data model; in response to the transition of the forecast engine being detected, initialize a second plurality of accumulators for use with the second data model; and as usage measurements are received in a stream of usage measurements, exponentially decay the first plurality of accumulators until the first plurality of accumulators are not used in subsequent forecasts of usage by the forecast engine. 7. The system of claim 6 , wherein the at least one computing device is further directed to determine a time of convergence of forecasts using the first data model and forecasts using the second data model. 8. A non-transitory computer-readable medium for forecasting capacity of a computing environment, comprising program code executable in at least one computing device that, when executed by the at least one computing device, directs the at least one computing device to: obtain a plurality of usage measurements describing usage of a plurality of computing resources of the computing environment over a time interval; generate a weight function for individual ones of the usage measurements, wherein the weight function exponentially decays the usage measurements based on a respective time period at which the usage measurements were obtained; and forecast a future capacity of the computing resources based on the usage measurements and the weight function assigned to the individual ones of the usage measurements. 9. The non-transitory computer-readable medium of claim 8 , wherein the weight function exponentially decays the usage measurements by assigning a weight to respective ones of the usage measurements based on a timestamp, wherein a more recent timestamp is more heavily weighted than an older timestamp. 10. The non-transitory computer-readable medium of claim 8 , wherein: the usage measurements are obtained from a data stream of usage measurements, the data stream of usage measurements being generated in near real-time as the computing resources operate; and the future capacity of the computing resources is forecasted and updated in near real-time as new usage measurements are received in the data stream of usage measurements. 11. The non-transitory computer-readable medium of claim 9 , wherein: the weight is generated to be less than a preconfigured weight threshold; and the future capacity of the computing resources forecasted comprises at least one of: a central processing unit (CPU) demand, a memory demand, and a disk demand. 12. The non-transitory computer-readable medium of claim 8 , wherein: the future capacity and the weight function is generated by a forecast engine; and the at least one computing device is further directed to detect a transition of the forecast engine from a first data model to a second data model, the second data model utilizing the weight function. 13. The non-transitory computer-readable medium of claim 12 , wherein the at least one computing device is further directed to: maintain a first plurality of accumulators for use with the first data model; in response to the transition of the forecast engine being detected, initialize a second plurality of accumulators for use with the second data model; and as usage measurements are received in a stream of usage measurements, exponentially decay the first plurality of accumulators until the first plurality of accumulators are not used in subsequent forecasts of usage by the forecast engine. 14. The non-transitory computer-readable medium of claim 13 , wherein the at least one computing device is further directed to determine a time of convergence of forecasts using the first data model and forecasts using the second data model. 15. A computer-implemented method for forecasting capacity of a computing environment, comprising: obtaining a plurality of usage measurements describing usage of a plurality of computing resources of the computing environment over a time interval; generating a weight function for individual ones of the usage measurements, wherein the weight function exponentially decays the usage measurements based on a respective time period at which the usage measurements were obtained; and forecasting a future capacity of the computing resources based on the usage measurements and the weight function assigned to the individual ones of the usage measurements. 16. The computer-implemented method of claim 15 , wherein the weight function exponentially decays the usage measurements by assigning a weight to respective ones of the usage measurements based on a timestamp, wherein a more recent timestamp is more heavily weighted than an older timestamp. 17. The computer-implemented method of claim 15 , wherein: the usage measurements are obtained from a data stream of usage measurements, the data stream of usage measurements being generated in near real-time as the computing resources operate; and the future capacity of the computing resources is forecasted and updated in near real-time as new usage measurements are received in the data stream of usage measurements. 18. The computer-implemented method of claim 16 , wherein: the weight is generated to be less than a preconfigured weight threshold; and the future capacity of the computing resources forecasted comprises at le
Workload prediction · CPC title
for planning or managing the needed capacity · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.