Managing network device configuration using versioning and partitioning
First Claim
1. A method performed in a network device that comprises a plurality of software components that control operations and features of the network device, wherein operations and features of the network device are defined in part by a configuration, the method comprising:
- in response to determining a configuration change in an operational state of the network device;
for all software components that make up an operating system for the network device;
the network device creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples;
wherein the one or more configuration tuples describe the configuration change in the operational state of the network device;
the network device associating the one or more of the configuration partition namespaces to one or more configuration partitions;
the network device associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and
the network device creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces;
building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions;
loading an active set of configuration partition namespaces as part of a boot up of the operating system;
dynamically installing an additional software component that is not associated with the active set of configuration partition namespaces;
dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component;
identifying the new configuration partition namespace in the active set of configuration partition namespaces.
2 Assignments
0 Petitions
Accused Products
Abstract
Configuration versioning and partitioning are provided as methods for managing large configuration for a network element such as a router or switch. In one aspect, a method performed in a network element, the network element comprising a plurality of software components that control operations and features of the network element, wherein operations and features of the network element are defined in part by a configuration, comprises creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; associating one or more of the configuration partition namespaces in a configuration partition; associating one of the software components and the one or more configuration partition namespaces; and creating and storing information identifying one of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces.
100 Citations
25 Claims
-
1. A method performed in a network device that comprises a plurality of software components that control operations and features of the network device, wherein operations and features of the network device are defined in part by a configuration, the method comprising:
in response to determining a configuration change in an operational state of the network device; for all software components that make up an operating system for the network device; the network device creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; wherein the one or more configuration tuples describe the configuration change in the operational state of the network device; the network device associating the one or more of the configuration partition namespaces to one or more configuration partitions; the network device associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and the network device creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces; building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions; loading an active set of configuration partition namespaces as part of a boot up of the operating system; dynamically installing an additional software component that is not associated with the active set of configuration partition namespaces; dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component; identifying the new configuration partition namespace in the active set of configuration partition namespaces. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A machine-readable volatile or non-volatile storage medium storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform in a network device that comprises a plurality of software components that control operations and features of the network device, wherein operations and features of the network device are defined in part by a configuration:
in response to determining a configuration change in an operational state of the network device; for all software components that make up an operating system for the network device; the network device creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; wherein one or more configuration tuples describe the configuration change in the operational state of the network device; the network device associating the one or more of the configuration partition namespaces to one or more configuration partitions; the network device associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and the network device creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces; the network device building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions; the network device loading an active set of configuration partition namespaces as part of a boot up of the operating system; the network device dynamically installing an additional software component that is not associated with the active set of configuration partition namespaces; the network device dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component; the network device identifying the new configuration partition namespace in the active set of configuration partition namespaces. - View Dependent Claims (14, 15, 16)
-
17. An apparatus comprising in a network device having a memory that comprises a plurality of software components that control operations and features of the network device, wherein operations and features of the network device are defined in part by a configuration:
in response to determining a configuration change in an operational state of the network device; for all software components that make up an operating system for the network device; means for creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; wherein one or more configuration tuples describe the configuration change in the operational state of the network device; means for associating the one or more of the configuration partition namespaces to one or more configuration partitions; means for associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and means for creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces; means for building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions; means for loading an active set of configuration partition namespaces as part of a boot up of the operating system; means for dynamically installing an additional software component that is not associated with the active set of configuration partition namespaces; means for dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component; means for identifying the new configuration partition namespace in the active set of configuration partition namespaces. - View Dependent Claims (18, 19, 20)
-
21. An apparatus comprising a memory storing instructions which, when executed by one or more processors, cause the one or more processors to perform in a network device that comprises a plurality of software components that control operations and features of the network device, wherein operations and features of the network device are defined in part by a configuration:
in response to determining a configuration change in an operational state of the network device; for all software components that make up an operating system for the network device; the network device creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; wherein one or more configuration tuples describe the configuration change in the operational state of the network device; the network device associating the one or more of the configuration partition namespaces to one or more configuration partitions; the network device associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and the network device creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces; building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions; loading an active set of configuration partition namespaces as part of a boot up of the operating system; dynamically installing an additional software component that is not associated with the active set of configuration partition namespaces; dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component; identifying the new configuration partition namespace in the active set of configuration partition namespaces. - View Dependent Claims (22, 23, 24)
-
25. A packet router, comprising:
-
a plurality of distributed processing nodes connected over a network, wherein each of the nodes is controlled by one or more sequences of instructions, wherein execution of the one or more sequences of instructions by any of the processing nodes causes any of the processing nodes to perform the steps of; in response to determining a configuration change in an operational state of the network device; for all software components that make up an operating system for the network device; the network device creating and storing one or more configuration partition namespaces each comprising a version identifier and one or more configuration tuples; wherein one or more configuration tuples describe the configuration change in the operational state of the network device; the network device associating the one or more of the configuration partition namespaces to one or more configuration partitions; the network device associating, to the one or more configuration partition namespaces, one or more of the software components to be executed to implement the configuration change of the network device; and the network device creating and storing information identifying the one or more of the software components, its associated configuration partition namespaces, and the version identifier of each of the configuration partition namespaces; building the operating system for the network device using the information identifying the software components and the associated configuration partition namespaces, stored in the one or more configuration partitions; loading an active set of configuration partition namespaces as part of a boot up of the operating system; dynamically installing of an additional software component that is not associated with the active set of configuration partition namespaces; dynamically creating and storing a new configuration partition namespace corresponding to the further installed software component; identifying the further configuration partition namespaces in the active set.
-
Specification