IP Library Granted Patent US 11,451,440
Granted Patent B1
US 11,451,440 · App. 17/448,339 · Granted Sep 20, 2022

Sharing configuration resources for network devices among applications

Inventors: Raviraj Satish Deshmukh (Pune, IN); Pradeep H. Krishnamurthy (Bangalore, IN); Varun S K (Shikaripur, IN)
Assignee: Juniper Networks, Inc.
H04L41/0816H04L41/0226H04L41/0843H04L41/0859H04L41/0873H04L41/0883H04L45/02H04L45/24
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,451,440
App. No.
17/448,339
Granted
Sep 20, 2022
Kind
B1
Abstract

In an example, a method includes receiving, by a network management system (NMS), a configuration request comprising first configuration data for a network device, the first configuration data defining a data structure comprising a first property/value pair; generating, by the NMS from the first configuration data, a corresponding first path/value pair for the first property/value pair, wherein a path of the first path/value pair uniquely identifies the first path/value pair in an associative data structure; modifying, by the NMS, the associative data structure based on the first path/value pair; generating, by the NMS, from the associative data structure, a configuration resource comprising second configuration data for the network device, the second configuration data comprising a second property/value pair that corresponds to the first path/value pair; and sending, by the NMS, the second configuration data to the network device to modify a configuration of the network device.

Claims (90)

1. A network management system comprising:

a control unit comprising processing circuitry coupled to a memory, wherein the control unit is configured to:

receive a configuration request comprising first configuration data for a network device, the first configuration data defining a data structure comprising a first property/value pair;

generate, from the first configuration data, a corresponding first path/value pair for the first property/value pair, wherein a path of the first path/value pair uniquely identifies the first path/value pair in an associative data structure;

modify the associative data structure based on the first path/value pair;

generate, from the associative data structure, a configuration resource comprising second configuration data for the network device, the second configuration data comprising a second property/value pair that corresponds to the first path/value pair; and

send the second configuration data to the network device to modify a configuration of the network device.

2. The network management system of claim 1 ,

wherein the configuration request comprises an application identifier for an application that issued the configuration request, and

wherein to modify the associative data structure to include the first path/value pair, the control unit is configured to:

modify the associative data structure to associate the first path/value pair with the application identifier.

3. The network management system of claim 2 ,

wherein the configuration request comprises a first configuration request, and

wherein the control unit is configured to:

receive a second configuration request to delete configuration data, the second configuration request comprising the application identifier for the application;

obtain, from the associative data structure based on the application identifier, an obtained path/value pair that is associated with the application identifier; and

in response to determining the obtained path/value pair is also associated with an application identifier for a different application, deleting the association of the application identifier with the obtained path/value pair.

4. The network management system of claim 2 ,

wherein the configuration request comprises a first configuration request, and

wherein the control unit is configured to:

receive a second configuration request to delete configuration data, the second configuration request comprising the application identifier for the application;

obtain, from the associative data structure based on the application identifier, an obtained path/value pair that is associated with the application identifier;

in response to determining the obtained path/value pair is not associated with an application identifier for any other application, deleting the obtained path/value pair from the associative data structure;

generate, from the associative data structure with the obtained path/value pair deleted, an updated configuration resource comprising third configuration data for the network device; and

send the third configuration data to the network device to modify the configuration of the network device.

5. The network management system of claim 2 ,

wherein the application comprises a first application,

wherein the configuration request comprises a first configuration request, and

wherein the control unit is configured to:

receive a second configuration request to comprising third configuration data for the network device and an application identifier for a different, second application that issued the second configuration request, the third configuration data defining a data structure comprising a second property/value pair;

generate, from the third configuration data, a corresponding second path/value pair for the second property/value pair, wherein a path of the second path/value pair uniquely identifies the second path/value pair in the associative data structure; and

in response to determining, by querying the associative data structure, that the first path/value pair included in the associative data structure has a same path and a same value as the second path/value pair, modify the associative data structure to associate the first path/value pair with the application identifier for the second application.

6. The network management system of claim 2 ,

wherein the application comprises a first application,

wherein the configuration request comprises a first configuration request, and

wherein the control unit is configured to:

receive a second configuration request to comprising third configuration data for the network device and an application identifier for a different, second application that issued the second configuration request, the third configuration data defining a data structure comprising a second property/value pair;

generate, from the third configuration data, a corresponding second path/value pair for the second property/value pair, wherein a path of the second path/value pair uniquely identifies the second path/value pair in the associative data structure; and

in response to determining, by querying the associative data structure, that the first path/value pair included in the associative data structure has a same path and a different value as the second path/value pair, output an indication of an error.

7. The network management system of claim 1 , wherein to modify the associative data structure to include the first path/value pair, the control unit is configured to:

modify, in response to determining the associative data structure does not store the first path/value pair, the associative data structure to include the first path/value pair.

8. The network management system of claim 1 , wherein to generate the corresponding first path/value pair for the first property/value pair the control unit is configured to:

process the data structure to obtain a prefix string for the first property/value pair;

form the path of the first path/value pair from the prefix string and a property of the first property/value pair; and

form the value of the first path/value pair from the value of the first property/value pair.

9. The network management system of claim 1 , wherein to generate the corresponding first path/value pair for the first property/value pair the control unit is configured to:

process the data structure to use a schema for generic remote procedure call network management interface (gNMI) paths to form the path of the first path/value pair; and

form the value of the first path/value pair from the value of the first property/value pair.

10. The network management system of claim 1 , wherein to generate the configuration resource comprising second configuration data for the network device, the control unit is configured to:

obtain the first path/value pair from the associative data structure;

generate, from the first path/value pair, the second property/value pair; and

generate the second configuration data of the configuration resource to include the second property/value pair.

11. The network management system of claim 1 ,

wherein the configuration request comprises an application identifier for an application that issued the configuration request, and

wherein the control unit is configured to:

embed, in the second configuration data, a representation of the first path/value pair and the application identifier;

obtain, from the network device, after sending the second configuration data to the network device, the second configuration data; and

generate the associative data structure to include an association of the first path/value pair and the application identifier.

12. The network management system of claim 1 , wherein the second configuration data of the configuration resource is formatted according to one of Javascript Object Notation or eXtensible Markup Language.

13. The network management system of claim 1 ,

wherein the second configuration data configures, in the network device, a resource that corresponds to the configuration resource,

wherein a type of the resource comprises one of an interface, a routing instance, a network instance, or a protocol.

14. A method comprising:

receiving, by a network management system, a configuration request comprising first configuration data for a network device, the first configuration data defining a data structure comprising a first property/value pair;

generating, by the network management system from the first configuration data, a corresponding first path/value pair for the first property/value pair, wherein a path of the first path/value pair uniquely identifies the first path/value pair in an associative data structure;

modifying, by the network management system, the associative data structure based on the first path/value pair;

generating, by the network management system, from the associative data structure, a configuration resource comprising second configuration data for the network device, the second configuration data comprising a second property/value pair that corresponds to the first path/value pair; and

sending, by the network management system, the second configuration data to the network device to modify a configuration of the network device.

15. The method of claim 14 ,

wherein the configuration request comprises an application identifier for an application that issued the configuration request, and

wherein modifying the associative data structure to include the first path/value pair comprises modifying the associative data structure to associate the first path/value pair with the application identifier.

16. The method of claim 15 ,

wherein the configuration request comprises a first configuration request, the method further comprising:

receiving, by the network management system, a second configuration request to delete configuration data, the second configuration request comprising the application identifier for the application;

obtaining, by the network management system, from the associative data structure based on the application identifier, an obtained path/value pair that is associated with the application identifier; and

in response to determining the obtained path/value pair is also associated with an application identifier for a different application, deleting the association of the application identifier with the obtained path/value pair.

17. The method of claim 14 , wherein modifying the associative data structure to include the first path/value pair comprises modifying, in response to determining the associative data structure does not store the first path/value pair, the associative data structure to include the first path/value pair.

18. The method of claim 14 , wherein generating the corresponding first path/value pair for the first property/value pair comprises:

processing the data structure to obtain a prefix string for the first property/value pair;

forming the path of the first path/value pair from the prefix string and a property of the first property/value pair; and

forming the value of the first path/value pair from the value of the first property/value pair.

19. The method of claim 14 ,

wherein the second configuration data configures, in the network device, a resource that corresponds to the configuration resource,

wherein a type of the resource comprises one of an interface, a routing instance, a network instance, or a protocol.

20. A non-transitory computer-readable medium comprising instructions for causing processing circuitry of a network management system to perform operations comprising:

receiving a configuration request comprising first configuration data for a network device, the first configuration data defining a data structure comprising a first property/value pair;

generating, from the first configuration data, a corresponding first path/value pair for the first property/value pair, wherein a path of the first path/value pair uniquely identifies the first path/value pair in an associative data structure;

modifying the associative data structure based on the first path/value pair;

generating, from the associative data structure, a configuration resource comprising second configuration data for the network device, the second configuration data comprising a second property/value pair that corresponds to the first path/value pair; and

sending the second configuration data to the network device to modify a configuration of the network device.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded May 25, 2023
From: DESHMUKH, RAVIRAJ SATISH; KRISHNAMURTHY, PRADEEP H.; S K, VARUN
To: JUNIPER NETWORKS, INC.
Reel/Frame 063779/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: DESHMUKH, RAVIRAJ SATISH; KRISHNAMURTHY, PRADEEP H.; S K, VARUN
To: JUNIPER NETWORKS, INC.
Reel/Frame 057551/0434 →
Cited By (2)
US 12,562,962 US 12,671,628