Sign In to Follow Application
View All Documents & Correspondence

Auto Rendering Management Interfaces For Network Devices From A Data Model Centric Architecture

Abstract: The present invention is related to the field of networking and more particularly related to designing a rendering engine that automatically generates the Graphical User Interfaces (GUI) for configuring and managing network devices from data models based on YANG (Yet Another Next Generation) data modeling language. The invention is further related to the data models which define the configuration of data for the devices that need to be managed from the auto rendered GUI.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
09 March 2018
Publication Number
37/2019`
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
deepak@decilliondevices.com
Parent Application

Applicants

DECILLION DEVICES INDIA PRIVATE LIMITED
8-2-293/82/A/307/A, PLOT NO. 307/A, ROAD NUMBER 25, JUBILEE HILLS, HYDERABAD, TELANGANA, INDIA-500033

Inventors

1. SREENIVAS KERAVADI
8-2-293/82/A/307/A, PLOT NO. 307/A, ROAD NUMBER 25, JUBILEE HILLS, HYDERABAD, TELANGANA, INDIA-500033
2. VINAI KOLLI
8-2-293/82/A/307/A, PLOT NO. 307/A, ROAD NUMBER 25, JUBILEE HILLS, HYDERABAD, TELANGANA, INDIA-500033

Specification

DESC:FIELD OF THE INVENTION
The present invention is related to the field of networking. More specifically, it pertains to the configuration and management of the network devices from the data models based on YANG (Yet Another Next Generation).

BACKGROUND OF THE INVENTION

YANG (Yet Another Next Generation) is a data modeling language used to model configuration and state data of network-enabled devices. RFC 6020 defines the YANG specification. Devices can be configured using data sets presented in eXtensible Markup Language (XML) format and confirming to the YANG module specification.

NETCONF (Network Configuration Protocol) is a communication protocol used to create, modify and delete configuration instances confirming to data definitions specified by the YANG module over a network. The application issuing the request is the NETCONF client (manager) and the application processing the request is the NETCONF server (agent).

Every networking device has a lot of parameters to configure and it requires a great amount of engineering resources to build the graphical user interface (GUI) to configure these parameters. Any addition or deletion to the existing parameters or modification of its properties would require a corresponding change in the GUI. The YANG data model gives an opportunity to reduce the manual efforts in developing and maintaining the GUI. By mapping the YANG modeling components to GUI elements, this process can be automated. The advantage of doing this is that any change in the configuration parameters or their types or any other property of the parameter in the data model is automatically reflected in the GUI and no engineering costs are incurred in updating the GUI. Moreover, new GUI screens for new sub-systems and derived versions of the existing products are generated automatically which would not be the case without this invention.

It is apparent to the one skilled in the art that, NETCONF protocol and YANG data modeling language technologies were adopted by many companies, that built tools to configure and manage their devices and also developed some software to enable GUI based configuration of devices using NETCONF/YANG. These companies have also enhanced some public domain tools to display the contents of the YANG module in a browser. ‘pyang’ is an open source tool which was enhanced by Tail-f Systems to render the YANG module in the browser.

Yet, another example of developing a GUI based on the YANG module is the Netopeer-GUI, which was initiated by the CESNET.

BRIEF DESCRIPTION OF THE DRAWINGS
The above-mentioned and other features and advantages of this present disclosure, and the manner of attaining them, will become more apparent and the present disclosure will be better understood by reference to the following description of embodiments of the present disclosure taken in conjunction with the accompanying drawings, wherein:

Figure 1 is a block diagram of YANG Data Model structure; and

Figure 2 shows the “section block”, which contains the configuration attributes that need to be displayed in the GUI.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the exemplary embodiment(s) of the system. Before describing in detail embodiments that are in accordance with the present disclosure, it should be observed that the embodiments reside primarily in combinations of components of the system.

In this document, the terms "comprises," "comprising," or “including” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a system, method, article, device or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such system, method, article, device, or apparatus. An element proceeded by "comprises ...a" does not,
without more constraints, preclude the existence of additional identical elements in the process, product, method, article, device or apparatus that comprises the element.

Any embodiment described herein is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this detailed description are illustrative, and provided to enable persons skilled in the art to make or use the disclosure and not to limit the scope of the disclosure, which is defined by the claims.

It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the invention. Thus it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

In the following description, for the purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention can be practiced without these specific details. In other instances, structures and systems are shown in block diagram form only in order to avoid obscuring the present invention.

The present invention is particularly related to one way of auto rendering of the GUI based on the YANG module definitions. Moreover, the invention stipulates a procedure for defining the data in the YANG module that would allow a rendering engine parse that data and render the GUI. The invention also includes the rendering engine built specifically for this purpose. The various building blocks of the YANG module are identified and mapped to the GUI elements. The display text, the form elements, their data type, allowed maximum and minimum values, the default value, the candidate values for an enumeration data type, the help text associated with the parameter are all extracted from the YANG module and used in the rendering. The various parameters presented in the screen and their groupings are auto generated from the definitions of these parameters in the YANG module. The data type and range validation are also auto generated from the definition of the parameters in the YANG module. The JavaScript Object Notation (JSON) object which is built to contain the configured data for submitting the same to the server is also handled by the rendering engine. Further, any complex configuration object can also be converted to the normalized form required by the logic of this invention using some well defined rules.

Figure 1 shows the YANG Data Model structure, consisting of multiple sections, such as but not limited to, “Section A, Section B, Section C and so on” and the corresponding attributes, such as Attribute 1, Attribute 2, Attribute 3 and so on, in each section. Further, an attribute may contain simple data like a text, an integer or an array, as the sections are used to group related attributes.
Figure 2 shows the GUI Rendering from the module. The “section block” contains the configuration attributes that need to be displayed in the GUI. It is better explained with the following steps and flow diagram (Figure 2) explains how a device configuration section is rendered from the corresponding YANG module (Figure 1). The YANG module block, which is in in XML format, is converted to JSON using Xml2Js module. Each element in the file is parsed through reusable Grouping and Typedef blocks to map them based on their INET type definitions. Further, all the sections in the updated module are parsed in a loop, and the data in each section is rendered through an asynchronous operation using Promise APIs. This process ensures the value will be returned at some point in time without blocking the rendering of other sections and attributes.
,CLAIMS:WE CLAIM

1. A system for automatic rendering of at least one GUI element of a GUI for configuring and managing network devices, the system comprising:
a. A yang module, having at least one section, wherein each section comprises at least one attribute related to a data;
b. a rendering engine, enabled to parse the data from the at least one section of the yang module, wherein the rendering engine is enabled to determine the match of the least one GUI element of the GUI in response to the determination of the parsed data; and
c. a rendering module, enabled to render the at least one matched GUI element of the GUI in response to the match of the at least one the least one GUI element of the GUI in response to the determination of the parsed data, enabled for configuring and managing networking devices.

2. The system of claim 1, wherein the attribute is at least one of a display text, a form element, data type, at least one value, a default value, candidate values for an enumeration data type, help text associated with the parameter.

3. The system of claim 1, wherein the data type and range validation are auto generated from the at least one attribute of the YANG module.

4. The system of claim 1, wherein the at least one section of the YANG module is parsed in an asynchronous mode.

Documents

Application Documents

# Name Date
1 201841008787-STATEMENT OF UNDERTAKING (FORM 3) [09-03-2018(online)]_52.pdf 2018-03-09
2 201841008787-STATEMENT OF UNDERTAKING (FORM 3) [09-03-2018(online)].pdf 2018-03-09
3 201841008787-PROVISIONAL SPECIFICATION [09-03-2018(online)].pdf 2018-03-09
4 201841008787-POWER OF AUTHORITY [09-03-2018(online)].pdf 2018-03-09
5 201841008787-FORM FOR SMALL ENTITY(FORM-28) [09-03-2018(online)].pdf 2018-03-09
6 201841008787-FORM FOR SMALL ENTITY [09-03-2018(online)]_4.pdf 2018-03-09
7 201841008787-FORM FOR SMALL ENTITY [09-03-2018(online)].pdf 2018-03-09
8 201841008787-FORM 1 [09-03-2018(online)]_157.pdf 2018-03-09
9 201841008787-FORM 1 [09-03-2018(online)].pdf 2018-03-09
10 201841008787-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [09-03-2018(online)].pdf 2018-03-09
11 201841008787-EVIDENCE FOR REGISTRATION UNDER SSI [09-03-2018(online)]_5.pdf 2018-03-09
12 201841008787-EVIDENCE FOR REGISTRATION UNDER SSI [09-03-2018(online)].pdf 2018-03-09
13 201841008787-DRAWINGS [09-03-2018(online)].pdf 2018-03-09
14 201841008787-DECLARATION OF INVENTORSHIP (FORM 5) [09-03-2018(online)].pdf 2018-03-09
15 201841008787-OTHERS [06-03-2019(online)].pdf 2019-03-06
16 201841008787-FORM FOR SMALL ENTITY [06-03-2019(online)].pdf 2019-03-06
17 201841008787-FORM 3 [06-03-2019(online)].pdf 2019-03-06
18 201841008787-FORM 18 [06-03-2019(online)].pdf 2019-03-06
19 201841008787-ENDORSEMENT BY INVENTORS [06-03-2019(online)].pdf 2019-03-06
20 201841008787-DRAWING [06-03-2019(online)].pdf 2019-03-06
21 201841008787-CORRESPONDENCE-OTHERS [06-03-2019(online)].pdf 2019-03-06
22 201841008787-COMPLETE SPECIFICATION [06-03-2019(online)].pdf 2019-03-06
23 Correspondence by Agent_F1, F2, F3, F5, F28, Power of Attorney_11-03-2019.pdf 2019-03-11
24 201841008787-FER.pdf 2021-10-17

Search Strategy

1 201841008787SEARCHE_06-11-2020.pdf