Apparatus and method for network energy optimization

By deploying energy optimization agents in network devices, obtaining device layout and traffic information, and coordinating link aggregation group (LAG) to optimize component state, the network device energy waste problem is solved and more efficient energy management and energy-saving gain is achieved.

CN120359738APending Publication Date: 2025-07-22HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280102597.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-12-21
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

The prior art has energy waste problems in network equipment, many resources are in powered but are underutilized, and the traditional link aggregation group management method lacks an effective energy optimization mechanism, resulting in inefficiency of energy.

Method used

By deploying energy optimization agents in network devices, obtaining device layout and traffic information, coordinating multiple link aggregation groups (LAGs) to turn components on or off, optimizing the energy consumption of network devices, using device layout and traffic information to determine the low power state of components, and coordinating optimization decisions with adjacent network devices.

Benefits of technology

More efficient energy optimization of network equipment is achieved, unnecessary energy consumption is reduced, energy saving gain is improved, and the overall energy saving effect is further improved through coordination with adjacent equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120359738A_ABST
    Figure CN120359738A_ABST
Patent Text Reader

Abstract

The invention relates to energy optimization for link aggregation groups. An apparatus carried within a network device for coordinating a plurality of LAGs to turn on / off components of the network device is disclosed. The apparatus is configured to determine which components to turn on / off based on a device layout of the network device, and to coordinate the decision with a neighboring network device. Due to the adoption of the equipment layout, a more intelligent energy optimization decision can be made. To this end, the apparatus acquires an energy distribution of the network device. The energy distribution includes the device layout and energy consumption information associated with each component of the network device. The apparatus also obtains traffic information for the plurality of LAGs, and performs the energy optimization based on the device layout and traffic information. The optimization decision may be coordinated with neighboring network devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to the field of communication technologies. For example, the present invention relates to devices and methods for optimizing network energy consumption. Background Art

[0002] For decades, global warming has become a major issue. The information and communication technology (ICT) sector accounts for 5% to 9% of the global electricity consumption each year, occupying an important part. Manufacturers are urgently in need of designing novel mechanisms and methods to optimize energy. Since the global data traffic is expected to grow by about 60% annually, unless the investment in energy efficiency and renewable energy can offset its impact, the share of this industry is expected to further increase [5]. Network devices are wasting a large amount of electrical energy: many resources (i.e., routers and links) are powered on but not fully utilized.

[0003] In high-capacity networks, such as the backbone networks of carriers or data centers, high capacity between routers is obtained by aggregating multiple parallel links. The commonly used protocol for managing parallel links is the Institute of Electrical and Electronics Engineers (IEEE) 802.3ad standard, which defines the Link Aggregation Control Protocol (LACP). LACP provides link aggregation functionality, aggregating one or more Ethernet interfaces to form a logical point-to-point link, called a Link Aggregation Group (LAG), virtual link, trunk, or bundle. Summary of the Invention

[0004] In a LAG environment, a key feature of energy saving is that the LAG capacity can be adjusted according to traffic demands. In other words, it can provide the possibility of turning physical links (such as ports) on / off based on traffic. Some traditional ways save energy by managing link aggregation groups by only activating the minimum number of links required to maintain traffic. However, traditional methods focus on links and are based on "trial and error".

[0005] In view of the above problems and deficiencies, the present invention aims to improve the network energy saving mechanism. Therefore, the objective is to provide a method for each network device to coordinate with its neighbors to optimize its local energy consumption.

[0006] For example, as described in the independent claims, these objectives and other objectives are achieved by the present disclosure. Advantageous implementations are further described in the dependent claims.

[0007] One idea described in the present invention is to consider all adjacent links to coordinate multiple LAGs to maximize energy savings, while considering the device layout of each network device to turn on / off components (e.g., single boards, chip sets, and ports), thereby further improving the energy-saving effect.

[0008] A first aspect of the present invention provides an apparatus for optimizing the energy consumption of a network device. The network device may be connected to one or more adjacent network devices. Each network device includes a plurality of components. The apparatus is configured to:

[0009] - Obtain the energy distribution of the network device, where the energy distribution includes the device layout of the network device and the energy consumption information associated with each component;

[0010]

[0011] - Obtain the traffic information of the network device, where the network device is associated with a plurality of LAGs;

[0012] - Optimize the energy consumption of the network device by determining that one or more of the components of the network device are to be set to a low power state based on the device layout and the traffic information; and

[0013]

[0014] - Request the one or more adjacent network devices to set one or more corresponding components to a low power state based on the topology of the plurality of LAGs and the one or more components of the network device to be set to a low power state.

[0015] Optionally, the components of the network device may refer to any one of the single boards, chip sets, or ports of the network device. The device layout of the network device may include information about the relationship between the plurality of components of the network device.

[0016] In this way, the energy optimization performed by the apparatus can utilize the device layout to avoid making suboptimal decisions and can further improve the energy-saving gain.

[0017] In one implementation of the first aspect, to obtain the energy distribution of the network device, the apparatus may be configured to receive the energy distribution of the network device from a controller device.

[0018] By obtaining and considering the energy distribution of the network device for energy optimization, the apparatus can not only optimize the energy of the ports connecting each LAG, but also optimize the energy of other internal components of the network device, and further energy-saving gains can be obtained in the components. In this way, the energy-saving gain can be further improved.

[0019] In another implementation of the first aspect, the device may also be used to notify one or more adjacent network devices of one or more components to be set to the low power state.

[0020] In this way, coordinated energy optimization between adjacent network devices can be achieved.

[0021] In another implementation of the first aspect, the device may also be used to obtain from a corresponding adjacent network device an indication of one or more components in the corresponding adjacent network device to be set to the low power state.

[0022] Optionally, the indication may be regarded as a local decision or recommendation made by the corresponding adjacent network device for energy optimization. The device may be used to consider this indication to perform energy optimization of the network device.

[0023] In this way, the energy saving gain of the corresponding adjacent network device can be further improved. The overall energy saving gain of the network can be further improved.

[0024] In another implementation of the first aspect, the device may also be used to:

[0025] - Cross one or more of the components in the network device set to the low power state with one or more of the components in the corresponding adjacent network device set to the low power state to obtain a list of links to be adjusted; and

[0026] - Optimize the energy consumption of the network device by adjusting the links in the plurality of LAGs according to the list.

[0027] In another implementation of the first aspect, the device may also be used to provide the list of links to be adjusted to one or more adjacent network devices.

[0028] Optionally, the list of links to be adjusted may include information about one or more components (e.g., ports) to be turned off. In each LAG, the components between adjacent network devices may correspond one by one. In this way, the adjacent network devices may be used to turn off their components accordingly.

[0029] In another implementation of the first aspect, the device is used to optimize the energy consumption of the network device based on a distributed algorithm, wherein, according to the distributed algorithm, the device is used to:

[0030] - Obtain the energy consumption information of the network device;

[0031] - Broadcast the power consumption information of the network device;

[0032] - Receive other power consumption information of one or more other network devices; and

[0033] - In response to determining that the power consumption information of the network device is the highest among the power consumption information of the network device and the other power consumption information of one or more other network devices, optimize the power consumption of the network device.

[0034] In another implementation of the first aspect, the apparatus may be used to receive a device capability indication from a corresponding neighboring network device, where the device capability indication indicates whether the corresponding neighboring network device includes other devices for performing energy optimization.

[0035] When the corresponding neighboring network device includes the other devices, the apparatus may be used to receive a local energy optimization decision made by the other devices, and consider the local energy optimization decision to perform the energy optimization.

[0036] For example, the local energy optimization decision may include one or more ports of the corresponding neighboring network device that are recommended to be closed, and the apparatus may make a preliminary decision to close one or more ports of the network device. At this time, the apparatus may be used to cross one or more ports to be closed of the corresponding neighboring network device with one or more ports to be closed of the network device to form a final decision.

[0037] In another implementation of the first aspect, the network device and the one or more other network devices may be in a stable set. Any two network devices in the stable set are not neighboring network devices.

[0038] The stable set may be used to avoid the negotiation phase between the network device and its one or more neighboring network devices. In each iteration, only one node in a given neighborhood is adjusted to make a final decision to optimize energy. Since any two network devices in the stable set are not neighboring network devices, each network device in the stable set can perform energy optimization at each iteration without negotiating with the corresponding neighboring network devices. In this way, the stability and efficiency of performing the energy optimization can be guaranteed.

[0039] In another implementation of the first aspect, the apparatus may be used to periodically optimize the power consumption of the network device.

[0040] In this way, no additional signaling / message passing is required, and energy optimization can be performed autonomously.

[0041] In another implementation of the first aspect, the device is used to optimize the energy consumption of the network device based on a trigger message received from an adjacent network device among the one or more adjacent network devices.

[0042] In another implementation of the first aspect, the device may be used to optimize the energy consumption of the network device based on a threshold. The threshold may be associated with the energy consumption of the network device and the current traffic state of the network device.

[0043] In this way, the energy optimization can be performed according to requirements.

[0044] In one implementation of the first aspect, in order to optimize the energy consumption of the network device, the device may also be used to send a lock message to the one or more adjacent network devices. The lock message is used to instruct one or more adjacent network devices not to perform energy optimization.

[0045] In this way, there will be no conflicting energy optimizations between adjacent network devices, ensuring the efficiency of energy optimization.

[0046] In another implementation of the first aspect, the lock message may include a duration, and the lock message is also used to instruct the one or more adjacent devices not to perform energy optimization at least within the duration.

[0047] In another implementation of the first aspect, the device may also be used to send an unlock message to the one or more adjacent network devices. The unlock message is used to cancel the lock message.

[0048] In another implementation of the first aspect, the traffic information may include network requirements for the multiple LAGs. Optionally, each network requirement may be one of the bandwidth requirement, Quality-of-Service (QoS) requirement, and link utilization threshold of the corresponding LAG.

[0049] A second aspect of the present invention provides a network device, which includes the device according to the first aspect or any of its implementations.

[0050] In one implementation of the second aspect, the network device is a router, a switch, a repeater, a bridge, or a gateway.

[0051] A third aspect of the present invention provides a method for optimizing the energy consumption of a network device. The network device may be connected to one or more adjacent network devices. Each network device includes multiple components. The method includes the following steps:

[0052] - The device obtains the energy distribution of the network device, where the energy distribution includes the device layout of the network device and the energy consumption information associated with each component

[0053] associated with the component;

[0054] - The device obtains the traffic information of the network device, where the network device is associated with a plurality of link aggregation groups (LAGs);

[0055] - The device determines one or more components in the components of the network device to be set to a low power state based on the device layout and the traffic information

[0056] to optimize the energy consumption of the network device; and

[0057] - The device requests the one or more adjacent network devices to set one or more corresponding components to a low power state based on the topology of the plurality of LAGs.

[0058] In one implementation of the third aspect, the step of obtaining the energy distribution of the network device may include receiving the energy distribution of the network device from a controller device.

[0059] In another implementation of the third aspect, the method may further include notifying the one or more adjacent network devices of the one or more components to be set to the low power state.

[0060] In another implementation of the third aspect, the method may further include obtaining an indication of the one or more components to be set to the low power state in the corresponding adjacent network device from the corresponding adjacent network device.

[0061] In another implementation of the third aspect, the method may further include:

[0062] - The device crosses the one or more components set to the low power state in the network device with the one or more components set to the low power state in the corresponding adjacent network device to obtain a list of links to be adjusted; and

[0063] - The device optimizes the energy consumption of the network device by adjusting the links in the plurality of LAGs according to the list.

[0064] In another implementation of the third aspect, the method may further include: The device provides the list of links to be adjusted to the one or more adjacent network devices.

[0065] In another implementation of the third aspect, the energy consumption of the network device can be optimized based on a distributed algorithm. According to the distributed algorithm, the method may include:

[0066] - The device obtains the energy consumption information of the network device;

[0067] - The device broadcasts the energy consumption information of the network device;

[0068] - The device also receives other energy consumption information of one or more other network devices; and

[0069] - In response to determining that the energy consumption information of the network device is the highest among the energy consumption information of the network device and the other energy consumption information of one or more other network devices, the device optimizes the energy consumption of the network device.

[0070] In another implementation of the second aspect, the method may further include: the device receives a device capability indication from a corresponding neighboring network device, where the device capability indication indicates whether the corresponding neighboring network device includes other devices for performing energy optimization.

[0071] When the corresponding neighboring network device includes the other devices, the method may further include: the device receives a local energy optimization decision made by the other devices, and the device considers the local energy optimization decision to perform the energy optimization.

[0072] In another implementation of the third aspect, the network device and the one or more other network devices may be in a stable set. Any two network devices in the stable set are not neighboring network devices.

[0073] In another implementation of the third aspect, the energy consumption of the network device can be optimized periodically.

[0074] In another implementation of the third aspect, the energy consumption of the network device can be optimized based on a trigger message received by the device from one of the one or more neighboring network devices.

[0075] In another implementation of the third aspect, the method can be used to optimize the energy consumption of the network device based on a threshold. The threshold can be associated with the energy consumption of the network device and the current traffic state of the network device.

[0076] In another implementation of the third aspect, the step of optimizing the energy consumption of the network device may further include: the device sending a lock message to the one or more neighboring network devices. The lock message is used to instruct the one or more neighboring network devices not to perform energy optimization.

[0077] In another implementation of the third aspect, the lock message may include a duration, and the lock message is further used to instruct the one or more neighboring devices not to perform energy optimization at least within the duration.

[0078] In another implementation of the third aspect, the method may further include: the device sending an unlock message to the one or more neighboring network devices. The unlock message is used to cancel the lock message.

[0079] In another implementation of the third aspect, the traffic information may include network requirements for the plurality of LAGs. Optionally, each network requirement may be one of a bandwidth requirement, a QoS requirement, and a link utilization threshold of a corresponding LAG.

[0080] The method of the third aspect may share the same advantages and benefits as the device of the first aspect.

[0081] A fourth aspect of the present invention provides a computer program, wherein the computer program includes program code for executing the method according to the third aspect or any of its implementations.

[0082] A fifth aspect of the present invention provides a non-transitory storage medium storing executable program code that, when executed by a processor, executes the method according to the third aspect or any of its implementations.

[0083] A sixth aspect of the present invention provides a chipset including a memory and a processor, the memory and the processor being used for storing and executing program code to execute the method provided by the third aspect or any of its implementations.

[0084] It should be noted that all devices, elements, units, and modules described in this application may be implemented in software or hardware elements or any combination thereof. The steps performed by the various entities described in this application and the functions to be performed by the various entities described are intended to mean that each entity is used to perform each step and function. Even in the following description, if the specific functions or steps to be performed by an external entity are not reflected in the description of the specific detailed elements of the entity performing the specific step or function, those skilled in the art should understand that these methods and functions may be implemented in the corresponding software or hardware elements, or in any combination of such elements. Description of the Drawings

[0085] In the following description of specific embodiments in conjunction with the accompanying drawings, the above aspects and implementations will be elaborated, where:

[0086] Figure 1 shows a device for energy optimization provided by the present invention;

[0087] Figure 2 shows a network device hosting an energy optimization agent provided by the present invention;

[0088] Figure 3 shows a process executed by the energy optimization agent provided by the present invention;

[0089] Figure 4 is a diagram of a method provided by the present invention;

[0090] Figures 5A to 5C shows an example of energy optimization provided by the present invention and a traditional method; and

[0091] Figure 6 shows an example of a stable set provided by the present invention. Detailed Description of the Invention

[0092] The present invention provides an energy optimization agent (or simply referred to as "agent"). The agent can reside inside a network device to coordinate the activation / deactivation of components of multiple LAG-enabled network devices. In the present invention, the network device can be referred to as a network node or a node.

[0093] For example, the agent can be hosted on a router and decide which components (such as single boards, chip sets, and ports) to activate / deactivate based on the detailed layout of physical components and the coordination with adjacent nodes. Neighboring nodes can also include corresponding agents.

[0094] Each agent can follow a process in each iteration. The process can include the following steps: First, each agent can be used to decide whether to optimize the energy of the corresponding node. Second, each agent can be used to determine which or which components of the corresponding node to activate / deactivate. Third, each agent is used to negotiate with its neighbors. Fourth, check whether all agents reach a consensus decision. If so, all agents are used to execute the consensus decision. If not, all agents will perform another iteration of these four steps again. This process can be executed synchronously or asynchronously.

[0095] In Figure 1 to Figure 5, corresponding elements can share the same features and can function in the same way.

[0096] Figure 1The apparatus 111 for energy optimization provided by the present invention is shown. The apparatus 111 is used to optimize the energy consumption of the network device 110. Therefore, the apparatus 111 may also be referred to as an energy optimization agent or agent 111. Optionally, the agent 111 may be located inside the network device 110 or may be a functional unit of the network device 110. In the present invention, the network device 110 may also be referred to as the "target network node" or "target node" 110. The target network device 110 may be connected to one or more adjacent network devices 130 in a communication network such as, for example, Ethernet. The adjacent network devices may be referred to as "neighbor nodes" 130. Each network device 110 includes a plurality of components. For example, the components may be a single board 112, a chipset 113, or a port 114. Each component may be set to a different power state, such as full-on, energy-saving mode, sleep mode, off. Generally, each component can be turned on or off.

[0097] The agent 111 is used to obtain the energy distribution 101 of the target network device. The energy distribution 101 includes the device layout of the target network device and the energy consumption information associated with each component. The device layout may include topological information about the components of the target network device 110, such as the connections and / or dependencies of the components. For example, the target network device 110 may include three single boards. Each single board may include (or may be used to control) one or more chip sets. Each chip set may include (or may be used to control) one or more ports. Information about the connections and / or dependencies between the single boards, chip sets, and ports may be included in the device layout. In addition, the agent 111 is also used to obtain the energy consumption information associated with each component. For example, a single board may consume 100 watts (W), the chip set of the single board may consume 70 W, and the ports of the chip set may consume 40 W. The device layout and the energy consumption information may be known to the target network device and may be provided to the agent as an input for optimizing the energy consumption. Optionally, the target network device 110 may be used to obtain the energy distribution 101 from the control device of the network.

[0098] The agent 111 is also used to obtain the traffic information 103 of the target network device 110. The target network device is associated with a plurality of LAGs. Each LAG may include one or more links. Each link may be used to connect the port of the target node and the port of the neighbor node. Optionally, in order to save energy, each link of the LAG 120 may be turned on / off.

[0099] Optionally, the traffic information 103 includes network requirements for a plurality of LAGs, where the network requirements include one or more of the bandwidth requirements, QoS requirements, and link utilization thresholds of the corresponding LAGs.

[0100] In the present invention, the agent 111 is used to coordinate multiple LAGs based on the acquired traffic information 103 and energy distribution 101 (e.g., device layout and energy consumption information). That is, the agent 111 is used to optimize the energy consumption of the target network device 110 by determining that one or more components in the components of the target network device 110 are to be set to the low power state based on the energy distribution 101 and traffic information 103. The agent 111 may send a request 104A indicating this determination (or "decision") to one or more components, so as to turn on / off one or more components respectively according to the decision. The agent 111 may also be used to send other requests 104B including the decision to the neighbor nodes 130, so that the neighbor nodes 130 can be used to turn on / off their components accordingly.

[0101] Optionally, a component (or referred to as "parent component") 112 of the target node 110 may include one or more sub-components 113, 114 (or referred to as "child components"). The agent may also be used to set the parent component 112 to the low power state in response to determining that all of the one or more sub-components 113, 114 of the parent component 112 are set to the low power state. For example, as Figure 1 exemplarily shown in, the target node may include a chipset 112. The chipset 112 may include two ports 113, 114. Other possible components may also be included in the target network device 110, Figure 1 not shown in. For example, the chipset 112 may be located on a single board. When all the sub-components 113, 114 are turned off according to the decision of energy optimization, the target network device 110 is also used to turn off the parent component 112. The relationship between components (e.g., connection and dependency relationships) may be included in the device layout. By considering the device layout for energy optimization, energy conservation can be further improved.

[0102] It should be noted that the low power state may refer to a state where the corresponding component is not running. For example, the low power state may be a sleep state, or a hibernation / sleep state, or an off state. In the present invention, as long as the component is in an energy-saving state or a sleep state, the component can be regarded as being turned off or in a low power state. In the present invention, "being in a low power state" and "being turned off" can be used interchangeably.

[0103] Optionally, the traffic information 103 may include the topological links and bandwidth requirements between the target network device and one or more adjacent devices. For example, the traffic information 103 may include the following information: {Node 1, Node 2, 20Mbps}, {Node 1, Node 3, 50Mbps}, which means that a (minimum) 20Mbps link is required between Node 1 and Node 2, and a (minimum) 50Mbps link is required between Node 1 and Node 3. Node 1 in this example may be the target network device 110, and Node 2 and Node 3 in this example may be adjacent network devices.

[0104] In the present invention, the optional and actual constraint conditions may be to keep at least one physical link active within each LAG to avoid interruption of the Ethernet layer 3 (routing).

[0105] The agent 111 is also used to request one or more adjacent network devices to set one or more corresponding components to a low power state based on the topology of multiple LAGs and one or more components to be set to a low power state in the network device. It should be noted that one LAG 120 is as Figure 1 shown. When the corresponding LAG (or the component of the target node) is turned on / off, the components of the neighbor node corresponding to the corresponding LAG are also turned on / off. For example, the neighbor node 130 may include a first port 133 corresponding to the port 113 of the target node 110 and a second port 134 corresponding to the port 114 of the target node 110. If the agent 110 decides to turn off the port 113 (or LAG#1 to which the port 113 is allocated) and notifies this decision to the neighbor node 130, the neighbor node 130 accordingly turns off the first port 133.

[0106] In this way, all adjacent links can be considered to coordinate multiple LAGs to maximize (or further improve) energy saving. In addition, the energy optimization also takes into account the device layout, which can further improve energy saving.

[0107] Optionally, the neighbor node 130 may include its own another agent (or referred to as "neighbor agent") 131. The neighbor agent 131 can be used to make local decisions (or suggestions) for energy optimization. The neighbor node 130 can then send suggestions to the target node 110. The target node 110 can be used to cross the suggestions with its own decisions. If a consensus decision can be reached, the target node 110 can be used to optimize the energy consumption according to the consensus decision. By jointly performing energy optimization between adjacent nodes, the energy saving effect can be further improved.

[0108] Optionally, the neighbor node 130 can be used to send an indication of the device capabilities to the target node 110. This indication can be used to indicate whether the neighbor node 130 includes a neighbor agent (or whether the neighbor node 130 can provide energy optimization suggestions). Then, the target node 110 can be used to consider the suggestions from the neighbor node 130 to perform energy optimization when the indication is affirmative.

[0109] It should be noted that since the energy optimization agent 111 is hosted in the target node 110, the functions in the present invention that can be performed by the agent 111 can be considered as being performed by the target node 110 (if applicable). For example, the interaction between the agent 111 and the neighbor node 130 can be regarded as the interaction between the target node 110 and the neighbor node 130.

[0110] Optionally, each node can be any one of a router, a switch, a repeater, a bridge, and a gateway.

[0111] Figure 2 The network device (or target node) 210 hosting the energy optimization agent 211 provided by the present invention is shown.

[0112] The energy optimization agent 211 can first be used to determine whether the associated target node 210 requires energy optimization. If so, the energy optimization agent 211 is used to determine which component or components of the target node 210 to turn on / off, and request one or more neighbor nodes to turn on / off the relevant links of multiple LAGs.

[0113] To obtain the input for optimizing the energy consumption of the target node, the energy optimization agent is used to obtain the energy distribution 201 of the target node and the traffic information 203 of the LAG. Optionally, the energy optimization agent can also be used to receive an indication 205 of the device capabilities of the neighbor node from the corresponding neighbor node. For example, the indication 205 can indicate whether other agents are hosted on the neighbor node. Optionally, when another agent is also hosted on the neighbor node, the energy optimization agent can also be used to receive the corresponding energy consumption information 207 of the neighbor node from the other agent. The energy consumption information 207 can include, for example, information about the total power consumption of the neighbor node. The total power consumption can be used, for example, to determine which node should perform energy optimization. In this example, it is determined that the target node 210 is the node to perform energy optimization. The energy consumption information 207 can be used to determine the stable set, which will be discussed later. Optionally, the traffic statistics of each link 209 can be provided by the LAG manager of the target node 210 to the agent 211.

[0114] As an output for optimizing the energy consumption of target node 210, one or more components of target node 210 are determined by the agent to be set to a low power state (while the remaining components are determined to be powered on). Agent 211 can be used to send request message 204A to the components. Agent 211 can also be used to send a similar request message 204B to one or more neighbor nodes. The request message 204B sent to the neighbor nodes can include the components in the target node to be set to the low power state. In this way, the request message 204B can be used to request one or more neighbor nodes to set one or more corresponding components to the low power state. One or more corresponding components of the neighbor nodes to be set to the low power state can be determined based on the topology of multiple LAGs and one or more components in the target node to be set to the low power state. For example, if port #11 of target node #1 is to be turned off, according to the topology of the LAG, port #21 of neighbor node #2 connected to port #11 is also to be turned off. This optimization can be negotiated with the neighbor nodes. The negotiation may iterate for several rounds until a consensus decision is reached.

[0115] Figure 3 The process that can be executed by the energy optimization agent provided by the present invention is shown.

[0116] Figure 3 The possible steps that can be executed by the agent are shown on the left. As a prerequisite for energy optimization ( Figure 3 pre-step), the target node (and the corresponding agent) can be used to obtain the energy distribution of the target node. The energy distribution includes the device layout (or internal layout) of the target node and the energy consumption of each component (e.g., the ports connected to the chipset, the chipset connected to the single board, and the power consumption of each component). Optionally, the neighbor nodes can be used to similarly receive their own device layout and energy consumption information from the network.

[0117] For example, the energy distribution can be referred to as an energy distribution message (msg.) and can include the following information: {Device #D1, 220W; Single board #B1, 100W; Single board #B2, 80W; Chipset #C11 -> Single board #B1, 70W; Port #P111 -> Chipset #C11, 10W; Port #P112 -> Chipset #C11, 40W; Chipset #C21 -> Single board #B2, 80W; Port #P211 -> Chipset #C21, 20W; Port #P212 -> Chipset #C21, 30W}, which can represent the topology information of each component (single board, chipset, port, etc.) and the energy consumption of each component. In Figures 5A to 5C An exemplary network device corresponding to this energy distribution is shown, which will be discussed later.

[0118] In step 301, each agent (of any network device of the hosting agent) can be used to determine whether the associated network device needs energy optimization. This decision can be periodic or threshold-based. In the periodic scenario, the goal can be to select a target node from multiple connected nodes for energy optimization at each iteration. The agent can be used to calculate a "stable set" including multiple potential target nodes, where by optimizing the multiple potential target nodes in the stable set, relatively maximum energy consumption (or minimum energy efficiency) can potentially be achieved. It should be noted that for each node in the stable set, its associated neighbor nodes should not be in the stable set.

[0119] Protocols such as Link State Advertisement (LSA) can be used to broadcast the energy consumption of each network device. In each iteration, one or more network devices with the highest energy consumption (or lowest energy efficiency) are selected from the stable set for energy optimization. The selected network devices can be used to perform the optimization process synchronously. For example, a master node, a shared clock, etc. can be used to achieve synchronization. Each selected network device can be regarded as a target node. This task is an NP-hard problem, but there are efficient heuristics. Since all network devices receive the same energy consumption and use the same deterministic algorithm, all nodes can determine the same stable set.

[0120] Alternatively, without using the stable set, the optimization process can be performed asynchronously. For example, during a specific time period, the agent is used to perform energy optimization on a specific node. The agent can be used to send a "lock" message to one or more neighbor nodes. In this case, one or more neighbor nodes are used not to optimize their energy until they receive an "unlock" message or after a predetermined time period. To avoid the ping-pong effect, the minimum "off" duration can be set by the agent or can be predetermined in all network devices. If a component or network device is in the off state, the component or network device must go through the shortest off time before it can be woken up.

[0121] In step 302, after selecting the target node for energy optimization, the agent associated with the target node is used to determine one or more components to be set to the low power state (e.g., to be turned off). This determination is based on the device layout of the target node and the traffic information of the LAG associated with the target node. Optionally, the traffic information can include network requirements for multiple LAGs. The network requirements can include one or more of the following: the bandwidth requirement of the corresponding LAG, the QoS requirement, and the link utilization threshold.

[0122] This determination can also consider the capabilities of neighbor nodes. Additionally, this determination can be regarded as an optimization problem. When solving the optimization problem, various algorithms can be applied. In the following, an exemplary model for performing energy optimization will be explained. In this model, by deciding which components of the target node to turn off while ensuring that all traffic between the target node and one or more neighbor nodes is guaranteed, energy conservation can be maximized. In this example, the following notations are used:

[0123] · e is used to represent the link between two units (or components, such as ports) d1(e) and d2(e);

[0124] · The unit (or component, such as a port) d1(e) belongs to the network node n;

[0125] · The unit d i (e) can be any unit that can turn on / off the link e. For example, the unit d i (e) can be the port p i (e) of the link e, the chipset c i (e), the single board b i (e), or the node n i (e).

[0126] The agent applies the following notations as input or useful information:

[0127] · E: The set of links, where LAGT can be at least one subset of E;

[0128] · L: The set of LAGs;

[0129] · D: The set of units (or components) in the node n;

[0130] · e d : The energy consumption of the unit d;

[0131] · The additional energy consumption of the single board b, related to the traffic consumption through b;

[0132] · c e : The bandwidth capacity of the link e ∈ E;

[0133] · b(n,n′): The traffic between the node n and its neighbor node n′;

[0134] · N(n): The set of neighbor nodes;

[0135] · δ(d): The subset of the links in E adjacent to d, where d can be a node, a single board, a chipset, or a port;

[0136] ·δ(d1, d2): The subset of adjacent links in E between d1 and d2, i.e., δ(d1, d2) = δ(d1) ∩ δ(d2);

[0137] ·F n : The set of neighbor network devices equipped with energy optimization agents;

[0138] ·n d : The node including port d;

[0139] ·b d : The single board including port d;

[0140] ·c d : The chipset including port d.

[0141] The agent can be used to obtain the following information as output:

[0142] · Shunt the traffic on link e ∈ E outside the node n;

[0143] · If unit d ∈ D is off, otherwise

[0144] The cost function of the optimization problem to be solved by the agent of node n can be:

[0145]

[0146] Subject to:

[0147]

[0148]

[0149]

[0150] The cost function to be maximized can be the energy that can be saved by turning off one or more components of node n. Additional energy consumption can be considered, which depends on the traffic consumption passing through it. Therefore, in the objective function, the consumption of the single board is subtracted.

[0151] The first constraint condition can be used to limit the shutdown of nested devices to only one device. This is done to avoid multiple calculations of energy consumption. For example, the energy consumption of a single board includes the energy consumption of all included chip sets and ports. Therefore, turning off the single board means turning off all included chip sets and ports.

[0152] The second constraint condition can represent the physical link capacity constraint condition. It also allows variables for links x and t.

[0153] The third constraint condition can be used to ensure that at least one physical link in each LAG is active.

[0154] The fourth constraint condition can be used to ensure that the traffic load on the LAG (between node n and its neighbor n') is fully split across the links of the LAG.

[0155] The fifth constraint condition can be used to prohibit the closing of the link between node n and a neighbor node without a configured energy optimization agent.

[0156] The sixth constraint condition can be used to ensure that the value of is 0 or 1, depending on whether unit d is on or off.

[0157] The above model can be used to avoid turning off the most recently awakened devices with other constraint conditions. For example, to avoid changing the decisions of neighbors made in previous iterations as much as possible. The model can also embed QoS or link utilization constraint conditions.

[0158] It should be noted that the above model is only given as a possible algorithm for solving the energy optimization problem. The parameters and constraint conditions can be adjusted in various ways.

[0159] In step 303, depending on whether the corresponding neighbor node includes the corresponding agent, the agent can optionally be used to send its optimization decision to the neighbor node with an agent. The optimization decision can be carried by a negotiation message (msg.), and can include the ports and / or physical links of the LAG to be set to the low power state. According to the negotiation msg., the agent of the corresponding neighbor can be used to determine a consistent set of the components of the neighbor node to be set to the low power state. It should be noted that step 303 is optional and not necessary for optimizing the energy consumption of the target node. For example, when determining the stable set in step 302, step 303 is unnecessary and this negotiation phase can be avoided.

[0160] In step 304, the agent is used to request one or more neighbor nodes to turn on / off the corresponding links / ports of the LAG, for example, by sending an execution message. Before closing the corresponding link, each agent (or each node) can be used to unload the traffic of the corresponding link. When all the ports of the chipset are in the low power state (e.g., off), the corresponding chipset will also be turned off. When all the chipsets of a single board are turned off, the corresponding single board will also be turned off. This is because the energy consumption of a component may not be exactly equal to the total energy consumption of all its sub-components. For example, a chipset may consume 70W while all its ports may consume a total of 50W. The energy distribution according to the present invention can provide useful input information for the agent to make improved energy optimization decisions.

[0161] Figure 3On the right side is shown the protocol messages involved in the steps shown on the left side. The illustration of the protocol messages takes three nodes A, B, and C as examples. In this example, node A is the target example, and nodes B and C are the neighbor nodes of node A.

[0162] As a prerequisite, each node can be used to receive its energy distribution. The energy distribution can be fixed and provided as part of the supplier device configuration. Optionally, the energy distribution can be provided by the network controller.

[0163] In step 301, it is decided to perform energy optimization on node A. Such a decision can be periodic, triggered by neighbor nodes, or based on threshold checking. For example, each node can check the following conditions:

[0164]

[0165] According to formula 1, if the ratio defined by formula 1 is equal to or greater than a predetermined threshold, it means that the node may waste too much energy and contribute too little to the traffic of the LAG. Therefore, the node needs to perform energy optimization. In this example, node A is selected as the target node. Therefore, neighbor nodes B and C are not selected as target nodes. Optionally, as neighbor nodes not in the stable set, by default, nodes B and C are not selected as target nodes. If no stable set is defined, node A can be configured to send locking messages to nodes B and C, so that concurrent optimization cannot be performed between adjacent nodes, otherwise it may lead to configuration conflicts. Optionally, the locking message can include a duration or expiration, and the duration or expiration defines the shortest duration during which energy optimization is not performed on neighbor nodes B and C. Optionally, the target node A can be used to send unlocking messages to neighbor nodes B and C to cancel the locking message.

[0166] In step 302, node A is used to solve the above optimization problem for energy optimization. It should be noted that nodes B and C are not selected as target nodes, and it should be understood that nodes B and C are not used to make any final decisions on energy optimization. The final decision on energy optimization should be made by the target node A (or the agent of the target node A). However, as Figure 3 shown, if nodes B and C include corresponding agents, nodes B and C can be used to make local decisions (or suggestions) by solving the same energy optimization problem. The local decisions can be used to negotiate with the target node A.

[0167] In step 303, the local suggestions made by neighbor nodes B and C may include the preferred components to be turned on / off and may be sent to the target node A. It should be noted that the target node A can be used to cross one or more components set to the low-power state in the target node A with one or more components set to the low-power state in the corresponding neighbor nodes B and C to obtain a list of links to be adjusted. If a consensus decision is reached, the list of links to be adjusted may be regarded as the final decision. Optionally, the negotiation may iterate for several rounds until a consensus decision is reached. It should be noted that reaching a consensus decision can be understood as that no conflicting components to be turned off are detected in all decisions of all nodes, and / or the routing of the network will not be interrupted.

[0168] The target node A can be used to optimize energy consumption by adjusting the links of multiple LAGs according to the list defined in the final decision. For this purpose, the target node A can be used to send the final decision to neighbor nodes B and C for execution. In step 304, the target node A can be used to send the final decision to neighbor nodes B and C through an execution message. The execution message can be used to request neighbor nodes B and C to turn off one or more specific components (such as ports) in the LAG. For each node, if all ports of the chipset are turned off, the chipset will also be turned off. Similarly, if all chipsets of a single board are turned off, the single board will also be turned off. This can further save energy.

[0169] Figure 4 This is a diagram of method 400 provided by the present invention.

[0170] Method 400 is used to optimize the energy consumption of a (target) network device. The target network device can be connected to one or more adjacent network devices. Each network device includes multiple components such as a single board, a chipset, and ports. Method 400 includes the following steps:

[0171] - Step 401: The device obtains the energy distribution of the network device, where the energy distribution includes the device layout of the network device and the energy consumption information associated with each component;

[0172]

[0173] - Step 402: The device obtains the traffic information of the network device, where the network device is associated with multiple LAGs;

[0174] - Step 403: The device optimizes the energy consumption of the network device by determining that one or more components in the components of the network device are to be set to the low-power state based on the device layout and the traffic information;

[0175]

[0176] ​​- Step 404: The apparatus requests one or more neighboring network devices to set one or more corresponding components to a low power state based on the topology of the multiple LAGs.

[0177] Optionally, the device may be an energy optimization agent, or may be a unit of a target network device.

[0178] It should be noted that from the above Figures 1 to 3 From the perspective of FIG. 4 , the steps of method 400 may have the same functions and details. Therefore, the corresponding method implementation will not be described in detail at this time.

[0179] Figures 5A to 5C An example of energy optimization provided by a comparison between the present invention and a conventional method is shown.

[0180] Figure 5A shows the scenario before energy optimization. Figure 5A The target node A in the middle is energy optimized. The target node A with a total energy consumption of 220W includes two boards with power consumptions of 100W and 80W respectively. The first board with power consumption of 100W includes a chipset with power consumption of 70W. The chipset with power consumption of 70W includes two ports with power consumptions of 10W and 40W. The second board with power consumption of 80W includes a chipset with power consumption of 80W. The chipset with power consumption of 80W includes two ports with power consumptions of 20W and 30W. This equipment layout and energy consumption can be presented as above Figures 1 to 3 Energy distribution of target node A mentioned in .

[0181] Figure 5B The conventional method of adopting the minimum port energy consumption strategy is shown. It should be noted that the ports with the lowest energy consumption (10W and 30W) in each LAG are selected to be enabled, while the ports with 40W and 20W are selected to be disabled. According to this method, 120W (40W+40W+20W+20W) of energy saving can be achieved.

[0182] Figure 5C The coordinated energy optimization considering the device topology provided by the present invention is shown. Figure 5C In the example, multiple LAG links are shut down in coordination: according to the energy distribution of the target node A, the 10W and 40W ports are shut down, and the 20W and 30W ports are opened. It should be noted that since all ports inside the first chipset with 70W are shut down, the first chipset (70W) itself is also shut down. Since the first chipset is shut down, the 100W board is also shut down. In this way, an increased energy saving of 150W (100W+10W+40W) can be achieved, which is 25% higher than the traditional method.

[0183] Figure 6 An example of a stable set provided by the present invention is shown. Figure 6A plurality of network nodes are shown. Each pair of adjacent nodes can be connected by one or more links to form a LAG. For performing network energy optimization, it may be beneficial to determine a stable set among these network nodes. The stable set can be determined according to the following two principles. First, a node in the stable set can be the one with the relatively highest energy consumption among its neighbors (one or more neighbor nodes). As mentioned above, the energy consumption can be broadcast via LSA, enabling each node to be aware of the energy consumption of other nodes. Second, no two directly adjacent nodes should be in the stable set at the same time (or any two nodes in the stable set should not be neighbor nodes).

[0184] In Figure 6 it, each node in the stable set (hosting the corresponding energy optimization agent) can be used to perform energy optimization using the solution disclosed in the present invention. Each node in the stable set does not necessarily have to negotiate its optimization decision with its neighborhood.

[0185] Optionally, the nodes in the stable set can be synchronized, for example, using a master node (selected from the stable set) based on a shared clock, etc.

[0186] The present invention can be applied to any communication network involving LAG, such as a local area network, a wired local area network, etc. In some cases, the present invention can also be applied to a wireless communication network, where the wireless network device includes wireless communication components that can be individually turned on / off for each communication channel / link. This is similar to the scenario of LAG, and thus, the technical solution according to the present invention can be applied.

[0187] The device in the present invention can include a processing circuit (not shown) for respectively performing, conducting, or initiating various operations of the device described herein. The processing circuit can include hardware and software. The hardware can include an analog circuit or a digital circuit, or both an analog circuit and a digital circuit. The digital circuit can include components such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a multi-purpose processor, etc. The processing circuit includes one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory can carry executable program code, which when executed by the one or more processors, causes the device to respectively perform, conduct, or initiate the operations or methods described herein.

[0188] Optionally, the device in the present invention may be a single electronic device capable of performing calculations, or may include a set of connected electronic devices capable of performing calculations using a shared system memory. As is well known in the art, such computing capabilities can be incorporated into many different devices, so the term "device" may include a PC, server, mobile terminal, tablet computer, wearable device, game console, graphics processing unit, graphics card, etc.

[0189] The present invention has been described in conjunction with various examples and implementations. However, based on the study of the drawings, the present invention, and the independent claims, those skilled in the art will be able to understand and implement other variations when practicing the claimed subject matter. In the claims as well as the specification, the word "comprising" does not exclude other elements or steps, and "a" does not exclude a plurality of elements or steps. A single element or other unit may fulfill the functions of several entities or items described in the claims. Stating certain measures in mutually different dependent claims does not indicate that a combination of these measures cannot be used effectively.

Claims

1. An apparatus (111) for optimizing the energy consumption of a network device (110), characterized in that, The network device (110) can be connected to one or more adjacent network devices (130), and each network device includes a plurality of components. Among them, the device (111) is used for: Obtain the energy distribution (101) of the network device (110), where the energy distribution (101) includes the device layout of the network device (110) and the energy consumption information associated with each component (112, 113, 114); Obtain the traffic information (103) of the network device (110), where the network device (110) is associated with a plurality of link aggregation groups (LAGs) (120); Optimize the energy consumption of the network device (110) by determining that one or more components in the components of the network device (110) are to be set to a low power state based on the device layout and the traffic information (103); and Request the one or more adjacent network devices (130) to set one or more corresponding components to a low power state based on the topology of the plurality of LAGs (120) and the one or more components in the network device (110) to be set to a low power state.

2. The device (111) according to claim 1, characterized in that, In order to obtain the energy distribution (101) of the network device (110), the device (111) is used for: Receive the energy distribution (101) of the network device (110) from the controller device.

3. The device (111) according to claim 1 or 2, characterized in that, The device (111) is also used to notify the one or more adjacent network devices (130) of the one or more components to be set to the low power state.

4. The device (111) according to any one of claims 1 to 3, characterized in that, The device (111) is also used to obtain an indication of the one or more components in the corresponding adjacent network device (130) to be set to the low power state from the corresponding adjacent network device (130).

5. The device (111) according to claim 4, characterized in that, The device (111) is also used for: Cross the one or more components in the components of the network device (110) set to the low power state with the one or more components in the corresponding adjacent network device (130) set to the low power state to obtain a list of links to be adjusted; And Optimize the energy consumption of the network device (110) by adjusting the links in the plurality of LAGs (120) according to the list.

6. The device (111) according to claim 5, characterized in that, The device (111) is also used to provide the list of links to be adjusted to the one or more adjacent network devices (130).

7. The device (111) according to any one of claims 1 to 6, characterized in that, The device (111) is used to optimize the energy consumption of the network device (110) based on a distributed algorithm. According to the distributed algorithm, the device (111) is used for: Obtain the energy consumption information of the network device (110); Broadcast the energy consumption information of the network device (110); Receive the other energy consumption information of one or more other network devices; and In response to determining that the energy consumption information of the network device (110) is the highest among the energy consumption information of the network device (110) and the other energy consumption information of one or more other network devices, optimize the energy consumption of the network device (110).

8. The device (111) according to claim 7, characterized in that, The network device (110) and the one or more other network devices are in a stable set, where any two network devices in the stable set are not adjacent network devices (130).

9. The device (111) according to any one of claims 1 to 8, characterized in that, The apparatus (111) is configured to periodically optimize the energy consumption of the network device (110).

10. The device (111) according to any one of claims 1 to 8, characterized in that, The apparatus (111) is configured to optimize the energy consumption of the network device (110) based on a trigger message received from one of the one or more adjacent network devices (130).

11. The device (111) according to any one of claims 1 to 8, characterized in that, The apparatus (111) is configured to optimize the energy consumption of the network device (110) based on a threshold, where the threshold is associated with the energy consumption of the network device (110) and the current traffic state of the network device (110).

12. The device (111) according to any one of claims 1 to 11, characterized in that, To optimize the energy consumption of the network device (110), the apparatus (111) is further configured to send a lock message to the one or more adjacent network devices (130), where the lock message is used to instruct the one or more adjacent network devices (130) not to perform energy optimization.

13. The device (111) according to claim 12, characterized in that, The lock message includes a duration, and the lock message is further used to instruct the one or more adjacent devices not to perform energy optimization at least for the duration.

14. The device (111) according to claim 12 or 13, characterized in that, The apparatus (111) is further configured to send an unlock message to the one or more adjacent network devices (130), where the unlock message is used to cancel the lock message.

15. The device (111) according to any one of claims 1 to 14, characterized in that, The traffic information (103) includes network requirements for the plurality of link aggregation groups (LAGs), where the network requirements include one or more of a bandwidth requirement, a quality of service (QoS) requirement, and a link utilization threshold of a corresponding LAG (120).

16. A network device (110), characterized in that, Comprising the apparatus (111) according to any one of claims 1 to 15.

17. The network device (110) according to claim 16, characterized in that, The network device (110) is a router, a switch, a repeater, a bridge, or a gateway.

18. A method (400) for optimizing the energy consumption of a network device, characterized in that, The network device can be connected to one or more adjacent network devices, and each network device includes a plurality of components, where the method includes: The apparatus obtains (401) the energy distribution of the network device, where the energy distribution includes the device layout of the network device and energy consumption information associated with each component; The apparatus obtains (402) the traffic information of the network device, where the network device is associated with a plurality of link aggregation groups (LAGs); The apparatus optimizes (403) the energy consumption of the network device by determining that one or more of the components of the network device are to be set to a low power state based on the device layout and the traffic information; and The apparatus requests (404) the one or more adjacent network devices to set one or more corresponding components to a low power state based on the topology of the plurality of LAGs.

19. A computer program comprising instructions, characterized in that, When the program is executed by a computer, the instructions cause the computer to perform the method according to claim 18.