IP Library Granted Patent US 12,388,736
Granted Patent B2
US 12,388,736 · App. 18/455,422 · Granted Aug 12, 2025

Rules driven software deployment agent

Inventors: Osman Sarood (San Jose, CA); Randall Frei (San Jose, CA); Robert J. Friday (Los Gatos, CA); Keh-Ming Luoh (Fremont, CA)
Assignee: Juniper Networks, Inc.
H04L43/0817G06F8/65H04L41/082H04L41/0894H04L43/08H04L43/12H04L63/02
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,388,736
App. No.
18/455,422
Granted
Aug 12, 2025
Kind
B2
Abstract

The disclosed embodiments provide for rules-based deployment of software installations. In some aspects, operational parameters for a computer system are monitored over time to generate a historical database of values for the operational parameters. The computer system may include multiple instances of a software installation. A portion of the multiple instances is updated with a new version of software. The operational parameters are then monitored to quantify whether the new version results in an improvement or degradation of performance of the computer system. The improvement or degradation is based on comparing values of the operational parameters after deployment to their historical values. Depending on the evaluation of the operational parameters after the installation, the installation may be rolled back if a degradation is indicated. Otherwise, the new software version may be propagated to additional installation instances.

Claims (51)

1. A method, comprising:

receiving, by a computing device and from a network management server, a notification of an availability of configuration data;

monitoring, by the computing device and based on the notification of the availability of configuration data, one or more operational parameters of a network device of a set of network devices for a deployment of the configuration data to the network device, wherein an operational parameter of the one or more operational parameters comprises a value indicative of a performance of a network, the performance of the network associated with the deployment of the configuration data to the network device; and

performing, by the computing device and based on evaluating whether a criterion indicative of a change in performance of the network for at least one of the one or more operational parameters resulting from the deployment of the configuration data is met, an action.

2. The method of claim 1 , wherein the network device is a first network device, and wherein performing the action comprises performing at least one of:

a roll back of the configuration data,

a deployment of the configuration data to a second network device of the set of network devices, or

an end to deployment of the configuration data.

3. The method of claim 1 , wherein the network device is a first network device, and wherein performing the action comprises at least one of:

outputting an indication to roll back the configuration data,

outputting an indication to deploy the configuration data to a second network device of the set of network devices, or

outputting an indication to end deployment of the configuration data.

4. The method of claim 1 , wherein the criterion specifies a relationship between a contemporaneous measurement of the at least one of the one or more operational parameters and a historical measurement of the at least one of the one or more operational parameters.

5. The method of claim 4 , wherein performing the action comprises:

determining, by the computing device, the relationship between the contemporaneous measurement of the at least one of the operational parameters and the historical measurement of the at least one of the one or more operational parameters indicates that the configuration data deployed to the network device results in no substantial or significant improvement in the performance of the network; and

performing an end to deployment of the configuration data.

6. The method of claim 1 , wherein receiving the notification of the availability of configuration data comprises:

obtaining, by the computing device, the configuration data; and

deploying, by the computing device, the configuration data to the network device.

7. The method of claim 1 , wherein performing the action is based on one or more rules identifying the one or more operational parameters.

8. The method of claim 1 , wherein performing the action is based on an input provided by a user associated with the computing device.

9. The method of claim 1 , wherein the one or more operational parameters include one or more of CPU utilization, memory utilization, I/O channel utilization, network utilization, latency, throughput, or location accuracy jitter.

10. A computing device comprising processing circuitry having access to a storage device, the processing circuitry configured to:

receive, from a network management server, a notification of an availability of configuration data;

monitor, based on the notification of the availability of configuration data, one or more operational parameters of a network device of a set of network devices for a deployment of the configuration data to the network device, wherein an operational parameter of the one or more operational parameters comprises a value indicative of a performance of a network, the performance of the network associated with the deployment of the configuration data to the network device; and

perform, based on evaluating whether a criterion indicative of a change in performance of the network for at least one of the one or more operational parameters resulting from the deployment of the configuration data is met, an action.

11. The computing device of claim 10 , wherein the network device is a first network device, and wherein to perform the action, the processing circuitry is configured to perform at least one of:

a roll back of the configuration data,

a deployment of the configuration data to a second network device of the set of network devices, or

an end of deployment of the configuration data.

12. The computing device of claim 11 , wherein the criterion is based on a deviation from system performance when compared to historical norms, and wherein the processing circuitry is configured to perform the end of deployment of the configuration data based on a neutral deviation of system performance when compared to historical norms indicating that the configuration data deployed to the first network device results in no substantial or significant improvement in the performance of the network.

13. The computing device of claim 10 , wherein the network device is a first network device, and wherein to perform the action, the processing circuitry is configured to perform at least one of:

output an indication to roll back the configuration data,

output an indication to deploy the configuration data to a second network device of the set of network devices, or

output an indication to end deployment of the configuration data.

14. The computing device of claim 10 , wherein to receive the notification of the availability of configuration data, the processing circuitry is configured to:

obtain the configuration data; and

deploy the configuration data to the network device.

15. The computing device of claim 10 , wherein the processing circuitry is configured to perform the action based on an input provided by a user associated with the computing device.

16. A computing system comprising processing circuitry having access to a storage device, the processing circuitry configured to:

receive, by a computing device and from a network management server, a notification of an availability of configuration data;

monitor, by the computing device and based on the notification of the availability of configuration data, one or more operational parameters of a network device of a set of network devices for a deployment of the configuration data to the network device, wherein an operational parameter of the one or more operational parameters comprises a value indicative of a performance of a network, the performance of the network associated with the deployment of the configuration data to the network device; and

perform, by the computing device and based on evaluating whether a criterion indicative of a change in performance of the network for at least one of the one or more operational parameters resulting from the deployment of the configuration data is met, an action.

17. The computing system of claim 16 , wherein the network device is a first network device, and wherein to perform the action, the processing circuitry is configured to perform at least one of:

output an indication to roll back of the configuration data,

output an indication to deploy the configuration data to a second network device of the set of network devices, or

output an indication to end deployment of the configuration data.

18. The computing system of claim 16 , wherein the criterion is based on a deviation from system performance when compared to historical norms, and wherein to perform the action, the processing circuitry is configured to end deployment of the configuration data based on a neutral deviation of system performance when compared to historical norms indicating that the configuration data deployed to the network device results in no substantial or significant improvement in the performance of the network.

19. The computing system of claim 16 , wherein the processing circuitry is further configured to:

output, by the computing device to the network management server, status information associated with the change in performance of the network.

20. The computing system of claim 16 , wherein the network management server is prevented from monitoring the one or more operational parameters by a restricted access-controlled network path.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: JUNIPER NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0034 →
Continuity (4)
Continuation 17457602 · Dec 3, 2021
Continuation 16728464 · Dec 27, 2019
Provisional Application 62865251 · Jun 23, 2019
Related Publication 20230403194A1 · Dec 14, 2023
References Cited (47)
US 9262145B2 · Grimme et al. · 2016 [cited by applicant]
US 9311066B1 · Garman et al. · 2016 [cited by applicant]
US 9471455B2 · Horn et al. · 2016 [cited by applicant]
US 9769139B2 · Chizhov et al. · 2017 [cited by applicant]
US 10248404B2 · Garman et al. · 2019 [cited by applicant]
US 10289403B1 · Krishnaswamy et al. · 2019 [cited by applicant]
US 11206185B2 · Sarood et al. · 2021 [cited by applicant]
US 11777802B2 · Sarood et al. · 2023 [cited by applicant]
US 20030172145A1 · Nguyen · 2003 [cited by examiner]
US 20040261070A1 · Miller · 2004 [cited by examiner]
US 20060143144A1 · Speeter · 2006 [cited by examiner]
US 20080141240A1 · Uthe · 2008 [cited by applicant]
US 20080281956A1 · Madej · 2008 [cited by applicant]
US 20080301765A1 · Nicol · 2008 [cited by examiner]
US 20100138696A1 · Dehaan · 2010 [cited by examiner]
US 20140143400A1 · Sutherland et al. · 2014 [cited by applicant]
US 20140244799A1 · Kundgol et al. · 2014 [cited by applicant]
US 20140258128A1 · Lei · 2014 [cited by examiner]
US 20160055077A1 · Baloch · 2016 [cited by examiner]
US 20160164957A1 · Leemet · 2016 [cited by examiner]
US 20170031671A1 · Joshi · 2017 [cited by examiner]
US 20170078366A1 · Jung · 2017 [cited by examiner]
US 20170344702A1 · Shah · 2017 [cited by examiner]
US 20170344703A1 · Ansari · 2017 [cited by examiner]
US 20190034194A1 · Fox · 2019 [cited by applicant]
US 20190044999A1 · Jung · 2019 [cited by examiner]
US 20190138295A1 · Agerstam et al. · 2019 [cited by applicant]
US 20200019393A1 · Vichare · 2020 [cited by examiner]
US 20200057625A1 · Livne · 2020 [cited by examiner]
US 20200201292A1 · Cella · 2020 [cited by examiner]
CN 103907091A · 2014 [cited by applicant]
CN 105900397A · 2016 [cited by applicant]
JP 2021002325A · 2021 [cited by applicant]
“Australian Application Serial No. 2020201178, First Examination Report mailed Sep. 2, 2020”, 6 pgs. [cited by applicant]
“Australian Application Serial No. 2020201178, Response filed Dec. 10, 2020 to First Examination Report mailed Sep. 2, 2020”, 23 pgs. [cited by applicant]
“Australian Application Serial No. 2020201178, Subsequent Examiners Report mailed Dec. 23, 2020”, 5 pgs. [cited by applicant]
“European Application Serial No. 20165756.6, Extended European Search Report mailed Aug. 28, 2020”, 11 pgs. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20165756.6 dated Mar. 21, 2023, 7 pp. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20165756.6 dated May 2, 2022, 6 pp. [cited by applicant]
First Office Action and Search Report, and translation thereof, from counterpart Chinese Application No. 202010225066.6 dated Jan. 4, 2023, 8 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/728,464, dated Apr. 28, 2021 through Aug. 26, 2021, 32 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 17/457,602, now issued U.S. Pat. No. 11,777,802, dated Dec. 1, 2022 through Aug. 30, 2023, 42 pp. [cited by applicant]
Response to Communication pursuant to Article 94(3) EPC dated Mar. 21, 2023, from counterpart European Application No. 20165756.6 filed Jul. 19, 2023, 10 pp. [cited by applicant]
Response to Extended Search Report dated May 2, 2022, from counterpart European Application No. 20165756.6 filed Sep. 1, 2022, 12 pp. [cited by applicant]
Response to the Extended European Search Report mailed Aug. 28, 2020 in counterpart European Application Serial No. 20165756.6, filed Jun. 29, 2021, 22 pp. [cited by applicant]
Notice of Intent to Grant and Text Intended to Grant from counterpart European Application No. 20165756.6 dated Oct. 24, 2024, 84 pp. [cited by applicant]
Extended Search Report from counterpart European Application No. 25160348.6 dated May 27, 2025, 18 pp. [cited by applicant]