IP Library Granted Patent US 12,299,550
Granted Patent B1
US 12,299,550 · App. 17/589,577 · Granted May 13, 2025

Model driven configuration of software installation operating states

Inventors: Yanpei Chen (Sunnyvale, CA); Archana Ganapathi (Palo Alto, CA)
Assignee: Cisco Technology, Inc.
G06N20/10G06F8/61
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,299,550
App. No.
17/589,577
Granted
May 13, 2025
Kind
B1
Abstract

Product usage may be modeled based on large volume, machine generated product usage data to optimize product pricing and operations. Specifically, the systems and methods described herein may utilize methods with key components to select the maximum number of dimensions that can be modeled based on the number of data points, use a logarithm kernel function to normalize machine data with long-tailed statistical distributions on different numerical scales, compare a large number of candidate models with different candidate dimensions and different structures, and quantify the amount of change and drift in models over time.

Claims (59)

1. A computing device, comprising:

one or more hardware processors; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations including:

generating a plurality of candidate models using a machine learning model, wherein the plurality of candidate models predict values for a first set of data points indicating product usage, each data point included in the first set of data points has a first set of dimensions, and each candidate model included in the plurality of candidate models is generated based on the first set of data points using data from a different subset of the first set of dimensions;

generating respective model testing results for each candidate model based on an evaluation of the respective candidate model;

selecting a model from the plurality of candidate models by identifying a model from the plurality of candidate models with a lowest median error based upon the model testing results;

determining, using the selected model, a first quantity of computing resources or operating states of a software installation for a customer based on a time series analysis of a recent quantity of computing resources or operating states of the customer;

determining a second quantity of computing resources or operating states of the software installation based on one or more of the following: static customer data, software performance data, and time series analysis of a quantity of computing resources or operating states of the customer;

determining a third quantity of computing resources or operating states of the software installation based on the first quantity of computing resources or operating states and the second quantity of computing resources or operating states; and

causing the software installation to be executed based on a parameter or operating state of the software installation that has been adjusted according to the third quantity.

2. The computing device of claim 1 , wherein the operations further comprise:

determining to adjust the parameter of the software installation based on a majority of the first quantity of computing resources, the second quantity of computing resources, and the third quantity of computing resources being larger than a current quantity of computing resources.

3. The computing device of claim 2 ,

wherein the operations further comprise:

determining, as voting indicators, which of the first quantity of computing resources, the second quantity of computing resources, are larger than a current quantity of computing resources;

wherein the determining of the third quantity of computing resources or operating states comprises selecting a quantity of computing resources from among the voting indicators.

4. The computing device of claim 1 , wherein:

the determining of the third quantity of computing resources or operating states comprises selecting either the first quantity of computing resources or the second quantity of computing resources.

5. The computing device of claim 1 , wherein:

the determining of the third quantity of computing resources or operating states comprises selecting the larger of the first quantity of computing resources and the second quantity of computing resources.

6. The computing device of claim 1 , wherein the parameter of the software installation for the customer is adjusted based on the first quantity of computing resources being larger than a current quantity of computing resources.

7. The computing device of claim 1 , wherein the determining of the second quantity of computing resources or operating states of the software installation is based on the static customer data.

8. The computing device of claim 1 , wherein the determining of the second quantity of computing resources or operating states of the software installation is based on the software performance data.

9. The computing device of claim 1 , wherein the determining of the second quantity of computing resources or operating states of the software installation is based on the time series analysis of the quantity of computing resources or operating states of the customer.

10. A computer-implemented method, comprising:

generating, by one or more hardware processors, a plurality of candidate models using a machine learning model, wherein the plurality of candidate models predict values for a first set of data points indicating product usage, each data point included in the first set of data points has a first set of dimensions, and each candidate model included in the plurality of candidate models is generated based on the first set of data points using data from a different subset of the first set of dimensions;

generating respective model testing results for each candidate model based on an evaluation of the respective candidate model;

selecting a model from the plurality of candidate models by identifying a model from the plurality of candidate models with a lowest median error based upon the model testing results;

determining, using the selected model, a first quantity of computing resources or operating states of a software installation for a customer based on a second set of data points corresponding to a recent quantity of computing resources or operating states of the customer;

determining a second quantity of computing resources or operating states of the software installation based on one or more of the following: static customer data, software performance data, and time series analysis of a quantity of computing resources or operating states of the customer;

determining a third quantity of computing resources or operating states of the software installation based on the first quantity of computing resources or operating states and the second quantity of computing resources or operating states; and

causing the software installation to be executed based on a parameter or operating state of the software installation that has been adjusted according to the third quantity.

11. The computer-implemented method of claim 10 , further comprising:

determining to adjust the parameter of the software installation based on a majority of the first quantity of computing resources, the second quantity of computing resources, and the third quantity of computing resources being larger than a current quantity of computing resources.

12. The computer-implemented method of claim 11 ,

further comprising:

determining, as voting indicators, which of the first quantity of computing resources, the second quantity of computing resources, are larger than the current quantity of computing resources,

wherein the determining of the third quantity of computing resources or operating states comprises selecting a quantity of computing resources from among the voting indicators.

13. The computer-implemented method of claim 10 , wherein:

the determining of the third quantity of computing resources or operating states comprises selecting either the first quantity of computing resources or the second quantity of computing resources.

14. The computer-implemented method of claim 10 , wherein:

the determining of the third quantity of computing resources or operating states comprises selecting the larger of the first quantity of computing resources and the second quantity of computing resources.

15. The computer-implemented method of claim 10 , wherein the parameter of the software installation for the customer is adjusted based on the first quantity of computing resources being larger than a current quantity of computing resources.

16. The computer-implemented method of claim 10 , wherein the determining of the second quantity of computing resources or operating states of the software installation is based on the static customer data.

17. The computer-implemented method of claim 10 , wherein the determining of the second quantity of computing resources or operating states of the software installation is based on the software performance data.

18. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

generating a plurality of candidate models using a machine learning model, wherein the plurality of candidate models predict values for a first set of data points indicating product usage, each data point included in the first set of data points has a first set of dimensions, and each candidate model included in the plurality of candidate models is generated based on the first set of data points using data from a different subset of the first set of dimensions;

generating respective model testing results for each candidate model based on an evaluation of the respective candidate model;

selecting a model from the plurality of candidate models by identifying a model from the plurality of candidate models with a lowest median error based upon the model testing results;

determining, using the selected model, a first quantity of computing resources or operating states of a software installation for a customer based on a second set of data points corresponding to a recent quantity of computing resources or operating states of the customer;

determining a second quantity of computing resources or operating states of the software installation based on one or more of the following: static customer data, software performance data, and time series analysis of a quantity of computing resources or operating states of the customer;

determining a third quantity of computing resources or operating states of the software installation based on the first quantity of computing resources or operating states and the second quantity of computing resources or operating states; and

causing the software installation to be executed based on adjusting a parameter or operating state of the software installation that has been adjusted according to the third quantity.

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

determining to adjust the parameter of the software installation based on a majority of the first quantity of computing resources, the second quantity of computing resources, and the third quantity of computing resources being larger than a current quantity of computing resources.

20. The non-transitory computer-readable medium of claim 19 ,

wherein the operations further comprise:

determining, as voting indicators, which of the first quantity of computing resources, the second quantity of computing resources, are larger than the current quantity of computing resources,

wherein the determining of the third quantity of computing resources or operating states comprises selecting a quantity of computing resources from among the voting indicators.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2022
From: CHEN, YANPEI; GANAPATHI, ARCHANA
To: SPLUNK INC.
Reel/Frame 059391/0020 →
Continuity (1)
Provisional Application 63143545 · Jan 29, 2021
References Cited (28)
US 10380498B1 · Chaoji · 2019 [cited by examiner]
US 10715387B1 · Tutuianu · 2020 [cited by examiner]
US 11348029B1 · Turow · 2022 [cited by examiner]
US 11410111B1 · Washam · 2022 [cited by examiner]
US 20150278407A1 · Vennelakanti et al. · 2015 [cited by applicant]
US 20170308573A1 · Brisebois et al. · 2017 [cited by applicant]
US 20180268293A1 · Noda · 2018 [cited by applicant]
US 20190370684A1 · Gunes · 2019 [cited by examiner]
US 20200097810A1 · Hetherington · 2020 [cited by examiner]
US 20200302234A1 · Walters et al. · 2020 [cited by applicant]
US 20210012244A1 · Taniguchi · 2021 [cited by examiner]
US 20210241164A1 · Powley · 2021 [cited by examiner]
US 20220027778A1 · Kochura · 2022 [cited by examiner]
US 20220083897A1 · Saha · 2022 [cited by examiner]
US 20220114019A1 · Sathe · 2022 [cited by examiner]
US 20220179769A1 · Wan · 2022 [cited by examiner]
US 20220180178A1 · Tasinga · 2022 [cited by examiner]
US 20220188241A1 · Prasanna · 2022 [cited by examiner]
US 20220206774A1 · Arora · 2022 [cited by examiner]
US 20220210028A1 · Chen · 2022 [cited by examiner]
WO WO2019182590A1 · 2019 [cited by examiner]
Faruk Pasic, Model-Driven Development of Condition Monitoring Software, 2018, pp. 1-6. https://dl.acm.org/doi/pdf/10.1145/3270112.3275338 (Year: 2018). [cited by examiner]
Caitlin A. Owen, Characterizing Genetic Programming Error Through Extended Bias and Variance Decomposition, 2020, pp. 1164-0075. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9080104 (Year: 2018). [cited by examiner]
Carlos A. Duchanoy, ASAMS: An Adaptive Sequential Sampling and Automatic Model Selection for Artificial Intelligence, 2020, pp. 1-25. https://www.mdpi.com/1424-8220/20/18/5332 (Year: 2020). [cited by examiner]
Non Final Office Action received for U.S. Appl. No. 17/589,534 dated Jul. 21, 2023, 13 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 17/589,534 dated Feb. 8, 2024, 16 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/589,534 dated Jul. 10, 2024, 7 pages. [cited by applicant]
Advisory Action received for U.S. Appl. No. 17/589,534 dated May 8, 2024, 3 pages. [cited by applicant]