Context-sensitive intelligent diffs of router configurations
First Claim
Patent Images
1. A method of comparing a first configuration file having first commands and a second configuration file having second commands, comprising:
- determining first hierarchical levels of the first commands;
searching only second hierarchical levels in the second configuration file for second commands that match the first commands, wherein the second hierarchical levels correspond to the first hierarchical levels;
saving a first missing command for which no match is found in the searching step;
saving context information for the first missing command;
identifying a first re-ordered command that matches a second command, wherein the first re-ordered command has a first position in the first configuration file, wherein the second command has a second position in the second configuration file, and wherein the first position is different from the second position;
determining whether the first re-ordered command is order-sensitive; and
,if the first re-ordered command is order-sensitive,storing the first re-ordered command.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and devices are disclosed for determining differences in the configuration states of network devices. Context-sensitive diffs are produced by comparing two configuration files of a network device. According to some aspects of the invention, the context of each command is preserved in a “programmatic” format that is usable by a network element such as a router. In some aspects of the invention, only commands at a corresponding hierarchical level of the configuration files are compared when producing a diff, in order to increase accuracy and efficiency.
9 Citations
32 Claims
-
1. A method of comparing a first configuration file having first commands and a second configuration file having second commands, comprising:
-
determining first hierarchical levels of the first commands; searching only second hierarchical levels in the second configuration file for second commands that match the first commands, wherein the second hierarchical levels correspond to the first hierarchical levels; saving a first missing command for which no match is found in the searching step; saving context information for the first missing command; identifying a first re-ordered command that matches a second command, wherein the first re-ordered command has a first position in the first configuration file, wherein the second command has a second position in the second configuration file, and wherein the first position is different from the second position; determining whether the first re-ordered command is order-sensitive; and
,if the first re-ordered command is order-sensitive, storing the first re-ordered command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program stored in a computer-readable medium that includes instructions for causing a computer to compare a first configuration file having first commands and a second configuration file having second commands by performing the following actions:
-
determining first hierarchical levels of the first commands; searching only second hierarchical levels in the second configuration file for second commands that match the first commands, wherein the second hierarchical levels correspond to the first hierarchical levels; saving a first missing command for which no match is found in the searching step; saving context information for the first missing command; identifying a first re-ordered command that matches a second command, wherein the first re-ordered command has a first position in the first configuration file, wherein the second command has a second position in the second configuration file, and wherein the first position is different from the second position; determining whether the first re-ordered command is order-sensitive; and
,if the first re-ordered command is order-sensitive, storing the first re-ordered command. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A network device for comparing a first configuration file having first commands and a second configuration file having second commands, wherein the network device is configured to perform the following actions:
-
determine first hierarchical levels of first commands in the first configuration file; search only second hierarchical levels in the second configuration file for second commands that match the first commands, wherein the second hierarchical levels correspond to the first hierarchical levels; save a first missing command for which no match is found in the searching step; save context information for the first missing command; identify a first re-ordered command that matches a second command, wherein the first re-ordered command has a first position in the first configuration file, wherein the second command has a second position in the second configuration file, and wherein the first position is different from the second position; determine whether the first re-ordered command is order-sensitive; and if the first re-ordered command is order-sensitive, store the first re-ordered command. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A network device for comparing a first configuration file having first commands and a second configuration file having second commands, the network device comprising:
-
means for determining first hierarchical levels of the first commands; means for searching only second hierarchical levels in the second configuration file for second commands that match the first commands, wherein the second hierarchical levels correspond to the first hierarchical levels; means for saving a first missing command for which no match is found in the searching step; and means for saving context information for the first missing command; means for identifying a first re-ordered command that matches a second command wherein the first re-ordered command has a first position in the first configuration file, wherein the second command has a second position in the second configuration file, and wherein the first position is different from the second position; means for determining whether the first re-ordered command is order-sensitive; and
,if the first re-ordered command is order-sensitive, means for storing the first re-ordered command. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification