Power aware path arrangement for network

By identifying and managing power groups in network devices and disabling components and ports based on paths and service loads, the problem of resource waste in the prior art is solved, and efficient management of network devices at non-peak times is achieved.

CN119728318APending Publication Date: 2025-03-28HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410914672.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2024-07-09
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art is difficult to manage path-based power consumption in the network, resulting in network devices being unable to put unused components into a sleep state during non-peak utilization times and unnecessarily maintaining unused components, resulting in waste of resources.

Method used

By determining the power groups associated with the processing components in a network device and calculating the path with the power groups with a path arrangement policy, the service load is determined, and multiple ports and processing components are disabled based on the path and load.

Benefits of technology

It realizes making opportunistic decisions based on business load in network devices, disabling unused components and ports, thereby saving computing resources and network resources and reducing unnecessary maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728318A_ABST
    Figure CN119728318A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to power aware path arrangement of a network. A first network device may determine a power group that associates a plurality of ports of the first network device with a processing component in the first network device, and may advertise the power group to a second network device. A first network device may compute a path to a second network device using a power group with a path arrangement policy, and may determine traffic loads associated with the first network device. The first network device may disable the plurality of ports and processing components based on the path and traffic load.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This patent application claims priority to Indian Provisional Patent Application No. 202341064503, filed on September 26, 2023, entitled “SYSTEMS AND METHODS FOR PROVIDING ENERGY EFFICIENT NETWORKS”, and is assigned to the assignee of this application. The disclosure of the prior application is considered part of and incorporated by reference into this patent application. Background Art

[0003] A path may be arranged across a network via two or more network devices and links interconnecting the two or more network devices. A network may be designed for peak utilization while also accounting for various types of failures. However, a network may only operate at peak utilization for very short periods of time. Summary of the invention

[0004] Some implementations described herein are related to methods. The method may include determining, by a first network device, a power group that associates a plurality of ports of the first network device with a processing component in the first network device, calculating a path to a second network device using the power group with a path placement strategy. The method may include determining a traffic load associated with the first network device, and disabling the plurality of ports and the processing component based on the path and the traffic load.

[0005] Some implementations described herein are related to a first network device. The first network device may include one or more memories and one or more processors. The one or more processors may be configured to determine a power group that associates multiple ports of the first network device with a processing component of the first network device, and notify the second network device power group. The one or more processors may be configured to calculate a path to the second network device using a power group with a path placement strategy, and determine a traffic load associated with the first network device. The one or more processors may be configured to disable multiple ports and processing components based on the path and the traffic load.

[0006] Some implementations described herein are related to a non-transitory computer-readable medium storing an instruction set. When executed by one or more processors of a first network device, the instruction set can cause the first network device to determine a power group that associates multiple ports of the first network device with a processing component of the first network device, and calculate a path to a second network device using the power group with a path placement strategy, wherein the path placement strategy includes one of the following: a most filled path placement strategy or a least filled path placement strategy. When the instruction set is executed by one or more processors of the first network device, it can cause the first network device to determine a traffic load associated with the first network device, and disable multiple ports and processing components based on the path and the traffic load. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] FIG. 1A to FIG. 1I is a schematic diagram of an example related to providing power-aware path arrangement for a network.

[0008] Figure 2 is a schematic diagram of an example environment in which the systems and / or methods described herein may be implemented.

[0009] Figure 3 and Figure 4 yes Figure 2 A schematic diagram of example components of one or more devices.

[0010] Figure 5 is a flow chart of an example process for providing power-aware path placement for a network. DETAILED DESCRIPTION

[0011] The following detailed description of example implementations refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.

[0012] During the off-peak hours of the network, it can be beneficial to arrange paths through the network so that one or more network devices can convert some unused components into low-power states or sleep states. In order to promote this transformation of unused components, a path arrangement strategy will be needed to remove or transfer traffic flows from specific components to specific components. However, there is currently no way to arrange paths on the network while also considering the power used by the components of the network devices that provide the paths and the paths. Therefore, the current technology for managing networks consumes computing resources (e.g., processing resources, memory resources, communication resources, etc.), network resources, etc. and is associated with failure to arrange paths in the network based on the power consumption of the paths, failure to put unused components of network devices into sleep states during off-peak utilization times, unnecessary maintenance of unused components of network devices during off-peak utilization of the network, and / or the like.

[0013] Some implementations described herein relate to a network device that provides power-aware path placement for a network. For example, a first network device may determine a power group that associates multiple ports of the first network device with a processing component in the first network device, and may advertise the power group to a second network device. The first network device may calculate a path to the second network device using the power group with a path placement strategy, and may determine a traffic load associated with the first network device. The first network device may disable multiple ports and processing components based on the path and the traffic load.

[0014] In this way, the first network device provides a power-aware path arrangement for the network. For example, the first network device can determine a power group that associates a port of the first network device with a processing component of the first network device, and can use the association of the port with the processing component to determine a path arrangement strategy that causes power awareness. The path arrangement strategy can attempt to utilize multiple processing components in small quantities, or can attempt to utilize the least number of processing components. Different path arrangement strategies can enable the first network device to make opportunistic local decisions to disable certain components. Lightly loaded processing components can facilitate powering off one or more fabric cards on the first network device. Unused ports can allow several components of the first network device (e.g., optical devices, timers, processing components, etc.) to be powered off. Therefore, the first network device saves computing resources, network resources, and / or the like, which would otherwise be consumed by failing to arrange paths in the network based on the power consumption of the paths, failing to arrange unused components of the network device to a sleep state during off-peak utilization times, and unnecessarily maintaining unused components of the network device during off-peak utilization of the network.

[0015] FIG. 1A to FIG. 1I is a schematic diagram of an example 100 associated with providing a power-aware path arrangement for a network. FIG. 1A to FIG. 1I As shown, example 100 includes an endpoint device and a server device associated with a network. The network may include multiple network devices, such as a first network device (e.g., network device 1), a second network device (e.g., network device 2), and a third network device (e.g., network device 3). A first link (e.g., link 1) may be provided between the first network device and the second network device, a second link (e.g., link 2) may be provided between the first network device and the third network device, and a third link (e.g., link 3) may be provided between the second network device and the third network device. Further details of endpoint devices, server devices, networks, network devices, and links are provided elsewhere herein.

[0016] like Figure 1AAs shown, and by reference numeral 105, the first network device can determine a power group that associates multiple ports of the first network device with a processing component of the first network device. For example, in a network device (e.g., a first network device), there can be a strong association between the power utilization of the first network device and the utilization of the first network device processing component (e.g., a packet forwarding engine (PFE)). The association of the port of the first network device with the first network device processing component can be an attribute used to determine a path placement strategy that results in power awareness. In some implementations, the first network device can determine the association of multiple ports of the first network device with the first network device processing component. The association of multiple ports and the processing component of the first network device can be referred to as a "power group" herein.

[0017] like Figure 1A As further shown in the figure and by reference numeral 110, the first network device can utilize a power group with a path placement strategy to calculate a path to a second network device. For example, the first network device can utilize a power group and one or more path placement strategies to calculate a path to other network devices, such as a path to the second network device. In some implementations, the first network device can utilize a path placement strategy that attempts to minimize utilization of multiple processing components of the first network device, the path placement strategy attempting to utilize a minimum number of processing components of the first network device. Different path placement strategies can enable the first network device to determine opportunistic local decisions to disable certain components of the first network device.

[0018] For example, once the power group is determined, the first network device can utilize the power group with a path placement strategy to provide the processing component of the first network device with the minimum load, which can facilitate the power outage of one or more structural cards of the first network device. This path placement strategy can be referred to as a "minimum fill" path placement strategy (e.g., power group and cost-based routing), and the business load can be spread over all possible power groups, resulting in the processing components associated with the power group being minimally utilized. Alternatively, the first network device can utilize the power group with a path placement strategy to provide unused ports and processing components, which can facilitate the power outage of several components (e.g., optical devices, timers, processing components and / or the like) of the first network device. This path placement strategy can be referred to as a "maximum fill" path placement strategy (e.g., routing power groups only), and all power groups can be loaded, resulting in the potential unused power groups being powered off.

[0019] In some implementations, the path placement strategy can utilize an ontology graph based on a hierarchy of resources to calculate the path of the first network device. The first network device can include additional sets of sub-resources (e.g., power groups and costs associated with the power groups) in the ontology graph, and / or can express the ontology graph in a hierarchical manner to pair the first network device with resource sets associated with power consumption (e.g., power groups).

[0020] like Figure 1B As shown, and by reference numeral 115, the first network device can determine a traffic load associated with the first network device. For example, the first network device can receive a first traffic from an endpoint device to a server device. Alternatively or additionally, the first network device can receive a second traffic from a server device to an endpoint device. In some implementations, the first network device can determine a traffic load associated with the first network device based on the first traffic and / or the second traffic.

[0021] like Figure 1B Also shown in the figure and by reference numeral 120, the first network device can disable multiple ports and processing components based on the path and the traffic load. For example, the first network device can determine that multiple ports and processing components of the power group are not used based on the traffic load experienced by the first network device. Therefore, the first network device can disable the multiple ports and processing components of the power group by powering off the multiple ports and processing components, thereby saving power.

[0022] Alternatively, the first network device may determine that the multiple ports and processing components of the power group are minimally utilized based on the traffic load experienced by the first network device. The first network device may also determine that the traffic load being processed by the multiple ports and processing components can be processed by other ports and another processing component of the first network device. The first network device may transfer the traffic load being processed by the multiple ports and processing components to other ports and other processing components of the first network device, thereby making the multiple ports and processing components of the power group unused. Therefore, the first network device can disable the multiple ports and processing components of the power group by powering off the multiple ports and processing components, thereby saving power.

[0023] like Figure 1C As shown, and by reference numeral 125, the first network device can determine an updated traffic load associated with the first network device. For example, the first network device can receive an updated first traffic destined for the server device from the endpoint device. Alternatively or additionally, the first network device can receive an updated second traffic destined for the endpoint device from the server device. In some implementations, the first network device can determine an updated traffic load associated with the first network device based on the updated first traffic and / or the updated second traffic.

[0024] like Figure 1C , and further shown by reference numeral 130, the first network device can re-enable the plurality of ports and processing components based on the paths and the updated traffic load. For example, the first network device can determine that the processing components of the plurality of ports and power groups that are now powered off need to handle the updated traffic load experienced by the first network device. Therefore, the first network device can re-enable the processing components of the plurality of ports and power groups by turning on the plurality of ports and processing components. The processing components of the plurality of ports and power groups can handle the updated traffic load.

[0025] like Figure 1C , and and also shown by reference numeral 135, the first network device can announce the composite metric, minimum power, maximum power or current power of the power group. For example, the first network device can announce the power group to other network devices of the network, such as the second network device and the third network device. In some implementations, the first network device can announce the power group to other network devices via an intermediate system to intermediate system (IS-IS) link state protocol (LSP) data unit. In some implementations, the first network device can determine the minimum power, maximum power and current power of the power group (for example, multiple ports and processing components). For example, the minimum power of the power group can be calculated by dividing the minimum power of the processing component by the number of multiple ports, the maximum power of the power group can be calculated by dividing the maximum power of the processing component by the number of multiple ports, and the current power of the power group can be calculated by dividing the current power of the processing component by the number of multiple ports. The first network device can generate a number by subtracting the minimum power from the maximum power, and divide the number by the current power to calculate the composite metric of the power group. In some implementations, when announcing the power group to other network devices, the first network device may announce one or more others of the composite metric, the minimum power, the maximum power, or the current power of the power group to the other network devices.

[0026] The implementations described herein are related to power-aware path placement that enables network devices to make opportunistic independent decisions to power off components based on traffic load. However, in some implementations, the network device may also determine that a port is not currently in use before powering off a port, may ensure that sufficient headroom is available to absorb sudden changes in traffic load (e.g., minimum capacity), may power on or off components based on a minimum capacity threshold, may ensure that network device nodes are not isolated within the network, may ensure that powering on or off components is adequately suppressed (e.g., via an evaluation interval), may define power policies using out-of-the-box applications, may coordinate powering on or off of adjacent ports of other network devices via a power management protocol (PMP) or extensions to existing protocols (e.g., link aggregation protocol (LACP), link layer discovery protocol (LLDP) and / or link state interior gateway protocol (IGP) and / or the like).

[0027] Figure 1D An example of power-aware path placement for network devices is depicted. Figure 1D As shown at the top, traffic engineering networks often utilize various techniques to group traffic engineering links (e.g., a common power group for port 0 to port 3). Network devices can utilize this group as an inclusion or exclusion constraint during path placement (e.g., calculating an auxiliary path that is different from the primary path). The same concept can be applied by introducing groups that represent the association of links (e.g., ports) with processing components (e.g., PFEs), referred to herein as power groups. Figure 1D As shown at the bottom, when the ingress network device (e.g., network device 0) calculates the path, the power group can be used during the path placement. This can be similar to the PFE routing method, where the power group is considered along with any other traffic engineering attributes. The power group method can follow a maximum fill or minimum fill placement model. The most filled model generates results associated with using the least number of PFEs (e.g., routing based on power groups and costs) and the least cost (e.g., a path marked as "maximum fill"). The minimum fill model generates results associated with extending the traffic engineering tunnel at the least cost over the greatest number of PFEs (e.g., power group-only routing). This can enable network devices to make independent decisions to disable fabric cards or PFEs based on load.

[0028] Figure 1EDepicted are example sleep capabilities and flags associated with a first network device and a second network device. As shown, when the interface of the first network device is powered off, the first network device can signal the second network device that the first network device is entering a sleep state. A two-way agreement on a sleep state can be reached between the first network device and the second network device. It is not mandatory for the second network device to also power off, but the link between the first network device and the second network device may be filled with a set sleep flag. Proximity can be remembered by the first network device and the second network device for the duration of the sleep. The link prefix can be maintained in the link state database (LSDB) of the second network device, and the associated sleep flag is set. Links with sleep flags set can be pruned for all shortest path trees (SPTs), and traffic engineering tunnels can be kept away from sleep interfaces.

[0029] Figure 1F Depicts an example of a powered-off network equipment component. Figure 1F As shown on the right side of FIG, the network device may determine that the ports associated with the PFE are not in use and may power down the wide area network (WAN) serializer / deserializer (SerDes) and the physical layer (PHY) device associated with the PFE. Once the WAN SerDes and PHY devices are powered down, the PFE may be powered down, which may cause the fabrics (e.g., fabric 0 to fabric N, as shown in FIG. Figure 1F left) and the link associated with the powered-off PFE is powered off.

[0030] Figure 1G Another example of powering off components of a network device is described. As shown, a PFE (e.g., PFE3) of a network device can be associated with a fabric (e.g., fabric 0 to fabric 5). There is a strong relationship between the load on the PFE and the ability to disable components of the network device. For example, a lightly loaded PFE may require fewer active fabrics, the remaining fabrics are powered off, and the unused PFEs can be disabled. Figure 1G As shown, if the switching capacity of the PFE is 66%, the PFE may require four fabrics, and the network device may power off fabrics 4 and 5.

[0031] Figure 1H An example of coordinating power on and power off between network devices (e.g., a first network device and a second network device) is depicted. The network devices can utilize a power management protocol. The power management protocol may require coordination between neighboring network devices when a network device component is powered off. The power management protocol may gracefully move a data plane associated with the network device and may require utilizing LACP and / or LLDP extensions to the network device to host applications. Figure 1HIt is also shown that power groups can be established between network devices. A power group can include a set of links with a common PFE, a control channel for coordinating the powering on or off of sub-links, and a periodic exchange of the status of all links in the power group. Figure 1H It is also shown that the network device can utilize a three-way handshake of the power-on and power-off states to ensure the reliability and mutual consistency of transitions between sleep states. As further shown, one of the network devices can perform periodic health checks of the link to ensure that the link remains in the sleep state (e.g., the sleep active state has not failed).

[0032] Fig. 1I Another example of coordinated power on and off between network devices (e.g., a first network device and a second network device) is depicted. As shown, a power group can include a PFE associated with three interfaces (e.g., interface 0, interface 1, and interface 2). The PFE and the interfaces can be provided in the network device. The network device can utilize local policies to power on or off components within the power group, can utilize time-of-day activation constraints to power on or off components, can use minimum capacity thresholds (e.g., below which components of the power group can be evaluated for power on / off), can utilize evaluation intervals for evaluating power group utilization, and the like. As shown in FIG. Fig. 1I It is also shown that when the bandwidth includes only interface 0 and interface 1, the network device may power off interface 2 due to unused bandwidth.

[0033] In this way, the first network device provides a power-aware path arrangement for the network. For example, the first network device can determine a power group that associates a port of the first network device with a processing component of the first network device, and can use the association of the port with the processing component to determine a path arrangement strategy that causes power awareness. The path arrangement strategy can attempt to utilize many processing components in small quantities, or can attempt to utilize the least number of processing components. Different path arrangement strategies can enable the first network device to make opportunistic local decisions to disable certain components. Lightly loaded processing components can facilitate powering off one or more fabric cards on the first network device. Unused ports can allow several components of the first network device (e.g., optical devices, timers, processing components, etc.) to be powered off. Therefore, the first network device saves computing resources, network resources, and / or the like, which would otherwise be consumed by failing to arrange paths in the network based on the power consumption of the paths, failing to place unused components of the network device into a sleep state during off-peak utilization times, and unnecessarily maintaining unused components of the network device during off-peak utilization of the network.

[0034] As shown above, provide FIG. 1A to FIG. 1I As an example. Other examples may be related to FIG. 1A to FIG. 1I Different from what is described in . FIG. 1A to FIG. 1IThe number and arrangement of devices shown in the figure are provided as examples. In actual operation, FIG. 1A to FIG. 1I There may be additional devices, fewer devices, different devices, or a different arrangement of devices than those shown. FIG. 1A to FIG. 1I Two or more of the devices shown may be implemented in a single device, or FIG. 1A to FIG. 1I The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, FIG. 1A to FIG. 1I The device set shown (e.g., one or more devices) can perform the operations described as being performed by FIG. 1A to FIG. 1I One or more functions performed by another set of devices are shown.

[0035] Figure 2 2 is a schematic diagram of an example environment 200 in which the systems and / or methods described herein may be implemented. Figure 2 As shown, environment 200 may include endpoint device 210, group of network devices 220 (shown as network device 220-1 through network device 220-N), server device 230, and network 240. The devices of environment 200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0036] Endpoint device 210 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information (e.g., the information described herein). For example, endpoint device 210 may include a mobile phone (e.g., a smart phone or wireless phone), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch, a pair of smart glasses, a heart rate monitor, a fitness tracker, smart clothing, smart jewelry, or a head-mounted display), a network device, a server device, a group of server devices, or a similar type of device. In some implementations, endpoint device 210 may receive network traffic from other endpoint devices 210 and / or server device 230 via network 240 (e.g., by using network device 220 as an intermediary to route packets) and / or may provide network traffic to other endpoint devices and / or server device 230.

[0037] The network device 220 includes one or more devices that can receive, process, store, route and / or provide services (e.g., packets or other information or metadata) in the manner described herein. For example, the network device 220 may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router or a provider core router), a virtual router, a route reflector, a regional border router or other types of routers. Additionally or alternatively, the network device 220 may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server or a data center server), a load balancer and / or similar devices. In some implementations, the network device 220 may be a physical device implemented in a housing such as a chassis. In some implementations, the network device 220 may be a virtual device implemented by one or more computer devices in a cloud computing environment or a data center. In some implementations, the network device group 220 may be a data center node group for routing traffic flows through the network 240.

[0038] Server device 230 may include one or more devices capable of receiving, generating, storing, processing, providing and / or routing information, as described elsewhere herein. Server device 230 may include a communication device and / or a computing device. For example, server device 230 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executed on computing hardware) or a server in a cloud computing system. In some implementations, server device 230 may include computing hardware used in a cloud computing environment.

[0039] The network 240 includes one or more wired and / or wireless networks. For example, the network 240 may include a packet switching network, a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, such as a long term evolution (LTE) network, a 3G network, and / or a code division multiple access (CDMA) network), a public land mobile network (PLMN), a local area network (LAN), a WAN, a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc., and / or a combination of these or other types of networks.

[0040] by Figure 2 The number and arrangement of devices and networks shown are examples. In actual operation, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or different Figure 2The devices and networks shown may be arranged differently than the devices and / or networks. Figure 2 Two or more of the devices shown in may be implemented in a single device, or Figure 2 The single device shown in FIG. 200 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (eg, one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.

[0041] Figure 3 yes Figure 2 300. The example components may be included in device 300, which may correspond to endpoint device 210, network device 220, and / or server device 230. In some implementations, endpoint device 210, network device 220, and / or server device 230 may include one or more devices 300 and / or one or more components of device 300. Figure 3 As shown, device 300 may include a bus 310 , a processor 320 , a memory 330 , an input component 340 , an output component 350 , and a communication interface 360 ​​.

[0042] Bus 310 includes one or more components that enable wired and / or wireless communications between components of device 300. Bus 310 may Figure 3 Two or more components in are coupled together, for example, via operational coupling, communication coupling, electronic coupling, and / or electrical coupling. Processor 320 includes a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a controller, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or another type of processing component. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.

[0043] The memory 330 includes volatile and / or non-volatile memory. For example, the memory 330 may include a random access memory (RAM), a read-only memory (ROM), a hard drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). The memory 330 may include internal memory (e.g., RAM, ROM, or a hard drive) and / or a removable memory (e.g., removable via a universal serial bus connection). The memory 330 may be a non-transitory computer-readable medium. The memory 330 stores information, instructions, and / or software (e.g., one or more software applications) related to the operation of the device 300. In some implementations, the memory 330 includes one or more memories such as coupled to one or more processors (e.g., processor 320) via the bus 310.

[0044] Input assembly 340 enables device 300 to receive input, such as user input and / or sensed input. For example, input assembly 340 may include a touch screen, keyboard, keypad, mouse, button, microphone, switch, sensor, global positioning system sensor, accelerometer, gyroscope and / or actuator. Output assembly 350 enables device 300 to provide output, such as via a display, speaker and / or light emitting diode. Communication interface 360 ​​enables device 300 to communicate with other devices via wired connection and / or wireless connection. For example, communication interface 360 ​​may include a receiver, a transmitter, a transceiver, a modem, a network interface card and / or an antenna.

[0045] Device 300 can perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) can store an instruction set (e.g., one or more instructions or codes) for execution by processor 320. Processor 320 can execute an instruction set to perform one or more operations or processes described herein. In some implementations, execution of an instruction set by one or more processors 320 causes one or more processors 320 and / or device 300 to perform one or more operations or processes described herein. In some implementations, hard-wired circuits can be used instead of instructions or in combination with instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 320 can be configured to perform one or more operations or processes described herein. Therefore, the implementation described herein is not limited to any particular combination of hardware circuits and software.

[0046] Figure 3 The number and arrangement of components shown in the figure are provided as examples. The device 300 may include Figure 3The components shown may be more components, fewer components, different components, or differently arranged components. Additionally or alternatively, a set of components (eg, one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.

[0047] Figure 4 yes Figure 2 4. The example components may be included in device 400. Device 400 may correspond to network device 220. In some implementations, network device 220 may include one or more devices 400 and / or one or more components of device 400. Figure 4 As shown, the device 400 may include one or more input components 410-1 to 410-B (B≥1) (hereinafter collectively referred to as input component 410, individually referred to as input component 410), a switching component 420, one or more output components 430-1 to 430-C (C≥1, hereinafter collectively referred to as output component 430, individually referred to as output component 430) and a controller 440.

[0048] The input component 410 may be one or more attachment points for a physical link and may be one or more entry points for incoming traffic (e.g., packets). The input component 410 may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 410 may send and / or receive packets. In some implementations, the input component 410 may include an input line card, which includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more interface cards (IFCs), a packet forwarding component, a line card controller component, an input port, a processor, a memory, and / or an input queue. In some implementations, the device 400 may include one or more input components 410.

[0049] The switching component 420 can interconnect the input component 410 with the output component 430. In some implementations, the switching component 420 can be implemented via one or more crossbar switches, via a bus, and / or using a shared memory. The shared memory can act as a temporary buffer to store packets from the input component 410 before the packets are ultimately scheduled for delivery to the output component 430. In some implementations, the switching component 420 can enable the input component 410, the output component 430, and / or the controller 440 to communicate with each other.

[0050] Output component 430 can store packets and can schedule packets for transmission on an 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 send packets and / or receive packets. In some implementations, output component 430 may include an output line card, which includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, 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., an input / output component may be a combination of input component 410 and output component 430).

[0051] Controller 440 includes a processor in the form of, for example, a CPU, GPU, APU, microprocessor, microcontroller, DSP, FPGA, ASIC, 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.

[0052] In some implementations, controller 440 may include RAM, ROM, and / or another type of dynamic or static storage device (eg, flash memory, magnetic storage, optical storage, etc.) that stores information and / or instructions for use by controller 440 .

[0053] In some implementations, the controller 440 can communicate with other devices, networks, and / or systems connected to the device 400 to exchange information about the network topology. The controller 440 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can forward the forwarding table to the input component 410 and / or the output component 430. The input component 410 and / or the output component 430 can use the forwarding table to perform a route lookup for incoming and / or outgoing packets.

[0054] The controller 440 may perform one or more processes described herein. The controller 440 may perform these processes in response to executing software instructions stored by a non-transitory computer readable medium. A computer readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space distributed on multiple physical storage devices.

[0055] The software instructions may be read from another computer-readable medium or from another device through a communication interface into a memory and / or storage component associated with the controller 440. When executed, the software instructions stored in the memory and / or storage component associated with the controller 440 may cause the controller 440 to perform one or more processes described herein. Additionally or alternatively, hardwired 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 specific combination of hardware circuitry and software.

[0056] Figure 4 The number and arrangement of components shown in the figure are provided as examples. In actual operation, the device 400 may include Figure 4 The components shown may be more components, fewer components, different components, or differently arranged components. Additionally or alternatively, a set of components (eg, one or more components) of device 400 may perform one or more functions described as being performed by another set of components of device 400.

[0057] Figure 5 is a flow chart of an example process 500 for providing power-aware path placement for a network. In some implementations, Figure 5 One or more process blocks of may be performed by a network device (e.g., the first network device 220). In some implementations, Figure 5 One or more process blocks of may be performed by another device or group of devices separate from or including the network device, such as an endpoint device (e.g., endpoint device 210), a server device (e.g., server device 230), and / or another network device (e.g., network device 220). Additionally or alternatively, Figure 5 One or more process blocks of may be performed by one or more components of device 300, such as processor 320, memory 330, input component 340, output component 350, and / or communication interface 360. Additionally or alternatively, Figure 5 One or more process blocks of may be performed by one or more components of device 400 , such as input component 410 , switching component 420 , output component 430 , and / or controller 440 .

[0058] like Figure 5 As shown, process 500 may include determining a power group that associates a plurality of ports of a first network device with a processing component in the first network device (block 510). For example, as described above, the first network device may determine a power group that associates a plurality of ports of the first network device with a processing component in the first network device.

[0059] like Figure 5It is also shown that process 500 may include calculating a path to the second network device using the power group with the path placement strategy (block 520). For example, as described above, the first network device may calculate a path to the second network device using the power group with the path placement strategy. In some implementations, the path placement strategy includes one of the following: a most filled path placement strategy or a least filled path placement strategy.

[0060] like Figure 5 Also shown, process 500 may include determining a traffic load associated with the first network device (block 530). For example, as described above, the first network device may determine a traffic load associated with the first network device.

[0061] like Figure 5 Also shown, process 500 may include disabling multiple ports and processing components based on paths and traffic loads (block 540). For example, as described above, the first network device may disable multiple ports and processing components based on paths and traffic loads.

[0062] In some implementations, process 500 includes announcing the power group to the second network device. In some implementations, announcing the power group to the second network device causes the second network device to disable multiple ports of the second network device and a processing component of the second network device. In some implementations, the announcing is for the power group and includes announcing one or more of a composite metric, a minimum power, a maximum power, or a current power of the power group to the second network device. In some implementations, the composite metric of the power group is based on the minimum power, the maximum power, and the current power of the power group.

[0063] In some implementations, process 500 includes determining an updated traffic load associated with a first network device, and re-enabling multiple ports and processing components based on the path and the updated traffic load. In some implementations, process 500 includes announcing the power group to one or more other network devices. In some implementations, announcing the power group to one or more other network devices includes announcing the power group to one or more other network devices using a power management protocol. In some implementations, announcing the power group to one or more other network devices includes utilizing an extension to the protocol to announce the power group to one or more other network devices.

[0064] In some implementations, process 500 includes evaluating utilization of the power group during the time period. In some implementations, process 500 includes determining another power group that associates another plurality of ports of the first network device with another processing component of the first network device; determining that the other plurality of ports are not used, and disabling the other plurality of ports and the other processing component based on determining that the other plurality of ports are not used. In some implementations, disabling the other plurality of ports and the other processing component includes determining that a minimum capacity threshold for the first network device is met, and disabling the other plurality of ports and the other processing component based on determining that the minimum capacity threshold is met.

[0065] although Figure 5 An example block diagram of process 500 is shown, but in some implementations, process 500 may include Figure 5 The blocks shown in the process 500 may be additional blocks, fewer blocks, different blocks, or blocks in a different arrangement. Additionally or alternatively, two or more blocks of the process 500 may be performed in parallel.

[0066] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications may be made in light of the above disclosure or may be acquired from actual operation of the implementations.

[0067] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. It is apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, and / or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit these implementations. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code - it should be understood that, based on the description herein, the systems and / or methods may be implemented using software and hardware.

[0068] Although particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of the various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of the various implementations includes each dependent claim in combination with every other claim in the claim set.

[0069] Unless explicitly stated, any element, behavior or instruction used in this article should not be interpreted as critical or necessary. In addition, as used herein, the articles "one" and "an" are intended to include one or more items and can be used interchangeably with "one or more". In addition, as used herein, the article "said" is intended to include one or more items related to the article "the", and can be used interchangeably with "said or more". In addition, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, combinations of related items and unrelated items, etc.), and can be used interchangeably with it. If only one item is intended to be used, the phrase "only one" or similar use language. In addition, as used herein, the term "have", "have" or the like is intended to be an open term. In addition, unless otherwise explicitly stated, the word "based on" means "at least partially based on". In addition, as used herein, the term "or" is inclusive when used in a series, and can be used interchangeably with "and / or", unless otherwise explicitly stated (e.g., if used in combination with "any" or "only one").

[0070] In the foregoing description, various example embodiments have been described with reference to the accompanying drawings. However, it is clear that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. Accordingly, the description and drawings should be regarded as illustrative rather than restrictive.

[0071] The present embodiment discloses an example 1 of a method, comprising: determining, by a first network device, a power group that associates multiple ports of the first network device with a processing component of the first network device; calculating, by the first network device, a path to a second network device using the power group with a path placement strategy; determining, by the first network device, a business load associated with the first network device; and disabling, by the first network device, the multiple ports and the processing component based on the path and the business load.

[0072] Example 2. The method according to Example 1 further includes: notifying the second network device of the power group.

[0073] Example 3. The method of Example 2, wherein announcing the power group to the second network device causes the second network device to disable a plurality of ports of the second network device and a processing component of the second network device.

[0074] Example 4. The method according to Example 2, wherein notifying the power group includes: notifying the second network device of one or more of a composite metric, a minimum power, a maximum power, or a current power for the power group.

[0075] Example 5. The method of Example 4, wherein the composite metric for the power group is based on the minimum power, the maximum power, and the current power for the power group.

[0076] Example 6. The method of Example 1, further comprising: determining an updated traffic load associated with the first network device; and re-enabling the plurality of ports and the processing component based on the paths and the updated traffic load.

[0077] Example 7. The method of Example 1, wherein the path placement strategy comprises one of: a most-filled path placement strategy or a least-filled path placement strategy.

[0078] The disclosed embodiment also discloses Example 8. A first network device, comprising: one or more memories; and one or more processors, for: determining a power group that associates multiple ports of the first network device with a processing component of the first network device; notifying a second network device of the power group; calculating a path to the second network device using the power group with a path placement strategy; determining a business load associated with the first network device; and disabling the multiple ports and the processing component based on the path and the business load.

[0079] Example 9. The first network device of Example 8, wherein the one or more processors are further configured to: advertise the power group to one or more other network devices.

[0080] Example 10. The first network device of Example 9, wherein the one or more processors for announcing the power group to the one or more other network devices are configured to utilize a power management protocol to announce the power group to the one or more other network devices.

[0081] Example 11. The first network device of Example 9, wherein the one or more processors for announcing the power group to the one or more other network devices are configured to utilize an extension to a protocol to announce the power group to the one or more other network devices.

[0082] Example 12. The first network device of Example 8, wherein the one or more processors are further configured to: evaluate utilization of the power group during a time period.

[0083] Example 13. A first network device according to Example 8, wherein the one or more processors are further used to: determine another power group that associates other multiple ports of the first network device with another processing component of the first network device; determine that the other multiple ports are not in use; and disable the other multiple ports and the other processing component based on determining that the other multiple ports are not in use.

[0084] Example 14. A first network device according to Example 13, wherein the one or more processors for disabling the other multiple ports and the other processing component are used to: determine that a minimum capacity threshold is satisfied for the first network device; and disable the other multiple ports and the other processing component based on determining that the minimum capacity threshold is satisfied.

[0085] Example 15. A non-transitory computer-readable medium storing an instruction set, the instruction set comprising: one or more instructions, which, when executed by one or more processors of a first network device, cause the first network device to: determine a power group that associates multiple ports of the first network device with a processing component of the first network device; calculate a path to a second network device using the power group with a path placement strategy, wherein the path placement strategy comprises one of the following: a maximum fill path placement strategy or a minimum fill path placement strategy; determine a business load associated with the first network device; and disable the multiple ports and the processing component based on the path and the business load.

[0086] Example 16. A non-transitory computer-readable medium according to Example 15, wherein the one or more instructions further cause the first network device to: notify the second network device and other network devices of one or more of the composite metric, minimum power, maximum power, or current power for the power group.

[0087] Example 17. The non-transitory computer readable medium of Example 16, wherein the composite metric for the power group is based on the minimum power, the maximum power, and the current power for the power group.

[0088] Example 18. A non-transitory computer-readable medium according to Example 15, wherein the one or more instructions further cause the first network device to: determine an updated traffic load associated with the first network device; and re-enable the multiple ports and the processing component based on the path and the updated traffic load.

[0089] Example 19. The non-transitory computer readable medium of Example 15, wherein the one or more instructions further cause the first network device to: advertise the power group to one or more other network devices.

[0090] Example 20. A non-transitory computer-readable medium according to Example 19, wherein the one or more instructions that cause the first network device to announce the power group to the one or more other network devices cause the first network device to: utilize a power management protocol or an extension to a protocol to announce the power group to the one or more other network devices.

Claims

1. A method comprising: determining, by a first network device, a power group associating a plurality of ports of the first network device with a processing component of the first network device; The first network device calculates a path to a second network device by using the power group with a path arrangement strategy; determining, by the first network device, a traffic load associated with the first network device; as well as The plurality of ports and the processing component are disabled, by the first network device, based on the path and the traffic load.

2. The method according to claim 1, further comprising: The power group is advertised to the second network device. 3 . The method of claim 2 , wherein announcing the power group to the second network device causes the second network device to disable a plurality of ports of the second network device and a processing component of the second network device.

4. The method of claim 2, wherein announcing the power group comprises: One or more of a composite metric, a minimum power, a maximum power, or a current power for the power group is announced to the second network device. 5 . The method of claim 4 , wherein the composite metric for the power group is based on the minimum power, the maximum power, and the current power for the power group.

6. The method according to claim 1, further comprising: determining an updated traffic load associated with the first network device; as well as The plurality of ports and the processing component are re-enabled based on the paths and the updated traffic loads.

7. The method according to claim 1, wherein: The path placement strategy includes one of the following: a most-filled path placement strategy or a least-filled path placement strategy.

8. A first network device, comprising: one or more memories; as well as One or more processors for: determining a power group associating a plurality of ports of the first network device with a processing component of the first network device; Notifying the power group to a second network device; calculating a path to the second network device using the power group with the path placement strategy; determining a traffic load associated with the first network device; and The plurality of ports and the processing component are disabled based on the path and the traffic load.

9. The first network device according to claim 8, wherein the one or more processors are further configured to: The power group is advertised to one or more other network devices.

10. The first network device of claim 9, wherein the one or more processors for announcing the power group to the one or more other network devices are configured to: A power management protocol is utilized to advertise the power group to the one or more other network devices.

11. The first network device of claim 9, wherein the one or more processors for announcing the power group to the one or more other network devices are configured to: Extensions to the protocol are utilized to advertise the power group to the one or more other network devices.

12. The first network device of claim 8, wherein the one or more processors are further configured to: A utilization of the power bank during a time period is evaluated.

13. The first network device of claim 8, wherein the one or more processors are further configured to: determining another power group associating another plurality of ports of the first network device with another processing component of the first network device; determining that the other plurality of ports are not in use; and The other plurality of ports and the another processing component are disabled based on a determination that the other plurality of ports are not in use.

14. The first network device of claim 13, wherein the one or more processors for disabling the other plurality of ports and the another processing component are configured to: determining that a minimum capacity threshold is satisfied for the first network device; The other plurality of ports and the another processing component are disabled based on determining that the minimum capacity threshold is satisfied.

15. A non-transitory computer readable medium storing an instruction set, the instruction set comprising: One or more instructions that, when executed by one or more processors of a first network device, cause the first network device to: determining a power group associating a plurality of ports of the first network device with a processing component of the first network device; calculating a path to a second network device using the power group with the path placement strategy, The path placement strategy includes one of the following: a most-filled path placement strategy or a least-filled path placement strategy; determining a traffic load associated with the first network device; and The plurality of ports and the processing component are disabled based on the path and the traffic load.

16. The non-transitory computer readable medium of claim 15, wherein the one or more instructions further cause the first network device to: One or more of the composite metric, the minimum power, the maximum power, or the current power for the power group is announced to the second network device and other network devices. 17 . The non-transitory computer readable medium of claim 16 , wherein the composite metric for the power group is based on the minimum power, the maximum power, and the current power for the power group.

18. The non-transitory computer readable medium of claim 15, wherein the one or more instructions further cause the first network device to: determining an updated traffic load associated with the first network device; and The plurality of ports and the processing component are re-enabled based on the paths and the updated traffic loads.

19. The non-transitory computer readable medium of claim 15, wherein the one or more instructions further cause the first network device to: The power group is advertised to one or more other network devices.

20. The non-transitory computer readable medium of claim 19, wherein the one or more instructions causing the first network device to advertise the power group to the one or more other network devices causes the first network device to: A power management protocol or an extension to a protocol is utilized to advertise the power group to the one or more other network devices.