IP Library Granted Patent US 10,367,691
Granted Patent B2
US 10,367,691 · App. 15/461,716 · Granted Jul 30, 2019

Multi platform static semantic consistency checking of network configurations

Inventors: Atri Indiresan (Sunnyvale, CA); Aniket Ghule (San Jose, CA); Himanshu Jain (San Jose, CA); Mariam Zaim (West Layfayette, IN)
Assignee: Cisco Technology, Inc.
H04L41/0869H04L41/0883H04L43/18
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 10,367,691
App. No.
15/461,716
Granted
Jul 30, 2019
Kind
B2
Abstract

Semantic checking of multi-device and protocol configurations based on an extensible rules database for a variety of devices and operating systems may be provided. First, a configuration may be received. Then parent-child hierarchical relationships in the configuration may be determined. Next, a set of rules may be applied to the configuration based upon the determined parent-child hierarchical relationships. A report of errors found and corrective suggestions may then be produced in response to applying the set of rules.

Claims (32)

1. A method comprising:

receiving a configuration;

receiving a protocol type corresponding to the configuration;

determining, by a computer, parent-child hierarchical relationships in the configuration wherein determining the parent-child hierarchical relationships comprises determining the parent-child hierarchical relationships based on syntactical elements of the received configuration;

applying a set of rules to the configuration based upon the determined parent-child hierarchical relationships and upon the received protocol type; and

producing a report in response to applying the set of rules wherein producing the report comprises producing the report wherein the report indicates at least one of the following: errors in the configuration and corrective suggestions corresponding to the configuration;

wherein applying the set of rules comprises applying the set of rules wherein each rule in the set of rules comprises at least two hierarchical elements that are to be matched against each other.

2. The method of claim 1 , wherein receiving the configuration comprises receiving the configuration from one of the following: a network device and multiple network devices in a common network.

3. The method of claim 1 , wherein determining the parent-child hierarchical relationships based on the syntactical elements in the configuration comprises determining the parent-child hierarchical relationships based on the syntactical elements comprising at least one of the following: a number of spaces at the beginning of lines in the received configuration, nested braces in the received configuration, parentheses in the received configuration, and brackets in the received configuration.

4. The method of claim 1 , wherein determining the parent-child hierarchical relationships comprises determining the parent-child hierarchical relationships based on textual elements in the configuration.

5. The method of claim 4 , wherein determining the parent-child hierarchical relationships based on the textual elements in the configuration comprises determining the parent-child hierarchical relationships based on the textual elements comprising at least one of the following: BEGIN/END and eXtensible Markup Language (XML) tags.

6. The method of claim 1 , wherein applying the set of rules comprises applying the set of rules wherein each rule defines a misconfiguration.

7. An apparatus comprising:

a memory storage; and

a processing unit coupled to the memory storage, the processing unit being configured to:

receive a configuration;

receive a protocol type corresponding to the configuration;

determine parent-child hierarchical relationships in the configuration wherein determined the parent-child hierarchical relationships comprises determine the child-parent hierarchical relationships based on syntactical elements of the received configuration;

apply a set of rules to the configuration based upon the determined parent-child hierarchical relationships and upon the received protocol type; and

produce a report in response to applying the set of rules wherein producing the report comprises producing the report wherein the report indicates at least one of the following: errors in the configuration and corrective suggestions corresponding to the configuration;

wherein applying the set of rules comprises applying the set of rules wherein each rule in the set of rules comprises at least two hierarchical elements that are to be matched against each other.

8. The apparatus of claim 7 , wherein the processing unit being configured to receive the configuration comprises the processing unit being configured to receive the configuration from one of the following: a network device and multiple network devices in a common network.

9. The apparatus of claim 7 , wherein the processing unit being configured to apply the set of rules comprises the processing unit being configured to apply the set of rules wherein each rule defines a misconfiguration.

10. A non-transitory computer-readable medium that stores a set of instructions which when executed perform a method executed by the set of instructions comprising:

receiving a configuration;

receiving a protocol type corresponding to the configuration;

determining parent-child hierarchical relationships in the configuration wherein determining the parent-child hierarchical relationships comprises determining the parent-child hierarchical relationships based on syntactical elements of the received configuration;

applying a set of rules to the configuration based upon the determined parent-child hierarchical relationships and upon the received protocol type; and

producing a report in response to applying the set of rules wherein producing the report comprises producing the report wherein the report indicates at least one of the following: errors in the configuration and corrective suggestions corresponding to the configuration;

wherein applying the set of rules comprises applying the set of rules wherein each rule in the set of rules corn rises at least two hierarchical elements that are to be matched against each other.

11. The non-transitory computer-readable medium of claim 10 , wherein receiving the configuration comprises receiving the configuration from one of the following: a network device and multiple network devices in a common network.

12. The non-transitory computer-readable medium of claim 10 , wherein applying the set of rules comprises applying the set of rules wherein each rule defines a misconfiguration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2017
From: INDIRESAN, ATRI; GHULE, ANIKET; JAIN, HIMANSHU; ZAIM, MARIAM
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041606/0783 →
Continuity (1)
Related Publication 20180270114A1 · Sep 20, 2018