Methods and apparatuses for processing wake events of communication networks

Methods, apparatuses, and computer program products that respond to wake events of communication networks are disclosed. One or more embodiments comprise setting a wake password of a computing device, such as a notebook computer or a server. Some of the embodiments comprise receiving a wake request from a communications network, establishing a secure communication session, and setting the wake password with the secure communication session. Some embodiments comprise an apparatus having a network controller to allow a platform to communicate via a communications network, non-volatile memory that stores a wake password, and a management controller that may communicate with a management console via a secure communication session to update the wake password. One or more embodiments the network controller may wake management hardware and/or wake the management controller while keeping one or more of the devices in the power conservation mode.

FIELD

The present invention is in the field of computing apparatuses that communicate with other apparatuses via communication networks. More particularly, the present invention relates to methods, apparatuses, and computer program products that respond to wake events of communication networks.

BACKGROUND

Wake On LAN (WOL, where LAN stands for local area network) is a networking technology that that allows one computing device to boot a remotely located target computing device, even though the target computing device is either turned off or in a power conservation mode. One common wake mechanism that may achieve this remote booting is referred to as a “magic packet”. A magic packet is a broadcast communication packet with a specific header, followed by sixteen instances of the media access control (MAC) address of the target system. A network communications device of the target system receives the packet and determines whether the MAC address matches its own MAC address. Upon determining that the MAC address matches its own address the target system generally turns itself on and starts communicating with the system that initiated the wake event.

Currently, this wake mechanism is insecure. In other words, computing devices or platforms do not sufficiently protect against spurious or malicious wake events. A so-called “sniffer” can monitor the packet sent over the communications network used by the two systems. A malicious person can detect such packets and replay them at a later time. A variation of the wake mechanism is referred to as “magic packet+password”. The “magic packet+password” is similar to a packet of the “magic packet” but includes an additional six-byte password appended to end. While the “magic packet+password” mechanism does have a password, the password is nonetheless sent unencrypted and susceptible to a replay attack in the same manner as the “magic packet”.

Aside from replay attacks, the wake mechanism is insecure in other respects. If the MAC address of the target system is known, anybody within the broadcast domain can wake the system by sending the wakeup packet. While many communication networks may have firewalls which help protect against external threats, one or more computing devices on the internal network may have malfunctioning hardware, malfunctioning software, or software such as virus software that is out of date. In the case of open networks, a virus scanner, which might otherwise handle numerous types of denial of service attacks, may respond too slowly to prevent attacks based on denial of service attacks involving WOL technology.

DETAILED DESCRIPTION OF EMBODIMENTS

Methods, apparatuses, and computer program products that respond to wake events of communication networks are contemplated. Some embodiments comprise methods for setting a wake password of a computing device, such as a notebook computer or a server. Some of the embodiments comprise receiving a wake request from a communications network, establishing a secure communication session, and setting the wake password with the secure communication session. Some embodiments may also validate an initial wake password when setting the wake password. Other embodiments may also include changing a power mode of at least one component of the computing device to process the wake request. In some embodiments changing the power mode of one or more components may involve waking a management controller. In some embodiments, establishing the secure communication session may involve establishing a secure communication session with a management controller via a management console. In various embodiments, receiving the wake request may involve receiving a packet header and sixteen instances of a MAC address of the communication device, such as a magic packet.

Some embodiments comprise an apparatus having a network controller to allow one apparatus to communicate via a communications network, non-volatile memory that stores a wake password, and a management controller that may communicate with a management console via a secure communication session to update the wake password. One or more alternative embodiments may have a number of devices coupled to the network controller, with one or more of the devices being capable of being placed in a power conservation mode. In some embodiments the network controller may wake management hardware and/or wake the management controller while keeping one or more of the devices in the power conservation mode. In some embodiments, the management controller may be arranged to process a management event while one or more devices are in the power conservation mode. In various embodiments the types of some devices that may be coupled to the network controller are a processor, a second controller, a display device, and a mass storage device. In one or more embodiments, the network controller may monitor communication packets of the communications network while a device of the platform is in a power conservation mode. In some embodiments, the network controller may validate a password associated with a wake packet of the secure communication session.

Some embodiments may involve a computer program product comprising a computer usable medium having computer usable program code for setting a wake password, evaluating a wake request received via a network controller, establishing a secure communication session with a management controller, and setting the wake password via the secure communication session. One or more embodiments may also include program code for monitoring communication packets of a communications network for the wake request. Some embodiments may include code for placing hardware coupled to the management controller in a power conservation mode. In one or more embodiments the computer usable program code may place the management controller in a power conservation mode. In some embodiments, the computer usable program code may place a processor in an “S3” state. In at least one embodiment, the code may enable the management controller to set the wake password. For some embodiments, the code for evaluating the wake request may be code for validating a password associated with the wake request.

Some of the discussions use the terms “server” and “client”. The term “server” may refer to a computer or device on a network that manages network resources. Clients may generally be thought of as computer applications running on computer systems that access the services provided by server applications and dedicated server computers. However, in several instances in the discussion these terms are interchangeable. Accordingly, one should not conclude that a discussion that uses only “client” or “server” terms, as opposed to using “computer” or “computer systems” terms, is meant to limit the discussion to one term or the other. One of ordinary skill in the art will recognize that such variations may be substituted for the described methods and systems, and employed in accordance with similar constraints, to perform substantially equivalent functions.

Turning now to the drawings,FIG. 1illustrates how a computing apparatus may respond to wake events of a communications network. As depicted inFIG. 1, an apparatus or computing device such as platform135may be coupled to a communications network120. Platform135may communicate with numerous other computing devices coupled to communications network120, such as computers105,110,125, and130. For example, computer105and computer110may comprise two computers on a LAN or on a remote area network. Similarly, computer125may comprise a notebook, desktop, or server computer coupled to communications network120by way of a wireless networking card.

In different embodiments platform135may comprise a variety of different devices. For example, in one embodiment configuration platform135may comprise a server computer. In other embodiments platform135may comprise a desktop, a notebook, a hand-held computer, or other type of computing device. Communications network120may take on a variety of different forms in different embodiments. In numerous embodiments communications network120may comprise one or more networking devices, such as network routers, hubs, switches, and wireless networking devices. Communications network120may comprise an isolated network, such as a local area network in a single building. In alternative embodiments, communications network120may comprise a wide area network or the Internet. For example, computer105and computer110may comprise two computers on a local area network, remotely located but able to communicate with platform135via the Internet.

In addition to the various types of networking hardware that may couple an apparatus like platform135to other computing devices, the method of the communication, such as a communication protocol, may also vary in alternative embodiments. For example, network controller170of platform135may communicate with other computing devices using one or more protocols, such as a remote management control protocol (RMCP) or a Transmission Control Protocol (TCP) and Internet Protocol (IP). In alternative embodiments, network controller170may utilize one or more other communication protocols that conform to open or proprietary standards. For example, network controller170may communicate with computer105using Open Systems Interconnection (OSI), AppleTalk™, DECnet™, IPX/SPX™, or other protocols.

Platform135may comprise numerous components or devices that may be placed in one or more power conservation modes. For example, platform135has a processor140. In some embodiments, processor140may comprise a single core processor, while in other embodiments processor140may comprise a multiple-core processor. Processor140may be coupled to a memory controller hub (MCH)150. Processor140may be capable of executing operating instructions, such as instructions of user applications or an operating system, in memory145by interacting with MCH150. MCH150may also couple processor140with an input-output (I/O) controller hub (ICH)185. ICH185may allow processor140to interact with internal components, such as firmware155. For example, firmware155may comprise basic input-output system (BIOS) code, executed during a boot process or upon exiting a power conservation mode. Processor140, MCH150, memory145, ICH185, and firmware155may all be able of entering one or more power conservation modes, individually or in various combinations. For example, platform135may comprise a desktop computer in a business office wherein a user places platform135into a sleep mode before going home in the evening. Once in the sleep mode, platform135may utilize a communication device such as network controller170to monitor communication packets of communications network120for wake events, such as a wake request.

Platform135may be configured to present information to a user via display160. For example, display160may comprise a computer monitor coupled to an Advanced Graphics Port (AGP) video card. In some embodiments, the type of display device may be a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) screen, or a thin-film transistor flat panel monitor, as examples. I/O device165may comprise a keyboard, a mouse, a trackball, a touch-pad, an audio input device, a scanner, one or more computer speakers, or a touch-screen and stylus, as examples. Storage device195may comprise a universal serial bus (USB) flash memory drive, a Serial ATA (SATA) device, or an Advanced Technology Attachment (ATA) device, such as an ATA hard drive, a compact disc drive, or a digital versatile disc drive. Storage device195may also comprise a small computer systems interface (SCSI) device, such as a SCSI hard drive or a Redundant Array of Inexpensive Disks (RAID). In various embodiments, platform135may place one or more of these devices, as well as the hardware components that platform135may use to operate them, into one or more power conservation modes. For example, platform may stop presenting information via display160and place it into a low-power mode. Additionally, platform135may place other peripheral devices into power conservation modes, such as by stopping the platters of a hard drive (storage device195) and placing it into a power conservation mode.

Once a computing device such as platform135has entered a standby or power conservation mode, such as by placing components and/or devices such as processor140and storage device195into low power modes, network controller170may monitor communications of communications network120for a wake event. For example, network controller170may monitor packets of communications network120for a magic packet. In other words, network controller170may monitor communication packets of communications network120, examining the packets for a header of “FF FF FF FF FF FF” followed by sixteen instances of the MAC address of network controller170. Additionally, network controller170may examine the magic packet for a six-byte password appended after the sixteenth instance of the MAC address. The magic packet, and potentially the six-byte password, may have been sent by an administrator of system100that is logged on to a remote console or management console, such as computer105. The system administrator may want to perform some type of maintenance activity on platform135, such as installing the most current virus signatures on storage device195for an anti-virus program of platform135.

Even though the system administrator may wake platform135using a magic packet with a password, platform135may nonetheless be vulnerable to a future attack, such as a denial of service attack or a replay attack. Platform135may be vulnerable to such an attack because a user of another computer coupled to communications network120may monitor and/or record communication packets sent over communications network120. For example, a user of computer130may use a sniffer program to capture the communication packet or packets sent by the system administrator from the management console (computer105) to platform135. Even though the system administrator may use a password for the wake event, the user of130may capture this password, which is sent in the clear, and replay the entire packet sequence at a later time as part of an attack. For example, a system may comprise fifty or a hundred platforms similar to platform135, wherein the malicious user of computer130monitors the communications of the system administrator as she performs maintenance tasks on all of the computers. The malicious user of computer130may replay the wake requests, MAC addresses, and passwords for each of the computers at a later time as part of a denial of service attack. By waking a large number of computers from standby or sleep modes and causing them to enter high power consumption modes, the malicious user of computer130may attempt a denial of service attack of system100. Even if such a denial of service attack is unsuccessful, if all of the computers are repeatedly switched from low power to high power modes, the user of computer130may nonetheless cause system100to unnecessarily consume substantially more power.

To prevent such an attack, apparatuses such as platform135may have firmware logic configured to handle wake events without waking the entire system. For example, the firmware logic of firmware155and/or firmware of network controller170may allow network controller170to wake only management controller180and management hardware182to process the wake event. In other words, platform135may handle the wake event with only network controller170, management controller170, and management hardware182powered up, with all other components and devices of platform135remaining in their respective power conservation modes. Additionally, such firmware logic may be configured to handle such wake events in a secure manner. The firmware logic may enable the computer system administrator to wake platform135, or a portion of it, create a secure communication session between platform135and the remote console being used by the system administrator, and allow the system administrator to change the wake password so that a future replay attack using the previous wake password will be unsuccessful. For example, non-volatile memory190may store a wake password. Once network controller170receives the magic packet and password and validates the transmitted password by comparing it with the wake password stored in non-volatile memory, the network controller170may wake the necessary hardware to process the wake event, such as management controller180and a portion of management hardware182.

Upon waking the necessary hardware, network controller170may allow management controller180to establish a secure or encrypted communication session between network controller170and the remote console. Once the secure communication session is established, the system administrator may change the wake password, wherein management controller180may update the previous wake password stored in non-volatile memory190with the new wake password. By leaving components and devices of platform135that are not needed to handle the wake event in their low power states, the modified firmware logic may allow for greater energy conservation. Additionally, firmware allowing a computer administrator or an automated remote console to securely change the wake password may help prevent future replay or denial of service attacks.

As noted, the embodiment of platform135shown inFIG. 1may comprise a desktop computer, a notebook computer, or a portable computing device such as a palm-held computer. In alternative embodiments, platform135may comprise a variety of other computing devices or apparatuses. In numerous embodiments, platform135may comprise part of a consumer electronic device. For example, platform135may comprise a multimedia device in the home of a consumer, such as a networked personal video recorder (PVR) or digital video recorder (DVR), or a networked audio player capable of streaming audio. In further embodiments, platform135may comprise a digital surveillance video camera system or even a smart appliance coupled to a communication network.

Also as noted, an embodiment of an apparatus such as platform135may monitor a communications network for a magic packet or other type of wake event. Even though the described scenario involved a magic packet with a password, which comprised a specific header followed by sixteen instances of a MAC address and the password being sent via a TCP/IP protocol, alternative embodiments may respond to different wake events sent in a variety of different ways. For example, network controller170may monitor communications network120for a wake event, wherein the wake event is sent in a manner that does not involve using a magic packet, or where the wake event is sent using an alternative protocol.

To further illustrate how an embodiment of an apparatus may securely respond to a wake event of a management console and set a wake password, we turn toFIG. 2.FIG. 2depicts an embodiment of a computing device200. Computing device200may comprise a server computer, a desktop computer, a motherboard of a computer, a peripheral card inserted into a motherboard or main board, or a chip or set of integrated circuit chips of an apparatus. As depicted inFIG. 2, computing device200may comprise a communication device230, a management controller250, and one or more components260.

In an embodiment, management controller250may comprise an embedded controller that collects or aggregates information about computing device200and stores the information in non-volatile memory. For example, management controller250may collect information about components260. Components260may comprise sensors that monitor the operation of a central processor of computing device200. Management controller250may collect and store data or information from those sensors, such as temperature measurements, voltage measurements, operating frequencies, error statuses, etc. Components260may also comprise hardware and software elements of computing device200, such as the BIOS, operating system(s) software, firmware chips, proprietary system chips, peripheral cards, peripheral devices, etc. Management controller250may collect and store data or information from those hardware and software elements. For example, management controller250may store the version of the BIOS, the type and version number of the operating systems, the version of anti-virus software, revision levels of system chips or peripheral cards, the model numbers of peripheral cards, the model number of one or more hard disk drives, the model and firmware versions of a display, etc.

The information collected and stored by management controller250may allow an information technology (IT) administrator or an IT technician to perform a variety of management events or management tasks. In other words, the information may allow the IT technician to examine, repair, and maintain computing device200from a remote location, such as by using management console210. For example, the IT technician may examine the hardware and software information stored in non-volatile memory by management controller250and determine the asset and/or equipment serial numbers of computing device,200. The IT technician may also examine the hardware and software information to repair computing device200after an operating system crash. In other words, the information stored by management controller250may allow the IT technician to perform a variety of different tasks or management events, via a remote console, with the above examples being only a few.

Management controller250may comprise a processor, dynamic random access memory, static random access memory, and one or more types of non-volatile memory such as flash memory. While some embodiments may only have one management controller, such as management controller250, alternative embodiments may have two or more management controllers. For example, an embodiment may have a central management controller, which may be referred to as a baseboard management controller (BMC) that interacts with three other subordinate management controllers, such as three intelligent platform management interface (IPMI) controllers coupled with the BMC over an intelligent platform management bus (IPMB). The different elements that comprise a management controller, such as the memory elements, processor(s) and even portions or sections of those processors may be considered hardware coupled to the management controller. In various embodiments, different parts or hardware sections of a management controller may be placed into a low power mode, in order to help conserve energy. Upon receiving a wake request or other type of wake event, a computing device may have logic that determines how much of the hardware coupled to the management controller should be switched out of low power modes to handle the wake request. For example, in an embodiment that comprises a BMC coupled with two subordinate IPMI controllers, the logic may determine that only certain portions of the BMC need to be powered up to handle the wake request, and that the rest of the BMC and the two IPMI controllers may remain in their low power modes. Such logic may reside in various locations of the computing device. For example, in one embodiment the logic may reside in communication device230. In an alternative embodiment, the logic may reside in management controller250.

Management controller250may store the information or data of computing device200in non-volatile memory within management controller250. For example, management controller250may comprise a single integrated circuit chip having a processor and one megabyte (1 MB) of flash memory storage. However, alternative embodiments may utilize non-volatile memory located elsewhere such as in another part of computing device200. For example, management controller250may store the information in non-volatile memory coupled to an ICH, such as firmware155or potentially storage device195shown inFIG. 1.

To allow a person, such as an IT administrator, to perform a management event of computing device200, management controller250may communicate with one or more remote consoles such as management console210via a communication device such as communication device230. For example, communication device230may comprise a LAN controller coupled to a local area network, such as communications network220. In one or more embodiments, communication device230may allow computing device200to communicate with other computing devices on communications network220as well as management controller250. That is to say, communication device230may be shared for both communications of management controller250and the system communications for computing device200. In alternative embodiments, communication device230may comprise a dedicated LAN controller used only by management controller250. The physical form of communication device230may vary from an embodiment to embodiment. For example, in one embodiment communication device230may comprise an embedded LAN controller, yet comprise a communications an add-in card in another embodiment, such as a peripheral component interconnect (PCI) card.

Communication device230may be designed in such a way that all or a portion of communication device230utilizes standby power and remains operative even when computing device200is in a low power mode. Allowing communication device230, or at least a portion thereof, to remain powered up while the rest of computing device200is powered down, including all or part of management controller250, may allow communication device230to monitor the communication packets transmitted via communications network220while computing device200is in a standby mode or a hibernation mode. While computing device200is in a low power mode, communication device230may monitor communications network220for one or more wake events, such as a wake request sent by an IT administrator from management console210. For example, computing device200may comprise an e-mail server that has automatically entered a standby mode due to inactivity. The IT administrator may wake computing device200to perform some type of management-related function. To wake computing device200the IT administrator may issue a wake packet to computing device200comprising a ‘magic packet’ plus a password.

In one or more embodiments, management console210may transmit the packet for the wake event to computing device200and communication device230using RMCP. In alternative embodiments, management console210may transmit the wake packet or wake request to computing device200and/or communication device230using another protocol. Upon receiving the wake packet, communication device230may first validate the packet or otherwise determine whether the wake packet was intended for computing device200, or more specifically for communication device230. For example, communication device230may compare the MAC address or other hardware identifying address of the packet and compare it with the MAC or hardware address of communication device230. If the address matches, meaning the wake packet was intended for communication device230and/or computing device200, communication device230may then compare the transmitted password with an initial or previously stored wake password240. If the transmitted password matches the stored password communication device230may then perform one of a variety of different actions depending on the state of other components of computing device200, including the state of management controller250.

If management controller250, or a least a portion thereof, is powered down or otherwise in a low power or sleep state, communication device230may power up management controller250. For example, communication device230may power up management controller250, nonvolatile memory coupled with management controller250, and one or more management hardware components of management controller250. In some embodiments, communication device230may change the states of such components only as necessary to process the wake event. In alternative embodiments, communication device230may indiscriminately apply full operational power to all components of management controller250regardless of whether or not they are needed to process the wake event. In even further embodiments, communication device230and/or management controller250may cause one or more components of computing device200, such as one or more components260, to power up or otherwise change power operating modes to process the wake event. For example, one component of components260may comprise a hard disk drive needed to process the wake event.

After changing the power modes of components and/or devices a computing device200, as necessary, the IT administrator may then establish a secure connection or communication session between management console210and management controller250via communication device230. For example, management console210may establish the connection or session with management controller250using any of a number of technologies such as IPMI or Intel® Active Management Technology (AMT). That is to say, the connection or session may depend upon the type of management controller of the embodiment. Additionally, the communication session may utilize scrambled or encrypted packets sent between management console210and management controller250, via communication device230. For example, management console210and communication device230may transfer information over communications network220using an RMCP+ protocol. In other words, management console210and communication device230may transfer information using an RMCP packet format but include extensions that support enhanced authentication and encryption.

Upon establishing the secure session between management console210and management controller250, the IT administrator may assign a new password to communication device230for the next wake event, such as another Wake On LAN action. For example, the IT administrator may issue a command from management console210to management controller250, requesting that a new wake password be stored to replace the previous wake password240. Management controller250may then work in conjunction with communication device230and update or set wake password240. Setting wake password240in such a manner may help prevent a surreptitious observer of communications over communications network220from recording the wake password transmitted from management console210and later using it in a replay attack of computing device200. In other words, when computing device200is designed to operate in this manner, computing device200may employ a secure wake mechanism for waking only management controller250and allowing the secure communication mechanism of management controller250to wake the system. Changing the wake password, which may be completed immediately in one or more embodiments, may reduce the danger of a replay attack. Additionally, by waking only management controller250and minimally necessary components and/or devices, as opposed to waking all of computing device200, the potential for malicious software being successful in sending a valid wake packet may be less significant since the entire system is not woken, only the management controller and minimal components. Even further, computing device200may conserve additional energy by providing a mechanism that allows management controller250, or a portion thereof, to be powered down when not needed.

Apparatuses, such as platform135of system100depicted inFIG. 1or computing20device200inFIG. 2, may provide a secure wake mechanism via one or more software and/or firmware routines.FIG. 3illustrates a flowchart300for an algorithm that may be implemented by a computing device or platform to allow it to provide the secure WOL mechanism. For example, software and/or firmware instructions may perform the events of flowchart300. Such instructions may be stored in one or more memory components of a platform or computing25device, such as in firmware155, non-volatile memory190, or in memory components of management controller180, management hardware182, and network controller170ofFIG. 1.

Flowchart300begins with placing one or more components of a system in a low power or sleep mode (element310). For example, platform135may place management30controller180, management hardware182, display160, storage device195, and processor140in low power modes. Platform135may park the heads of storage device195, turn off display160, place processor140in a low power operational state, such as an “S3” state which may comprise a processor sleep state, and remove power from both management controller180and management hardware182. Platform135may provide standby power to network controller170in order for it to monitor communication packets of communications network120for a wake on LAN event (WOE) (element320).

Upon detecting a magic packet with an associated password (element330), computational logic of a network interface controller (NIC) may determine whether the password of the magic packet is correct (element340). If the magic packet password is not correct, the software and/or firmware instructions may keep many if not all of the components in their respective low power modes and have the network controller/NIC continue monitoring the communications network for a WOE (element320). For example network controller170may receive a magic packet and an invalid password as part of a replay attack from computer130. Upon receiving the magic packet and verifying that the transmitted MAC address matches that of network controller170, logic of network controller170may nonetheless refrain from automatically powering up processor140, management controller180, display160, and storage device195until verifying that the transmitted password is also correct.

If the network controller determines that the magic packet password is correct, the network controller may wake or power up management controller180so that the management console may establish a secure connection with management controller180(element350). For example, once network controller170wakes management controller180, computer105may establish a secure connection with management controller180over communications network120. If for some reason the management console cannot establish a secure connection with the management controller (element360), an algorithm according to flowchart300may continue by having the network controller continue monitoring the communications network for another WOE (element320). If, however, the management console is able to establish a secure connection (element360) then the algorithm may allow the management controller and/or the management console to work in conjunction with the NIC, allow the management console to send a new password to the NIC, and program or change the wake password (element370). For example, management console210ofFIG. 2may work in conjunction with communication device230and management controller250to change wake password240from “0x4BF3E5A0FF32” to “0x4CF4E6A20033”.

An algorithm according to flowchart300may continue by waking one more components of the apparatus or system, if requested, in order to perform an event specified after the WOE (element380). For example, an IT administrator situated at computer105may want to load a more recent version of a software program on platform135. After updating the wake password, the IT administrator may issue a series of commands via the established secure connection, requesting that platform135receive and store the more recent software program onto storage device195. In order to carry out these commands, logic of network controller170may determine that processor140and storage device195need to be powered up but the remaining components such as display160, I/O device165, and portions of management hardware182may remain in their respective low power modes.

Upon performing the requested maintenance activities after updating the wake password, an algorithm according to flowchart300may continue by determining whether the platform may reenter the sleep mode (element385). For example, network controller170may be programmed to initiate a sleep request for platform135after a period of inactivity of communications from communications network120. If the algorithm determines that the platform may not reenter the sleep mode, the firmware and/or software instructions may permit the platform to continue normal operation (element390).

We move now toFIG. 4, which illustrates a method of responding to a wake event and securely changing a wake password. Flowchart400begins with having a computing device enter a power conservation mode (element410). For example, a user of a laptop such as computing device200may press a button and force the laptop to enter a standby mode. While in this standby mode numerous devices and components of components260may be placed into low power operational modes. For example, one of components260may comprise a central processor for the laptop. By initiating the standby mode, the user may force the processor to change from an “S0” state, wherein the processor appears to be “on” and fully operational, to an “S3” state, which may comprise a low wake latency sleeping state in which all device contexts are lost except system memory. Transitioning from “S0” to “S3” is merely one example. Other state transitions are possible, such as a transition from “S0” to “S4” or a transition from “S1” to “S2”.

A method according to flowchart400may continue by monitoring a communications network (element420) and receiving a wake request (element430). For example, a communications device in a PCI slot of a motherboard may operate from standby power and monitor traffic of a communications network for a wake request. The wake request may arrive from different types of communication networks in various embodiments, such as by a direct serial connection, a LAN connection, or a serial over LAN (SOL) connection to a remote client. After receiving the wake request (element430), a platform or apparatus performing the method of flowchart400may establish a secure communication session with a management console (element440). For example, after receiving a wake request from management console210communication device230may wake management controller250so that management controller250may establish an RMCP+ session with management console210.

After establishing a secure communication session (element440), the method according to flowchart400may then allow a wake password to be updated or set via the secure communication session (element450). Continuing with our previous example, management controller250may allow the user of management console210to change the initial or previous version of wake password240during the secure RMCP+ session.

After allowing a wake password to be set via the secure communication session (element450), the method according to flowchart400may then allow the management controller, or some other device hardware and/or software, to change the power conservation mode of one or more components of the system (element460). For example, management controller180may change the power modes of a subordinate management controller, non-volatile memory190, and a subset or portion of management hardware182in order to provide system status information to a systems administrator using computer105.

The elements described for a method according to flowchart400may comprise the elements of one embodiment. Other embodiments may include more elements or fewer elements. For example, an alternative embodiment may monitor the communications network for a wake-on-VOIP (voice over internet protocol) event in addition to other wake on LAN events.

Another embodiment of the invention is implemented as a program product for use with a computing device or platform to respond to wake events of communication networks. The program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of data and/or signal-bearing media. Illustrative data and/or signal-bearing media include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive); and (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks. Such data and/or signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.

It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates methods, apparatuses, and computer program products that respond to wake events of communication networks. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the embodiments disclosed.