IP Library Granted Patent US 12,430,117
Granted Patent B2
US 12,430,117 · App. 18/131,717 · Granted Sep 30, 2025

Method, apparatus and system for real-time optimization of computer-implemented application operations using machine learning techniques

Inventors: Ross Schibler (Los Altos Hills, CA); Peter Nickolov (Belmont, CA); Stephen Quintero (Desert Hots Springs, CA)
Assignee: Cisco Technology, Inc.
G06F8/65H04L41/0869H04L43/0817H04L63/1433G06F8/658
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,430,117
App. No.
18/131,717
Granted
Sep 30, 2025
Kind
B2
Abstract

Various aspects described or referenced herein are directed to different methods, systems, and computer program products for facilitating real-time optimization of computer-implemented application operations using machine learning techniques.

Claims (49)

1. A method comprising:

providing, by a network device executing a servo component and to an optimizer system, an indication of application settings and operational metrics associated with an application to be optimized, wherein the operational metrics are obtained from an application monitoring system;

initiating, by the network device and based on instructions received from the optimizer system, optimization of the application which includes a plurality of optimization steps comprising:

initiating, by the network device, a measurement of an operational metric of the application while the application is operating in accordance with a runtime configuration,

sending, from the network device and to the optimizer system, measurement results of the operational metric of the application,

performing, by the network device and based on the measurement results of the operational metric of the application, an update of the application by patching one or more objects of the application to effect changes to the application settings, and

sending, from the network device and to the optimizer system, patching results of the one or more objects of the application to complete the update of the application; and

receiving, at the network device and from the optimizer system, an indication that the optimization of the application is complete.

2. The method as in claim 1 , further comprising:

sending, from the network device and to the application monitoring system, a query requesting the operational metrics associated with the application.

3. The method as in claim 1 , further comprising:

sending, from the network device and to the application, a query requesting the application settings associated with the application.

4. The method as in claim 1 , wherein initiating the measurement of the operational metric of the application while the application is operating in accordance with the runtime configuration comprises:

receiving, at the network device and from the optimizer system, an instruction to initiate the measurement of the operational metric of the application.

5. The method as in claim 1 , wherein initiating the measurement of the operational metric of the application while the application is operating in accordance with the runtime configuration comprises:

sending, from the network device and to an application monitoring system, a query requesting the operational metric of the application while the application is operating in accordance with the runtime configuration.

6. The method as in claim 1 , wherein performing the update of the application by patching the one or more objects of the application to effect changes to the application settings comprises:

receiving, at the network device and from the optimizer system, an instruction to update the application.

7. The method as in claim 1 , wherein the plurality of optimization steps are repeated a plurality of times by the network device prior to receiving the indication that the optimization of the application is complete from the optimizer system.

8. An apparatus comprising:

one or more network interfaces to communicate with a software-defined wide area network (SD-WAN);

a processor coupled to the one or more network interfaces and configured to execute one or more processes; and

a memory configured to store a process that is executable by the processor, the process when executed configured to:

provide, via a servo component and to an optimizer system, an indication of application settings and operational metrics associated with an application to be optimized, wherein the operational metrics are obtained from an application monitoring system;

initiate, based on instructions received from the optimizer system, optimization of the application which includes a plurality of optimization steps comprising:

initiating a measurement of an operational metric of the application while the application is operating in accordance with a runtime configuration,

sending, to the optimizer system, measurement results of the operational metric of the application,

performing, based on the measurement results of the operational metric of the application, an update of the application by patching one or more objects of the application to effect changes to the application settings, and

sending, to the optimizer system, patching results of the one or more objects of the application to complete the update of the application; and

receive, from the optimizer system, an indication that the optimization of the application is complete.

9. The apparatus as in claim 8 , further comprising:

sending, from the apparatus and to the application monitoring system, a query requesting the operational metrics associated with the application.

10. The apparatus as in claim 8 , further comprising:

sending, from the apparatus and to the application, a query requesting the application settings associated with the application.

11. The apparatus as in claim 8 , wherein initiating the measurement of the operational metric of the application while the application is operating in accordance with the runtime configuration comprises:

receiving, at the apparatus and from the optimizer system, an instruction to initiate the measurement of the operational metric of the application.

12. The apparatus as in claim 8 , wherein initiating the measurement of the operational metric of the application while the application is operating in accordance with the runtime configuration comprises:

sending, from the apparatus and to an application monitoring system, a query requesting the operational metric of the application while the application is operating in accordance with the runtime configuration.

13. The apparatus as in claim 8 , wherein performing the update of the application by patching the one or more objects of the application to effect changes to the application settings comprises:

receiving, at the apparatus and from the optimizer system, an instruction to update the application.

14. The apparatus as in claim 8 , wherein the plurality of optimization steps are repeated a plurality of times by the apparatus prior to receiving the indication that the optimization of the application is complete from the optimizer system.

15. A tangible, non-transitory, computer-readable medium storing program instructions that cause a network device to execute a process comprising:

providing, by the network device executing a servo component and to an optimizer system, an indication of application settings and operational metrics associated with an application to be optimized, wherein the operational metrics are obtained from an application monitoring system

initiating, by the network device and based on instructions received from the optimizer system, optimization of the application which includes a plurality of optimization steps comprising:

initiating, by the network device, a measurement of an operational metric of the application while the application is operating in accordance with a runtime configuration,

sending, from the network device and to the optimizer system, measurement results of the operational metric of the application,

performing, by the network device and based on the measurement results of the operational metric of the application, an update of the application by patching one or more objects of the application to effect changes to the application settings, and

sending, from the network device and to the optimizer system, patching results of the one or more objects of the application to complete the update of the application; and

receiving, at the network device and from the optimizer system, an indication that the optimization of the application is complete.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2023
From: DATAGRID SYSTEMS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 064692/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2023
From: SCHIBLER, ROSS; NICKOLOV, PETER; QUINTERO, STEPHEN
To: DATAGRID SYSTEMS, INC.
Reel/Frame 063270/0384 →
Continuity (8)
Continuation 17546176 · Dec 9, 2021
Continuation 17000313 · Aug 22, 2020
Continuation 16435516 · Jun 9, 2019
Continuation In Part 16197273 · Nov 20, 2018
Continuation 15219789 · Jul 26, 2016
Provisional Application 62682869 · Jun 9, 2018
Provisional Application 62197141 · Jul 27, 2015
Related Publication 20230318952A1 · Oct 5, 2023
References Cited (39)
US 7694291B2 · Chen et al. · 2010 [cited by applicant]
US 8578348B2 · Fliess et al. · 2013 [cited by applicant]
US 8752034B2 · Gounares et al. · 2014 [cited by applicant]
US 9239750B1 · Lakshminarayanan et al. · 2016 [cited by applicant]
US 9436589B2 · Li et al. · 2016 [cited by applicant]
US 10142204B2 · Nickolov et al. · 2018 [cited by applicant]
US 10608911B2 · Nickolov et al. · 2020 [cited by applicant]
US 10756995B2 · Schibler et al. · 2020 [cited by applicant]
US 11038784B2 · Nickolov et al. · 2021 [cited by applicant]
US 20040054992A1 · Nair · 2004 [cited by examiner]
US 20110289517A1 · Sather et al. · 2011 [cited by applicant]
US 20120017218A1 · Branson · 2012 [cited by examiner]
US 20120117203A1 · Taylor · 2012 [cited by examiner]
US 20140012945A1 · Barnhill, Jr. et al. · 2014 [cited by applicant]
US 20150088772A1 · Shwartz et al. · 2015 [cited by applicant]
US 20160135104A1 · Lau · 2016 [cited by examiner]
US 20160378550A1 · Bertran Monfort · 2016 [cited by examiner]
US 20170034023A1 · Nickolov et al. · 2017 [cited by applicant]
US 20170257303A1 · Boyapalle et al. · 2017 [cited by applicant]
US 20190097907A1 · Nickolov et al. · 2019 [cited by applicant]
US 20190312800A1 · Schibler et al. · 2019 [cited by applicant]
US 20200204468A1 · Nickolov et al. · 2020 [cited by applicant]
US 20200396148A1 · Schibler et al. · 2020 [cited by applicant]
WO 2017019684A1 · 2017 [cited by applicant]
WO 2019237094A1 · 2019 [cited by applicant]
Watters, Blake. “README.md”, Opsani Servox repository. GitHub, Jun. 30, 2020. Accessed May 22, 2025. <https://github.com/opsani/servox/commit/11a7fe182191886f65b5896912d0001384a7d965>. 11 pages. (Year: 2020). [cited by examiner]
Non-Final Office Action, U.S. Appl. No. 16/197,273, mailed Jul. 17, 2019, 5 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 16/806,112, mailed on Sep. 29, 2020, 8 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/000,313, dated Sep. 2, 2021, 7 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 15/219,789, mailed Jul. 16, 2018, 11 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/197,273, mailed Nov. 22, 2019. 5 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/435,516, mailed on Apr. 21, 2020, 7 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/806,112, mailed on Feb. 16, 2021, 5 pages. [cited by applicant]
Notice of Publication, U.S. Appl. No. 15/219,789, Publication No. 2017-0034012-A1, Publication date Feb. 2, 2017. [cited by applicant]
Notice of Publication, U.S. Appl. No. 16/197,273, Publication No. 2019-0097907-A1, Published on Nov. 20, 2018. [cited by applicant]
Notice of Publication, U.S. Appl. No. 16/435,516, mailed Oct. 13, 2020, 1 page. [cited by applicant]
Notice of Publication, U.S. Appl. No. 16/806,112, Publication No. 2020-0204468-A1, Published on Jun. 25, 2020. [cited by applicant]
PCT International Search Report, PCT Application No. PCT/US2016/044040 based on U.S. Appl. No. 15/219,789, International Filing Date Jul. 26, 2016, Search report mailed Oct. 5, 2016. [cited by applicant]
PCT International Search Report, PCT/US2019/036200 mailed Sep. 26, 2019, 3 pages. [cited by applicant]