Patent Abstract:
A system and method of reducing power consumption in a network switching unit includes detecting whether conditions are suitable for reducing power consumption in a first network switching unit. The first network switching unit includes a link aggregation group (LAG) and a plurality of communication ports, each communication port configured to couple the first network switching unit to a second network switching unit using a corresponding network link selected from a plurality of network links, and wherein the plurality of network links are assigned to the LAG. The system and method further includes requesting network link deactivation by sending a link deactivation request to the second network switching unit, determining whether the link deactivation request is approved, determining a first network link selected from the plurality of network links to deactivate, deactivating the first network link from use by the LAG, and reducing power supplied to the first network link.

Full Description:
BACKGROUND 
     The present disclosure relates generally to conserving power in link aggregation groups. 
     As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. 
     Additionally, some embodiments of information handling systems include non-transient, tangible machine-readable media that include executable code that when run by one or more processors, may cause the one or more processors to perform the steps of methods described herein. Some common forms of machine readable media include, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read. 
     Computer networks form the interconnection fabric that enables reliable and rapid communications between computer systems and data processors that are both in close proximity to each other and at distant locations. These networks create a vast spider web of intranets and internets for handling all types of communication and information. Making all of this possible is a vast array of network switching products that make routing decisions in order to deliver packets of information from a source system or first network node to a destination system or second network node. Due to the size, complexity, and dynamic nature of these networks, sophisticated network switching products are often required to implement the interconnection fabric. This can be further complicated through other networking trends such as network virtualization. 
     Many networks utilize parallelization and other techniques to improve the routing function between two network nodes. By employing parallelization, redundancy is built into a network so that it is possible that more than one path exists between any two nodes. This provides suitably aware network switching products with the ability to select between the redundant paths to avoid network congestion, balance network loads, and/or to avoid failures in the network. Parallelization also provides the ability to handle more network traffic between two nodes than is possible when parallelization is not utilized. In some implementations the parallelization is treated in a more formalized fashion in the form of link aggregation groups (LAGs), in which multiple network links are often bundled into a group to support the parallelization function. For suitably aware network switching products, the LAG can offer a flexible option to select any of the network links in the LAG for routing network traffic towards the next node in the path towards the traffic&#39;s final destination. And while LAGs offer additional flexibility in network topologies, they may also add complexity to the routing function and management of the network switching products to which they are attached. And as each network link added to a LAG may increase the quantity of network traffic that can be handled by the LAG, it may also add to the power consumption of both network switching products associated with the network link. 
     Accordingly, it would be desirable to provide improved network switching products that can dynamically activate and deactivate network links within a LAG to reduce the power consumption of the associated network switching products. 
     SUMMARY 
     According to one embodiment, a method of reducing power consumption in a network switching unit includes detecting whether conditions are suitable for reducing power consumption in a first network switching unit. The first network switching unit includes a link aggregation group (LAG) and a plurality of communication ports, each communication port configured to couple the first network switching unit to a second network switching unit using a corresponding network link selected from a plurality of network links, and wherein the plurality of network links are assigned to the LAG. The method further includes requesting network link deactivation by sending a link deactivation request to the second network switching unit, determining whether the link deactivation request is approved, determining a first network link selected from the plurality of network links to deactivate, deactivating the first network link from use by the LAG, and reducing power supplied to the first network link. 
     According to another embodiment, a method of reducing power consumption in a network switching unit includes receiving a link deactivation request by a first network switching unit from a second network switching unit. The first network switching unit includes a link aggregation group (LAG) and a plurality of communication ports, each communication port configured to couple the first network switching unit to the second network switching unit using a corresponding network link selected from a plurality of network links, and wherein the plurality of network links are assigned to the LAG. The method further includes determining whether the link deactivation request is acceptable, in response to determining that the link deactivation request is not acceptable, denying the link deactivation request, in response to determining that the link deactivation request is acceptable, confirming the link deactivation request, determining a first network link selected from the plurality of network links to deactivate, deactivating the first network link from use by the LAG, and reducing power supplied to the first network link. 
     According to yet another embodiment, an information handling system includes a first network switching unit. The first network switching unit includes a link aggregation group (LAG) and a plurality of communication ports, each communication port configured to couple the first network switching unit to a second network switching unit using a corresponding network link selected from a plurality of network links, and wherein the plurality of network links are assigned to the LAG. The first network switching unit is configured to detect whether conditions are suitable for reducing power consumption, request network link deactivation by sending a link deactivation request to the second network switching unit, determine whether the link deactivation request is approved, determine a first network link selected from the plurality of network links to deactivate, deactivate the first network link from use by the LAG, and reduce power supplied to the first network link. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1   a  shows a simplified diagram of a network according to some embodiments. 
         FIG. 1   b  shows a simplified diagram of the network with a network link deactivated according to some embodiments. 
         FIG. 2  shows a simplified diagram of a method of reducing power consumption in a network switching unit according to some embodiments. 
         FIG. 3  is a simplified diagram of a method of reducing power consumption in a network switching unit according to some embodiments. 
         FIG. 4  is a simplified diagram of a method of activating a network link in a network switching unit according to some embodiments. 
         FIG. 5  is a simplified diagram of a method of activating a network link in a network switching unit according to some embodiments. 
         FIG. 6  is a simplified diagram of an extension to an actor and a partner state of a LACP data unit (LACPDU) according to some embodiments. 
     
    
    
     In the figures, elements having the same designations have the same or similar functions. 
     DETAILED DESCRIPTION 
     In the following description, specific details are set forth describing some embodiments consistent with the present disclosure. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. One skilled in the art may realize other elements that, although not specifically described here, are within the scope and the spirit of this disclosure. In addition, to avoid unnecessary repetition, one or more features shown and described in association with one embodiment may be incorporated into other embodiments unless specifically described otherwise or if the one or more features would make an embodiment non-functional. 
     For purposes of this disclosure, an IHS may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an IHS may be a personal computer, a PDA, a consumer electronic device, a display device or monitor, a network server or storage device, a switch router or other network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The IHS may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the IHS may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The IHS may also include one or more buses operable to transmit communications between the various hardware components. 
       FIG. 1   a  shows a simplified diagram of a network  100  according to some embodiments. As shown in  FIG. 1   a , the network  100  may include a network switching unit  110  and a network switching unit  120 . The network switching unit  110  may include one or more communication ports  131 - 133 . Each of the one or more communication ports  131 - 133  may be coupled to a corresponding one of one or more network links  141 - 143 . Communication port  131  may be coupled to network link  141 , communication port  132  may be coupled to network link  142 , and communication port  133  may be coupled to network link  143 . The network switching unit  120  may include one or more communication ports  151 - 153 . Each of the one or more communication ports  151 - 153  may be coupled to a corresponding one of the one or more network links  141 - 143 . Communication port  151  may be coupled to network link  141 , communication port  152  may be coupled to network link  142 , and communication port  153  may be coupled to network link  143 . 
     Network switching unit  110  may route network traffic to network switching unit  120  by sending it to any one of the communication ports  131 - 133  where it is sent on the corresponding one of the network links  141 - 143  toward network switching unit  120 . Similarly, network switching unit  120  may route network traffic to network switching unit  110  by sending it to any one of the communication ports  151 - 153  where it is sent on the corresponding one of the network links  141 - 143  toward network switching unit  110 . Thus, the network links  141 - 143  can provide parallel and alternative network paths between the network switching unit  110  and the network switching unit  120 . The parallel nature of the network links  141 - 143  may be formalized in each of the network switching units  110  and  120  through the use of link aggregation groups. Network switching unit  110  may group the network links  141 - 143  into a LAG  161 . When network switching unit  110  desires to route network traffic to network switching unit  120  it may route the network traffic using LAG  161 , leaving the decision of which of the network links  141 - 143  and corresponding communication ports  131 - 133  to use to a LAG hashing algorithm. Similarly, network switching unit  120  may group the network links  141 - 143  into a LAG  162 . When network switching unit  120  desires to route network traffic to network switching unit  110  it may route the network traffic using LAG  162 . 
     Because network utilization may change based on the amount of network traffic being routed and/or the source(s) and destination(s) of the network traffic, the amount of network traffic that needs to be handled by network links  141 - 143  may increase or decrease. A network designer may generally choose the number of parallel network links  141 - 143  between the network switches  110  and  120  based on an expected maximum traffic load to reduce a potential for a loss of network traffic. However, there may be times when the actual traffic load being handled by network links  141 - 143  may be significantly less than the expected maximum traffic load or even non-existent. A ratio of the actual traffic load to a maximum traffic load that can be handled by a LAG is often referred to as the utilization for the LAG. A low utilization may indicate a low traffic load and a high utilization may indicate a high traffic load. In some embodiments, where there is an extended period of time where the utilization is low, it may be advantageous to deactivate one or more of the network links in a LAG to reduce power consumption. In some embodiments, it may be advantageous to reduce power consumption in the LAG for other reasons. In some embodiments, power consumption may be reduced to lower a need for heat dissipation and to lower the temperature of the network switching units  110  and  120 . In some embodiments, power consumption may be reduced to lower a peak power demand. In some embodiments, power consumption may be reduced based on a time of day. 
       FIG. 1   b  shows a simplified diagram of the network  100  with the network link  143  deactivated according to some embodiments. As shown in  FIG. 1   b , the network link  143  has been deactivated to reduce, for example, power consumption. Network traffic may now only move between the network switching units  110  and  120  using network links  141  and  142 . Network link  143  may also be deactivated for use in LAGs  161  and  162  so that the LAG hashing algorithms of network switching units  110  and  120  will not route network traffic using network link  143 . Because network link  143  is deactivated, network switching unit  110  may reduce or remove power from network link  143 . In some embodiments, network switching unit  110  may also reduce or remove power from communication port  133 . In some embodiments, network switching unit  110  may also reduce or remove power from other circuitry associated with communication port  133  and/or network link  143 . Network switching unit  120  may similarly reduce or remove power from network link  143 , communication port  153 , and/or other circuitry associated with communication port  153  and/or network link  143 . Thus, the overall power consumption of the network switching units  110  and  120 , as well as the network  100  may be reduced. 
     As discussed above and further emphasized here,  FIGS. 1   a  and  1   b  are merely examples, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. According to some embodiments, there may be fewer than three or more than three network links  141 - 143  coupling the network switching units  110  and  120 . 
       FIG. 2  shows a simplified diagram of a method  200  of reducing power consumption in a network switching unit according to some embodiments. As shown in  FIG. 2 , the method  200  includes a process  210  for detecting power conservation conditions, a process  220  for requesting network link deactivation, a process  230  for receiving a response to the request, a process  240  for determining whether the request was confirmed, a process  250  for negotiating a network link to deactivate, a process  260  for deactivating the network link from use by a LAG, and a process  270  for reducing the network link power. According to certain embodiments, the method  200  of reducing power consumption in a network switching unit can be performed using variations among the processes  210 - 270  as would be recognized by one of ordinary skill in the art. According to some embodiments, the process  230  is optional and may be omitted. In some embodiments, one or more of the processes  210 - 270  may be implemented, at least in part, in the form of executable code stored on non-transient, tangible, machine readable media that when run by one or more processors in one or more network switching units (e.g., the network switching units  110  and/or  120 ) may cause the one or more processors to perform one or more of the processes  210 - 270 . 
     At the process  210 , a network switching unit (e.g., the network switching unit  110  and/or  120 ) may detect whether network conditions are suitable for reducing power consumption on one of the network switching unit&#39;s LAGs (e.g., the LAG  161  and/or  162 ). According to some embodiments, power consumption may be reduced when a utilization of the LAG falls below a minimum utilization threshold for a period of time. In some embodiments, the minimum utilization threshold may be 10% or lower. In some embodiments, the minimum utilization threshold may be 20% or lower. In some embodiments, the minimum utilization threshold may be set as part of the configuration of the network switching unit. In some embodiments, the minimum utilization threshold may be set using a configuration utility. In some embodiments, the minimum utilization threshold may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the minimum utilization threshold may be dynamic based on a time of day and/or other network settings and/or conditions. In some embodiments, the period of time may be as short as a second or less. In some embodiments, the period of time may be as short as a minute or less. In some embodiments, the period of time may be 5-10 minutes or more in length. In some embodiments, the period of time may be set as part of the configuration of the network switching unit. In some embodiments, the period of time may be set using a configuration utility. In some embodiments, the period of time may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the period of time may be dynamic based on a time of day and/or other network settings and/or conditions. 
     According to some embodiments, power consumption may be reduced when a temperature of the network switching unit exceeds a maximum temperature threshold. In some embodiments, the maximum temperature threshold may be 70 degrees centigrade or higher. In some embodiments, the maximum temperature threshold may be 85 degrees centigrade or higher. In some embodiments, the maximum temperature threshold may be 125 degrees centigrade or higher. In some embodiments, the maximum temperature threshold may be set as part of the configuration of the network switching unit. In some embodiments, the maximum temperature threshold may be set using a configuration utility. In some embodiments, the maximum temperature threshold may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the maximum temperature threshold may be dynamic based on a time of day and/or other network settings and/or conditions. 
     According to some embodiments, power consumption may be reduced based on a time of day. 
     According to some embodiments, power consumption may be reduced based on one or more of the factors described above. In some embodiments, any logical and/or temporal combination of the one or more factors may be considered. 
     At the process  220 , the network switching unit makes a request for link deactivation. According to some embodiments, the network switching unit may select a LAG (e.g., the LAG of process  210  whose utilization is below the minimum utilization threshold). In some embodiments, the network switching unit may send a network link deactivation message to a neighboring network switching unit (e.g., the network switching unit  120  and/or  110 ) using one of the network links (e.g., the network links  140 - 143 ) in the LAG. In some embodiments, the link deactivation message may ask the neighboring network switching unit whether it is willing to deactivate one of their shared network links. 
     At the optional process  230 , the network switching unit receives a response to the link deactivation request. According to some embodiments, the network switching unit may receive a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating whether the neighboring network switching unit is willing to deactivate one of their shared network links. 
     At the process  240 , the network switching unit may determine whether the network link deactivation request is confirmed. According to some embodiments, the network switching unit examines the response message. According to some embodiments, the network deactivation request may not be confirmed when no response message is received. In some embodiments, the network deactivation request may not be confirmed when a response message is not received during a timeout period following the making of the deactivation request. In some embodiments, the timeout period is several milliseconds. In some embodiments, the timeout period is a second or longer. In some embodiments, the timeout period may be set as part of the configuration of the network switching unit. In some embodiments, the timeout period may be set using a configuration utility. In some embodiments, the timeout period may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the timeout period may be dynamic based on a time of day and/or other network settings and/or conditions. If the network switching unit determines that the network link deactivation request has not been confirmed, the method  200  returns to process  210 . 
     At the process  250 , the network switching unit and the neighboring network switching unit may negotiate which network link should be deactivated. According to some embodiments, the network link is selected based on a mutually agreed upon criteria. In some embodiments, the network link, from among the active network links, with a largest ID number is selected. In some embodiments, the network link, from among the active network links, with a smallest ID number is selected. According to some embodiments, the network switching unit and the neighboring switching unit may exchange one or more negotiation messages to determine the network link to deactivate. 
     At the process  260 , the network switching unit may deactivate the network link from use by the LAG. According to some embodiments, the network link may be removed from consideration by a LAG hashing algorithm used to select from among the network links associated with the LAG. 
     At the process  270 , the network switching unit may reduce power provided to the network link. According to some embodiments, the network switching unit may reduce some power or remove all power to the network link. According to some embodiments, the network switching unit may reduce or remove power from a communication port (e.g., one of the communication ports  131 - 133  and/or  151 - 153 ) corresponding to the network link. According to some embodiments, the network switching unit may also reduce or remove power from other circuitry associated with the communication port and/or the network link. 
     As discussed above and further emphasized here,  FIG. 2  is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. According to some embodiments, upon completion of the process  270 , the method  200  may return to process  210  to determine whether one or more additional network links may be deactivated. 
       FIG. 3  is a simplified diagram of a method  300  of reducing power consumption in a network switching unit according to some embodiments. As shown in  FIG. 3 , the method  300  includes a process  310  for receiving a network link deactivation request, a process  320  for determining whether deactivation of a network link is acceptable, a process  330  for denying the request, a process  340  for confirming the request, a process  350  for negotiating a network link to deactivate, a process  360  for deactivating the network link from use by a LAG, and a process  370  for reducing the network link power. According to certain embodiments, the method  300  of reducing power consumption in a network switching unit can be performed using variations among the processes  310 - 370  as would be recognized by one of ordinary skill in the art. According to some embodiments, the process  330  is optional and may be omitted. In some embodiments, one or more of the processes  310 - 370  may be implemented, at least in part, in the form of executable code stored on non-transient, tangible, machine readable media that when run by one or more processors in one or more network switching units (e.g., the network switching units  110  and/or  120 ) may cause the one or more processors to perform one or more of the processes  310 - 370 . 
     At the process  310 , a network switching unit (e.g., the network switching unit  110  and/or  120 ) may receive a network link deactivation request. In some embodiments, the network link deactivation request may be the network link deactivation request from process  220 . In some embodiments, the network link deactivation request may be in the form of a network link deactivation message sent by a neighboring network switching unit (e.g., the network switching unit  120  and/or  110 ) using one of the network links (e.g., the network links  140 - 143 ) in a LAG (e.g., the LAG  162  and/or  161 ). 
     At the process  320 , the network switching unit determines whether deactivation of a network link is acceptable. According to some embodiments, the network switching unit may make its determination using one or more factors similar to the one or more factors used in the process  210  to detect whether network conditions are suitable for reducing power consumption. In some embodiments, the network switching unit may consider a utilization of the LAG. In some embodiments, the network switching unit may consider a temperature of the network switching unit. In some embodiments, the network switching unit may consider a time of day. In some embodiments, any logical and/or temporal combination of the one or more factors may be considered. According to some embodiments, the network switching unit may recognize that it has network traffic to route to the neighboring network switching unit that the neighboring network switching may not have been able to consider when it made the network link deactivation request. If the network switching unit determines that deactivation of a network link is not acceptable, the method  300  moves to process  330 . Otherwise, the method  300  moves to process  340 . 
     At the optional process  330 , the network switching unit denies the deactivation request. According to some embodiments, the network switching unit may send a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating that the network switching unit is not willing to deactivate one of its network links. In some embodiments, the response message may be the response received by the neighboring network switching device in process  230 . 
     At the process  340 , the network switching unit confirms the deactivation request. According to some embodiments, the network switching unit may send a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating that the network switching unit is willing to deactivate one of its network links. In some embodiments, the response message may be the response received by the neighboring network switching device in process  230 . 
     At the process  350 , the network switching unit and the neighboring network switching unit may negotiate which network link should be deactivated. According to some embodiments, the network link is selected based on a mutually agreed upon criteria. In some embodiments, the network link, from among the active network links, with a largest ID number is selected. In some embodiments, the network link, from among the active network links, with a smallest ID number is selected. According to some embodiments, the network switching unit and the neighboring switching unit may exchange one or more negotiation messages to determine the network link to deactivate. According to some embodiments, the selected network link is the same network link selected in process  250 . 
     At the process  360 , the network switching unit may deactivate the network link from use by the LAG. According to some embodiments, the network link may be removed from consideration by a LAG hashing algorithm used to select from among the network links associated with the LAG. 
     At the process  370 , the network switching unit may reduce power provided to the network link. According to some embodiments, the network switching unit may reduce some power or remove all power to the network link. According to some embodiments, the network switching unit may reduce or remove power from a communication port (e.g., one of the communication ports  151 - 153  and/or  131 - 133 ) corresponding to the network link. According to some embodiments, the network switching unit may also reduce or remove power from other circuitry associated with the communication port and/or the network link. 
     As discussed above and further emphasized here,  FIG. 3  is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. According to some embodiments, upon completion of the process  370 , the method  300  may return to process  310  to wait for another network link deactivation request. According to some embodiments, upon completion of the process  370 , the method  300  may switch to process  210  of method  200  to detect whether network conditions are suitable for reducing power consumption on one of the network switching unit&#39;s LAGs. 
       FIG. 4  is a simplified diagram of a method  400  of activating a network link in a network switching unit according to some embodiments. As shown in  FIG. 4 , the method  400  includes a process  410  for detecting an end of power conservation conditions, a process  420  for requesting network link activation, a process  430  for receiving a response to the request, a process  440  for determining whether the request was confirmed, a process  450  for negotiating a network link to activate, a process  460  for returning the network link power, and a process  470  for activating the network link for use by a LAG. According to certain embodiments, the method  400  of activating a network link in a network switching unit can be performed using variations among the processes  410 - 470  as would be recognized by one of ordinary skill in the art. According to some embodiments, the process  430  is optional and may be omitted. In some embodiments, one or more of the processes  410 - 470  may be implemented, at least in part, in the form of executable code stored on non-transient, tangible, machine readable media that when run by one or more processors in one or more network switching units (e.g., the network switching units  110  and/or  120 ) may cause the one or more processors to perform one or more of the processes  410 - 470 . 
     At the process  410 , a network switching unit (e.g., the network switching unit  110  and/or  120 ) may detect an end of power conservation conditions. According to some embodiments, the process  410  may only occur when one or more of the network links (e.g., the network links  141 - 143 ) of a LAG (e.g., the LAG  161  and/or  162 ) are deactivated. In some embodiments, the one or more network links may have been deactivated by the method  200  and/or the method  300 . According to some embodiments, the end of power conservation conditions may indicate that network conditions suggest that additional network links should be activated in the LAG. According to some embodiments, the end of power conservation conditions may occur when a utilization of the LAG rises above a maximum utilization threshold for a period of time. In some embodiments, the maximum utilization threshold may be 80% or higher. In some embodiments, the maximum utilization threshold may be 60% or higher. In some embodiments, the maximum utilization threshold may be set as part of the configuration of the network switching unit. In some embodiments, the maximum utilization threshold may be set using a configuration utility. In some embodiments, the maximum utilization threshold may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the maximum utilization threshold may be dynamic based on a time of day and/or other network settings and/or conditions. In some embodiments, the period of time may be as short as a second or less. In some embodiments, the period of time may be as short as a minute or less. In some embodiments, the period of time may be 5-10 minutes or more in length. In some embodiments, the period of time may be set as part of the configuration of the network switching unit. In some embodiments, the period of time may be set using a configuration utility. In some embodiments, the period of time may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the period of time may be dynamic based on a time of day and/or other network settings and/or conditions. 
     According to some embodiments, the end of power conservation conditions may occur when a temperature of the network switching unit drops below a minimum temperature threshold. In some embodiments, the minimum temperature threshold may be 100 degrees centigrade or lower. In some embodiments, the minimum temperature threshold may be 65 degrees centigrade or lower. In some embodiments, the minimum temperature threshold may be 40 degrees centigrade or higher. In some embodiments, the minimum temperature threshold may be set as part of the configuration of the network switching unit. In some embodiments, the minimum temperature threshold may be set using a configuration utility. In some embodiments, the minimum temperature threshold may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the minimum temperature threshold may be dynamic based on a time of day and/or other network settings and/or conditions. 
     According to some embodiments, the end of power conservation conditions may occur based on a time of day. 
     According to some embodiments, the end of power conservation conditions may occur based on one or more of the factors described above. In some embodiments, any logical and/or temporal combination of the one or more factors may be considered. 
     At the process  420 , the network switching unit makes a request for link activation. According to some embodiments, the network switching unit may select a LAG (e.g., the LAG of process  410  whose utilization is above the maximum utilization threshold). In some embodiments, the network switching unit may send a network link activation message to a neighboring network switching unit (e.g., the network switching unit  120  and/or  110 ) using one of the network links (e.g., the network links  140 - 143 ) in the LAG. In some embodiments, the link activation message may ask the neighboring network switching unit whether it is willing to activate one of their shared network links. 
     At the optional process  430 , the network switching unit receives a response to the link activation request. According to some embodiments, the network switching unit may receive a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating whether the neighboring network switching unit is willing to activate one of their shared network links. 
     At the process  440 , the network switching unit may determine whether the network link activation request is confirmed. According to some embodiments, the network switching unit examines the response message. According to some embodiments, the network activation request may not be confirmed when no response message is received. In some embodiments, the network deactivation request may not be confirmed when a response message is not received during a timeout period following the making of the activation request. In some embodiments, the timeout period is several milliseconds. In some embodiments, the timeout period is a second or longer. In some embodiments, the timeout period may be set as part of the configuration of the network switching unit. In some embodiments, the timeout period may be set using a configuration utility. In some embodiments, the timeout period may be stored in one or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge) coupled to the network switching unit. In some embodiments, the timeout period may be dynamic based on a time of day and/or other network settings and/or conditions. If the network switching unit determines that the network link activation request has not been confirmed, the method  400  returns to process  410 . 
     At the process  450 , the network switching unit and the neighboring network switching unit may negotiate which network link should be activated. According to some embodiments, the network link is selected based on a mutually agreed upon criteria. In some embodiments, the network link, from among the deactivated network links, with a largest ID number is selected. In some embodiments, the network link, from among the deactivated network links, with a smallest ID number is selected. According to some embodiments, the network switching unit and the neighboring switching unit may exchange one or more negotiation messages to determine the network link to activate. According to some embodiments, when only one network link in the LAG is deactivated, it may be selected by default. 
     At the process  460 , the network switching unit may return power to the network link. According to some embodiments, the network switching unit may return power to a communication port (e.g., one of the communication ports  131 - 133  and/or  151 - 153 ) corresponding to the network link. According to some embodiments, the network switching unit may also return power to other circuitry associated with the communication port and/or the network link. 
     At the process  470 , the network switching unit may activate the network link for use by the LAG. According to some embodiments, the network link may be added to consideration by a LAG hashing algorithm used to select from among the network links associated with the LAG. 
     As discussed above and further emphasized here,  FIG. 4  is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. According to some embodiments, upon completion of the process  470 , the method  400  may return to process  410  to determine whether one or more additional network links may be activated. According to some embodiments, upon completion of the process  470 , the method may switch to method  200  and/or  300  when a reduction in power consumption is desired. 
       FIG. 5  is a simplified diagram of a method  500  of activating a network link in a network switching unit according to some embodiments. As shown in  FIG. 5 , the method  500  includes a process  510  for receiving a network link activation request, a process  520  for determining whether activation of a network link is acceptable, a process  530  for denying the request, a process  540  for confirming the request, a process  550  for negotiating a network link to activate, a process  560  for returning the network link power, and a process  570  for activating the network link for use by a LAG. According to certain embodiments, the method  500  of reducing power consumption in a network switching unit can be performed using variations among the processes  510 - 570  as would be recognized by one of ordinary skill in the art. According to some embodiments, the process  530  is optional and may be omitted. In some embodiments, one or more of the processes  510 - 570  may be implemented, at least in part, in the form of executable code stored on non-transient, tangible, machine readable media that when run by one or more processors in one or more network switching units (e.g., the network switching units  110  and/or  120 ) may cause the one or more processors to perform one or more of the processes  510 - 570 . 
     At the process  510 , a network switching unit (e.g., the network switching unit  110  and/or  120 ) may receive a network link activation request. In some embodiments, the network link activation request may be the network link activation request from process  420 . In some embodiments, the network link activation request may be in the form of a from a network link activation message sent by a neighboring network switching unit (e.g., the network switching unit  120  and/or  110 ) using one of the network links (e.g., the network links  140 - 143 ) in a LAG (e.g., the LAG  162  and/or  161 ). 
     At the process  520 , the network switching unit determines whether activation of a network link is acceptable. According to some embodiments, the network switching unit may make its determination using one or more factors similar to the one or more factors used in the process  410  to detect whether network conditions are suitable for activating a network link. In some embodiments, the network switching unit may consider a utilization of the LAG. In some embodiments, the network switching unit may consider a temperature of the network switching unit. In some embodiments, the network switching unit may consider a time of day. In some embodiments, any logical and/or temporal combination of the one or more factors may be considered. According to some embodiments, the network switching unit may have an elevated temperature that does not permit activation of a network link. If the network switching unit determines that activation of a network link is not acceptable, the method  500  moves to process  530 . Otherwise, the method  500  moves to process  540 . 
     At the optional process  530 , the network switching unit denies the activation request. According to some embodiments, the network switching unit may send a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating that the network switching unit is not willing to activate one of its network links. In some embodiments, the response message may be the response received by the neighboring network switching device in process  430 . 
     At the process  540 , the network switching unit confirms the activation request. According to some embodiments, the network switching unit may send a response message on one of the network links in the LAG. In some embodiments, the response message may include information indicating that the network switching unit is willing to activate one of its network links. In some embodiments, the response message may be the response received by the neighboring network switching device in process  430 . 
     At the process  550 , the network switching unit and the neighboring network switching unit may negotiate which network link should be activated. According to some embodiments, the network link is selected based on a mutually agreed upon criteria. In some embodiments, the network link, from among the deactivated network links, with a largest ID number is selected. In some embodiments, the network link, from among the deactivated network links, with a smallest ID number is selected. According to some embodiments, the network switching unit and the neighboring switching unit may exchange one or more negotiation messages to determine the network link to activate. According to some embodiments, when only one network link in the LAG is deactivated, it may be selected by default. According to some embodiments, the selected network link is the same network link selected in process  450 . 
     At the process  560 , the network switching unit may return power to the network link. According to some embodiments, the network switching unit may return power to a communication port (e.g., one of the communication ports  151 - 153  and/or  131 - 133 ) corresponding to the network link. According to some embodiments, the network switching unit may also return power to other circuitry associated with the communication port and/or the network link. 
     At the process  570 , the network switching unit may activate the network link for use by the LAG. According to some embodiments, the network link may be added to consideration by a LAG hashing algorithm used to select from among the network links associated with the LAG. 
     As discussed above and further emphasized here,  FIG. 5  is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. According to some embodiments, upon completion of the process  570 , the method  500  may return to process  510  to wait for another network link activation request. According to some embodiments, upon completion of the process  570 , the method  500  may switch to process  410  of method  400  to detect whether network conditions are suitable for activating another network link. According to some embodiments, upon completion of the process  570 , the method may switch to method  200  and/or  300  when a reduction in power consumption is desired. 
     According to certain embodiments the methods  200 ,  300 ,  400 , and/or  500  may be implemented using an extension to the Link Aggregation Control Protocol (LACP) as described in the IEEE 802.1AX standard.  FIG. 6  is a simplified diagram of an extension  600  to an actor and a partner state of a LACP data unit (LACPDU) according to some embodiments. As shown in  FIG. 6 , the extension  600  to the actor and/or partner state includes a conserve power bit  610  with the remaining bits  620  being reserved for other uses. The conserve power bit  610  may be used to designate whether a network switching unit (e.g., the actor or the partner) is willing to activate and/or deactivate a network link. According to some embodiments, a conserve power value of the conserve power bit  610  may indicate a willingness to deactivate a network link and a normal power value of the conserve power bit  610  may indicate an unwillingness to deactivate a network link. In some embodiments, the conserve power value may be a logic 1 and the normal power value may be a logic 0. 
     According to some embodiments, the extension  600  to the actor and partner state may be used in the method  200 . At the process  220 , the network switching unit (i.e., the actor) may format and send a LACPDU with the actor state extension  600  containing the conserve power value for the conserve power bit  610 . By sending the LACPDU with the conserve power bit  610  set to the conserve power value, the network switching unit indicates that it desires a reduction in power. At the process  230 , the network switching unit may receive a LACPDU from the neighboring network switching unit (i.e., the partner) with the partner state extension  600 . When the partner state extension  600  includes the conserve power value for the conserve power bit  610 , the network switching unit may determine that the deactivation request is confirmed during process  240 . When the partner state extension  600  includes the normal power value for the conserve power bit  610 , the network switching unit may determine that the deactivation request is not confirmed during process  240 . At the process  260 , the network switching unit may deactivate the network link from use by the LAG by changing a state of the selected network link and/or the corresponding communication port from NORMAL to STANDBY. 
     According to some embodiments, the extension  600  to the actor and partner state may be used in the method  300 . At the process  310 , the network switching unit (i.e., the partner) may receive a LACPDU from the neighboring network switching unit (i.e., the actor) with the actor state extension  600  containing the conserve power value for the conserve power bit  610 , thus making a link deactivation request. The network switching unit may respond to the link deactivation request by responding with a LACPDU containing a partner state extension  600 . By sending the conserve power value as the conserve power bit  610 , the network switching unit may confirm the link deactivation request in process  340 . By sending the normal power value as the conserve power bit  610 , the network switching unit may deny the link deactivation request in process  330 . At the process  360 , the network switching unit may deactivate the network link from use by the LAG by changing the state of the selected network link and/or the corresponding communication port from NORMAL to STANDBY. 
     According to some embodiments, the extension  600  to the actor and partner state may be used in the method  400 . At the process  420 , the network switching unit (i.e., the actor) may format and send a LACPDU with the actor state extension  600  containing the normal power value for the conserve power bit  610 . By sending the LACPDU with the conserve power bit  610  set to the normal power value, the network switching unit indicates that it desires to activate a network link. At the process  430 , the network switching unit may receive a LACPDU from the neighboring network switching unit (i.e., the partner) with the partner state extension  600 . When the partner state extension  600  includes the conserve power value for the conserve power bit  610 , the network switching unit may determine that the activation request is not confirmed during process  440 . When the partner state extension  600  includes the normal power value for the conserve power bit  610 , the network switching unit may determine that the activation request is confirmed during process  440 . At the process  470 , the network switching unit may activate the network link from use by the LAG by changing a state of the selected network link and/or the corresponding communication port from STANDBY to NORMAL. 
     According to some embodiments, the extension  600  to the actor and partner state may be used in the method  500 . At the process  510 , the network switching unit (i.e., the partner) may receive a LACPDU from the neighboring network switching unit (i.e., the actor) with the actor state extension  600  containing the normal power value for the conserve power bit  610 , thus making a link activation request. The network switching unit may respond to the link activation request by responding with a LACPDU containing a partner state extension  600 . By sending the conserve power value as the conserve power bit  610 , the network switching unit may deny the link activation request in process  530 . By sending the normal power value as the conserve power bit  610 , the network switching unit may confirm the link activation request in process  540 . At the process  570 , the network switching unit may activate the network link from use by the LAG by changing a state of the selected network link and/or the corresponding communication port from STANDBY to NORMAL. 
     Some embodiments of network switching units  110  and/or  120  may include non-transient, tangible, machine readable media that include executable code that when run by one or more processors may cause the one or more processors to perform the processes of methods  200 ,  300 ,  400 , and/or  500  as described above. Some common forms of machine readable media that may include the processes of methods  200 ,  300 ,  400 , and/or  500  are, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read. 
     Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. Thus, the scope of the invention should be limited only by the following claims, and it is appropriate that the claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.

Technology Classification (CPC): 8