IP Library › Granted Patent US 11,140,031
Granted Patent B2
US 11,140,031 · App. 16/523,786 · Granted Oct 5, 2021

Intent aware contextual device configuration backup and restore

Inventors: Jayanthi R (Coimbatore, IN); Rahamath Sharif (Bangalore, IN); Chandrasekhar A (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L41/0816H04L41/0695H04L41/0836H04L41/0843H04L41/5009
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 11,140,031
App. No.
16/523,786
Granted
Oct 5, 2021
Kind
B2
Abstract

An example controller device that manages a plurality of network devices includes one or more processing units implemented in circuitry and configured to: obtain device-level configuration information from a network device of the plurality of network devices at a first time; determine one or more out-of-band (OOB) configuration changes between the device-level configuration information from the network device and previous device-level intent configuration information compiled from one or more intents maintained by the controller device to manage the plurality of network devices; and store the one or more OOB configuration changes associated with the network device in incremental deltas.

Claims (66)

1. A method comprising:

obtaining, by a controller device that manages a plurality of network devices, device-level configuration information from a network device of the plurality of network devices at a first time;

determining, by the controller device, one or more out-of-band (OOB) configuration changes between the device-level configuration information from the network device and previous device-level intent configuration information compiled from one or more intents maintained by the controller device to manage the plurality of network devices;

storing, by the controller device, the one or more OOB configuration changes associated with the network device;

determining, by the controller device, one or more configuration paths for the one or more OOB configurations changes;

determining, by the controller device, whether the one or more configuration paths are independent of the previous device-level intent configuration information compiled from the one or more intents; and

in response to determining that the one or more configuration paths are not independent of the previous device-level intent configuration information compiled from the one or more intents, storing, by the controller device, one or more overlapping resources for the one or more OOB configurations changes.

2. The method of claim 1 , further comprising:

obtaining, by the controller device, second device-level configuration information from the network device of the plurality of network devices at a second time, after the first time;

determining, by the controller device, second one or more OOB configuration changes between the second device-level configuration information from the network device and the previous device-level intent configuration information;

determining, by the controller device, one or more incremental OOB configuration differences between the second one or more OOB configuration changes and the one or more OOB configuration changes; and

storing, by the controller device, the one or more incremental OOB configuration differences associated with the network device.

3. The method of claim 2 , further comprising:

obtaining, by the controller device, third device-level configuration information from the network device of the plurality of network devices at a third time, after the second time;

determining, by the controller device, third one or more OOB configuration changes between the third device-level configuration information from the network device and the previous device-level intent configuration information;

determining, by the controller device, second one or more incremental OOB configuration differences between the third one or more OOB configuration changes and the second one or more OOB configuration changes; and

storing, by the controller device, the second one or more incremental OOB configuration differences associated with the network device.

4. The method of claim 3 , wherein the first time, second time, and the third time are separated by the same duration of time.

5. The method of claim 3 , wherein the one or more incremental OOB configuration differences is stored in a first Extensible Markup Language Document Object Model (XML DOM) and the second one or more incremental OOB configuration differences is stored in a second XML DOM, different than the first XML DOM.

6. The method of claim 1 , further comprising:

storing, by the controller device, the previous device-level intent configuration information compiled from the one or more intents at a time before the first time.

7. The method of claim 6 , wherein the previous device-level intent configuration information is stored separate from the one or more OOB configuration changes associated with the network device.

8. The method of claim 1 , further comprising:

in response to detecting a functional audit failure, restoring, by the controller device, the network device, including:

obtaining, by the controller device, the previous device-level intent configuration information compiled from one or more intents;

obtaining, by the controller device, the one or more OOB configuration changes;

merging, by the controller device, the previous device-level intent configuration information with the one or more OOB configuration changes;

configuring, by the controller device, the network device with the merged configuration information.

9. The method of claim 1 , further comprising:

comparing a first backed up configuration and a second backed up configuration, including merging one or more incremental OOB configuration changes in all backed up configuration versions after the first backed up configuration to the second backed up configuration.

10. The method of claim 1 , further comprising:

obtaining, by the controller device, the previous device-level intent configuration information compiled from one or more intents;

obtaining, by the controller device, first one or more incremental OOB configuration differences and second one or more incremental OOB configuration differences;

merging, by the controller device, the previous device-level intent configuration information with OOB configuration information including the first one or more incremental OOB configuration differences and the second one or more incremental OOB configuration differences;

configuring, by the controller device, the network device with the merged configuration information.

11. The method of claim 10 , wherein:

the one or more incremental OOB configuration differences is stored in a first XML DOM,

the second one or more incremental OOB configuration differences is stored in a second XML DOM, different than the first XML DOM, and

merging the one or more OOB configuration information with the second one or more OOB configuration changes includes consolidating a same node from a first XML DOM and from the second XML DOM.

12. The method of claim 10 , wherein:

the one or more incremental OOB configuration differences is stored in a first XML DOM,

the second one or more incremental OOB configuration differences is stored in a second XML DOM, different than the first XML DOM, and

merging the OOB configuration information includes consolidating a parent node from the first XML DOM and a child node from the second XML DOM.

13. The method of claim 10 , wherein

the one or more incremental OOB configuration differences is stored in a first XML DOM,

the second one or more incremental OOB configuration differences is stored in a second XML DOM, different than the first XML DOM, and

merging the OOB configuration information includes consolidating a parent node from the second XML DOM and a child node from the first XML DOM.

14. The method of claim 10 , further comprising:

determining, by the controller device, one or more overlapping resources is missing from the merged configuration information; and

notifying, by the controller device in response to determining the overlapping resource is missing, a user of the network device for corrective action before configuring the network device with the merged configuration information.

15. The method of claim 10 , wherein configuring the network device with the merged configuration information includes pushing, by the controller device, one or more overlapping resources to the network device.

16. The method of claim 15 , wherein the one or more overlapping resources to the network device comprises one or more resources used by the previous device-level intent configuration information and the merged one or more OOB configuration changes.

17. A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a controller device that manages a plurality of network devices to:

obtain device-level configuration information from a network device of the plurality of network devices at a first time;

determine one or more out-of-band (OOB) configuration changes between the device-level configuration information from the network device and the previous device-level intent configuration information compiled from one or more intents maintained by the controller device to manage the plurality of network devices;

store the one or more OOB configuration changes associated with the network device;

determine one or more configuration paths for the one or more OOB configurations changes;

determine whether the one or more configuration paths are independent of the previous device-level intent configuration information compiled from the one or more intents; and

in response to determining that the one or more configuration paths are not independent of the previous device-level intent configuration information compiled from the one or more intents, store one or more overlapping resources for the one or more OOB configurations changes.

18. A controller device that manages a plurality of network devices, the controller device comprising one or more processing units implemented in circuitry and configured to:

obtain device-level configuration information from a network device of the plurality of network devices at a first time;

determine one or more out-of-band (OOB) configuration changes between the device-level configuration information from the network device and the previous device-level intent configuration information compiled from one or more intents maintained by the controller device to manage the plurality of network devices;

store the one or more OOB configuration changes associated with the network device;

determine one or more configuration paths for the one or more OOB configurations changes;

determine whether the one or more configuration paths are independent of the previous device-level intent configuration information compiled from the one or more intents; and

in response to determining that the one or more configuration paths are not independent of the previous device-level intent configuration information compiled from the one or more intents, store one or more overlapping resources for the one or more OOB configurations changes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2019
From: R, JAYANTHI; SHARIF, RAHAMATH; A, CHANDRASEKHAR
To: JUNIPER NETWORKS, INC.
Reel/Frame 049876/0955 →
Continuity (1)
Related Publication 20210028980A1 · Jan 28, 2021
Cited By (1)
US 12,375,349