Increasing the energy efficiency of computer platforms has become a significant objective of research and development. Reducing power consumption in a computing device not only benefits the environment, but also results in substantial power cost savings to the user—around $100/year for a typical desktop computer system such as a personal computer (PC). These benefits are more pronounced in a network environment which may contain hundreds, if not thousands, of individual computer systems.
To conserve power in a networked environment, various technologies have been developed to allow networked computer systems to operate and be maintained in reduced power environments. One such technology, called Wake On LAN (WOL), allows a computer system in a reduced power state to be “woken up”, or booted, remotely by, for example, sending a special packet to that computer system's network adapter. Further enhancements, such as those provided by Intel® Active Management Technology, support common network management tasks, such as hardware/software asset tracking, remote diagnostics, and software update distribution, even when the computing system is in a reduced power state.
However, such power saving schemes do not protect against spurious or malicious wake events which may be created by a hacker or virus in an attempt to disrupt the target network, or to cause the target network to incur additional power costs. Current anti-virus countermeasures are not designed to protect against spurious network events, as these countermeasures do not operate in a reduced power state.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may be best understood by reference to the following detailed description when read with the accompanied drawings in which:
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer, processor, or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. In addition, the term “plurality” may be used throughout the specification to describe two or more components, devices, elements, parameters and the like.
It should be understood that the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as personal computers, network equipment, stations of a radio system, wireless communication system, digital communication system, satellite communication system, and the like.
Stations, nodes and other devices intended to be included within the scope of the present invention include, by way of example only, local area network (LAN) stations and/or nodes, metropolitan area network (MAN) stations and/or nodes, personal computers, peripheral devices, wireless LAN stations, and the like.
Devices, systems and methods incorporating aspects of embodiments of the invention are also suitable for computer communication network applications, for example, intranet and Internet applications. Embodiments of the invention may be implemented in conjunction with hardware and/or software adapted to interact with a computer communication network, for example, a personal area network (PAN), LAN, wide area network (WAN), or a global communication network, for example, the Internet.
Embodiments of the invention may include a computer readable storage medium, such as for example a memory, a disk drive, or a “disk-on-key”, including instructions which when executed by a processor or controller, carry out methods disclosed herein.
In
Client 100 may also be equipped with a LAN microcontroller 105 which may be integrated into a network adapter (not shown) or be a standalone component. LAN microcontroller 105 may support such functionality as Wake On LAN, and may include an out-of-band networking stack 107 that allows client 100 to communicate with the rest of the network even when client 100 is in a reduced power state or experiences software (and/or certain hardware) failures.
Chipset 104, CPU 101, BIOS 102, volatile memory 103, and LAN microcontroller may be attached, connected or coupled, either directly or indirectly, through such motherboard or other interconnects as an internal bus, memory bus, PCI bus, frontside bus, etc. “Coupled” or “attached” in this sense, may mean connected by an information-transferring link such as a bus or other link, so that data may be transferred between components. A memory controller hub (e.g. Northbridge) and Input/Output controller hub (e.g. Southbridge) may also be employed.
Server 108 may be of similar configuration to that of client 100 except that server 108 may also include a management console 109 which may coordinate common network maintenance tasks remotely over a plurality of clients. Server 108 need not have the similar configuration of client 100. Such tasks may include hardware/software asset tracking, remote diagnostics, remote repair, software update distribution, and booting client 100 from a network resource. These tasks may be accomplished while client 100 is in a reduced power state. However, if necessary, server 108 may send a communication or message such as a special packet across network link 110 to a component such as an out-of-band network stack 107 in LAN microcontroller 105 to wake up client 100 from a reduced power state. In a preferred embodiment, the management console employs Intel® Active Management Technology, which may be either a software or hardware-based implementation, or a combination of the two. Other management console systems or methods may be used.
It is to be understood that the network depicted in
In operation 202, the operating system of client 100 is booted. In this booted state, client 100 may handle any request sent over a network without using out-of-band networking stack 107 embedded in LAN microcontroller 105. Instead, client 100 may employ a standard networking stack provided by the operating system itself.
In operation 203, client 100 may be operating normally in a full power state and may be awaiting an instruction to power down to a reduced power state. Such an instruction may come directly from for example the user (such user instruction may include for example a physical button push or closing of a laptop screen), or may be given by the operating system (or an application running thereon) in accordance with a given policy. For example, the operating system may give an instruction to power down to a reduced power state after a certain level of inactivity has been sustained for a given period. The instruction may also be given according to a set schedule, e.g., those hours in which an office is likely to be closed. Alternatively, the instruction may be given in response to a particular event, such as hardware or software failure, in which client 100 may be generally unusable until it has been serviced.
If an instruction to be powered down is given, client 100 may enter a sleep state, as shown in operation 204. Such a sleep state may be any of a variety of reduced power states or configurations, such as those defined by the Advanced Configuration and Power Interface (ACPI) specification (version 3.0b, released Oct. 10, 2006). The ACPI specification describes four such states:
Other sleep or reduced power states or protocols may be used.
In operation 205, client 100 receives a wake event request from the network. A wake event may be or include for example a request for a particular client or unit to perform a task, and may simply be a command for the client or unit to resume from a low power state. Tasks that may be performed in conjunction with a wake request or command may include, for example, data retrieval and transmission, data storage, and computation and transmission of the resulting output. Performing the task may include at least one or more operations in communication with the sender of the request.
Once this request is received, client 100 may implement a variety of security mechanisms to authenticate the request, as shown in operation 206. Such schemes may include transport layer security (TLS), HTTP authentication, enterprise-level authentication (Kerberos), access control lists (ACLs), and digital firmware signing. Some or all of these schemes may be built into LAN microcontroller 105 and/or chipset 104. By building these authentication schemes into such hardware devices, client 100 need not wake from a reduced power state to validate and process the network event. If such a request cannot be handled because it is not authentic or authorized, client 100 may remain in its sleep state. An inauthentic request may be for example a request that does not come from a trusted source, while an unauthorized request may come from a trusted source, for example, but may not comport with or be authorized by the client's particular security policy.
If, however, the wake event request is deemed authentic and authorized as determined by the security policy embedded in LAN microcontroller 105 and/or chipset 104, client 100 may proceed to operation 207, in which it may determine whether the wake event can be handled without waking up the system from its reduced power state. Such a determination may be based on the particular functionality built into chipset 104, BIOS 102, and LAN microcontroller 105. Actions such as reporting internal temperature, installed hardware and software information, and status information may generally be performed even in a reduced power state. Similarly, device firmware may be upgraded, and small software patches may be stored for later installation, if supported by the hardware of client 100.
However, such actions as upgrading/repairing the operating system or major software packages are generally not performed in a sleep state. In some computing systems, retrieving data from a non-volatile store 106, or performing a computationally intensive task using client 100 is generally not performed without waking from a sleep state. For embodiments in which a given task is not performed in a sleep state, client 100 may proceed to operation 208, where it resumes full power operation and restores platform settings from the point where it entered the sleep state. Alternatively, client 100, need not resume to a full power state, and need only resume to the highest level sleep state capable of handling the wake event.
Once client 100 resumes full power operation, it may proceed to operation 209, in which it may handle the wake event, and then may proceed back to operation 203, where it may await a further instruction to enter a reduced power state.
In one embodiment, determining whether a request is authentic, whether the request is authorized, and whether the request can be performed without waking the computing device, may be performed while the computing device is in a reduced power state. In one embodiment, waking the computing device may include raising the power state of computing device to the lowest power state capable of performing the task of the request.
Other operations or series of operations may be used.
The present invention has been described with certain degree of particularity. Those versed in the art will readily appreciate that various modifications and alterations may be carried out without departing from the scope of the following claims: