IP Library Granted Patent US 12,327,199
Granted Patent B2
US 12,327,199 · App. 17/144,896 · Granted Jun 10, 2025

Multi-scale exponential-smoothing forecaster for time series data

Inventor: Arun Kumar Jagota (Sunnyvale, CA)
Assignee: Salesforce, Inc.
G06N5/04G06F9/5083G06F16/283G06N20/00G06F2209/5019G06F2209/503G06F2209/508
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 12,327,199
App. No.
17/144,896
Granted
Jun 10, 2025
Kind
B2
Abstract

System determines, for first value at first time in time series, first estimate based on value and velocity for time series, first lag, and first time. System determines, for first value, second estimate based on value and velocity for time series, second lag, and first time. System determines first weight based on difference between second value, at second time in time series, and first estimate and second weight based on difference between second value and second estimate. System determines, for second value, first forecast based on value and velocity for time series, first lag, and second time. System determines, for second value, second forecast based on value and estimated velocity for time series, second lag, and second time. System determines, for second value, combined forecast based on first forecast weighed by first weight and second forecast weighed by second weight. If combined forecast satisfies threshold, system outputs alert.

Claims (60)

1. A system for a multi-scale exponential-smoothing forecaster for time series data, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive time series data indicative of a resource utilization by an application over time, wherein the time series data includes a current value indicative of a current utilization of a resource by the application at a current time;

determine a forecasted future value in the time series data, wherein the determining includes:

determining, for the current value, a first estimate of the current value based on a first prior value and a first velocity indicating a first rate of change associated with the first prior value, wherein the first prior value precedes the current value in the time series data by a first time interval;

determining, for the current value, a second estimate of the current value based on a second prior value and a second velocity indicating a second rate of change associated with the second prior value, wherein the second prior value precedes the current value in the time series data by a second, different time interval;

determining a first weight indicative of an accuracy of the first estimate by comparing the first estimate to the current value;

determining a second weight indicative of an accuracy of the second estimate by comparing the second estimate to the current value; and

forecasting the future value by:

determining first and second estimates of the future value based on the current value and the first prior value; and

combining the first and second estimates of the future value adjusted based on the first and second weights in a manner that implements multi-scale exponential-smoothing; and

provide, via a user interface, an alert associated with the resource utilization based on the determined forecasted future value satisfying a threshold.

2. The system of claim 1 , wherein the plurality of instructions further causes the one or more processors to train a machine learning system to determine at least one forecasted future value for a training set comprising at least some values in the time series data.

3. The system of claim 1 , wherein the resource utilization includes a memory utilization of a cloud-based application.

4. The system of claim 1 , wherein the first estimate of the current value is further based on a first acceleration associated with the first prior value, wherein the first acceleration is a difference between the first velocity and the second velocity.

5. The system of claim 1 , wherein the plurality of instructions further causes the one or more processors to:

determine, for the current value, a third estimate of the current value based on a third prior value and a third velocity indicating a third rate of change associated with the third prior value, wherein the third prior value precedes the current value in the time series data by a third time interval;

determine a third weight indicative of an accuracy of the third estimate by comparing the third estimate to the current value; and

wherein the combining includes combining the first, second, and third estimates of the future value adjusted based on the first, second, and third weights.

6. The system of claim 1 , wherein the resource utilization includes a processor utilization of a cloud-based application.

7. The system of claim 1 , wherein the resource utilization describes a performance metric of a cloud-based application.

8. A non-transitory computer-readable medium have programing instructions for a multi-scale exponential-smoothing forecaster stored therein that are executable by a computing system to:

receive time series data indicative of a resource utilization by an application over time, wherein the time series data includes a current value indicative of a current utilization of a resource by the application at a current time;

determine a forecasted future value in the time series data, wherein the determining includes:

determining, for the current value, a first estimate of the current value based on a first prior value and a first velocity indicating a first rate of change associated with the first prior value, wherein the first prior value precedes the current value in the time series data by a first time interval;

determining, for the current value, a second estimate of the current value based on a second prior value and a second velocity indicating a second rate of change associated with the second prior value, wherein the second prior value precedes the current value in the time series data by a second, different time interval;

determining a first weight indicative of an accuracy of the first estimate by comparing the first estimate to the current value;

determining a second weight indicative of an accuracy of the second estimate by comparing the second estimate to the current value; and

forecasting the future value by:

determining first and second estimates of the future value based on the current value and the first prior value; and

combining the first and second estimates of the future value adjusted based on the first and second weights in a manner that implements multi-scale exponential-smoothing; and

provide an alert via a user interface based on the determined forecasted future value satisfying a threshold.

9. The computer-readable medium of claim 8 , wherein the program instructions are further executable to train a machine learning system to determine at least one forecasted future value for a training set comprising at least some values in the time series data.

10. The computer-readable medium of claim 8 , wherein the resource utilization includes a memory utilization of a cloud-based application.

11. The computer-readable medium of claim 8 , wherein the first estimate of the current value is further based on a first acceleration associated with the first prior value, wherein the first acceleration is a difference between the first velocity and the second velocity.

12. The computer-readable medium of claim 8 , wherein the program instructions are further executable to:

determine, for the current value, a third estimate of the current value based on a third prior value and a third velocity indicating a third rate of change associated with the third prior value, wherein the third prior value precedes the current value in the time series data by a third time interval;

determine a third weight indicative of an accuracy of the third estimate by comparing the third estimate to the current value; and

wherein the combining includes combining the first, second, and third estimates of the future value adjusted based on the first, second, and third weights.

13. The computer-readable medium of claim 8 , wherein the resource utilization includes a processor utilization of a cloud-based application.

14. The computer-readable medium of claim 8 , wherein the resource utilization describes a performance metric of a cloud-based application.

15. A computer-implemented method for a multi-scale exponential-smoothing forecaster for time series data, the method comprising:

receiving time series data indicative of a resource utilization by an application over time, wherein the time series data includes a current value indicative of a current utilization of a resource by the application at a current time; and

providing an alert via a user interface based on a forecasted future value in the time series data satisfying a threshold, wherein determining the forecasted future value includes:

determining, for the current value, a first estimate of the current value based on a first prior value and a first velocity indicating a first rate of change associated with the first prior value, wherein the first prior value precedes the current value in the time series data by a first time interval;

determining, for the current value, a second estimate of the current value based on a second prior value and a second velocity indicating a second rate of change associated with the second prior value, wherein the second prior value precedes the current value in the time series data by a second, different time interval;

determining a first weight indicative of an accuracy of the first estimate by comparing the first estimate to the current value;

determine a second weight indicative of an accuracy of the second estimate by comparing the second estimate to the current value; and

forecasting the future value by:

determining first and second estimates of the future value based on the current value and the first prior value; and

combining the first and second estimates of the future value adjusted based on the first and second weights in a manner that implements multi-scale exponential-smoothing.

16. The computer-implemented method of claim 15 , wherein the computer-implemented method further comprises training a machine learning system to determine at least one forecasted future value for a training set comprising at least some values in the time series data.

17. The computer-implemented method of claim 15 , wherein the resource utilization includes a memory utilization of a cloud-based application.

18. The computer-implemented method of claim 15 , wherein the first estimate of the current value is further based on a first acceleration associated with the first prior value, wherein the first acceleration is a difference between the first velocity and the second velocity.

19. The computer-implemented method of claim 15 , wherein the computer-implemented method further comprises:

determining, for the current value, a third estimate of the current value based on a third prior value and a third velocity indicating a third rate of change associated with the third prior value, wherein the third prior value precedes the current value in the time series data by a third time interval;

determining a third weight indicative of an accuracy of the third estimate by comparing the third estimate to the current value; and

wherein the combining includes combining the first, second, and third estimates of the future value adjusted based on the first, second, and third weights.

20. The computer-implemented method of claim 15 , wherein the resource utilization describes a performance metric of a cloud-based application.

Assignments (3)
CHANGE OF NAME Recorded May 13, 2025
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 071283/0258 →
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2021
From: JAGOTA, ARUN KUMAR
To: SALESFORCE.COM, INC.
Reel/Frame 054864/0319 →
Continuity (1)
Related Publication 20220222547A1 · Jul 14, 2022
References Cited (153)
US 5577188A · Zhu · 1996 [cited by applicant]
US 5608872A · Schwartz · 1997 [cited by applicant]
US 5649104A · Carleton · 1997 [cited by applicant]
US 5715450A · Ambrose et al. · 1998 [cited by applicant]
US 5761419A · Schwartz · 1998 [cited by applicant]
US 5819038A · Carleton · 1998 [cited by applicant]
US 5821937A · Tonelli et al. · 1998 [cited by applicant]
US 5831610A · Tonelli et al. · 1998 [cited by applicant]
US 5873096A · Lim et al. · 1999 [cited by applicant]
US 5918159A · Fomukong et al. · 1999 [cited by applicant]
US 5963953A · Cram et al. · 1999 [cited by applicant]
US 6092083A · Brodersen et al. · 2000 [cited by applicant]
US 6161149A · Achacoso et al. · 2000 [cited by applicant]
US 6169534B1 · Raffel et al. · 2001 [cited by applicant]
US 6178425B1 · Brodersen et al. · 2001 [cited by applicant]
US 6189011B1 · Lim et al. · 2001 [cited by applicant]
US 6216135B1 · Brodersen et al. · 2001 [cited by applicant]
US 6233617B1 · Rothwein et al. · 2001 [cited by applicant]
US 6266669B1 · Brodersen et al. · 2001 [cited by applicant]
US 6295530B1 · Ritchie et al. · 2001 [cited by applicant]
US 6324568B1 · Diec et al. · 2001 [cited by applicant]
US 6324693B1 · Brodersen et al. · 2001 [cited by applicant]
US 6336137B1 · Lee et al. · 2002 [cited by applicant]
US D454139S · Feldcamp et al. · 2002 [cited by applicant]
US 6367077B1 · Brodersen et al. · 2002 [cited by applicant]
US 6393605B1 · Loomans · 2002 [cited by applicant]
US 6405220B1 · Brodersen et al. · 2002 [cited by applicant]
US 6434550B1 · Warner et al. · 2002 [cited by applicant]
US 6446089B1 · Brodersen et al. · 2002 [cited by applicant]
US 6535909B1 · Rust · 2003 [cited by applicant]
US 6549908B1 · Loomans · 2003 [cited by applicant]
US 6553563B2 · Ambrose et al. · 2003 [cited by applicant]
US 6560461B1 · Fomukong et al. · 2003 [cited by applicant]
US 6574635B2 · Stauber et al. · 2003 [cited by applicant]
US 6577726B1 · Huang et al. · 2003 [cited by applicant]
US 6601087B1 · Zhu · 2003 [cited by applicant]
US 6604117B2 · Lim et al. · 2003 [cited by applicant]
US 6604128B2 · Diec · 2003 [cited by applicant]
US 6609150B2 · Lee et al. · 2003 [cited by applicant]
US 6621834B1 · Scherpbier · 2003 [cited by applicant]
US 6654032B1 · Zhu · 2003 [cited by applicant]
US 6665648B2 · Brodersen et al. · 2003 [cited by applicant]
US 6665655B1 · Warner et al. · 2003 [cited by applicant]
US 6684438B2 · Brodersen et al. · 2004 [cited by applicant]
US 6711565B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6724399B1 · Katchour et al. · 2004 [cited by applicant]
US 6728702B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6728960B1 · Loomans et al. · 2004 [cited by applicant]
US 6732095B1 · Warshavsky et al. · 2004 [cited by applicant]
US 6732100B1 · Brodersen et al. · 2004 [cited by applicant]
US 6732111B2 · Brodersen et al. · 2004 [cited by applicant]
US 6754681B2 · Brodersen et al. · 2004 [cited by applicant]
US 6763351B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6763501B1 · Zhu · 2004 [cited by applicant]
US 6768904B2 · Kim · 2004 [cited by applicant]
US 6772229B1 · Achacoso et al. · 2004 [cited by applicant]
US 6782383B2 · Subramaniam et al. · 2004 [cited by applicant]
US 6804330B1 · Jones et al. · 2004 [cited by applicant]
US 6826565B2 · Ritchie et al. · 2004 [cited by applicant]
US 6826582B1 · Chatterjee et al. · 2004 [cited by applicant]
US 6826745B2 · Coker · 2004 [cited by applicant]
US 6829655B1 · Huang et al. · 2004 [cited by applicant]
US 6842748B1 · Warner et al. · 2005 [cited by applicant]
US 6850895B2 · Brodersen et al. · 2005 [cited by applicant]
US 6850949B2 · Warner et al. · 2005 [cited by applicant]
US 7062502B1 · Kesler · 2006 [cited by applicant]
US 7340411B2 · Cook · 2008 [cited by applicant]
US 7356482B2 · Frankland et al. · 2008 [cited by applicant]
US 7401094B1 · Kesler · 2008 [cited by applicant]
US 7620655B2 · Larsson · 2009 [cited by applicant]
US 7698160B2 · Beaven et al. · 2010 [cited by applicant]
US 7730478B2 · Weissman · 2010 [cited by applicant]
US 7779039B2 · Weissman et al. · 2010 [cited by applicant]
US 7779475B2 · Jakobson et al. · 2010 [cited by applicant]
US 7851004B2 · Hirao et al. · 2010 [cited by applicant]
US 8010663B2 · Firminger et al. · 2011 [cited by applicant]
US 8014943B2 · Jakobson · 2011 [cited by applicant]
US 8015495B2 · Achacoso et al. · 2011 [cited by applicant]
US 8032297B2 · Jakobson · 2011 [cited by applicant]
US 8082301B2 · Ahlgren et al. · 2011 [cited by applicant]
US 8095413B1 · Beaven et al. · 2012 [cited by applicant]
US 8095594B2 · Beaven et al. · 2012 [cited by applicant]
US 8209308B2 · Jakobson et al. · 2012 [cited by applicant]
US 8275836B2 · Beaven et al. · 2012 [cited by applicant]
US 8484111B2 · Frankland et al. · 2013 [cited by applicant]
US 8490025B2 · Jakobson et al. · 2013 [cited by applicant]
US 8504945B2 · Jakobson et al. · 2013 [cited by applicant]
US 8510664B2 · Rueben et al. · 2013 [cited by applicant]
US 8566301B2 · Rueben et al. · 2013 [cited by applicant]
US 8646103B2 · Jakobson et al. · 2014 [cited by applicant]
US 11281969B1 · Rangapuram · 2022 [cited by examiner]
US 20010044791A1 · Richter et al. · 2001 [cited by applicant]
US 20020072951A1 · Lee et al. · 2002 [cited by applicant]
US 20020082892A1 · Raffel · 2002 [cited by applicant]
US 20020129352A1 · Brodersen et al. · 2002 [cited by applicant]
US 20020140731A1 · Subramanian et al. · 2002 [cited by applicant]
US 20020143997A1 · Huang et al. · 2002 [cited by applicant]
US 20020162090A1 · Parnell et al. · 2002 [cited by applicant]
US 20020165742A1 · Robbins · 2002 [cited by applicant]
US 20030004971A1 · Gong · 2003 [cited by applicant]
US 20030018705A1 · Chen et al. · 2003 [cited by applicant]
US 20030018830A1 · Chen et al. · 2003 [cited by applicant]
US 20030066031A1 · Laane et al. · 2003 [cited by applicant]
US 20030066032A1 · Ramachandran et al. · 2003 [cited by applicant]
US 20030069936A1 · Warner et al. · 2003 [cited by applicant]
US 20030070000A1 · Coker et al. · 2003 [cited by applicant]
US 20030070004A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030070005A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030074418A1 · Coker et al. · 2003 [cited by applicant]
US 20030120675A1 · Stauber et al. · 2003 [cited by applicant]
US 20030151633A1 · George et al. · 2003 [cited by applicant]
US 20030159136A1 · Huang et al. · 2003 [cited by applicant]
US 20030187921A1 · Diec et al. · 2003 [cited by applicant]
US 20030189600A1 · Gune et al. · 2003 [cited by applicant]
US 20030204427A1 · Gune et al. · 2003 [cited by applicant]
US 20030206192A1 · Chen et al. · 2003 [cited by applicant]
US 20040001092A1 · Rothwein et al. · 2004 [cited by applicant]
US 20040015981A1 · Coker et al. · 2004 [cited by applicant]
US 20040027388A1 · Berg et al. · 2004 [cited by applicant]
US 20040128001A1 · Levin et al. · 2004 [cited by applicant]
US 20040186860A1 · Lee et al. · 2004 [cited by applicant]
US 20040193510A1 · Catahan et al. · 2004 [cited by applicant]
US 20040199489A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199536A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040249854A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040260534A1 · Pak et al. · 2004 [cited by applicant]
US 20040260659A1 · Chan et al. · 2004 [cited by applicant]
US 20040268299A1 · Lei et al. · 2004 [cited by applicant]
US 20050050555A1 · Exley et al. · 2005 [cited by applicant]
US 20050091098A1 · Brodersen et al. · 2005 [cited by applicant]
US 20090063415A1 · Chatfield et al. · 2009 [cited by applicant]
US 20090100342A1 · Jakobson · 2009 [cited by applicant]
US 20090177744A1 · Marlow et al. · 2009 [cited by applicant]
US 20120233137A1 · Jakobson et al. · 2012 [cited by applicant]
US 20130218948A1 · Jakobson · 2013 [cited by applicant]
US 20130218949A1 · Jakobson · 2013 [cited by applicant]
US 20130218966A1 · Jakobson · 2013 [cited by applicant]
US 20140359537A1 · Jakobson et al. · 2014 [cited by applicant]
US 20150007050A1 · Jakobson et al. · 2015 [cited by applicant]
US 20150095162A1 · Jakobson et al. · 2015 [cited by applicant]
US 20150172563A1 · Jakobson et al. · 2015 [cited by applicant]
US 20190173765A1 · Bertran · 2019 [cited by examiner]
US 20190370610A1 · Batoukov · 2019 [cited by examiner]
US 20190379589A1 · Ryan · 2019 [cited by examiner]
US 20200074274A1 · Fan · 2020 [cited by examiner]
US 20200322703A1 · Bures · 2020 [cited by examiner]
US 20210105228A1 · Joseph · 2021 [cited by examiner]
US 20210173045A1 · Hu · 2021 [cited by examiner]
US 20210231447A1 · Ahmed · 2021 [cited by examiner]
US 20210319306A1 · Leite Pinheiro de Paiva · 2021 [cited by examiner]
US 20220253727A1 · Watson · 2022 [cited by examiner]
US 20220292308A1 · Schwiep · 2022 [cited by examiner]
US 20230236818A1 · Saeki · 2023 [cited by examiner]
Cited By (1)
US 12,670,032