Automatic deactivation and activation of configuration functions of network devices incompatible with execution of online software upgrade process
By automatically identifying and processing configuration data structures through network devices, configuration functions incompatible with the ISSU process are deactivated, resolving compatibility issues during online software upgrades and achieving a resource-optimized and performance-stable ISSU process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- JUNIPER NETWORKS INC
- Filing Date
- 2022-04-20
- Publication Date
- 2026-06-05
AI Technical Summary
During online software upgrades, some configuration functions are incompatible with the ISSU process, leading to performance issues and resource waste. Existing manual deactivation and activation methods are not accurate enough and may cause additional performance problems or resource waste.
Network devices automatically identify and deactivate configuration functions that are incompatible with the ISSU process by acquiring data packets associated with the ISSU process, reactivate these functions after executing the ISSU process, identify inactive configuration functions using the first and second configuration data structures, and restore their functions after the ISSU process is completed.
The automated deactivation and activation configuration functions reduce resource waste, avoid unnecessary performance issues, ensure the smooth progress of the ISSU process, and reduce reliance on manual scripts.
Smart Images

Figure CN116743560B_ABST
Abstract
Description
Technical Field
[0001] Various embodiments of this application relate to the automatic deactivation and activation of configuration functions for network devices that are incompatible with the execution of online software upgrade processes. Background Technology
[0002] Online Software Upgrade (ISSU) is a technique for updating the software on network devices without taking them offline. In this way, network devices can be updated while minimizing disruption to the service and control plane services provided by the network devices. Summary of the Invention
[0003] Some implementations described herein relate to a network device. The network device may include one or more memories and one or more processors. The network device may be configured to identify a first configuration data structure included in the network device. The network device may be configured to acquire data packets associated with an ISSU procedure, the data packets including a second configuration data structure. The network device may be configured to identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU procedure, based on the first and second configuration data structures. The network device may be configured to deactivate one or more configuration functions of the network device. The network device may be configured to execute the ISSU procedure based on data packets after deactivating one or more configuration functions of the network device. The network device may be configured to activate one or more configuration functions of the network device after the ISSU procedure has been executed.
[0004] Some implementations described herein relate to a non-transitory computer-readable medium storing a set of instructions for a network device. When executed by one or more processors of the network device, the set of instructions causes the network device to acquire data packets associated with an ISSU procedure. When executed by one or more processors of the network device, the set of instructions causes the network device to identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU procedure based on the acquired data packets. When executed by one or more processors of the network device, the set of instructions causes the network device to deactivate one or more configuration functions of the network device. When executed by one or more processors of the network device, the set of instructions causes the network device to execute the ISSU procedure based on the data packets after deactivating one or more configuration functions of the network device.
[0005] Some implementations described herein relate to a method. This method may include one or more configuration functions of a network device that will be inactive during the execution of the ISSU procedure, identified by the network device. This method may include the network device deactivating one or more configuration functions of the network device. This method may include the network device executing the ISSU procedure after deactivating one or more configuration functions of the network device. Attached Figure Description
[0006] Figures 1A to 1G This is a diagram of the example implementation described in this article;
[0007] Figure 2 It is a diagram of an example environment in which the systems and / or methods described in this article can be implemented;
[0008] Figures 3 to 4 yes Figure 2 A diagram of example components of one or more devices; and
[0009] Figure 5 This is a flowchart of an example process related to the automatic deactivation and activation of configuration functions of network devices that are incompatible with the execution of ISSU procedures. Detailed Implementation
[0010] The following example implementation is described in detail with reference to the accompanying drawings. The same reference numerals in different drawings can identify the same or similar elements.
[0011] Network devices include configuration functions (e.g., features, processes, applications, or services) used by the network device to facilitate the routing of services over the network. When a network device needs to be upgraded, it can perform an In-Service Software Upgrade (ISSU) process to update the network device (e.g., without taking the network device offline). However, in some cases, certain configuration functions are incompatible with the execution of the ISSU process. Therefore, the execution of the ISSU process may adversely affect the operational performance of these configuration functions. For example, the execution of the ISSU process may cause the configuration function to malfunction (e.g., cause unexpected errors) or stop performing. This leads to the use of the computing resources (e.g., processing resources, memory resources, communication resources, and / or power resources) of the network device and / or one or more other devices to attempt to fix the configuration function and / or resolve any problems associated with the affected operational performance of the configuration function (e.g., bad routing problems, black hole problems, or other problems).
[0012] In some situations, network device administrators can run custom scripts to deactivate incompatible configuration features before the ISSU process is executed on the network device, and can run other custom scripts to activate incompatible configuration features after the ISSU process is executed. However, in many cases, such as due to continuous changes in the network device configuration, the scripts may not deactivate and / or activate all incompatible configuration features, leading to performance issues similar to those mentioned above that the scripts cannot resolve. In other cases, the scripts may unnecessarily deactivate and / or activate configuration features compatible with the ISSU process, causing unnecessary operational performance issues for these configuration features (e.g., because the configuration features are inactive during the ISSU process).
[0013] Some implementations described herein provide a network device including a first configuration data structure. The network device acquires data packets associated with an ISSU procedure (e.g., the network device executes the ISSU procedure to update the network device). The data packets include a second configuration data structure. In some implementations, the first and second configuration data structures identify one or more configuration functions of the network device that are incompatible with the execution of the ISSU procedure, and the network device processes (e.g., parses) the first and second configuration data structures to identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU procedure. Therefore, the network device deactivates one or more configuration functions of the network device, thereby causing the ISSU procedure to be executed (e.g., based on the data packets). After the ISSU procedure is executed, the network device activates one or more configuration functions.
[0014] In this manner, the network device automatically deactivates and activates one or more configuration functions of the network device that are incompatible with the execution of the ISSU process. Therefore, the network device causes the ISSU process to be executed when one or more configuration functions are deactivated, and then activates the one or more configuration functions after the ISSU process has been executed. This allows the network device to be updated (e.g., based on the execution of the ISSU process) without adversely affecting the performance of one or more configuration functions of the network device (e.g., because one or more configuration functions will be inactive during the execution of the ISSU process). This reduces the likelihood of one or more configuration functions misbehaving (e.g., causing unexpected errors) or ceasing execution, thus minimizing the use of computational resources (e.g., processing resources, memory resources, communication resources, and / or power resources, etc.) of the network device and / or one or more other devices for attempting to repair one or more configuration functions and / or resolve any problems associated with the affected performance of one or more configuration functions (e.g., bad routing problems, black hole problems, or other problems). Furthermore, some implementations eliminate the need for administrators to generate and run custom scripts associated with the execution of the ISSU process. This further reduces the likelihood of performance issues arising from incompatible configuration features not being properly deactivated and activated to execute the ISSU process and / or compatible configuration features being unnecessarily deactivated and / or activated to execute the ISSU process.
[0015] Figures 1A to 1G This is a diagram of one or more example implementations 100 described in this document. The example implementations 100(s) may include network devices, client devices, and / or server devices, which are described below in conjunction with... Figures 2 to 4 To describe in more detail: One or more network devices and / or monitoring devices can be configured to communicate with each other via the network.
[0016] A network device may include multiple configuration functions (e.g., multiple features, processes, applications, or services) provided by the network device to facilitate service routing over the network. In some implementations, one or more of these configuration functions are incompatible with the execution of the ISSU process (e.g., performed by the network device). For example, executing the ISSU process while one or more configuration functions are active on the network device may adversely affect the performance of one or more configuration functions during and / or after the execution of the ISSU process. Some implementations described herein enable the network device to automatically deactivate and / or activate one or more configuration functions as part of the execution of the ISSU process.
[0017] like Figure 1AAs shown by reference numeral 105, the network device can receive commands, for example, from a client device. For instance, a user of the client device can interact with a user interface (e.g., a command-line interface (CLI), a graphical user interface (GUI), etc.) provided by the network device to enter commands, and the client device can send commands to the network device. The command can instruct the network device to be updated via the execution of the ISSU process. For example, the command can include instructions to communicate with a server device to obtain data packets associated with the ISSU process (e.g., software installation packages, including an updated network device image and / or other upgrade information associated with the ISSU process) and to cause the ISSU process to be executed (e.g., based on data packets). The command can instruct the network device to have permission to deactivate and activate the network device's configuration functions (e.g., to facilitate the execution of the ISSU process). For example, the command can include indications regarding permission for the network device to have deactivate and / or activate the network device's configuration functions to facilitate the execution of the ISSU process (e.g., command-line options, such as strings prefixed with dashes ("-") when commands are entered via the CLI).
[0018] As shown by reference numeral 110 in the accompanying drawings, a network device can obtain data packets from a server device (e.g., based on a command received from a client device). For example, the network device can send (e.g., based on a command) a request to the server device (e.g., a request for data packets associated with the ISSU process), and the server device can send (e.g., based on a request) data packets to the network device. Therefore, the network device can receive data packets and thus can perform one or more additional steps related to the execution of the ISSU process, as described herein.
[0019] like Figure 1BAs shown, a network device can identify one or more configuration data structures (e.g., databases, electronic documents, or other data structures) associated with the network device. For example, as indicated by reference numeral 115, a network device can identify a first configuration data structure included in the network device (e.g., stored and / or maintained by the network device). As another example, as indicated by reference numeral 120, a network device can identify a second configuration data structure included in a data packet. The network device can process (e.g., parse) the data packet to identify the second configuration data structure. For a specific configuration function among one or more configuration functions of the network device, at least one of the first or second configuration data structures can indicate that the specific configuration function will be inactive during the execution of the ISSU process. For example, the first configuration data structure can indicate one or more configuration functions of the network device that will be inactive during the general execution of the ISSU process, and the second configuration data structure can indicate one or more configuration functions of the network device that will be inactive during the execution of a specific ISSU process associated with the data packet (e.g., the first and second configuration data structures can identify some or all of the aforementioned configuration functions and / or different configuration functions).
[0020] like Figure 1C As shown, a configuration data structure (e.g., at least one of a first configuration data structure or a second configuration data structure) may include one or more data structure elements. Each data structure element may identify a configuration function in one or more configuration functions of a network device that is incompatible with the execution of the ISSU procedure. Furthermore, the data structure element may indicate that the configuration function is incompatible with the ISSU procedure and / or that the configuration function will be inactive during the execution of the ISSU procedure. For example, as... Figure 1C As shown, the first data structure identifies a first configuration function (e.g., the "Chassis Synchronization Network Option" configuration function) and includes ISSU information (e.g., indicated by the "Action" label) indicating that (1) the first configuration function is incompatible with the ISSU process (e.g., via the "Warning Message" label, "Clock Synchronization does not support ISSU (SyncE)"), and (2) the first configuration function will be inactive during the execution of the ISSU process (e.g., via the "Override" label). As another example, such as Figure 1C As further shown, the second data structure identifies the second configuration function (e.g., the "Protocol PTP" configuration function) and includes ISSU information (e.g., indicated by the "Action" label) that indicates (1) the second configuration function is incompatible with the ISSU process (e.g., via the "Warning Message" label, "ISSU does not support clock synchronization (PTP / Hybrid)") and (2) the second configuration function will be inactive during the execution of the ISSU process (e.g., via the "Override" label).
[0021] like Figure 1D As shown by reference numeral 125, a network device may identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU process. For example, the network device may process (e.g., search, such as by using a processing tool configured to search configuration data structures) a first configuration data structure and / or a second configuration data structure to identify one or more data structure elements, and may process (e.g., parse, such as by using a processing tool) one or more data structure elements to identify one or more configuration functions of the network device (e.g., identified by one or more data structure elements). In some implementations, when the first configuration data structure and the second configuration data structure identify the same configuration function (and both indicate that the configuration function will be inactive during the execution of the ISSU process), the network device may include the configuration function in one or more configuration functions of the network device that will be inactive during the execution of the ISSU process. In some implementations, when the first configuration data structure and the second configuration data structure identify the same configuration function (but do not both indicate that the configuration function will be inactive during the execution of the ISSU process), the network device may compare the first data structure element of the first configuration data structure and the second data structure element of the second configuration data structure, both of which identify configuration functions. The network device can thus select a specific data structure element from the first and second data structure elements based on a comparison (e.g., selecting a specific data structure element that has a higher priority, a more recent modification date, or a more preferred characteristic or parameter compared to other data structure elements). Therefore, when the selected data structure element indicates that a configuration function will be inactive during the execution of the ISSU process, the network device can include the configuration function in one or more configuration functions of the network device that will be inactive during the execution of the ISSU process.
[0022] Additionally or alternatively, when the first configuration data structure identifies a configuration function not identified by the second configuration data structure, the network device may not include the configuration function in one or more configuration functions of the network device that will be inactive during the execution of the ISSU process (e.g., when the first configuration data structure indicates that the configuration function will be inactive during the execution of the ISSU process). Alternatively or alternatively, when the second configuration data structure identifies a configuration function not identified by the first configuration data structure, the network device may include the configuration function in one or more configuration functions of the network device that will be inactive during the execution of the ISSU process (e.g., when the second configuration data structure indicates that the configuration function will be inactive during the execution of the ISSU process). Some additional implementations consider other processes for identifying one or more configuration functions of the network device that will be inactive during the execution of the ISSU process (e.g., based on the first configuration data structure and / or the second configuration data structure, or not based on the first configuration data structure and the second configuration data structure).
[0023] In some implementations, the network device may store information identifying one or more configuration functions of the network device in a different data structure (e.g., a database, electronic document, or another data structure) than the first and second configuration data structures. This can facilitate one or more processing steps associated with deactivating and / or activating one or more configuration functions of the network device, as further described herein (e.g., because the network device does not need to reprocess the first and / or second configuration data structures to identify one or more configuration functions of the network device).
[0024] like Figure 1E As shown by reference numeral 130 in the accompanying drawings, a network device can deactivate one or more configuration functions of the network device. For example, the network device can cause one or more deactivation actions associated with one or more configuration functions of the network device to be executed. One or more deactivation actions may include, for example, the network device generating one or more commands to deactivate one or more configuration functions and executing one or more commands (e.g., causing one or more commands to be executed by the network device). In some implementations, the network device may obtain information identifying one or more configuration functions of the network device from another data structure and can deactivate one or more configuration functions of the network device based on that information.
[0025] like Figure 1FAs shown by reference numeral 135, the network device can cause the ISSU procedure to be executed (e.g., after one or more configuration functions of the network device have been deactivated). The network device can cause the ISSU procedure to be executed based on data packets (e.g., data packets received by the network device from a server device). For example, the network device can process (e.g., execute) data packets to cause the network device to execute the ISSU procedure. In this way, the network device can cause one or more parameters (e.g., one or more settings) of at least one other configuration function of the network device (e.g., a configuration function not included in one or more configuration functions of the network device that is incompatible with the execution of the ISSU procedure) to be modified (e.g., one or more parameters are updated based on the execution of the ISSU procedure).
[0026] like Figure 1G As shown by reference numeral 140, a network device can activate one or more configuration functions of the network device (e.g., after the ISSU procedure is executed). For example, the network device can execute one or more activation actions associated with one or more configuration functions of the network device. One or more deactivation actions may include, for example, the network device generating one or more commands to activate one or more configuration functions and executing one or more commands (e.g., causing one or more commands to be executed by the network device). In some implementations, the network device may obtain information identifying one or more configuration functions of the network device from another data structure and may activate one or more configuration functions of the network device based on that information.
[0027] As mentioned above, providing Figures 1A to 1G As an example. Other examples can be related to... Figures 1A to 1G The descriptions differ. Provided Figures 1A to 1G The number and arrangement of equipment shown are for illustrative purposes. In practice, with... Figures 1A to 1G Compared to what is shown, there can be more equipment, fewer equipment, different equipment, or equipment arranged differently. Furthermore, Figures 1A to 1G The two or more devices shown can be implemented within a single device, or Figures 1A to 1G The single device shown can be implemented as multiple distributed devices. Additional or alternative locations, Figures 1A to 1G The set of devices shown (e.g., one or more devices) can perform actions described by Figures 1A to 1G The other group of devices shown performs one or more functions. For example, one of the network devices may perform one or more functions described as being performed by the monitoring device, and vice versa.
[0028] Figure 2 This is a diagram of an example environment 200 in which the systems and / or methods described herein can be implemented. (See diagram 200 for example environment 200.) Figure 2 As shown, environment 200 may include network device 210, network 220, server device 230, and / or client device 240. The devices and / or components of environment 200 may be interconnected via wired and / or wireless connections.
[0029] Network device 210 includes one or more devices capable of receiving, processing, storing, routing, and / or providing information related to automatic deactivation and activation of configuration functions incompatible with the execution of ISSU procedures, as described elsewhere herein. For example, network device 210 may include routers such as label switching routers (LSRs), label edge routers (LERs), ingress routers, egress routers, provider routers (e.g., provider edge routers or provider core routers), virtual routers, etc. Additionally or alternatively, network device 210 may include gateways, switches, firewalls, hubs, bridges, reverse proxies, servers (e.g., proxy servers, cloud servers, or data center servers), load balancers, etc. In some implementations, network device 210 may be a physical device implemented within a enclosure (such as a chassis). In some implementations, network device 210 may be a virtual device implemented by one or more computer devices in a cloud computing environment or data center. In some implementations, a group of network devices 210 may be a group of data center nodes used to route traffic flows through network 220.
[0030] Network 220 includes one or more wired and / or wireless networks. For example, network 220 may include cellular networks, public land mobile networks (PLMNs), local area networks (LANs), wide area networks (WANs), private networks, the Internet, and / or combinations of these or other types of networks. Network 220 enables communication between devices in environment 200.
[0031] Server device 230 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information relating to data packets associated with ISSU processes, as described elsewhere herein. Server device 230 may include communication devices and / or computing devices. For example, server device 230 may include servers such as application servers, client servers, network servers, database servers, host servers, proxy servers, virtual servers (e.g., executing on computing hardware), or servers in cloud computing systems. In some implementations, server device 230 includes computing hardware used in a cloud computing environment.
[0032] Client device 240 includes one or more devices, as described elsewhere herein, capable of receiving, generating, storing, processing, and / or providing information associated with a command instructing network device 210 to be updated via the execution of the ISSU process. Client device 240 may include communication devices and / or computing devices. For example, client device 240 may include wireless communication devices, mobile phones, user equipment, laptop computers, tablet computers, desktop computers, game consoles, set-top boxes, wearable communication devices (e.g., smartwatches, smart glasses, head-mounted displays, or virtual reality headsets), etc.
[0033] supply Figure 2 The number and layout of the devices and networks shown are for illustrative purposes. In practice, with... Figure 2 Compared to what is shown, there can be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks arranged differently. Furthermore, Figure 2 The two or more devices shown can be implemented within a single device, or Figure 2 The single device shown can be implemented as multiple distributed devices. Additionally or alternatively, a group of devices in environment 200 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in environment 200.
[0034] Figure 3 This is a diagram illustrating example components of device 300, which may correspond to network device 210, server device 230, and / or client device 240. In some implementations, network device 210, server device 230, and / or client device 240 include one or more devices 300 and / or one or more components of device 300. Figure 3 As shown, device 300 may include bus 310, processor 320, memory 330, input component 340, output component 350 and communication component 360.
[0035] Bus 310 includes one or more components that enable wired and / or wireless communication between components of device 300. Bus 310 can... Figure 3 Two or more components are coupled together, such as via operational coupling, communication coupling, electronic coupling, and / or electrical coupling. Processor 320 includes a central processing unit, graphics processing unit, microprocessor, controller, microcontroller, digital signal processor, field-programmable gate array, application-specific integrated circuit, and / or other types of processing components. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
[0036] Memory 330 includes volatile and / or non-volatile memory. For example, memory 330 may include random access memory (RAM), read-only memory (ROM), hard disk drive, and / or another type of memory (e.g., flash memory, magnetic storage, and / or optical storage). Memory 330 may include internal memory (e.g., RAM, ROM, or hard disk drive) and / or removable memory (e.g., removable via a universal serial bus connection). Memory 330 may be a non-transitory computer-readable medium. Memory 330 stores information, instructions, and / or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories, such as those coupled to one or more processors (e.g., processor 320) via bus 310.
[0037] Input component 340 enables device 300 to receive input, such as user input and / or sensed input. For example, input component 340 may include a touchscreen, keyboard, keypad, mouse, button, microphone, switch, sensor, GPS sensor, accelerometer, gyroscope, and / or actuator. Output component 350 enables device 300 to provide output, such as via a display, speaker, and / or light-emitting diode. Communication component 360 enables device 300 to communicate with other devices via wired and / or wireless connections. For example, communication component 360 may include a receiver, transmitter, transceiver, modem, network interface card, and / or antenna.
[0038] Device 300 may perform one or more operations or procedures described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or code) for execution by processor 320. Processor 320 may execute the set of instructions to perform one or more operations or procedures described herein. In some implementations, execution of the set of instructions by one or more processors 320 causes one or more processors 320 and / or device 300 to perform one or more operations or procedures described herein. In some implementations, hardwired circuitry is used in place of or in combination with instructions to perform one or more operations or procedures described herein. Additionally or alternatively, processor 320 may be configured to perform one or more operations or procedures described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0039] supply Figure 3 The number and arrangement of components shown are for illustrative purposes only. Figure 3Compared to the examples shown, device 300 may include more components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 300 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 300.
[0040] Figure 4 This is a schematic diagram of example components of device 400. Device 400 may correspond to network device 210, server device 230, and / or client device 240. In some implementations, network device 210, server device 230, and / or client device 240 may include one or more devices 400 and / or one or more components of device 400. Figure 4 As shown, device 400 may include one or more input components 410-1 to 410-B (B≥1) (hereinafter collectively referred to as input components 410, and individually referred to as input components 410), switching component 420, one or more output components 430-1 to 430-C (C≥1) (hereinafter collectively referred to as output components 430, and individually referred to as output components 430) and controller 440.
[0041] Input component 410 may be one or more attachment points of a physical link and may be one or more entry points for incoming traffic such as packets. Input component 410 may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, input component 410 may transmit and / or receive packets. In some implementations, input component 410 may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memory, and / or input queues. In some implementations, device 400 may include one or more input components 410.
[0042] Switching component 420 interconnects input component 410 with output component 430. In some implementations, switching component 420 may be implemented via one or more crossbar switches, via a bus, and / or using shared memory. Shared memory may act as a temporary buffer to store packets before finally scheduling packets from input component 410 to be transmitted to output component 430. In some implementations, switching component 420 may enable input component 410, output component 430, and / or controller 440 to communicate with each other.
[0043] Output component 430 can store packets and schedule packets for transmission over the output physical link. Output component 430 can support data link layer encapsulation or decapsulation, and / or various higher-level protocols. In some implementations, output component 430 can transmit and / or receive packets. In some implementations, output component 430 may include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memory, and / or output queues. In some implementations, device 400 may include one or more output components 430. In some implementations, input component 410 and output component 430 may be implemented by the same set of components (e.g., the input / output component may be a combination of input component 410 and output component 430).
[0044] Controller 440 includes processors in the form of, for example, CPUs, GPUs, APUs, microprocessors, microcontrollers, DSPs, FPGAs, ASICs, and / or other types of processors. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, controller 440 may include one or more processors that can be programmed to perform functions.
[0045] In some implementations, controller 440 may include RAM, ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, optical storage, etc.) for storing information and / or instructions for use by controller 440.
[0046] In some implementations, controller 440 can communicate with other devices, networks, and / or systems connected to device 400 to exchange information about the network topology. Controller 440 can create routing tables based on the network topology information, create forwarding tables based on the routing tables, and forward the forwarding tables to input component 410 and / or output component 430. Input component 410 and / or output component 430 can use the forwarding tables to perform route looks on incoming and / or outgoing data packets.
[0047] Controller 440 may execute one or more processes described herein. Controller 440 may execute these processes in response to executing software instructions stored on a non-transitory computer-readable medium. A computer-readable medium is defined herein as a non-transitory storage device. A memory device includes memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0048] Software instructions may be read from another computer-readable medium or from another device into the memory and / or storage components associated with controller 440 via a communication interface. When executed, the software instructions stored in the memory and / or storage components associated with controller 440 may cause controller 440 to perform one or more processes described herein. Additionally or alternatively, hard-wired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0049] supply Figure 4 The number and arrangement of components shown are for illustrative purposes. In practice, with... Figure 4 Compared to the examples shown, device 400 may include more components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 400 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 400.
[0050] Figure 5 This is a flowchart of an example process 500 associated with the automatic deactivation and activation of configuration functions that are incompatible with the execution of online software upgrade processes for network devices. In some implementations, Figure 5 One or more process frames are executed by a network device (e.g., network device 210). In some implementations, Figure 5 One or more process frames are executed by another device or group of devices that are separate from or include the network device, such as a server device (e.g., server device 230) and / or a client device (e.g., client device 240). Additionally or alternatively, Figure 5 One or more process blocks may be executed by one or more components of device 300, such as processor 320, memory 330, input component 340, output component 350 and / or communication component 360; executed by one or more components of device 400, such as input component 410-1, switching component 420, output component 430 and / or controller 440; and / or executed by one or more components of another device.
[0051] like Figure 5 As shown, process 500 may include identifying a first configuration data structure included in the network device (block 510). For example, the network device may identify a first configuration data structure included in the network device, as described above.
[0052] like Figure 5As further shown, process 500 may include acquiring data packets associated with the ISSU process, the data packets including a second configuration data structure (block 520). For example, a network device may acquire data packets associated with the ISSU process, the data packets including a second configuration data structure, as described above.
[0053] like Figure 5 As further shown, process 500 may include one or more configuration functions of the network device that will be inactive during the execution of the ISSU process (block 530). For example, the network device may identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU process based on at least one of a first configuration data structure or a second configuration data structure, as described above.
[0054] like Figure 5 As further shown, process 500 may include deactivating one or more configuration functions of the network device (block 540). For example, the network device may deactivate one or more configuration functions of the network device as described above.
[0055] like Figure 5 As further shown, process 500 may include executing the ISSU process based on data packets (block 550). For example, the network device may execute the ISSU process based on data packets after one or more configuration functions of the network device have been deactivated, as described above.
[0056] like Figure 5 As further shown, process 500 may include activating one or more configuration functions of the network device (block 560). For example, the network device may activate one or more configuration functions of the network device after the ISSU process is executed, as described above.
[0057] Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and / or in conjunction with one or more other processes described elsewhere in this document.
[0058] In the first implementation, acquiring a data packet includes receiving from a client device a command instructing the network device to be updated via the execution of the ISSU procedure, sending a request for the data packet to a server device based on the command, and receiving the data packet based on the sending request.
[0059] In the second implementation, alone or in combination with the first implementation, the command instructs the network device to have permission to deactivate and activate the network device's configuration functions to facilitate the execution of the ISSU process.
[0060] In the third implementation, either alone or in combination with one or more of the first and second implementations, identifying one or more configuration functions of the network device that will be inactive during the execution of the ISSU process includes processing a first configuration data structure and a second configuration data structure to identify one or more data structure elements, wherein each of the one or more data structure elements identifies a configuration function among one or more configuration functions of the network device, wherein the data structure element indicates that the configuration function is incompatible with the ISSU process and that the data structure element indicates that the configuration function will be inactive during the execution of the ISSU process; and processing one or more data structure elements to identify one or more configuration functions of the network device.
[0061] In the fourth implementation, either alone or in combination with one or more of the first to third implementations, process 500 includes storing information identifying one or more configuration functions of the network device in another data structure, and causing one or more deactivation actions associated with one or more configuration functions of the network device to be executed based on the information stored in the other data structure.
[0062] In the fifth implementation, either alone or in combination with one or more of the first to fourth implementations, process 500 includes causing one or more activation actions associated with one or more configuration functions of the network device to be executed based on information stored in another data structure.
[0063] In the sixth implementation, either alone or in combination with one or more of the first to fifth implementations, the ISSU procedure is executed such that one or more parameters of at least one other configuration function of the network device are modified.
[0064] although Figure 5 An example box for process 500 is shown, but in some implementations, it differs from... Figure 5 Compared to the examples shown, process 500 includes more boxes, fewer boxes, different boxes, or boxes arranged differently. Additionally or alternatively, two or more boxes of process 500 can be executed in parallel.
[0065] The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit implementations to the precise forms disclosed. Modifications and variations can be made based on the foregoing disclosure, or modifications and variations can be derived from the practice of implementation.
[0066] As used herein, services or content may include a set of packets. A packet may refer to a communication structure used to transmit information, such as a Protocol Data Unit (PDU), a Service Data Unit (SDU), a network packet, a datagram, a segment, a message, a block, a frame (e.g., an Ethernet frame), a portion of any of the above, and / or another type of formatted or unformatted data unit that can be transmitted over a network.
[0067] As used herein, the term "component" is intended to be interpreted broadly as hardware, firmware, or a combination of hardware and software. Clearly, the systems and / or methods described herein can be implemented in various forms of hardware, firmware, and / or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limiting in its implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to any specific software code—it should be understood that software and hardware can be used to implement the system and / or method based on the description herein.
[0068] Although specific combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim in the dependent claims listed below may directly depend on one claim, the disclosure of various implementations includes combinations of each dependent claim in the dependent claims with each other claim in the claim set. As used herein, the phrase “at least one” in the list of items refers to any combination of these items, including single members. For example, “at least one of a, b, or c” is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination having multiple identical items.
[0069] No element, action, or instruction used herein should be construed as critical or necessary unless explicitly stated otherwise. Furthermore, as used herein, the articles “a” and “an” are intended to include one or more items and are interchangeable with “one or more.” Furthermore, as used herein, the article “the” is intended to include one or more items referenced by the article “the” and is interchangeable with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and is interchangeable with “one or more.” If only one item is intended, the phrase “only one” or similar language is used. Furthermore, as used herein, the terms “has,” “have,” “having,” etc., are intended to be open-ended terms. Furthermore, unless explicitly stated otherwise, the phrase “based on” is intended to mean “at least partially based on.” Furthermore, as used herein, the term “or” is intended to be included when used in a series of forms and may be used interchangeably with “and / or” unless otherwise expressly stated (e.g., if used in conjunction with “any one” or “only one”).
Claims
1. A network device, comprising: One or more memory units; as well as One or more processors, used to: The identifier is included in the first configuration data structure of the network device; Acquire data packets associated with the online software upgrade ISSU process, the data packets including a second configuration data structure; Based on the first configuration data structure and the second configuration data structure, identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU process; This deactivates one or more configuration functions of the network device; After the network device’s one or more configuration functions are deactivated, the ISSU procedure is executed based on the data packets. as well as After the ISSU procedure is executed, one or more configuration functions of the network device are activated.
2. The network device of claim 1, wherein, in order to acquire the data packet, the one or more processors are configured to: Receive from the client device a command instructing the network device to be updated via the execution of the ISSU procedure; Based on the command, a request for the data packet is sent to the server device; as well as The data packet is received based on sending the request.
3. The network device of claim 2, wherein the command instructs the network device to have permission to deactivate and activate the network device's configuration functions to facilitate the execution of the ISSU process.
4. The network device of claim 1, wherein, in order to identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU process, the one or more processors are configured to: Process the first configuration data structure and the second configuration data structure to identify one or more data structure elements. Each of the one or more data structure elements identifies a configuration function among the one or more configuration functions of the network device, wherein: The data structure element indicates that the configuration function is incompatible with the ISSU process, and The data structure element indicates that the configuration function will be inactive during the execution of the ISSU process; and Process the one or more data structure elements to identify the one or more configuration functions of the network device.
5. The network device of claim 1, wherein, in order to deactivate the one or more configuration functions of the network device, the one or more processors are configured to: Information identifying the one or more configuration functions of the network device is stored in another data structure; and Based on the information stored in the other data structure, one or more deactivation actions associated with one or more configuration functions of the network device are executed.
6. The network device of claim 5, wherein, in order to activate the one or more configuration functions of the network device, the one or more processors are configured to: Based on the information stored in the other data structure, one or more activation actions associated with one or more configuration functions of the network device are executed.
7. The network device of claim 1, wherein executing the ISSU procedure causes one or more parameters of at least one other configuration function of the network device to be modified.
8. A non-transitory computer-readable medium storing a set of instructions, said set of instructions comprising: One or more instructions, when executed by one or more processors of the network device, cause the network device to: Acquire data packets associated with the ISSU online software upgrade process; Based on the acquisition of the data packets, one or more configuration functions of the network device that will be inactive during the execution of the ISSU process are identified; This deactivates one or more configuration functions of the network device; as well as After the network device’s one or more configuration functions are deactivated, the ISSU process is executed based on the data packets.
9. The non-transitory computer-readable medium of claim 8, wherein the one or more instructions causing the network device to acquire the data packet cause the network device to: Receive from the client device a command instructing the network device to be updated via the execution of the ISSU procedure; and The data packets are retrieved from the server device based on the command.
10. The non-transitory computer-readable medium of claim 8, wherein the one or more instructions that cause the network device to identify one or more configuration functions of the network device that will be inactive during the execution of the ISSU procedure cause the network device to: Processing at least one of a first configuration data structure included in the network device or a second configuration data structure included in the data packet to identify one or more data structure elements. Each of the one or more data structure elements identifies a configuration function of the network device that will be inactive during the execution of the ISSU process; and Process the one or more data structure elements to identify the one or more configuration functions of the network device.
11. The non-transitory computer-readable medium of claim 8, wherein the one or more instructions that cause the network device to deactivate the one or more configuration functions of the network device cause the network device to: This causes one or more deactivation actions associated with one or more configuration functions of the network device to be executed.
12. The non-transitory computer-readable medium of claim 8, wherein the one or more instructions, when executed by the one or more processors, further cause the network device to: After the ISSU procedure is executed, one or more configuration functions of the network device are activated.
13. The non-transitory computer-readable medium of claim 12, wherein the one or more instructions that cause the network device to activate the one or more configuration functions of the network device cause the network device to: This causes one or more activation actions associated with one or more configuration functions of the network device to be executed.
14. The non-transitory computer-readable medium of claim 8, wherein performing the ISSU procedure causes one or more parameters of at least one other configuration function of the network device to be modified.
15. A method for performing an online software upgrade ISSU process, comprising: One or more configuration functions of the network device that will be inactive during the execution of the ISSU process, as identified by the network device. The network device deactivates one or more configuration functions of the network device. as well as The ISSU process is executed by the network device after one or more configuration functions of the network device are deactivated.
16. The method of claim 15, further comprising: Obtain the data packets associated with the ISSU. The network device causes the ISSU process to be executed based on the data packets.
17. The method of claim 16, wherein the network device includes a first configuration data structure, and the data packet includes a second configuration data structure. For one or more configuration functions of the network device, at least one of the first configuration data structure or the second configuration data structure indicates that the configuration function will be inactive during the execution of the ISSU process.
18. The method of claim 15, wherein deactivating the one or more configuration functions of the network device comprises: This causes one or more deactivation actions associated with one or more configuration functions of the network device to be executed.
19. The method of claim 15, further comprising: After the ISSU process is executed, one or more configuration functions of the network device are activated.
20. The method of claim 19, wherein activating the one or more configuration functions of the network device comprises: This causes one or more activation actions associated with one or more configuration functions of the network device to be executed.