Method and system for data center network equipment maintenance

By identifying and removing unsupported network devices, clustering and redundant management of data center network devices, the problem of automation of network equipment maintenance in data centers is solved, and an efficient and accurate maintenance process is achieved, reducing downtime and service interruptions.

CN115378812BActive Publication Date: 2025-04-25OVH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210553546.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-20
Filing Date
2022-05-20
Publication Date
2025-04-25
Estimated Expiration
2042-05-20

AI Technical Summary

Technical Problem

In data centers, it is difficult for prior art to effectively automate the maintenance of network equipment, especially when facing a large number of and diverse equipment, how to minimize downtime and service disruptions caused by maintenance is a challenge.

Method used

By collecting and obtaining management IP, tags, and location information for network devices, identifying unsupported hardware models or network operating system-level devices and removing them from the maintenance list. Then, cluster the remaining devices and create redundant groups according to the redundant rules to verify the number and location consistency of devices in the group, and finally automatically upgrade the network operating system using the upgrade rules.

Benefits of technology

It realizes automated maintenance of data center network equipment, reduces downtime and service interruptions, and improves the efficiency and accuracy of the maintenance process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115378812B_ABST
    Figure CN115378812B_ABST
Patent Text Reader

Abstract

A method and system for maintaining network devices in a data center, involving a network upgrade tool coupled to a CMDB, a rule DB, an upgrade path DB, and a network configurator. The network upgrade tool is configured to collect / acquire information from network devices, remove those network devices that do not comply from automated maintenance, group the remaining network devices into groups of redundant network devices, and for all these groups, sequentially upgrade the network operating systems of the network devices present in the groups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present technology relates to information technology, and more particularly to a method and system for automated maintenance of network devices in a data center. Background Art

[0002] Systems have been developed that are designed to support maintenance of network equipment such as switches, routers, and the like in data centers. As used herein, "maintenance" may include, for example, performing an upgrade of a device from a current network operating system to a target (e.g., latest) network operating system. As used herein, "data center" is not limited to infrastructure located within the physical boundaries of a server farm, but includes all infrastructure, whether local or remote, that an organization deploys, controls, and maintains to provide computer cluster-based services to the organization's own internal services or to third-party entities, i.e., all of the organization's customers. There has been a long-standing need for a system that automates the maintenance of network equipment in a data center while saving on the manpower required, avoiding human error, and managing customer impact.

[0003] However, the challenge in developing such systems lies not only in the number of network devices to be addressed, but also in the diversity of such devices in the data center, including their characteristics and their roles. For example, a data center network may consist of different architectures that work side by side to provide connectivity and services, where each of these architectures is designed with and for specific characteristics, hardware models, enabling features, and / or redundancy levels, and all of these parallel architectures are connected to a more central architecture or core network.

[0004] The challenge of such developments is also to minimize disruptions to the functionality of the data center and to ensure that unavailability of part or all of the data center due to maintenance of network equipment is limited as much as possible. This in turn allows to minimize disruptions in the network connectivity services provided by the organization to its customers, thereby meeting contractual service quality commitments as the case may be.

[0005] Therefore, there is a need for a method and system that allows data center operators without specific network knowledge to automate large-scale network equipment maintenance activities using a simple entry point by providing a list of network equipment to be upgraded and entering a few simple options if and when needed.

[0006] In general, the present technology aims to automate the maintenance of network devices in a data center by removing those network devices with a higher risk of automated maintenance failure from automated maintenance and exploiting the redundancy of the remaining network devices in order to limit downtime in the data center due to maintenance operations.

[0007] The subject matter discussed in the background section should not be considered to be prior art simply because it is mentioned in the background section. Similarly, it should not be assumed that the problems mentioned in the background section or associated with the subject matter in the background section have been previously recognized in the prior art. The subject matter in the background section only represents different approaches. Summary of the invention

[0008] Embodiments of the present technology were developed based on the developers' recognition of shortcomings associated with the prior art.

[0009] In one embodiment, various embodiments of the present technology provide a method for maintaining a network device in a data center, the method comprising:

[0010] - For each network device on the maintenance list, collect:

[0011] -Management IP (MANAGEMENTIP) information, where MANAGEMENTIP represents a virtual identifier uniquely associated with a network device; and

[0012] - any tag and location (LOCATION) information, wherein the tag represents a key-value tuple associated with a network device, wherein the key is any of BU, ROLE or INFRA, and the value is a pointer to the actual data or the key's data, wherein the BU value represents characteristics of the network device related to the business or product offering that the network device is used for in a data center, the ROLE value represents characteristics of the network device related to the location and function occupied by the network device in a data center, and the INFRA value represents characteristics of the network device related to the version or generation of the data center infrastructure in which the network device operates, and wherein the LOCATION information represents characteristics of the network device related to the actual physical location of the network device;

[0013] -For each network device in the maintenance list, use the corresponding MANAGEMENTIP to obtain the hardware model and current network operating system level of the network device;

[0014] -Remove network devices from the maintenance list that have unsupported hardware models or current network operating system levels or errors in any of the BU, ROLE or INFRA tags or LOCATION information;

[0015] - Group the remaining network devices on the maintenance list into i cluster BUs of network devices with the same BU label i , at BU i j cluster ROLEs of network devices with the same ROLE label in the cluster j, and the ROLE of network devices with the same INFRA label j k clusters within a cluster ijk ;

[0016] -According to the INFRA k Redundancy rules, in each Cluster ijk Create redundant groups of network devices within the cluster;

[0017] - In each created group, verify that the combined BU applicable to the number of network devices in the group is met i -ROLE j -INFRA k The size rules, and whether all network devices in the group share the same LOCATION information;

[0018] - remove from the maintenance list network devices that are not clustered or grouped into groups, or that are in groups that do not comply with redundancy rules or size rules, or that do not share the same LOCATION information when present in the same group; and

[0019] -Use the corresponding MANAGEMENTIP and upgrade rules for all Clusters ijk All groups within the cluster sequentially upgrade the remaining network devices in each created group from the current version of the network operating system to the target version of the operating system.

[0020] In an embodiment, the collection and acquisition are performed using a unique ID assigned to each of the network devices on the maintenance list by the data center operator when the data center is deployed, and the unique ID is associated with any one of the tags of each network device and the MANAGEMENT IP and LOCATION information.

[0021] In an embodiment, removing from the maintenance list further comprises removing network devices that do not have exactly one value for each of the BU, ROLE, and INFRA labels.

[0022] In an embodiment, removing from the maintenance list further comprises creating an error list populated with the IDs of the removed network devices.

[0023] In an embodiment, the error list also includes a sub-list of errors that can be corrected by the data center operator and errors that are linked to faulty network devices.

[0024] In the implementation mode, the upgrade in sequence also includes adjusting the clusters for parallel processing. ijk The number of clusters is determined to minimize data center downtime.

[0025] In the implementation mode, the upgrade also includes adjusting the processing Cluster ijk The clusters are ordered to optimize continuity of service to customers of the organization that deploys, controls, and maintains the data centers.

[0026] In yet another embodiment, various embodiments of the present technology provide a system for maintaining network devices in a data center, the system comprising a network upgrade tool coupled to a CMDB, a rule DB, an upgrade path DB, and a network configurator, the network upgrade tool being configured to:

[0027] - Collect from the CMDB for each network device on the maintenance list:

[0028] -MANAGEMENTIP information, where MANAGEMENTIP represents a virtual identifier uniquely associated with a network device, and

[0029] - any tag and LOCATION information, wherein a tag represents a key-value tuple associated with a network device, wherein the key is any of BU, ROLE or INFRA, and the value is the actual data or a pointer to the key's data, wherein BU represents characteristics of the network device related to the business or product offering that the network device is used for in a data center, ROLE represents characteristics of the network device related to the location and function occupied by the network device in a data center, and INFRA represents characteristics of the network device related to the version or generation of the data center infrastructure in which the network device operates, and wherein LOCATION represents characteristics of the network device related to the actual physical location of the network device;

[0030] -For each network device in the maintenance list, use the corresponding MANAGEMENTIP to obtain the hardware model and current network operating system level of the network device;

[0031] -Remove network devices from the maintenance list that have unsupported hardware models or current network operating system levels or errors in any of the BU, ROLE or INFRA tags or LOCATION information;

[0032] - Group the remaining network devices on the maintenance list into i cluster BUs of network devices with the same BU label i , at BU i j cluster ROLEs of network devices with the same ROLE label in the cluster j , and the ROLE of network devices with the same INFRA label j k clusters within a cluster ijk ;

[0033] - Based on the information collected from the Rules DB applicable to INFRA k Redundancy rules, in each Cluster ijk Create redundant groups of network devices within the cluster;

[0034] - In each created group, verify compliance with the combined BU collected from the rule DB for the number of network devices in the group i -ROLE j -INFRA k The size rules, and whether all network devices in the group share the same LOCATION information;

[0035] - remove from the maintenance list network devices that are not clustered or grouped into groups, or that are in groups that do not comply with redundancy rules or size rules, or that do not share the same LOCATION information when present in the same group; and

[0036] - Through the network configurator, use the corresponding MANAGEMENTIP and the upgrade rules collected from the rule DB for all Clusters ijk All groups within the cluster sequentially upgrade the remaining network devices in each created group from the current version of the network operating system to the target version of the operating system.

[0037] In an embodiment, the network upgrade tool is also configured to collect and obtain using a unique ID assigned to each network device on the maintenance list by the data center operator when the data center is deployed, and the unique ID is associated with any one of the tags of each network device and the MANAGEMENT IP and LOCATION information.

[0038] In an embodiment, the network upgrade tool is further configured to create an error list populated with IDs of network devices removed from the maintenance list.

[0039] In an embodiment, the error list also includes a sub-list of errors that can be corrected by the data center operator and errors that are linked to faulty network devices.

[0040] In an embodiment, the network upgrade tool is further configured to adjust the parallel processing Cluster ijk The number of clusters is determined to minimize data center downtime.

[0041] In an embodiment, the network upgrade tool is further configured to adjust the processing Cluster ijk The clusters are ordered to optimize continuity of service to customers of the organization that deploys, controls, and maintains the data centers.

[0042] In an embodiment, the redundancy rules and size rules are hard-coded in the network upgrade tool.

[0043] In yet another embodiment, various implementations of the present technology provide a computer-readable medium including instructions for causing a computing system to execute the above method.

[0044] In another embodiment, various embodiments of the present technology provide a method for maintaining multiple network devices in a data center. The method includes collecting the following for at least one network device among the multiple network devices, the at least one network device is selected from the maintenance list: - MANAGEMENTIP, the MANAGEMENTIP is a virtual identifier uniquely associated with the at least one network device; - LOCATION, the LOCATION is information representing the actual physical location of the at least one network device; - Tag, the tag is a key-value tuple associated with the at least one network device, the key value is one of data and a pointer to the data,

[0045] The tag is one of the following: - a BU tag, which is information representing a product supply application of at least one network device in a data center; - a ROLE tag, which is information representing a function occupied by at least one network device in a data center; and - an INFRA tag, which is information representing a version of a data center in which at least one network device runs; for at least one network device on a maintenance list, based on the MANAGEMENTIP of at least one network device, obtaining a hardware model and a current network operating system level of at least one network device; and in response to determining at least one of the following: the hardware model of at least one network device is not supported, the current network operating system level of at least one network device is not supported, an error in at least one of the BU tag, the ROLE tag, the INFRA tag, and the LOCATION tag, removing at least one network device from the maintenance list.

[0046] In some embodiments, the method also includes determining at least one of the following: an unsupported hardware model of at least one network device, an unsupported current network operating system level of at least one network device, an error in at least one of a BU tag, a ROLE tag, an INFRA tag, and a LOCATION tag.

[0047] In some embodiments, the method further includes collecting, for each network device in the plurality of network devices: MANAGEMENTIP, LOCATION, and a tag; in response to removing at least one network device from the maintenance list, clustering the remaining network devices on the maintenance list into: i cluster BUs of network devices having the same BU tag value in one of the associated tags of the remaining network devices;i ; j cluster ROLEs of network devices with the same ROLE key value in one of the associated tags of the remaining network devices j , and the ROLE of the network device that has the same INFRA label value in one of the associated labels of the remaining network devices j k clusters within a cluster ijk ; In each Cluster ijk Create redundant groups of multiple network devices within a cluster; k Verify that the number of redundant network devices in each created group matches the first number; and i -ROLE j -INFRA k The size rule verifies whether the number of network devices in each group matches the second number.

[0048] In some embodiments, the method also includes verifying whether the network devices of each group share the same LOCATION; removing from the maintenance list at least one network device that exists in a given group and whose number of redundancies does not match the first number, exists in another given group and whose number does not match the second number, or exists in another group and does not share the same LOCATION.

[0049] In some embodiments, the method further comprises using the upgrade rules and the corresponding MANAGEMENTIP to upgrade all Clusters. ijk The remaining network devices in each group within the cluster are upgraded from the current version of the network operating system to the target version of the operating system.

[0050] In some embodiments, the collection and acquisition is performed using a unique ID assigned to each network device on the maintenance list by the data center operator when the data center is deployed, and the unique ID is associated with any one of the associated tags of each network device, MANAGEMENTIP and LOCATION.

[0051] In some embodiments, removing from the maintenance list also includes removing network devices that do not have exactly one value for each of the BU, ROLE, and INFRA labels.

[0052] In some embodiments, removing from the maintenance list also includes creating an error list populated with the IDs of the removed network devices.

[0053] In some embodiments, the error list also includes a sub-list of errors that can be corrected by the data center operator and errors that are linked to faulty network devices.

[0054] In some embodiments, the upgrade also includes adjusting the cluster for parallel processing. ijk The number of clusters is determined to minimize data center downtime.

[0055] In some embodiments, the upgrade also includes adjusting the processing Cluster ijk The clusters are ordered to optimize continuity of service to customers of the organization that deploys, controls, and maintains the data centers.

[0056] In another embodiment, various embodiments of the present technology provide a system for maintaining network devices in a data center, the system comprising a network upgrade tool coupled to a CMDB, a rule DB, an upgrade path DB, and a network configurator, the network upgrade tool being configured to: - collect from the CMDB for each of a plurality of network devices on a maintenance list: - MANAGEMENTIP, which is a virtual identifier uniquely associated with a given network device; - LOCATION, which is information representing the actual physical location of a given network device; and - TAG, which is a key-value tuple associated with a given network device, wherein the tag is one of the following: - information representing the business or product offering for which the network device in the data center is used, BU; - information representing the network device in the data center - Information about the position and function occupied in the center, ROLE; and - Information indicating the version or generation of the data center in which the network device runs, INFRA; the value used for the tag is the actual data or a pointer to the data; - For each network device on the maintenance list, use the corresponding MANAGEMENTIP to obtain the hardware model and current network operating system level of the given network device; - Remove network devices with unsupported hardware models or current network operating system levels or errors in any of their corresponding associated BU, ROLE and INFRA tags or in any of their LOCATIONs from the maintenance list; - Cluster the remaining network devices on the maintenance list into: i cluster BUs of network devices with the same BU key value in one of the associated tags of the remaining network devices i , at BU i j cluster ROLEs of network devices with the same ROLE key value in one of the associated tags of the remaining network devices in the cluster j , and the ROLE of the network device with the same INFRA key value in one of the associated tags of the remaining network devices j k clusters within a cluster ijk ; - Based on the data collected from the Rules DB applicable to INFRA kRedundancy rules, in each Cluster ijk Create redundant groups of network devices within a cluster; - Based on the applicable INFRA k Verify whether the number of redundant network devices in each group matches the first number according to the redundancy rule applicable to the combined BU i -ROLE j -INFRA k - Verify whether the number of network devices in each group matches the second number according to the size rule; - Verify whether all network devices in each created group share the same LOCATION; - Remove from the maintenance list network devices that exist in one of the groups and whose number of redundancies does not match the first number, whose number in one of the groups does not match the second number, or whose number in one of the groups does not share the same LOCATION; and - Through the network configurator, use the upgrade rules collected from the upgrade path DB and the corresponding MANAGEMENTIP to perform a maintenance on all Clusters. ijk All groups within the cluster upgrade the remaining network devices in each group from the current version of the network operating system to the target version of the operating system.

[0057] In some embodiments, the network upgrade tool is also configured to collect and obtain using a unique ID assigned to each of the multiple network devices on the maintenance list by the data center operator when the data center is deployed, and the unique ID is associated with any one of the associated tags of each network device, the MANAGEMENTIP and the LOCATION.

[0058] In some embodiments, redundancy and sizing rules are hard-coded in the network upgrade tool.

[0059] The present technology provides a method and system that will perform exactly the same maintenance process when network devices meet the same parameters (architecture, role, hardware model, running software version and / or enabled features, etc.), thereby removing the risk of human error. The amount of parallel execution after adjustment will limit the impact of data center unavailability. By identifying redundancy in the infrastructure of network devices that share certain parameters or characteristics and non-simultaneous maintenance of such network devices so as to possibly degrade the service but not completely interrupt it, the interruption of network connection services provided to customers will be minimized. In addition, such a method and system will allow data center operators to easily consider new equipment hardware or new architectures between devices.

[0060] In the context of this specification, unless explicitly stated otherwise, a system may refer to, but is not limited to, an “electronic device,” “operating system,” “computing system,” “computer-based system,” “controller unit,” “monitoring device,” “control device,” and / or any combination thereof that is suitable for the relevant task at hand.

[0061] In the context of this specification, the functional steps shown in the figure can be provided by using dedicated hardware and hardware capable of executing software associated with appropriate software. In addition, the various functional blocks shown in the figure, such as functions labeled as "network equipment", "tools", "configurators", etc., can be provided by using dedicated hardware and hardware capable of executing software associated with appropriate software. When provided by a "processor", the function can be provided by a single dedicated processor, a single shared processor, or multiple separate processors, some of which can be shared. In some embodiments of the present technology, the processor can be a general-purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP). In the foregoing, the explicit use of the term "processor" should not be interpreted as specifically referring to hardware capable of executing software, and may implicitly include, but is not limited to, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a read-only memory (ROM) for storing software, a random access memory (RAM), and a non-volatile memory. Other hardware, traditional and / or customized, may also be included.

[0062] In the context of this specification, "tag" is intended to mean a key-value tuple associated with each data center network device and stored in a database such as a configuration management database (CMDB). A key uniquely identifies a data element and is either the actual data or a pointer to the data, as appropriate. Tags are convenient keys to certain characteristics of a data center network device.

[0063] In the context of this specification, "BU" (for Business Unit) is intended, as part of the label of a data center network device, to represent characteristics related to the business or product offering for which the data center network device is used. The business or product offering may be the business or product offering of an organization that deploys, controls, and maintains the infrastructure or the business or product offering of a customer of the organization. For example, a BU may be a server, cloud, host, etc., and depends on the granularity, diversity, and complexity of the catalog of business or product offerings.

[0064] In the context of this specification, "ROLE" is intended to be part of a label for a data center network device, representing characteristics related to the position and function that the data center network device occupies in the data center network infrastructure. For example, ROLE can be, but is not limited to: "aggregation", "top of rack" (ToR), "end of row" (EoR), "spine", "mega spine", etc.

[0065] In the context of this specification, "INFRA" is intended, as part of a label for a data center network device, to denote characteristics related to a version or generation of the infrastructure in which the data center network device is intended to operate, which may evolve with enhancements and evolutions over time.

[0066] In the context of this specification, "LOCATION" is intended to represent, as part of the information associated with a data center network device, characteristics related to the actual physical location of the data center network device in the data center. For example, LOCATION can be, but is not limited to: the name of the data center building, a specific data center room, etc.

[0067] In the context of this specification, "MANAGEMENTIP" is intended to, as part of the information associated with a data center network device, represent a virtual identifier, such as, for example, an IP address, that is uniquely associated with the data center network device and that allows the data center network device to be reached by using, for example, automated tools and to perform operations using it, such as, for example, retrieving information, changing configurations, upgrading, etc.

[0068] Still in the context of this specification, "a" computer-readable medium and "the" computer-readable medium should not be interpreted as the same computer-readable medium. On the contrary, as long as appropriate, "a" computer-readable medium and "the" computer-readable medium can also be interpreted as the first computer-readable medium and the second computer-readable medium.

[0069] Still in the context of this specification, unless expressly specified otherwise, the words "first", "second", "third" etc. have been used as adjectives merely to allow the nouns they modify to be distinguished from each other, rather than to describe any particular relationship between these nouns.

[0070] The embodiments of the present technology each have at least one of the above-mentioned purposes and / or aspects, but do not necessarily have all of these purposes and / or aspects. It should be understood that some aspects of the present technology generated by attempting to achieve the above-mentioned purpose may not meet the purpose and / or may meet other purposes not specifically listed herein.

[0071] Additional and / or alternative features, aspects, and advantages of embodiments of the present technology will become apparent from the following description, drawings, and appended claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which will be used in conjunction with the accompanying drawings, in which:

[0073] Figure 1 depicts a data center environment in which the present technology can be used;

[0074] Figure 2 A broad overview of methods according to the present technology is presented;

[0075] Figure 3a to Figure 3c A more detailed view of a method according to the present technology is provided;

[0076] Figure 4 Provides a logical diagram of clusters / sub-clusters of network devices in a data center; and

[0077] Figure 5 A computing system that may be used in the present technology is illustrated.

[0078] It should be noted that the drawings are not drawn to scale unless otherwise explicitly stated herein. In addition, the same elements share the same reference labels from one figure to the next. DETAILED DESCRIPTION

[0079] The examples and conditional language listed herein are primarily intended to help the reader understand the principles of the present technology, rather than to limit its scope to these specific listed examples and conditions. It will be appreciated that those skilled in the art can design various arrangements that, although not explicitly described or shown herein, embody the principles of the present technology and are included in the spirit and scope of the present technology.

[0080] In addition, to aid understanding, the following description may describe relatively simplified embodiments of the present technology. As will be appreciated by those skilled in the art, various embodiments of the present technology may have greater complexity.

[0081] In some cases, useful examples that are considered modifications to the present technology may also be set forth. This is done solely to aid understanding, and again, is not intended to limit the scope of the present technology or clarify the limits of the present technology. These modifications are not an exhaustive list, and other modifications may be made by those skilled in the art while still remaining within the scope of the present technology. In addition, where examples of modifications are not set forth, it should not be interpreted that no modifications are possible and / or that what is described is the only way to implement that element of the present technology.

[0082] In addition, all statements herein enumerating principles, aspects, and embodiments of the present technology and specific examples thereof are intended to encompass structural and functional equivalents thereof, whether currently known or developed in the future. Thus, for example, it will be understood by those skilled in the art that any block diagram herein represents a conceptual view of an illustrative circuit that embodies the principles of the present technology. Similarly, it will be understood that any flow chart, job diagram, state transition diagram, pseudocode, etc., represents various processes that can be substantially represented in a non-transitory computer-readable medium and thus executed by a computer or processor, whether or not such a computer or processor is explicitly shown.

[0083] Software modules, or simple modules implying software, may be represented herein as any combination of flow chart elements or other elements indicating the execution of process steps and / or textual descriptions. Such modules may be executed by hardware as explicitly or implicitly shown. Furthermore, it should be understood that a module may include, for example, but not limited to, computer program logic, computer program instructions, software, stacks, firmware, hardware circuits, or combinations thereof that provide the desired capabilities.

[0084] With these basic principles in place, we will now consider some non-limiting examples to illustrate various implementations of various aspects of the present technology. Figure 1 A data center environment is depicted in which the present technology can be used. The network upgrade tool 100 provides an input / output interface to a data center operator 101 that allows the data center operator to enter input and options for automation of network equipment maintenance activities and receive status and results regarding such activities. The network upgrade tool 100 can be developed using the YAQL language (yet another query language) and can be interpreted as a workflow within an open source software orchestrator for initiating and organizing tasks, subtasks, and independent actions. For example, the network upgrade tool 100 can be part of a software stack 102, such as Mistra, which is one of the components of the OpenStack project (available at https: / / docs.openstack.org / mistral / latest / ). It will be apparent to those skilled in the art that other languages, software, and software frameworks can still be used within the teachings of the present disclosure.

[0085] The network upgrade tool 100 can further interface with a network configurator 105 as an abstract and unified application programming interface (API) system that provides the ability to interact with network devices in a data center regardless of their hardware models or the diversity of network operating systems. The network configurator 105 can have an interface 106 with the data center network devices.

[0086] The network upgrade tool 100 may further be coupled to and interfaced with a CMDB 103, which may reference network devices in the data center and store, for example, tags and MANAGEMENTIPs associated with each of such referenced network devices that may be retrieved by the network upgrade tool 100. For example, as each new network device is deployed in the data center, each new network device may be given a unique network device ID, for example, by the data center operator 101, and such network device ID may be used to retrieve tags and MANAGEMENTIPs associated with the deployed network devices from the CMDB 103.

[0087] The network upgrade tool 100 can further interface with an upgrade path DB 104, which can reference network devices in the data center and store, in association with each of such referenced network devices or groups of such network devices, as the case may be, paths to target network operating system levels (i.e., all necessary intermediate operating system levels between the current level and the target level) that the network upgrade tool 100 can retrieve and use for automated maintenance.

[0088] The network upgrade tool 100 can further interface with a rule DB 112, which can store rules that the network upgrade tool 100 can retrieve and use for automatic maintenance. For example, the network upgrade tool 100 can check whether certain network devices comply with certain rules. For example, a rule can detail the expected redundancy of network devices in a data center that share the same INFRA tag value. For example, other rules may apply to network devices that share the same combination of BU-ROLE-INFRA tag values.

[0089] Those skilled in the art will appreciate that, although represented as three separate physical and logical entities, the CMDB 103, the upgrade path DB 104, and the rule DB 112 may all or partly form part of the same physical and / or logical database, or be physically part of the network upgrade tool 100, without affecting the generality of the teachings herein. Furthermore, depending on the corporate and development environment of the organization that deploys, controls, and maintains the infrastructure, the rule DB 112 may not even be a separate database, and the rules may be hard-coded, for example, in the network upgrade tool 100.

[0090] A data center may include multiple network devices 109 interconnected by connections 110 in an infrastructure such as Figure 1 As shown, this is only a simplified example. Each network device 109 may be associated with it as part of its tag:

[0091] -ROLE;

[0092] - INFRA 111; and

[0093] -BU 108.

[0094] Additionally, LOCATION information 107 a - 107 b is also associated with each network device 109 .

[0095] Figure 2 A broad overview of a method according to the present technology is presented. In steps 201 and 202, certain parameters of the network devices 109 to be maintained in the data center (which may be present in the list of devices to be maintained) may be collected / obtained. This includes, in step 201: one or more tags associated with each of the network devices 109, including their BU, ROLE, INFRA, and their MANAGEMENTIP and LOCATION information. And this includes, in step 202: obtaining from the network devices certain parameters related to their hardware models and their current network operating systems using the corresponding MANAGEMENTIP information of the network devices 109.

[0096] In step 203, those network devices 109 that have unsupported hardware and software features (such as unsupported hardware models or current network operating systems) that are not susceptible to the automated maintenance of the present technology or whose BU, ROLE, INFRA tags or LOCATION information are incorrect may be removed from the maintenance list. For example, their network operating system level may not be a supported level, or their hardware model may be outdated or unrecognizable. For example, their tags may not have values ​​recognized by the automated maintenance system of the present technology, or have more or less than a single value (strictly) for any of the BU, ROLE or INFRA tags, etc.

[0097] At step 204, the remaining network devices 109 on the list may be clustered as follows:

[0098] - Forming i cluster BUs of network devices 109 that share the same BU label i ;

[0099] - In each BU i In the cluster, j cluster ROLEs are formed for network devices 109 that share the same ROLE label j ;

[0100] - In each ROLE j In the cluster, k clusters of network devices 109 sharing the same INFRA label are formed. ijk .

[0101] Those skilled in the art will appreciate that another order of clustering network devices 109 than that described may be used to derive the cluster Cluster ijk This is still within the teaching of the present disclosure. For example, a cluster may first be composed of network devices 109 that share the same ROLE label, then be composed of network devices 109 that share the same BU label, and so on.

[0102] In step 205, in each formed Cluster ijk In the example, redundancy between network devices 109 can be identified. This redundancy can be k At the level, the automation system of the present technology can be applied to group the redundant network devices 109 into each Cluster ijk A group may include 1 (the network device has no redundancy) or 2 or more network devices 109.

[0103] In step 206, in cluster Cluster ijk Each formed group can take advantage of the applicable BU i -ROLE j -INFRA k The size rule of a specific combination of the size rules of the cluster is used to check the compliance of the network devices 109 present in the group. For example, the size rule may indicate that the cluster ijk All groups in a group must include 3 network devices 109. All network devices 109 belonging to a group including (strictly) more or less than 3 network devices 109 are non-compliant. Furthermore, a check may be performed whether all network devices 109 in a group share the same LOCATION information.

[0104] At step 207 , those network devices 109 that were not clustered or grouped at steps 204 and 205 , did not meet redundancy rules or size rules, or did not share the same LOCATION information when present in the same group after steps 205 and 206 may be removed from the maintenance list.

[0105] At step 208, the automated process according to the present technology can sequentially upgrade all remaining network devices 109 in the group. Since these network devices 109 are redundant network devices, the interruption of the functions of the data center and the interruption of the network connectivity services provided to the customers of the organization that deploys, controls and maintains the data center are minimized, and the partial or complete technical unavailability of the data center due to the maintenance of the network devices is limited as much as possible. ijk All created groups and all formed Clusters ijkThe same operation is performed on the cluster. For multiple clusters that have been adjusted ijk Clusters can perform the same operations in parallel to increase the speed of the maintenance process while minimizing the overall downtime of the data center and the disruption of services to the customers of the organization that deploys, controls, and maintains the data center. ijk The order of clusters to optimize continuity of service to the organization's customers.

[0106] Figure 3a to Figure 3c A more detailed view of the method according to the present technology is provided. Figure 3a In step 301, an attempt may be made to obtain information about the current network operating system level and hardware model of the network devices to be maintained in the data center. These network devices may be listed by an ID list on the maintenance list. Return to reference Figure 1 This can be performed, for example, in the following manner: (i) the network upgrade tool 100 is provided with a maintenance list of network device IDs (by the data center operator 101 or otherwise), (ii) the network upgrade tool 100 collects the corresponding MANAGEMENTIP from the CMDB 103, and (iii) the network upgrade tool 100 uses the retrieved corresponding MANAGEMENTIP to query the network device to be maintained to obtain information about the level and hardware model of the current network operating system. The collection / acquisition may not be successful, and the ID of the network device that failed to be collected / acquired can be added to the error list in steps 302 and 307 and removed from the maintenance list.

[0107] In step 303, the remaining network devices on the maintenance list (i.e., those network devices whose IDs have not been added to the error list after step 301 / 302) can be determined whether the hardware model obtained in step 301 is a supported hardware model. As used herein, "supported hardware model" refers to a hardware model that can be processed by the maintenance operation of the data center. Return to reference Figure 1 This can be performed, for example, in the following manner: (i) the supported hardware models are stored in the rule DB 112 (by the data center operator 101 or otherwise), (ii) the network upgrade tool 100 retrieves those supported hardware models from the rule DB 112, and (iii) the network upgrade tool 100 compares the retrieved supported hardware models with the hardware model obtained in step 301. If the determination is unsuccessful or the hardware model is an unsupported hardware model, the ID of the corresponding network device can be added to the error list and removed from the maintenance list in steps 304 and 307.

[0108] In step 305, an attempt may be made to collect information on the tags of the remaining network devices on the maintenance list to be maintained in the data center, as well as the LOCATION and MANAGEMENT IP information. This may be performed by the network upgrade tool 100 collecting this information from the CMDB 103. The collection may not necessarily be successful, and the IDs of the network devices for which the collection is unsuccessful may be added to an error list and removed from the maintenance list in steps 306 and 307.

[0109] refer to Figure 3b In step 310, a determination may be made for the remaining network devices on the maintenance list whether they have one and only one value for each of the tags BU, ROLE, and INFRA (as obtained in step 305). The IDs of network devices that have no value or more than one value in any of the BU, ROLE, or INFRA tags may be added to the error list and removed from the maintenance list in steps 311 and 312.

[0110] The remaining network devices on the maintenance list may be grouped into clusters sharing the same BU label at step 313. The IDs of network devices with unknown / unrecognized values ​​in the BU may be added to the error list at steps 314 and 312 and removed from the maintenance list.

[0111] The remaining network devices on the maintenance list may be grouped into sub-clusters sharing the same ROLE tag in each BU cluster at step 316. The IDs of network devices with unknown / identified values ​​in ROLE may be added to the error list at steps 317 and 312 and removed from the maintenance list.

[0112] Figure 4 Provided based on Figure 3b 313 and 316 in the cluster / sub-cluster logical diagram of the network devices in the data center. Only a portion of the data center network devices 401 are shown. The network devices 401 each have a unique ID that has been illustrated as "NDxx". As a result of step 313, the network devices 401 are each clustered into BU clusters 402, which are illustrated as BU01 and BU11. As a result of step 316, the network devices 401 are each sub-clustered into ROLE sub-clusters 403, which are illustrated as ROLE01, ROLE07, ROLE13, etc.

[0113] Return now Figure 3c In step 320, for each cluster BU created in step 313 i and each subcluster ROLE created in step 316 j , network devices can be further grouped into groups that share the same INFRA label k (INFRA k)'s sub-cluster Cluster ijk .

[0114] In step 321, according to the applicable INFRA k The redundant rules can be further added in each Cluster ijk Network devices that appear to be redundant in the group are grouped into groups of redundant network devices. Return to reference Figure 1 This may be performed, for example, by: (i) storing in rules DB 112 (by data center operator 101 or otherwise) INFRA-specific k (ii) the network upgrade tool 100 retrieves those redundancy rules from the rule DB 112, and (iii) the network upgrade tool 100 groups the network devices into each Cluster according to those redundancy rules. ijk For example, a rule could be to normalize network device IDs that inherently carry redundant information. For example, a rule could be INFRA k The ID of the redundant network device in the INFRA k The same character chain ends.

[0115] In step 322, the BU may be configured to be compatible with the corresponding combination of BUs. i -ROLE j -INFRA k A rule that checks whether the hardware model of the network device present in each group is one or several expected hardware models. Return to reference Figure 1 This may be performed, for example, by: (i) storing in the rules DB 112 (by the data center operator 101 or otherwise) a BU-specific i -ROLE j -INFRA k (ii) the network upgrade tool 100 retrieves those hardware model expected rules from the rule DB 112, and (iii) the network upgrade tool 100 checks each Cluster according to those hardware model expected rules. ijk Network devices in the group.

[0116] In step 323, the BU may be configured to be compatible with the corresponding combination of BUs. i -ROLE j -INFRA k The size rule checks the actual number of network devices present in each group. Return to reference Figure 1 This may be performed, for example, by: (i) storing in rules DB 112 (by data center operator 101 or otherwise) rules specific to BU i -ROLEj -INFRA k (ii) the network upgrade tool 100 retrieves those size rules from the rule DB 112, and (iii) the network upgrade tool 100 checks each Cluster according to those size rules. ijk The number of network devices in the group.

[0117] In step 324, it may be verified whether all network devices present in each group share the same LOCATION information. From step 305, the network upgrade tool 100 may use the LOCATION information.

[0118] In steps 325 and 326, all network devices that were not grouped in steps 320 or 321, did not match one of the expected hardware models in step 322, did not total the expected number in the group in step 323, or did not share the same LOCATION when in the same group may be added to an error list and removed from the maintenance list.

[0119] In step 327, the remaining network devices on the maintenance list can be maintained: for all network devices in the group, for all Clusters ijk , which are executed sequentially. Return to reference Figure 1 This can be performed, for example, by: (i) storing (by the data center operator 101 or otherwise) upgrade rules for bringing network devices from a current network operating system level to a target network operating system level in the upgrade path DB 104, (ii) the network upgrade tool 100 retrieving those upgrade rules from the upgrade path DB 104, and (iii) the network upgrade tool 100 applying the upgrade through the network configurator 105.

[0120] Through the present technology, network devices involved in providing the same service to the same customers of a data center have been identified and grouped together, and after removing those network devices that are not compliant and for which the risk of automated maintenance is too great, maintenance is performed sequentially on all network devices belonging to one group. As a result, the service is not completely interrupted, but only degraded as the case may be.

[0121] Those skilled in the art will appreciate that the granularity of the error lists referred to in steps 307, 312, and 326 can be higher by tracking the causes of the errors. For example, the error lists can be broken down into sub-lists that allow for differentiation between (i) errors that the data center operator 101 may be able to correct, such as labels, classifications, identifications, and (ii) errors that are linked to a faulty network device, such as through its network operating system level.

[0122] Figure 5 The computing system that can be used in the present technology is illustrated. An example of an embodiment of a computing system 500 that can be used for the network upgrade tool 100 and / or the network configurator 105 is presented. As will be appreciated by those skilled in the art, such a computing system can be implemented in any other suitable hardware, software and / or firmware or combination thereof, and can be a single physical entity or several separate physical entities with distributed functionality.

[0123] In some aspects of the present technology, computing system 500 may include various hardware components, including one or more single-core or multi-core processors, solid-state drive 502, memory 503, and input / output interface 504, collectively represented by processor 501. In this context, processor 501 may or may not be included in an FPGA. In some other aspects, computing system 500 may be an "off-the-shelf" general-purpose computing system. In some aspects, computing system 500 may also be distributed in multiple systems. Computing system 500 may also be specifically used for embodiments of the present technology. As those skilled in the art will appreciate, multiple variations on how to implement computing system 500 may be envisioned without departing from the scope of the present technology.

[0124] Communications between the various components of the computing system 500 may be accomplished via one or more internal and / or external buses 505 (e.g., a PCI bus, a Universal Serial Bus, an IEEE 1394 "FireWire" bus, a SCSI bus, a Serial ATA bus, an ARINC bus, etc.) to which the various hardware components are electronically coupled.

[0125] The input / output interface 504 may allow for enabling networking capabilities, such as wired or wireless access. As an example, the input / output interface 504 may include a networking interface, such as, but not limited to, a network port, a network socket, a network interface controller, etc. A number of examples of how the networking interface may be implemented will become apparent to those skilled in the art. According to embodiments of the present technology, the solid-state drive 502 may store program instructions, such as those portions of libraries, applications, etc. suitable for loading into the memory 503 and executing by the processor 501 for use in accordance with the methods and process steps of the present technology.

[0126] Although the above embodiments have been described and illustrated with reference to specific steps performed in a specific order, it will be understood that these steps can be combined, subdivided, or reordered without departing from the teachings of the present disclosure. At least some of the steps can be performed in parallel or in series. Therefore, the order and grouping of steps are not limitations of the present technology. It should also be clearly understood that not all technical effects mentioned herein need to be enjoyed in every embodiment of the present technology.

[0127] Modifications and improvements to the above-described embodiments of the present technology may be obvious to those skilled in the art. The foregoing description is intended to be illustrative rather than restrictive. Therefore, the scope of the present technology is intended to be limited only by the scope of the appended claims.

Claims

1. A method for maintaining a network device in a data center, comprising: - Collect (201) the following for each of the network devices on the maintenance list: - A virtual identifier uniquely associated with the network device, i.e., a management IP; - information representing the actual physical location of the network device, i.e. the location; and - a key-value tuple, i.e. a tag, associated with the network device, wherein the key is one of: - Information indicating the business or product provision for which the network device in the data center is used, i.e., BU; - Information indicating the position and function of the network device in the data center, namely, ROLE; and - information indicating the version or generation of the data center, i.e., INFRA, in which the network device runs; and wherein said value is the actual data or a pointer to the data for said key; - for each of the network devices on the maintenance list, using the corresponding management IP, obtaining (202) the hardware model and current network operating system level of the network device; - Remove (203) from the maintenance list: a network device with an unsupported hardware model; or a network device with an unsupported current network operating system level; or a network device with an error in any of the associated BU tags, ROLE tags and INFRA tags of the network device or in any of the locations of the network device; - Clustering (204) the remaining network devices on the maintenance list into i cluster BUs of network devices having the same BU key value in one of the associated tags of the remaining network devices i ; in BU i j cluster ROLEs of network devices with the same ROLE key value in one of the associated tags of the remaining network devices in the cluster j and a ROLE of a network device having the same INFRA key value in one of the associated tags of the remaining network devices j k clusters within a cluster ijk ; -In each Cluster ijk A group of redundant network devices is created (205) within the cluster, and: -According to the INFRA k redundancy rules, verifying (205) whether the number of redundant network devices in each created group matches the first number; -According to the applicable combination BU i -ROLE j -INFRA k size rule, verifying (206) whether the number of network devices in each created group matches the second number; - verifying (206) whether all network devices in each created group share the same location; - removing (207) the following network devices from the maintenance list: network devices that are present in the group and are redundant, the number of which does not match the first number; network devices that are present in the group, the number of which does not match the second number; or network devices that are present in the group and do not share the same position; and -Use upgrade rules and corresponding management IP addresses for all Clusters ijk All groups within the cluster sequentially upgrade (208) the remaining network devices in each created group from the current version of the network operating system to the target version of the operating system.

2. The method according to claim 1, wherein: The collecting and the acquiring are performed using a unique ID assigned to each of the network devices on the maintenance list by a data center operator when the data center is deployed, and the unique ID is associated with any one of the associated tags of each network device and a management IP and location.

3. The method according to claim 1 or 2, wherein: Removing from the maintenance list also includes removing network devices that do not have exactly one value for each of the BU label, the ROLE label, and the INFRA label.

4. The method according to claim 2, wherein: Removing from the maintenance list also includes creating an error list populated with the unique IDs of the removed network devices.

5. The method according to claim 4, wherein: The error list also includes a sub-list of errors that can be corrected by the data center operator and errors linked to failed network devices.

6. The method according to claim 1 or 2, wherein: The sequential upgrade also includes: adjusting the Cluster for parallel processing ijk The number of clusters is such as to minimize downtime of the data center.

7. The method according to claim 1 or 2, wherein: The upgrade in sequence also includes: adjusting the processing Cluster ijk The order of the clusters to optimize the continuity of service to the customers of the organization that deploys, controls and maintains the data center.

8. A system for maintaining network devices in a data center, the system comprising a network upgrade tool (100) coupled to a CMDB (103), a rule DB (112), an upgrade path DB (104) and a network configurator (105), the network upgrade tool being configured to: - Collect (201) the following for each network device on the maintenance list from the CMDB: - A virtual identifier uniquely associated with the network device, i.e., a management IP; - information representing the actual physical location of the network device, i.e. the location; and - a key-value tuple associated with the network device, i.e., a tag, where The key is one of: - Information indicating the business or product provision for which the network device in the data center is used, i.e., BU; - Information indicating the position and function of the network device in the data center, namely, ROLE; and - information indicating the version or generation of the data center, ie, INFRA, in which the network device runs; and wherein said value is the actual data or a pointer to the data for said key; - for each of the network devices on the maintenance list, using the corresponding management IP, obtaining (202) the hardware model and current network operating system level of the network device; - Remove (203) from the maintenance list: a network device with an unsupported hardware model; or a network device with an unsupported current network operating system level; or a network device with an error in any of the associated BU tags, ROLE tags and INFRA tags of the network device or in any of the locations of the network device; - Clustering (204) the remaining network devices on the maintenance list into i cluster BUs of network devices having the same BU key value in one of the associated tags of the remaining network devices i ; in BU i j cluster ROLEs of network devices with the same ROLE key value in one of the associated tags of the remaining network devices in the cluster j and a ROLE of a network device having the same INFRA key value in one of the associated tags of the remaining network devices j k clusters within a cluster ijk ; - Based on the INFRA-approved k Redundancy rules, in each Cluster ijk Creating (205) a redundant group of network devices within the cluster; and -According to the INFRA k redundancy rules, verifying (205) whether the number of redundant network devices in each created group matches the first number; -According to the applicable combination BU i -ROLE j -INFRA k size rule, verifying (206) whether the number of network devices in each created group matches the second number; and - verifying (206) whether all network devices in each created group share the same location; - removing (207) the following network devices from the maintenance list: network devices that are present in the group and are redundant, the number of which does not match the first number; network devices that are present in the group, the number of which does not match the second number; or network devices that are present in the group and do not share the same position; and - Through the network configurator, use the upgrade rules and corresponding management IP collected from the upgrade path DB to configure the upgrade path for all Clusters. ijk All groups within the cluster sequentially upgrade (208) the remaining network devices in each created group from the current version of the network operating system to the target version of the operating system.

9. The system according to claim 8, wherein: The network upgrade tool is also configured to collect and obtain using a unique ID assigned to each of the network devices on the maintenance list by a data center operator when deploying the data center, and the unique ID is associated with any one of the associated tags of each network device and the management IP and the location.

10. The system according to claim 8 or 9, wherein: The network upgrade tool is also configured to create an error list populated with unique IDs of network devices removed from the maintenance list.

11. The system according to claim 10, wherein: The error list also includes a sub-list of errors that can be corrected by the data center operator and errors linked to failed network devices.

12. The system according to claim 8 or 9, wherein: The network upgrade tool is also configured to adjust the parallel processing Cluster ijk The number of clusters is such as to minimize downtime of the data center.

13. The system according to claim 8 or 9, wherein: The network upgrade tool is also configured to adjust the processing Cluster ijk The order of the clusters to optimize the continuity of service to the customers of the organization that deploys, controls and maintains the data center.

14. The system according to claim 8 or 9, wherein: The redundancy rule and the size rule are hard-coded in the network upgrade tool.

15. A computer readable medium comprising instructions for causing a computing system to perform the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Updating nodes considering service model constraints

    US20110321031A1

  • Increasing availability of stateful applications

    US20130151681A1