Systems and methods for standardizing network devices
First Claim
1. A computer-implemented method for configuring a plurality of network devices of different types, comprising:
- storing configuration information that defines configurations for each of the network devices in a device independent manner;
storing configuration policies for configuring each of the network devices;
generating deployable configurations from the stored configuration information and policies;
deploying the deployable configurations to the network devices;
comparing the deployable configurations to the stored configuration information; and
determining whether the deployable configurations contradict the stored configuration information.
15 Assignments
0 Petitions
Accused Products
Abstract
A system facilitates configuration of at least one of multiple network devices (130) of different types. The system includes a configuration database (310), a policies database (320), a configuration generator (330), and a protocol engine (340). The configuration database (310) stores data that defines a configuration for the network device (130). The policies database (320) stores rules for configuring the network device (130). The configuration generator (330) generates a deployable configuration from the data in the configuration database (310) and the rules in the policies database (320). The protocol engine (340) deploys the deployable configuration to the network device (130).
194 Citations
33 Claims
-
1. A computer-implemented method for configuring a plurality of network devices of different types, comprising:
-
storing configuration information that defines configurations for each of the network devices in a device independent manner;
storing configuration policies for configuring each of the network devices;
generating deployable configurations from the stored configuration information and policies;
deploying the deployable configurations to the network devices;
comparing the deployable configurations to the stored configuration information; and
determining whether the deployable configurations contradict the stored configuration information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
validating the deployable configurations based on the stored configuration policies.
-
-
3. The method of claim 1, further comprising:
updating the stored configuration information when the deployable configurations contradict the stored configuration information.
-
4. The method of claim 1, wherein the storing configuration information includes:
receiving the configuration information from at least one of a plurality of entities.
-
5. The method of claim 4, wherein the storing configuration information further includes:
validating the configuration information received from the entities.
-
6. The method of claim 1, wherein the storing configuration information includes:
storing at least one of device-specific configuration constraints and permissible device configuration parameter values corresponding to the network devices.
-
7. The method of claim 1, wherein the storing configuration policies includes:
storing information regarding how to configure each of the network devices.
-
8. The method of claim 1, wherein the generating includes:
generating one of a fall device-specific configuration and an incremental device-specific configuration for each of the network devices.
-
9. The method of claim 1, wherein the generating includes:
-
retrieving data from the stored configuration information, constructing inheritance and containment relationships among the retrieved data, preparing ones of the retrieved data referenced by variables in the stored configuration policies, and compiling the stored configuration policies based on the prepared ones of the retrieved data to produce the deployable configurations.
-
-
10. The method of claim 9, wherein the preparing includes:
directly using the retrieved data.
-
11. The method of claim 9, wherein the preparing includes:
performing simple transformations on the retrieved data.
-
12. The method of claim 9, wherein the preparing includes:
constructing values from multiple ones of the retrieved data.
-
13. The method of claim 9, wherein the preparing includes:
using at least one configuration table to prepare the retrieved data.
-
14. The method of claim 1, wherein the deploying includes:
performing the deployment as an atomic transaction.
-
15. A system for configuring a plurality of network devices of different types, comprising:
-
means for storing configuration information that defines configurations for each of the network devices;
means for storing configuration policies for configuring each of the network devices;
means for generating deployable configurations from the stored configuration information and policies;
means for deploying the deployable configurations to the network devices;
means for comparing the deployable configurations to the stored configuration information; and
means for determining whether the deployable configurations contradict the stored configuration information.
-
-
16. A system for configuring at least one of a plurality of network devices of different types, comprising:
-
a memory device that stores a data structure, including;
a configuration database that stores data that defines a configuration for the network device in a device-type independent manner, a policies database that stores rules for configuring the network device, a configuration generator that stores instructions for generating a deployable configuration from the data in the configuration database and the rules in the policies database, a protocol engine that stores instructions for deploying the deployable configuration to the network device, and a configuration converter that compares the deployable configuration to the data in the configuration database to determine whether the deployable configuration contradicts the data in the configuration database; and
a processor that operates upon the data structure stored in the memory to configure the network device. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
a configuration converter that validates the deployable configuration based on the rules in the policies database.
-
-
18. The system of claim 16, wherein the configuration converter is configured to update the data in the configuration database when the deployable configuration contradicts the data in the configuration database.
-
19. The system of claim 16, wherein the configuration database is configured to receive the data from at least one of a plurality of entities.
-
20. The system of claim 19, wherein the configuration database is further configured to validate the data received from the entities.
-
21. The system of claim 16, wherein the configuration database is configured to store at least one of device-specific configuration constraints and permissible device configuration parameter values corresponding to the network device.
-
22. The system of claim 16, wherein the policies database is configured to store policies regarding how to configure the network device.
-
23. The system of claim 16, wherein the configuration generator further stores instructions for generating one of a full device-specific configuration and an incremental device-specific configuration for the network device.
-
24. The system of claim 16, wherein the configuration generator further stores instructions for retrieving data from the configuration database, constructing inheritance and containment relationships among the retrieved data, preparing ones of the retrieved data referenced by variables in the policies database, and compiling the rules based on the prepared ones of the retrieved data to produce the deployable configuration.
-
25. The system of claim 24, wherein the configuration generator further stores instructions for directly using the retrieved data to prepare ones of the retrieved data.
-
26. The system of claim 24, wherein the configuration generator further stores instructions for performing simple transformations on the retrieved data to prepare ones of the retrieved data.
-
27. The system of claim 24, wherein the configuration generator further stores instructions for constructing values from multiple ones of the retrieved data to prepare ones of the retrieved data.
-
28. The system of claim 24, wherein the configuration generator further stores instructions for using at least one configuration table to prepare ones of the retrieved data.
-
29. The system of claim 16, wherein the protocol engine further stores instructions for performing the deployment as an atomic transaction.
-
30. A computer-readable medium storing a data structure operated upon by a processor to configure at least one of a plurality of network devices of different types, comprising:
-
a device configuration database configured to store data that defines a configuration for the network device;
a policies database configured to store rules for configuring the network device;
a configuration generator configured to store instructions for generating a deployable configuration from the data in the device configuration database and the rules in the policies database;
a configuration converter configured to store instructions for comparing the deployable configuration to the data in the device configuration database to determine whether the deployable configuration contradicts the data in the device configuration database; and
a protocol engine configured to store instructions for deploying the deployable configuration to the network device. - View Dependent Claims (31, 32)
a configuration database configured to store at least one of device-specific configuration constraints and permissible device configuration parameter values, a back-up database configured to store a copy of the configuration database, and a historical configuration memory configured to store information regarding prior configurations of the network device.
-
-
32. The computer-readable medium of claim 30, wherein the device configuration database includes:
-
an input interface configured to receive data from at least one of a plurality of entities, and an input inspection engine configured to store instructions for validating the data received from the entities.
-
-
33. A system that configures at least one of a plurality of network devices of different types, comprising:
-
a configuration database configured to store information that defines a configuration for the network device;
a policies database configured to store rules for configuring the network device; and
a processor configured to generate a deployable configuration from the information in the configuration database and the rules in the policies database, deploy the deployable configuration to the network device, and compare the deployable configuration to the information in the configuration database to determine whether the deployable configuration contradicts the information in the configuration database.
-
Specification