IP Library › Granted Patent US 11,252,025
Granted Patent B2
US 11,252,025 · App. 16/887,015 · Granted Feb 15, 2022

Model driven configuration management for microservices

Inventors: Chandrasekhar A (Bangalore, IN); Patricio Giecco (Upland, CA); Sri Sampath Mallipudi (Bengaluru, IN)
Assignee: Juniper Networks, Inc.
H04L41/0803
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,252,025
App. No.
16/887,015
Granted
Feb 15, 2022
Kind
B2
Abstract

A centralized configuration management system (CCM) may receive, from an NMS device, a request concerning a configuration for a microservice associated with the NMS device. The CCM may identify, based on the request, a first data model associated with default configuration information. The CCM may identify, based on the request, a second data model associated with customized configuration information. The CCM may generate, based on the first data model and the second data model, a response that includes at least one configuration parameter. The CCM may send the response to the NMS device to allow the microservice to be configured based on the at least one configuration parameter.

Claims (98)

1. A method, comprising:

receiving, by a device and from a network management system (NMS) device, a request concerning a configuration for a microservice associated with the NMS device;

identifying, by the device and based on the request, a first data model associated with default configuration information,

wherein the first data model is used to provide an initial configuration of the microservice, and

wherein the first data model includes a first hierarchical structure having a first set of constructs;

identifying, by the device and based on the request, a second data model associated with customized configuration information,

wherein the second data model is used to provide a customization to the initial configuration of the microservice, and

wherein the second data model includes a second hierarchical structure having a second set of constructs;

traversing, by the device, the first data model and the second data model to identify a configuration parameter that corresponds to at least one of a first construct of the first set of constructs or a second construct of the second set of constructs;

generating, by the device and based on traversing the first data model and the second data model, a response that includes the configuration parameter; and

sending, by the device, the response to the NMS device to allow the microservice to be configured based on the configuration parameter.

2. The method of claim 1 , wherein the device receives the request and sends the response via a Network Configuration Protocol (NETCONF) application programming interface, and

wherein the request includes information indicating a configuration capability of the microservice and a configuration request for the microservice.

3. The method of claim 1 , wherein the first data model and the second data model are stored as respective Yet Another Next Generation (YANG) data models in a data structure associated with the device.

4. The method of claim 1 , wherein generating the response comprises:

identifying a first leaf of the first data model,

wherein the first leaf constitutes the first construct;

determining that the second data model does not include a second leaf that corresponds to the first leaf of the first data model; and

generating, based on identifying the first leaf of the first data model and determining that the second data model does not include the second leaf that corresponds to the first leaf of the first data model, the response to include the configuration parameter,

wherein the configuration parameter is associated with the first leaf of the first data model.

5. The method of claim 1 , wherein generating the response comprises:

identifying a first leaf of the first data model and a corresponding second leaf of the second data model,

wherein the first leaf constitutes the first construct, and the corresponding second leaf constitutes the second construct; and

generating, based on identifying the first leaf of the first data model and the corresponding second leaf of the second data model, the response to include the configuration parameter and not a configuration parameter associated with the first leaf of the first data model,

wherein the configuration parameter is associated with the corresponding leaf of the second data model.

6. The method of claim 1 , wherein generating the response comprises:

identifying a first list of the first data model and a corresponding second list of the second data model,

wherein the first list constitutes a third construct, of the first set of constructs, and the corresponding second list constitutes a fourth construct, of the second set of constructs; and

generating, based on identifying the first list of the first data model and the second corresponding list of the second data model, the response to further include a configuration parameter list that includes at least one element of the first list of the first data model and at least one element of the second list of the second data model.

7. The method of claim 1 , wherein generating the response comprises:

identifying a choice of the first data model;

determining, based on identifying the choice of the first data model, that a case of the choice is a default case,

wherein the case of the choice constitutes the first construct; and

generating, based on determining that the case of the choice is the default case, the response to include a plurality of configuration parameters associated with the case,

wherein the plurality of configuration parameters includes the configuration parameter.

8. The method of claim 1 , wherein generating the response comprises:

identifying a choice of the first data model and a case of the choice,

wherein the choice constitutes the first construct; and

generating, based on identifying the choice and the case of the choice, the response to include one or more configuration parameters associated with the choice,

wherein the one or more configuration parameters include the configuration parameter.

9. The method of claim 1 , wherein generating the response comprises:

identifying a conditional statement of the first data model,

wherein the conditional statement constitutes the first construct;

determining that the conditional statement is satisfied; and

generating, based on determining that the conditional statement is satisfied, the response to include the configuration parameter,

wherein the configuration parameter is associated with the conditional statement.

10. A device, comprising:

one or more memories; and

one or more processors to:

identify a first data model associated with a default configuration group;

generate, based on the first data model, a default configuration group file;

receive a request concerning a configuration for a microservice associated with a network management system (NMS) device;

identify, based on the request, a second data model associated with default configuration information,

wherein the second data model is used to provide an initial configuration of the microservice, and

wherein the second data model includes a second hierarchical structure having a second set of constructs;

identify, based on the request, a third data model associated with customized configuration information,

wherein the third data model is used to provide a customization to the initial configuration of the microservice, and

wherein the third data model includes a third hierarchical structure having a third set of constructs;

traverse the first data model and the second data model to identify a configuration parameter that corresponds to at least one of a first construct of the first set of constructs or a second construct of the second set of constructs;

generate, based on traversing the second data model and the third data model, a response that includes the configuration parameter for the microservice associated with the NMS device; and

send the response to the NMS device.

11. The device of claim 10 , wherein the request is a Network Configuration Protocol (NETCONF) message or a RESTCONF message.

12. The device of claim 10 , wherein the first data model, the second data model, and the third data model are tree-structured data models.

13. The device of claim 10 , wherein the one or more processors are further to:

identify a first leaf of the first data model

wherein the first leaf constitutes the first construct; and

wherein the one or more processors, when generating the default configuration group file, are to:

generate a second leaf in the default configuration group file that includes the configuration parameter,

wherein the configuration parameter is associated with the first leaf of the first data model.

14. The device of claim 10 , wherein the one or more processors are further to:

identify a container of the first data model;

determine that a child, of one or more children of the container, is associated with the configuration parameter,

wherein the child constitutes the first construct; and

wherein the one or more processors, when generating the default configuration group file, are to:

add the container to the default configuration group file.

15. The device of claim 10 , wherein the one or more processors are further to:

identify a list of the first data model,

wherein the list constitutes a third construct, of the first set of constructs; and

wherein the one or more processors, when generating the default configuration group file, are to:

add a wildcard expression associated with the list to the default configuration group file.

16. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:

receive, from a network management system (NMS) device, a request concerning a configuration for a microservice;

identify, based on the request, a first data model associated with default configuration information,

wherein the first data model is used to provide an initial configuration of the microservice, and

wherein the first data model includes a first hierarchical structure having a first set of constructs;

identify, based on the request, a second data model associated with customized configuration information,

wherein the second data model is used to provide a customization to the initial configuration of the microservice, and

wherein the second data model includes a second hierarchical structure having a second set of constructs;

traverse the first data model and the second data model to identify a configuration parameter that corresponds to at least one of a first construct of the first set of constructs or a second construct of the second set of constructs;

generate, based on traversing the first data model and the second data model, a response that includes the configuration parameter; and

send the response to the NMS device.

17. The non-transitory computer-readable medium of claim 16 , wherein the request and the response are Network Configuration Protocol (NETCONF) messages.

18. The non-transitory computer-readable medium of claim 16 , wherein the first data model and the second data model are Yet Another Next Generation (YANG) data models.

19. The non-transitory computer-readable medium of claim 16 , wherein the first hierarchical structure corresponds to the second hierarchical structure.

20. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

identify a third data model associated with a default configuration group; and

generate, based on the third data model, a default configuration group file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2020
From: A, CHANDRASEKHAR; GIECCO, PATRICIO; MALLIPUDI, SRI SAMPATH
To: JUNIPER NETWORKS, INC.
Reel/Frame 052784/0554 →
Priority Claims (1)
IN 202041016447 · Apr 16, 2020 · national
Continuity (1)
Related Publication 20210328863A1 · Oct 21, 2021
Cited By (1)
US 12,712,948