Public hibernation network wake-up packet for waking up multi-port and stacked devices

CN122933291APending Publication Date: 2026-10-16HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510958824.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-03
Filing Date
2025-07-11
Publication Date
2026-10-16

Smart Images

  • Figure CN122933291A_ABST
    Figure CN122933291A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to public hibernation network wake-up packets for waking up multi-port and stacked devices. A method can include detecting that a network device is entering a hibernation mode. The method can also involve temporarily programming a plurality of ports of the network device to be associated with a first media access control (MAC) address prior to the network device entering the hibernation mode. The method can also involve receiving a packet that can initiate a wake-up protocol, such that the packet includes a second MAC address. The method can involve determining whether the second MAC address is the same as the first MAC address and, in response to determining that the second MAC address is the same as the first MAC address, initiating the wake-up protocol of the network device.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Devices connected to a network may occasionally enter a low-power sleep mode (low-power mode). When operating in this low-power mode, the device can initiate a wake-up protocol upon receiving a magic packet. However, if the magic packet is not correctly addressed, the device may not initiate a wake-up protocol. Attached Figure Description

[0002] These and other features, aspects, and advantages of this disclosure will become better understood when the following detailed description is read with reference to the accompanying drawings, in which the same characters represent the same parts throughout the drawings, wherein:

[0003] Figure 1 An example system including a network controller communicating with network devices is shown according to various aspects of this disclosure;

[0004] Figure 2 An example flowchart of a method for initiating a wake-up protocol in a network device according to various aspects of this disclosure is shown;

[0005] Figure 3 An example flowchart of a method for maintaining a record of the public media access control (MAC) address of a network device according to various aspects of this disclosure is shown.

[0006] Figure 4 An example flowchart of a method for initiating a wake-up protocol among multiple network devices according to various aspects of this disclosure is shown;

[0007] Figure 5 A block diagram illustrating the distribution of common magic packets to multiple network devices according to various aspects of this disclosure is shown;

[0008] Figure 6 The present disclosure illustrates components of a network device including a storage device and a processing system, wherein the processing system executes computer-readable instructions for performing a method of initiating a wake-up protocol in the network device.

[0009] Figure 7 The present disclosure illustrates components of a network controller including a storage device and a processing system, wherein the processing system executes computer-readable instructions for performing a method of maintaining the recording of public media access control (MAC) addresses of network devices; and

[0010] Figure 8 Components of a network device including a storage device and a processing system according to various aspects of this disclosure are shown, wherein the processing system executes computer-readable instructions for performing a method of initiating a wake-up protocol in a stacked network device. Detailed Implementation

[0011] For hibernation devices connected to a network, Wake-on-LAN (WoL) corresponds to a method for waking up hibernation devices on demand. The network controller can implement the WoL protocol by sending a magic packet containing the media access control (MAC) address of the hibernation device connected to the network. The network controller can then forward the magic packet to the network, which can route it to the hibernation device. The hibernation device can then determine whether the address embedded in the magic packet matches the MAC address of the device port receiving the magic packet. If the MAC addresses match, the hibernation device can initiate a wake-up protocol to wake itself from hibernation mode and return to normal operating mode, where it actively performs tasks that consume more energy compared to operating in hibernation mode.

[0012] The aforementioned WoL protocol may perform well for devices with a single port or where the port connected to the network remains unchanged, but it may not be efficient for multi-port devices such as network switches. That is, a network switch can include multiple ports, allowing each port to be assigned a different MAC address. Thus, when attempting to wake a dormant network switch, the network controller can send a magic packet, which may include a specific MAC address associated with one of the network switch's ports. If the port receiving the magic packet corresponds to a WoL-capable port that matches the specific MAC address embedded in the magic packet, the network switch can initiate a wake-up protocol (e.g., the WoL protocol) to bring the network switch out of dormant mode. Similarly, when a network switch in a stack of multi-port devices (such as a Virtual Switching Framework (VSF) stack) is put into dormant mode, the network controller can send a separate magic packet to each corresponding WoL-capable port of each multi-port network switch to trigger a wake-up protocol in each corresponding multi-port device.

[0013] To ensure the network controller can wake up any network switch on demand, it maintains a record of multiple MAC addresses corresponding to the Wake-Up-Like (WoL) capability ports connected to each member of a multi-port network switch (stacked network switch) assembly. Consequently, if a WoL capability port is reassigned to a different port on a network switch, resulting in different MAC addresses, the network controller may not be able to use the previously assigned MAC address to wake up the corresponding network switch. More precisely, the record of MAC addresses used by the network controller should be updated each time a network switch port is reassigned, in order to continue initiating wake-up protocols for the corresponding network switch.

[0014] To more efficiently initiate wake-up protocols for multiple network devices, including network switches, this disclosure includes: employing, for example, a network interface system to detect that a corresponding network device is entering a sleep mode; and, in response to detecting that a network device is entering a sleep mode, updating one or more MAC addresses of one or more WoL capability ports of the network device to a single common MAC address. In this way, a network controller attempting to wake up a network device can broadcast a single magic packet with the same common MAC address to multiple ports of the network device, such that a network interface system receiving the magic packet at any given port can cause the network device to initiate a wake-up protocol (e.g., activate) upon receiving the magic packet at any of its WoL capability ports. That is, since each WoL capability port of the same network device or a stacked set of network devices is associated with the same common MAC address, the corresponding network interface system of the network device receiving the magic packet can be triggered to initiate a wake-up protocol and activate the corresponding network device, because the MAC address of the magic packet corresponds to the assigned MAC address of the port receiving the magic packet. As a result, a single magic packet with a common MAC address can be used to wake up network devices via multiple different ports. Furthermore, if a network device’s WoL capability port is reassigned so that it no longer acts as a WoL capability port, the same magic packet previously used to wake up or activate the network device can still be used to activate the network device via a different WoL capability port on the same network device.

[0015] Understandably, current technology provides an improved method for on-demand waking of dormant devices. In fact, current technology allows a single magic packet to be used to activate a dormant device regardless of which WoL capability port receives the magic packet, rather than sending individual magic packets addressed to specific MAC addresses associated with specific WoL capability ports of certain network devices. This feature becomes even more advantageous when applied to stacked network devices, where a common magic packet can be sent to each network device in the stack to activate any of them. As a result, the network controller used to send the magic packet and initiate the WoL protocol can store less data related to the mapping between different network devices and their corresponding WoL capability ports' corresponding MAC addresses. Furthermore, by broadcasting a single magic packet to multiple ports of different network devices, the network controller can wake up a set of network devices more efficiently than systematically and sequentially sending individual magic packets to wake up the set of network devices.

[0016] By introducing Figure 1System 100 is illustrated, in which network controller 102 can send signaling or data packets to network device 104 to cause network device 104 to initiate a wake-up protocol. Network controller 102 may include any suitable processing system that can coordinate operation with network devices via network 106. Network controller 102 may be part of a server system or some other processing system that manages network functions such as routing communication packets, maintaining security, configuring devices, etc. Network controller 102 may be implemented via hardware (e.g., electronic circuitry) or a combination of hardware and programming (including, for example, at least one processor and instructions executable by at least one processor and stored on at least one machine-readable storage medium).

[0017] Network 106 may include any suitable network that facilitates communication between network devices, computing systems, electronic devices, etc. Network 106 can enable various network devices to exchange data and share resources with each other. For example, network 106 may include routers, switches, and other traffic routing devices to control the flow of data between senders and receivers. Network 106 may include wired networks, wireless networks, or both. For example, network 106 may include local area networks (LANs), wide area networks (WANs), the Internet, intranets, etc.

[0018] Network device 104 may include at least one processing resource, at least one non-transitory machine-readable storage medium, and corresponding instructions. In some examples, network device 104 may be a network switch, a router, or any other suitable multi-port device. In some implementations, network device 104 may include multiple components to perform the various operations described herein. For example, network device 104 may include a network interface system 112, one or more input / output (I / O) ports 114, one or more processing units, communication components, and other components not shown herein.

[0019] Network interface system 112 can operate as a communication component of network device 104 by managing communications received by and sent from network device 104. Thus, network interface system 112 may also include at least one processing resource, at least one non-transitory machine-readable storage medium, and corresponding instructions. In some examples, network interface system 112 may be a wireless or wired communication component facilitating communication between network device 104 and any other suitable electronic device. The processing resource of network interface system 112 may include one or more processing units 113 (such as a baseband processor) to perform certain operations described herein based on corresponding instructions 115, wherein instructions 115 may be stored in at least one non-transitory machine-readable storage medium. The processing unit 113 of network interface system 112 may be separate from the processing unit of network device 104. However, it should be noted that in some cases, the processing unit of network device 104 may also be used to control the operation of network interface system 112, or may be used in conjunction with processing unit 113 to perform various operations. Each processing unit 113 may include multiple processor devices, wherein the multiple processor devices may be any type of computer processor or microprocessor capable of executing computer-executable code.

[0020] In some implementations, network interface system 112 can coordinate the reception and transmission of data packets between network device 104 and other individual devices. Thus, network interface system 112 can function as a transceiver component within network device 104 and coordinate the reception and transmission of data packets to and from network device 104.

[0021] I / O port 114 can provide access to one or more devices to facilitate interaction between a person or machine and network device 104. Furthermore, I / O port 114 can communicatively couple to or facilitate communication with other devices via network interface system 112, network 106, etc. Each I / O port 114 can be assigned a unique Media Access Control (MAC) address via network interface system 112 or other suitable processing system that may be part of network device 104. Thus, data packets transmitted to network device 104 can include an address corresponding to the MAC address of the destination port of I / O port 114.

[0022] Although a set of components is depicted for network device 104, it should be noted that network controller 102 or any other computing or processing device described herein may also include the same or similar components to perform or facilitate the various operations described herein. Furthermore, it should be understood that the above-described components are exemplary diagrams, and network device 104 and other suitable computing systems may include more or fewer of the above-described components.

[0023] In some cases, after a period of inactivity (e.g., longer than a threshold amount of time) experienced by network device 104, network device 104 may enter a low-power or sleep operation mode. The sleep mode may be an energy-saving feature, which may involve storing the computational state of network device 104 in a memory component and enabling network device 104 to operate in a low-power mode for a period of time. To exit the sleep mode, network device 104 may receive a magic packet, where the magic packet may be a network data packet used in the Wake-on-Network (WoL) protocol, to remotely wake network device 104 from the sleep mode (e.g., a low-power state).

[0024] Network data packets used to wake up network device 104 may be referred to as magic packets or WoL magic packets. Operationally, in order to wake up or initiate a wake-up protocol for network device 104, the magic packet may include a MAC address corresponding to a port of the network device 104 being woken up. For example, each MAC address of each I / O port 114 may include a base MAC address (“A”) and a unique identifier (“1, 2, 3, ..., N”). Thus, after network interface system 112 receives a magic packet via a specific I / O port 114 (e.g., MAC address A+1), network interface system 112 can determine whether the magic packet includes a MAC address (e.g., A+1) corresponding to the specific I / O port 114 (e.g., WoL capability port, WoL support port) that received the magic packet. If network interface system 112 confirms that the MAC address of the magic packet matches the MAC address associated with the I / O port 114 that received the magic packet, network interface system 112 can initiate a wake-up protocol to cause network device 104 to exit sleep mode and enter normal operation mode, where normal operation mode may correspond to performing operations that consume more power compared to operating in sleep mode.

[0025] The aforementioned description of initiating the wake-up protocol works well when network device 104 has only one I / O port 114, or when the I / O port 114 connected to network 106 remains unchanged. However, this process may not be suitable for multi-port devices, where the I / O port 114 connected to network 106 may change. To ensure that network controller 102 can initiate the wake-up protocol for sleeping network devices, network controller 102 may maintain a record of the MAC address corresponding to the WoL capability port of each device connected to network controller 102 (e.g., network device 104, network device 116, and network device 118). However, maintaining this record may become challenging as more devices connect to network 106, as WoL capability ports are reassigned, and so on.

[0026] Thus, in some implementations, before network device 104 enters sleep mode, network device 104 (e.g., via network interface system 112) can reprogram or modify the MAC address of each I / O port 114 to a common MAC address (e.g., A+1), where the common MAC address can be a combination of the network device 104's base MAC address (e.g., A) and an identifier (e.g., 1) corresponding to one of the I / O ports 114. For example, network controller 102 can store information about I / O ports 114, the corresponding network device 104 associated with I / O ports 114, the original MAC address of I / O ports 114, the corresponding common MAC address of I / O ports 114, etc., in a table (e.g., a lookup table), database 108, or other suitable storage device. In this way, network controller 102 can maintain a record of common MAC addresses to be used together with the original MAC addresses to initiate wake-up operations for different network devices.

[0027] After a counter for inactivity in a measurement operation (e.g., process, calculation, communication) reaches a certain threshold, after a threshold amount of inactivity is detected in network device 104, etc., network device 104 can detect or determine that network device 104 may be entering a sleep mode. For example, network device 104 may use a counter to track the number of instructions executed within a period of time, the number of memory accesses served within that period of time, the number of clock cycles that expired without processing operations within that period of time, etc. If the counter reaches a threshold count, network device 104 can enter a sleep mode. Thus, when the counter reaches a threshold count range, network device 104 can anticipate that it will enter a sleep mode.

[0028] In another example, network device 104 can monitor power consumption, the amount of time elapsed since an instruction was executed, and so on, to determine if network device 104 may be entering a sleep mode. Network device 104 can enter a sleep mode after reaching a certain threshold associated with the monitored attribute. Thus, when the monitored attribute is within the threshold range, network device 104 can anticipate that it will enter a sleep mode.

[0029] Furthermore, network interface system 112 can monitor certain operations of network device 104 and determine when network device 104 can enter sleep mode. That is, network interface system 112 can track active operations or processes performed by the processor of network device 104, input received via I / O port 114, data packets sent or received via I / O port 114, or other tasks performed by network device 104 over a period of time. If network interface system 112 detects that network device 104 has not performed any tasks for a threshold amount of time, network interface system 112 can determine that network device 104 may be entering sleep mode. Before entering sleep mode (e.g., before reaching the threshold amount of time), network interface system 112 can modify the MAC address of each I / O port 114 to a public MAC address (e.g., A+1). For example, Figure 1 This illustrates how each I / O port 114 of network device 104 can be changed to a public MAC address A+1, where the public MAC address A+1 may correspond to one of the original MAC addresses assigned to one of the I / O ports 114.

[0030] The public MAC address may be pre-selected by the network interface system 112, previously transmitted to the network controller 102, previously defined within the network controller 102 and the network interface system 112, etc. In some implementations, the network interface system 112 may maintain an association or mapping between each I / O port 114 and its corresponding MAC address. Thus, upon detecting that the network device 104 may be entering a sleep mode, the network interface system 112 may update the record of the mapping between each I / O port 114 and its corresponding MAC address to indicate that each I / O port 114 corresponds to or is mapped to a public MAC address.

[0031] In some implementations, to keep network controller 102 informed of the public MAC address, network device 104 may send a notification indicating the public MAC address to network controller 102, allowing network controller 102 to store the public MAC address and its association with the corresponding network device 104 in database 108 or any other suitable storage component. Database 108 may be directly accessible to network controller 102, indirectly accessible via network 106, etc. Database 108 may store a collection of public MAC addresses for different devices, allowing network controller 102 to identify the appropriate public MAC address for the corresponding network device 104, 116, or 118 to be woken up. Although database 108 is shown as separate from network controller 102, database 108 may also be part of network controller 102.

[0032] After network device 104 enters sleep mode, network controller 102 can broadcast a common magic packet 130 via network 106 to network devices 104, 116, and 118, wherein the common magic packet 130 may include a common MAC address. In this way, each I / O port of any network-connected device can receive the common magic packet 130. After receiving the common magic packet 130, network interface system 112 can confirm that each I / O port 114 that received the magic packet has a MAC address that matches the MAC address provided in the common magic packet 130. In response to determining that two MAC addresses match, network interface system 112 can initiate a wake-up protocol to cause network device 104 to exit sleep mode and resume operation at a higher power rate. After network device 104 resumes its normal operating mode, network interface system 112 can reprogram or reassociate each I / O port 114 using the original MAC address pre-assigned to each I / O port 114. In this way, communication directed to each corresponding I / O port 114 can be received and processed accordingly. However, when operating in sleep mode, network device 104 can ignore these messages because I / O port 114 is assigned a public MAC address.

[0033] As described above, in addition to network device 104, system 100 may also include additional network devices 116 and 118 that can communicate with network controller 102. In some embodiments, network devices 116 and 118 may include server systems, processing systems, mobile computing devices, remote computing devices, network switches, routers, etc. Network device 104 may be stacked with network devices 116 and 118 to form a Virtual Switching Framework (VSF) stack. A VSF stack allows multiple network devices to be connected to or stacked to operate as a single logical device. In some embodiments, network devices 104, 116, and 118 may be stacked to form a VSF stack, such that each of network devices 104, 116, and 118 operates together in a normal mode or a sleep mode. Thus, when one of the stacked network devices (e.g., network device 104) enters a sleep mode, the remaining stacked network devices (e.g., network devices 116 and 118) may also enter a sleep mode. In this scenario, when operating within the VSF stack, each of network devices 104, 116, and 118 can also modify the MAC address of each of their respective I / O ports to the common MAC address before entering sleep mode. As a result, the same common magic packet can be used to wake up each of network devices 104, 116, and 118 in the VSF stack. It should be noted that, although... Figure 1Only three network devices are depicted, but it should be understood that system 100 may include any suitable number of network devices that can communicate with network controller 102 and can be stacked with network devices 104.

[0034] Furthermore, although the foregoing description details the use of a MAC address with I / O port 114, it should be noted that, according to the techniques described herein, other network addresses can be used instead of MAC addresses. For example, each I / O port 114 can be associated with an Internet Protocol (IP) address or other suitable address type.

[0035] Figure 2 A method 200 for initiating a wake-up protocol according to the technology described herein is illustrated. In some embodiments, method 200 may be executed by network interface system 112 of network device 104; however, it should be noted that method 200 may be executed by any suitable processing system of any suitable network device. Furthermore, although method 200 is described as being executed in a specific order, it should be understood that method 200 may also be executed in any suitable order.

[0036] Now for reference Figure 2 In box 202, the network device can detect that it may be entering a sleep mode. The network device can monitor processes executed by the corresponding processing unit, data received via communication components, or other operations performed by the network device to determine whether the network device is inactive. That is, after the network device has ceased actively performing certain processing tasks (e.g., computation, memory access, communication) for a threshold time, the network device can determine that it may be entering a sleep mode. It should be noted that the network device can automatically enter a sleep mode after certain conditions (e.g., inactivity exceeding a threshold time). In this way, the network device can detect that it will enter a sleep mode at a specific time, which will occur before it actually enters the sleep mode.

[0037] In box 204, after detecting that it may be entering a sleep mode, the network device can update the MAC address of each of its I / O ports (e.g., WoL capability ports) to a common MAC address. For example, the network device may include three I / O ports with original MAC addresses "A+1", "A+2", and "A+3". Therefore, the MAC address may include a base MAC address "A" and an identifier "1", "2", or "3". The common MAC address may be predefined by a network controller communicatively coupled to the network device, the network interface system of the network device, the processing unit of the network device, etc. In some implementations, the network device may choose a common MAC address, such as one of the original MAC addresses already assigned to one of the I / O ports.

[0038] To update the MAC address of a network device's I / O port, the network device can update the record of the I / O port's MAC address in a table (e.g., a lookup table), memory, database, etc. Continuing the example above, the network device can define the public MAC address as "A+1" and send the public MAC address "A+1" to the network controller. Table 1 provides example records of the mapping between the three MAC addresses of the I / O port and the public MAC address described in the example provided above.

[0039]

[0040] Table 1

[0041] After selecting a public MAC address, the network device can send a notification of the selected public MAC address to the network controller, which can then update the mapping between public MAC addresses and connected network devices. For example, similar to the example in Table 1 above, the network controller can maintain a record of the public MAC addresses of the network devices.

[0042] After a network device updates the MAC address of its I / O ports to a public MAC address, it can enter sleep mode. Thus, using the example public MAC address discussed above, each I / O port of the network device can be assigned the public MAC address "A+1". During sleep mode, the network device can avoid performing certain processing operations, sending and receiving data via communication components, and other resource-intensive operations. Therefore, sleep mode allows the network device to perform minimal operations that limit or reduce the amount of power consumed by the network device.

[0043] In box 206, the network device may receive a magic packet from the network controller or other suitable device to cause the network device to exit sleep mode. The magic packet may be a Wake-Up-Like (WoL) packet, designed to cause the network device to initiate a wake-up protocol regardless of which I / O port receives the magic packet. As mentioned above, the magic packet may include the MAC address corresponding to the destination I / O port (the destination MAC address). Continuing the example above, the magic packet may include the MAC address "A+1" and can be received by any I / O port of the network device to initiate a wake-up protocol.

[0044] In box 208, the network device can determine whether the destination MAC address of the magic packet matches the MAC address of the destination I / O port that received the magic packet. If the destination MAC address does not match the MAC address of the destination I / O port, the network device can proceed to box 210 and ignore the magic packet.

[0045] On the other hand, if the target MAC address matches the MAC address of the destination I / O port, the network device can proceed to box 212 and initiate a wake-up protocol for the network device. As mentioned above, the network device may have already updated each of its I / O ports to be associated with a public MAC address. In this way, if a magic packet received by any I / O port of the network device includes a public MAC address, the network device can proceed to box 212 and initiate a wake-up protocol for the network device.

[0046] In box 212, the network device can initiate a wake-up protocol. This allows the network device to restore its operational state to the state it was operating in before entering sleep mode. In some implementations, the network device can execute instructions or commands to exit sleep mode and resume operations corresponding to the previous state. After exiting sleep mode, the network device can, for example, resume performing certain computational processes and facilitate communication with other devices.

[0047] In box 214, the network device can update the MAC addresses of its I / O ports so that they correspond to the original MAC address or other suitable different or unique MAC addresses. As a result, each I / O port can resume receiving communication from devices intended to communicate with the network device via the corresponding I / O port. The network device can then update the mapping of the I / O ports to the original MAC addresses in its records, memory, etc. Referring again to the example MAC addresses discussed above, the network device can use the information stored in Table 1 to update the mapping of the I / O ports to restore them to the original MAC addresses. In this way, each I / O port will be restored to its corresponding original MAC address.

[0048] Although the above has been referenced Figure 2 It describes how network devices operate when entering and leaving sleep mode, but Figure 3 A flowchart illustrates a method 300 that a network controller (e.g., network controller 102) can perform for network devices (e.g., network devices 104, 126, and 128) entering and leaving sleep mode. That is, as different network devices enter sleep mode, the network controller corresponding to those network devices can update the MAC address record such that the distinct MAC address of each I / O port of each network device is now associated with the common MAC address assigned to each I / O port of each network device. Thus, a magic packet including the common MAC address can be used to initiate a wake-up protocol for any network device. (See reference...) Figure 3 Previously, it should be noted that although method 300 is described as being performed in a specific order, it should also be noted that method 300 can be performed by any suitable device in any suitable order.

[0049] Now for reference Figure 3 In box 302, the network controller can receive an indication of the public MAC address of a network device. The public MAC address can be received from the network device after it has initially connected to the network controller via the network. The network device can also send the public MAC address after updating the address of its I / O ports in response to detecting that it may be entering a sleep mode. In some implementations, the public MAC addresses of one network device and different network devices can be predefined and stored in a database or other suitable storage component accessible to the network controller, network devices, etc.

[0050] Upon receiving an indication of a public MAC address, in box 304, the network controller can store information about one or more I / O ports (e.g., WOL capability ports), the corresponding network devices, and the corresponding public MAC addresses assigned to the I / O ports in a table, database, or other suitable storage device. In this way, the network controller can maintain a record of public MAC addresses for initiating wake-up operations for different network devices. For example, the public MAC addresses of network devices “A”, “B”, and “C” can be stored as shown in Table 2 provided below.

[0051] Network device A Network device B Network device C Public MAC address A+1 B+1 C+1

[0052] Table 2

[0053] In box 306, the network controller can receive a request to wake up one or more network devices. For example, the network controller can receive a request to initiate a wake-up protocol for a network device via user input, automated input generated based on detection conditions (e.g., alarms), etc. The request can be received via local input directly entered through the network controller, or via remote input received over the network. Referring to the example mapping in Table 2, the network controller can receive a request to wake up network device B.

[0054] Upon receiving a request to wake up a network device, in box 308, the network controller can identify the public MAC address of the network device associated with the request received in box 306. In some implementations, the network controller can query a database, table, or other suitable storage component to identify the public MAC address associated with the network device specified in the request. Referring to the example above, the network controller can query Table 2 and identify the public MAC address of network device B as "B+1".

[0055] In box 310, the network controller can broadcast a magic packet with a common MAC address to each network device connected to the network controller. Thus, the magic packet with the common MAC address can be simultaneously sent to multiple network devices via multiple communication channels. After receiving the broadcast magic packet at multiple network devices, in response to determining that the I / O port receiving the magic packet has a MAC address matching the common MAC address, each corresponding network device can initiate a wake-up protocol or activate.

[0056] Referring again to the example above, the magic packet could include the public MAC address "B+1". Thus, after being broadcast to multiple network devices (such as network device A, network device B, and network device C), the magic packet could be received by each of the corresponding network devices. However, because the magic packet includes the public MAC address "B+1", network devices A and C could ignore the magic packet, as none of their respective I / O ports has a MAC address that matches the public MAC address "B+1". On the other hand, network device B could initiate a wake-up protocol after confirming that the I / O port receiving the magic packet contains a MAC address identical to the MAC address within the magic packet.

[0057] In box 312, the network controller can receive a wake-up response from the network device that received the magic packet via an I / O port with a public MAC address. That is, after the network device initiates a wake-up protocol in response to acknowledging that the public MAC address matches the MAC address of I / O port 124 that received the magic packet, the network device can send a wake-up response packet to the network controller to confirm that the network device received the magic packet, initiated the wake-up protocol, and has been activated, etc.

[0058] Upon receiving a wake-up response, the network controller can resume communication with the network device using the MAC address previously assigned or newly assigned to the I / O port. In this way, the network controller can maintain a record of the original MAC address and public MAC address assigned to each port, as described with reference to Table 1. In this manner, the network device can resume normal operation, execute processes, facilitate requests provided by the network controller, and so on.

[0059] As described above, network devices can be stacked or connected to other network devices to operate as a Virtual Switching Framework (VSF) stack. In some implementations, network devices can be stacked to form a VSF stack, allowing each stacked network device to operate in either normal or hibernation mode. To minimize the number of magic packets required to bring each stacked network device out of hibernation mode, one of the stacked network devices can share its public MAC address with the other stacked network devices. That is, before a network device enters hibernation mode, the network device entering hibernation mode can share the public MAC address assigned to its I / O ports with the other stacked network devices. In this way, the other stacked network devices can program their respective I / O ports to the public MAC address before all the stacked network devices enter hibernation mode.

[0060] For example, network devices A, B, and C can be stacked. Before entering sleep mode, network device A can send its common MAC address "A+1" to network devices B and C. Network devices B and C can then update the MAC address of each of their respective I / O ports to the common MAC address "A+1".

[0061] By programming all I / O ports of each stacked network device to a common MAC address, the network controller can minimize the mapping records between the MAC addresses and corresponding I / O ports of different network devices. Furthermore, the network controller can wake up any or all stacked network devices using only a single common magic packet.

[0062] Figure 4 This includes a flowchart of a method 400 for a network device to initiate a wake-up protocol when operating as part of a stacked collection of network devices. Although the following description of method 400 is described as being performed in a specific order, it should be noted that method 400 can also be performed in any suitable order.

[0063] Now for reference Figure 4 Boxes 402 and 404 can correspond to boxes 202 and 204 of method 200 described above. That is, one of the stacked network devices can detect that it is entering a sleep mode and can update the MAC address of its I / O port to the public MAC address in response to detecting the change in sleep mode. For example, network devices A, B, and C can operate as a stacked network device set. After network device A detects that it is entering a sleep mode, it can update its I / O port to be associated with the public MAC address "A+1".

[0064] In box 406, after updating the MAC address of its I / O port, a network device can send the public MAC address assigned to its I / O port to other stacked network devices. Other stacked network devices can then update their corresponding I / O ports to be associated with the public MAC address of the network device that sent the public MAC address (e.g., assigned to that public MAC address). As a result, the same public magic packet can be used to wake up all stacked network devices. In some implementations, a public MAC address can be predefined for each stacked network device, such that each stacked network device can program its corresponding I / O port to the predefined public MAC address before any stacked network device enters sleep mode. Continuing the example above, network device A can send the public MAC address "A+1" to network devices B and C. Network devices B and C can then update the MAC addresses of their I / O ports to be associated with the public MAC address "A+1".

[0065] In box 408, a network device can receive a magic packet with a common MAC address. As described above, the magic packet can be broadcast from the network controller to each stacked network device. Thus, in addition to one network device receiving the magic packet, each other stacked network device can also receive a magic packet with the same common MAC address. In box 410, a network device can determine whether the common MAC address of the magic packet matches the MAC address of the I / O port that received the magic packet. If the MAC addresses do not match, a network device can proceed to box 412 and ignore the magic packet.

[0066] On the other hand, if the MAC addresses match, a network device can proceed to box 414 to initiate a wake-up protocol and update the MAC addresses of its I / O ports back to the original MAC address, the new MAC address, etc. It should be noted that any stacked network device can perform similar operations as described above in boxes 408, 410, 412, 414, and 416 after receiving a magic packet.

[0067] Continuing with the example above, the magic packet can be received by network devices A, B, and C. Since the I / O port of each of network devices A, B, and C is associated with the public MAC address "A+1" provided within the magic packet, each of network devices A, B, and C can initiate a wake-up protocol and update the MAC address of its I / O port accordingly.

[0068] Figure 5An example network device 502 is shown stacked with three other network devices 504, 506, and 508 according to the technology described herein. In some embodiments, network device 502 may be connected to each of network devices 504, 506, and 508 via different I / O port connections, separate communication ports, etc. By sharing these connections, the stacked network devices (e.g., network devices 502, 504, 506, and 508) can communicate locally with each other and operate as a single device. A network controller 510 may be coupled to a single I / O port of each of network devices 502, 504, 506, and 508. Thus, when network controller 510 broadcasts a common magic packet 512 to some I / O ports of network devices 502, 504, 506, and 508, each of the corresponding network devices 502, 504, 506, and 508 may initiate a wake-up protocol if the MAC address of the common magic packet 512 matches the MAC address of the I / O port that received the common magic packet 512.

[0069] like Figure 5 As shown, the public magic packet 512 can be broadcast to multiple network devices 502, 504, 506, and 508, and received at different I / O ports corresponding to different network devices 502, 504, 506, and 508. Each corresponding network device 502, 504, 506, and 508 can have a unique base MAC address. The base MAC address can be a 48-bit hexadecimal number used to identify a specific device on the network. The base MAC address can be used as part of the MAC address used to identify the I / O port of the corresponding network device. In this way, each I / O port of the network device can have a unique identifier relative to the network device and an additional unique identifier relative to the corresponding I / O port. In one example, the unique identifier of each corresponding I / O port can be attached to the base MAC address to form the unique MAC address of the corresponding I / O port.

[0070] As described above, network device 502 can transmit its public MAC address to network devices 504, 506, and 508 before entering sleep mode. Alternatively, each of network devices 502, 504, 506, and 508 can reference a predefined public MAC address for programming its I / O ports before entering sleep mode. Thus, each of network devices 502, 504, 506, and 508 may have temporarily reprogrammed the MAC address of its corresponding I / O port to be the same as the public MAC address before entering sleep mode. In this way, the same public magic packet 512 can be used to initiate a wake-up protocol for each of network devices 502, 504, 506, and 508, thereby reducing the storage requirements for maintaining the mapping between the MAC addresses and corresponding I / O ports of network devices 502, 504, 506, and 508.

[0071] Figure 6 Components of an example network device 600, which may include storage device 602 and processing unit 604, are illustrated. Storage device 602 can be any suitable article of art that can be used as a medium for storing processor-executable code, data, etc. These articles of art can represent one or more computer-readable media (i.e., any suitable form of memory or storage device) that can store processor-executable code used by the processing unit to execute the techniques currently disclosed herein. Storage device 602 can represent one or more non-transitory computer-readable media (e.g., any suitable form of memory or storage device) that can store processor-executable code used by the processing unit to execute the various techniques described herein. It should be noted that non-transitory merely indicates that the medium is tangible and not tactile.

[0072] Processing unit 604 may include at least one processing resource and may access computer-readable instructions 610 that may be stored in storage device 602. Processing unit 604 may be part of a network device, part of a network interface system, or both. Processing unit 604 may execute computer-readable instructions 610 that may correspond to the method 200 described above. That is, blocks 612, 614, 616, 618, 620, 622, and 624 may correspond to the instructions that execute blocks 202, 204, 206, 208, 210, 212, and 214, respectively.

[0073] Figure 7Components of an example network controller 700, which may include a storage device 702 and a processing unit 704, are shown. The storage device 702 can be any suitable article of art that can be used as a medium for storing processor-executable code, data, etc. The processing unit 704 may include at least one processing resource and can access computer-readable instructions 710 that can be stored in the storage device 702. The processing unit 704 may be part of a network device, part of a network interface system, or both. The processing unit 704 can execute computer-readable instructions 710 that correspond to the method 300 described above. That is, blocks 712, 714, 716, 718, 720, 722, and 724 may respectively correspond to the instructions executing blocks 302, 304, 306, 308, 310, and 312.

[0074] Figure 8 Components of an example network device 800, which may include a storage device 802 and a processing unit 804, are shown. The storage device 802 can be any suitable article of art that can be used as a medium for storing processor-executable code, data, etc. The processing unit 804 may include at least one processing resource and can access computer-readable instructions 810 that can be stored in the storage device 802. The processing unit 804 may be part of a network device, part of a network interface system, or both. The processing unit 804 can execute computer-readable instructions 810 that correspond to the method 400 described above. That is, blocks 812, 814, 816, 818, 820, 822, 824, and 826 may respectively correspond to executing the instructions of blocks 402, 404, 406, 408, 410, 412, 414, and 416.

[0075] Understandably, current technology provides network controllers with the ability to send common magic packets to network devices to wake them from sleep mode. In other words, this technology reduces the number of MAC addresses that need to be tracked to wake up network devices, instead of sending individual magic packets to each I / O port with a specific MAC address to wake up each individual network device. In this way, the network controller can limit the memory or storage device used to track MAC addresses to send magic packets to different network devices. Furthermore, if the WoL capability port changes due to user modifications, the network controller can still initiate a wake-up protocol for the device without updating the MAC address of the corresponding magic packet. In effect, current technology allows a single magic packet to be used to activate a device, regardless of the WoL capability port that receives it. This feature becomes even more beneficial when applied to stacked network devices, where it is no longer necessary to send a magic packet to each device in the stacked network device for activation. In fact, after each network device in the stacked network device associates each WoL capability port with a single MAC address, a single magic packet with a single MAC address can be used to activate any network device in the stacked network device.

[0076] While only certain features of this disclosure have been shown and described herein, many modifications and alterations will occur to those skilled in the art. Therefore, it should be understood that the appended claims are intended to cover all such modifications and alterations that fall within the true spirit of this disclosure.

Claims

1. A non-transitory computer-readable medium comprising computer-readable instructions, which, when executed by at least one processing resource of a network device, cause the at least one processing resource to: The network device, including one or more ports, is detected entering sleep mode; In response to detecting that the network device is entering the sleep mode, the one or more ports of the network device are temporarily programmed to be associated with a first MAC address; Receive a packet configured to wake up the network device, wherein the packet includes a second MAC address; Determine whether the second MAC address is the same as the first MAC address; as well as In response to determining that the second MAC address is the same as the first MAC address, the wake-up protocol of the network device is initiated.

2. The non-transitory computer-readable medium of claim 1, wherein the packet is broadcast via a network to a plurality of ports, wherein at least one of the plurality of ports includes at least one of the one or more ports of the network device.

3. The non-transitory computer-readable medium of claim 1, wherein the network device includes a network switch.

4. The non-transitory computer-readable medium of claim 1, wherein the wake-up protocol includes the Wake-up Network (WoL) protocol supported by the one or more ports of the network device.

5. The non-transitory computer-readable medium of claim 1, wherein the first MAC address corresponds to a base MAC address associated with the network device.

6. The non-transitory computer-readable medium of claim 1, wherein the computer-readable instructions, when executed by the at least one processing resource, cause the at least one processing resource to: temporarily program the one or more ports using the first MAC address by mapping one or more MAC addresses assigned to the one or more ports to the first MAC address.

7. The non-transitory computer-readable medium of claim 1, wherein the computer-readable instructions, when executed by the at least one processing resource, cause the at least one processing resource to: detect that the network device is entering the sleep mode based on the fact that the inactivity period experienced by the network device is greater than a threshold time.

8. The non-transitory computer-readable medium of claim 1, further comprising additional computer-readable instructions, which, when executed by the at least one processing resource, also cause the at least one processing resource to: program the one or more ports associated with the first MAC address to one or more additional MAC addresses after the wake-up protocol is initiated.

9. The non-transitory computer-readable medium of claim 1, wherein each of the one or more ports corresponds to a corresponding unique MAC address before being temporarily programmed to be associated with the first MAC address.

10. The non-transitory computer-readable medium of claim 9, further comprising additional computer-readable instructions, which, when executed by the at least one processing resource, also cause the at least one processing resource to: program each of the one or more ports back to the corresponding unique MAC address after the wake-up protocol is initiated.

11. A network device, comprising: The first plurality of ports are configured to be communicatively coupled to an additional network device including the second plurality of ports via at least one of the first plurality of ports and at least one of the second plurality of ports; as well as At least one processing resource is configured as follows: The network device is detected to be entering sleep mode; In response to detecting that the additional network device is entering the sleep mode, the first plurality of ports and the second plurality of ports are temporarily programmed to be associated with the first MAC address; Receive a packet configured to wake up the network device, the additional network device, or both, wherein the packet includes a second MAC address; Determine whether the second MAC address is the same as the first MAC address; as well as In response to determining that the second MAC address is the same as the first MAC address, the wake-up protocol of the network device is initiated.

12. The network device of claim 11, wherein the packet is received via one or more of the second plurality of ports.

13. The network device of claim 11, wherein each of the first plurality of ports and each of the second plurality of ports corresponds to a corresponding unique MAC address before being temporarily programmed to be associated with the first MAC address.

14. The network device of claim 13, wherein the at least one processing resource is configured to: program each of the second plurality of ports back to the corresponding unique MAC address after the wake-up protocol is initiated.

15. The network device according to claim 11, wherein the network device and the additional network device correspond to the first network switch and the second network switch, respectively.

16. The network device of claim 11, wherein the network device and the additional network device operate as part of a Virtual Switching Framework (VSF) stack.

17. A method comprising: Before the network device enters sleep mode, multiple ports of the network device are temporarily programmed to be associated with a first media access control MAC address via at least one processing resource of the network device. A packet configured to initiate a wake-up protocol is received via the at least one processing resource, wherein the packet includes a second MAC address; Determine whether the second MAC address is the same as the first MAC address via the at least one processing resource; as well as In response to determining that the second MAC address is the same as the first MAC address, the wake-up protocol of the network device is initiated via the at least one processing resource.

18. The method of claim 17, comprising: Before the network device enters the sleep mode, additional ports of the additional network device, which is communicatively coupled to the at least one processing resource, are temporarily programmed to be associated with the first MAC address.

19. The method of claim 18, wherein the packet is configured to wake up the additional network device in response to the second MAC address being the same as the first MAC address.

20. The method of claim 17, further comprising operating in a normal mode prior to the network device entering the sleep mode, wherein the normal mode corresponds to consuming a higher amount of power than operating in the sleep mode.