US20010001879A1 - Method and apparatus for saving device state while a computer system is in sleep mode - Google Patents

Method and apparatus for saving device state while a computer system is in sleep mode Download PDF

Info

Publication number
US20010001879A1
US20010001879A1 US09/190,561 US19056198A US2001001879A1 US 20010001879 A1 US20010001879 A1 US 20010001879A1 US 19056198 A US19056198 A US 19056198A US 2001001879 A1 US2001001879 A1 US 2001001879A1
Authority
US
United States
Prior art keywords
instructions
power manager
readable medium
computer readable
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/190,561
Other versions
US6324651B2 (en
Inventor
Joseph Kubik
Mark Daniel Rogalski
Joel L. Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo PC International Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/190,561 priority Critical patent/US6324651B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SMITH, JOEL L., KUBIK, JOSEPH, ROGALSKI, MARK D.
Publication of US20010001879A1 publication Critical patent/US20010001879A1/en
Application granted granted Critical
Publication of US6324651B2 publication Critical patent/US6324651B2/en
Assigned to LENOVO (SINGAPORE) PTE LTD. reassignment LENOVO (SINGAPORE) PTE LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to LENOVO PC INTERNATIONAL reassignment LENOVO PC INTERNATIONAL NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: LENOVO (SINGAPORE) PTE LTD.
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Definitions

  • the present invention relates in general to power management and in particular to restoring prior device states in a data processing system after a reduced power mode. More particularly, the present invention relates to reducing restoration time of device states for devices that have been in sleep mode.
  • Modern computer hardware particularly mobile computers such as laptops and notebooks, support multiple power levels.
  • One such level often referred to as “sleep mode,” removes power from selected, nonessential devices after a predetermined period of inactivity.
  • Facilities are generally provided to “wake” the data processing system by restoration of power to the selected devices to resume normal operation. This power level is particularly advantageous in data processing systems having finite available power, such as those operating on a battery.
  • Power management is the process of controlling the electric power consumption of data processing systems by selectively cutting off power to various parts of the system, thereby disabling those devices.
  • a device driver which is able to prepare for and recover from the loss and restoration of power is said to be “power management aware.”
  • a power management aware device driver should minimize the user's perceived disruption of computer services during a power management cycle.
  • the state of the adapter, device drivers, and applications after the restoration of power should be as close to the pre-shutdown state as possible.
  • not all devices within a data processing system are power management aware. Some devices must be re-initialized on power restoration.
  • any internal registers and volatile memory When power is removed from a device, the contents of any internal registers and volatile memory is generally lost. For example, a display adapter will lose the contents of any internal display cache, which may include information regarding user selections for resolution, color depth, etc.
  • the display adapter device driver When power is restored, the display adapter device driver must re-initialize the internal registers and memory, usually by making numerous time consuming calls to the operating system to retrieve initialization data.
  • nonpersistent data which is not normally stored in a nonvolatile memory but is merely generated as a result of user activity, must be saved before power down and then retrieved on power restoration. Thus, restoration of power to the device and returning to a previous wake state may be a slow and somewhat difficult process.
  • FIG. 4 a high-level flow diagram of a known process for restoring device states within a data processing system after the data processing system returns from sleep mode, is depicted.
  • the process begins with step 400 , which depicts a computer beginning a state of user input activity.
  • the process continues with step 402 , which illustrates a determination of the time passed with no activity.
  • the process passes to step 404 , which depicts a determination of whether or not the period of time set for beginning of sleep mode has been reached. If not the process returns to step 402 and continues to check for a pre-defined period of inactivity.
  • step 406 illustrates a device driver determining the characteristics of its device state that must be saved in order to power-up properly. Since device drivers are generally not aware of hard disk drives or other nonvolatile memory in the system, most device drivers can only save to the system's random access memory (RAM). Characteristics are stored, typically to RAM, at the discretion of the device driver for later retrieval when restoration from sleep mode commences.
  • RAM random access memory
  • step 408 illustrates the device driver saving the state of the device to the location in RAM designated by that individual device. It is possible, but not common, that devices within the computer may save device state to any storage medium with in the data processing system. If device states are stored on separate storage sites individual device state retrieval varies with the response time of the storage medium (disk, ram, flashcard, etc.). If stored on RAM, the retrieval time may be short but, if stored on disk, retrieval time may be relatively long.
  • step 410 depicts powering down a device after device state has been stored.
  • step 412 depicts a determination of whether there are more device drivers with requirements to store device states into save locations. If there are more device states to be saved, the process returns to step 406 and repeats the cycle until all device states have been stored. If there are no more device drivers with storage requirements the process passes to step 414 , which depicts the computer in sleep mode, awaiting an interrupt that would signal the end of sleep mode.
  • a serializable object formed by a device driver and containing characteristics (device state) of the device, is held by a device driver and made known to a data processing system's power manager.
  • the power manager provides a device driver independent mechanism for saving device state by retrieving each device driver's object containing device state and storing the object in a location that provides for efficient and quick retrieval.
  • the power manager being aware of power levels for all devices on the system, may determine where, how and when to store objects retrieved from the device drivers for most efficient retrieval. In other words, the power manager chooses the most efficient location.
  • the serializable objects are retrieved by the power manager and restored to each device driver.
  • FIG. 1 depicts a high-level block diagram of a power manager within a data processing system in which a preferred embodiment of the present invention may be implemented;
  • FIGS. 1A and 1B are high-level block diagrams of target storage mediums in accordance with a preferred embodiment of the present invention.
  • FIG. 2 depicts a high-level flow diagram of a power-down sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a high-level flow diagram of a power-up sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention.
  • FIG. 4 depicts a high-level flow diagram of a known process for restoring device states within a computer when a computer is in sleep mode.
  • Power manager 102 is the logical single component to determine the optimum location to store device states.
  • device drivers store the state of the individual device, usually in RAM memory.
  • Power manager 102 also has the capability to store device states.
  • An individual device state may comprise register contents, memory state, etc. and may occupy a large amount of memory space.
  • a device driver may save device state to RAM when entering sleep mode.
  • power manager 102 is aware of the status of the system state and is better able to determine where the device state should be stored for most efficient power restoration.
  • Serial port driver 104 All represent drivers that supply the appropriate characteristics to power manager 102 for proper storage prior to shut down.
  • the double headed lines indicate that power manager 102 also returns the individual characteristics to the proper devices prior to restoration.
  • power manager 102 directs storage of device states to a storage medium—server 112 (in the case of a network connected data processing system), disk drive 114 or RAM memory 116 —that best fits the need of the system during startup.
  • a device's characteristics (device state) are written by the device driver, utilizing driver code, to a serializable object (illustrated in FIG.
  • Power manager 102 does not pick the characteristics for each device state because individual device drivers provide the device characteristics, as is presently done. Code for the individual device driver is such that the driver will write the device state to a serializable object and make the object available to the power manager. Only those characteristics determined by the device driver necessary for proper restoration to the device state existing at shutdown are written to the object. Power Manager 102 stores the objects in a storage medium, or location, best suited for most efficient restoration.
  • FIG. 1A illustrates a block diagram of a data processing system embodiment of the present invention.
  • Data processing system network 150 includes network data processing system 152 .
  • Data processing system 152 includes a processor 154 connected, in the exemplary embodiment, to a level two (L2) cache 156 , which is connected in turn to a system bus 158 .
  • L2 level two
  • system memory 160 Also connected to system bus 158 is system memory 160 and input/output (I/O) controller 162 .
  • I/O controller 162 couples input devices such as a keyboard and/or pointing device (conventional mouse, trackball, trackpoint, etc.) 164 to system bus 156 .
  • data processing system 152 also includes graphics adapter 116 connected to system bus 158 , receiving display data for monitor or display 168 .
  • Data processing system 152 further includes a network adapter 170 for connecting data processing system 152 to a network.
  • Data processing system 152 is coupled via communications link 172 , such as an Ethernet protocol network, to network server 112 .
  • Data processing system 152 need not include local, nonvolatile storage, but may instead include within a power-on self-test (POST) routine stored within a read-only memory (ROM) (not shown) instructions allowing processor 154 to initialize network adapter 170 and transmit a request from data processing system 152 to network server 124 over communications link 172 .
  • Network server 162 may then respond to that request by transferring operating system modules and application executables to data processing system 152 to be loaded into system memory 160 .
  • Network data processing system 152 is thus essentially booted over the network and may contain no local data storage other than system memory 160 .
  • FIG. 1A The exemplary embodiment shown in FIG. 1A is provided solely for the purposes of explaining the invention and those skilled in the art will recognize that numerous variations of the components depicted in FIG. 1A and described above are possible, both in form and function, and also that the present invention may be employed with equal benefit in other types of data processing systems. Such variations in which the present invention may be implemented are considered to be within the spirit and scope of the present invention.
  • FIG. 1B illustrates a block diagram of a Personal Computer (“PC”) embodiment of the present invention.
  • a power manager within PC 120 , may load device state characteristics in the form of serializable objects, to either RAM memory 116 , disk drive 114 or flashcard (not shown).
  • An object contains only characteristics necessary to resume operation of devices in the state they were left at power down.
  • the power manager stores objects, comprising individual device characteristics, to a location that will best fit system requirements on restoration. The location is determined by the power manager so that time required for retrieving and reloading the individual objects is optimal for the most efficient system restoration. Additional factors taken into account may include power savings, backup/reliability, availability of hardware, administrator (user) choice, etc.
  • FIG. 2 a high-level flow diagram of a power-down sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention is depicted.
  • Logic code governing operation of the power manager requires the power manager to store serializable objects, containing device characteristics, that the power manager retrieved from a device driver prior to shutting down the device.
  • the power manager considers the state of the whole data processing system and stores the object so that it is retrievable in an ordered manner (serial retrieval), determined by the power manager, that will provide the fastest and most efficient restoration of system state from sleep mode.
  • step 200 depicts a determination of the time period of inactivity that the power manager is to measure.
  • step 204 illustrates a determination of whether there has been any user input activity within the set time period. If activity has occurred, the procedure returns to step 200 . If there is no activity, the process instead proceeds to step 204 , which depicts the power manager retrieving device state, in the form of an object, from a device driver.
  • step 206 which illustrates a determination of whether there are more devices that need to store characteristics of their device state. If there are, the process returns to step 204 until all device states have been retrieved.
  • step 208 depicts a determination of where the device state is to be saved.
  • the power manager determines the optimum storage location for the device state so that restoration is accomplished in an efficient and timely manner.
  • the data processing system may be a Personal Computer (“PC”) connected to a network server. If the power manager determines the device state is to be saved to the server, the process proceeds to step 218 , which illustrates saving device states (objects) to the server.
  • step 210 depicts the power manager determining whether to save the device state to RAM memory within the PC. If so, the process then passes to step 216 , which illustrates saving the device state to RAM memory. If not, the process instead passes to step 212 , which depicts a determination of whether to save the device state to disk. If not, the process next passes to step 215 , which depicts the power manager sending the device state to another storage device within the PC. If the power manager determines the device state should be saved to disk, the process instead passes to step 216 , which illustrates saving the device state to disk.
  • step 220 depicts the power manager powering down all devices with the saved states.
  • step 222 illustrates the power manager waiting for an interrupt that would signal the power up process.
  • step 300 depicts the computer (terminal, in a network) in a powered down state.
  • step 302 illustrates an interrupt being sensed by the power manager.
  • step 304 depicts the power manager starting the procedure to power up the system devices.
  • step 306 illustrates the power manager retrieving device state characteristics (stored objects) from the storage location.
  • step 308 depicts the power manager restoring stored device states to the proper devices.
  • step 310 illustrates a determination of whether there are more device state to restore. If there are more device states to restore, the process returns to step 308 . If not, the process proceeds instead to step 312 , which depicts the data processing system restored to the former state from sleep mode.
  • the present invention saves time and power.
  • a device driver determines the necessary characteristics the driver will need to return the device's current state.
  • the driver utilizing logic code provided by the invention, writes the characteristics to a serializable object and makes the object available for retrieval by the power manager.
  • the power manager retrieves objects from the device drivers and serializes them to a specific location that may include persistent storage (disk drive) or volatile memory (including RAM, flash card, local low powered memory, etc.).
  • the power manager is aware of power levels for all devices and is best able to determine where, how and when to store the serializable objects to save power and minimize restoration time for the processing system.
  • the power manager retrieves the stored objects and loads the objects to the proper devices.
  • Other considerations that may be included in determining a save location are availability of hardware (limited RAM memory, no disk), power savings, network usage, reliability, administrator preference and so on.

Abstract

A serializable object, formed by a device driver and containing characteristics (device state) of the device, is held by a device driver and made known to a data processing system's power manager. The power manager provides a device driver independent mechanism for saving device state by retrieving each device driver's object containing device state and storing the object in a location that provides for efficient and quick retrieval. The power manager, being aware of power levels for all devices on the system, may determine where, how and when to store objects retrieved from the device drivers for most efficient retrieval. Upon receiving an interrupt indicating the system should power up, the serializable objects are retrieved by the power manager and restored to each device driver.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field [0001]
  • The present invention relates in general to power management and in particular to restoring prior device states in a data processing system after a reduced power mode. More particularly, the present invention relates to reducing restoration time of device states for devices that have been in sleep mode. [0002]
  • [0003] 2. Description of the Related Art
  • Modern computer hardware, particularly mobile computers such as laptops and notebooks, support multiple power levels. One such level, often referred to as “sleep mode,” removes power from selected, nonessential devices after a predetermined period of inactivity. Facilities are generally provided to “wake” the data processing system by restoration of power to the selected devices to resume normal operation. This power level is particularly advantageous in data processing systems having finite available power, such as those operating on a battery. [0004]
  • Power management is the process of controlling the electric power consumption of data processing systems by selectively cutting off power to various parts of the system, thereby disabling those devices. A device driver which is able to prepare for and recover from the loss and restoration of power is said to be “power management aware.” Ideally, a power management aware device driver should minimize the user's perceived disruption of computer services during a power management cycle. Thus, the state of the adapter, device drivers, and applications after the restoration of power should be as close to the pre-shutdown state as possible. However, not all devices within a data processing system are power management aware. Some devices must be re-initialized on power restoration. [0005]
  • When power is removed from a device, the contents of any internal registers and volatile memory is generally lost. For example, a display adapter will lose the contents of any internal display cache, which may include information regarding user selections for resolution, color depth, etc. When power is restored, the display adapter device driver must re-initialize the internal registers and memory, usually by making numerous time consuming calls to the operating system to retrieve initialization data. Additionally, nonpersistent data, which is not normally stored in a nonvolatile memory but is merely generated as a result of user activity, must be saved before power down and then retrieved on power restoration. Thus, restoration of power to the device and returning to a previous wake state may be a slow and somewhat difficult process. [0006]
  • In FIG. 4, a high-level flow diagram of a known process for restoring device states within a data processing system after the data processing system returns from sleep mode, is depicted. The process begins with [0007] step 400, which depicts a computer beginning a state of user input activity. The process continues with step 402, which illustrates a determination of the time passed with no activity. The process passes to step 404, which depicts a determination of whether or not the period of time set for beginning of sleep mode has been reached. If not the process returns to step 402 and continues to check for a pre-defined period of inactivity. If the period signaling sleep mode has been reached, the process instead proceeds to step 406, which illustrates a device driver determining the characteristics of its device state that must be saved in order to power-up properly. Since device drivers are generally not aware of hard disk drives or other nonvolatile memory in the system, most device drivers can only save to the system's random access memory (RAM). Characteristics are stored, typically to RAM, at the discretion of the device driver for later retrieval when restoration from sleep mode commences.
  • The process then proceeds to [0008] step 408, which illustrates the device driver saving the state of the device to the location in RAM designated by that individual device. It is possible, but not common, that devices within the computer may save device state to any storage medium with in the data processing system. If device states are stored on separate storage sites individual device state retrieval varies with the response time of the storage medium (disk, ram, flashcard, etc.). If stored on RAM, the retrieval time may be short but, if stored on disk, retrieval time may be relatively long.
  • The process next proceeds to [0009] step 410, which depicts powering down a device after device state has been stored. The process next passes to step 412, which depicts a determination of whether there are more device drivers with requirements to store device states into save locations. If there are more device states to be saved, the process returns to step 406 and repeats the cycle until all device states have been stored. If there are no more device drivers with storage requirements the process passes to step 414, which depicts the computer in sleep mode, awaiting an interrupt that would signal the end of sleep mode.
  • The problem of restoring power and returning to a previous wake state has been handled in laptop computers by providing device driver specific implementations of state saving. Often, the machine's entire state is saved to a hard drive. The state would be persistently stored but there are disadvantages to this solution. Saving large amounts of memory can be time consuming and restoration time may be nearly the same length as booting the system. In a laptop, the slow restoration time may be tolerated but for network machines without a hard drive, sending and retrieving its entire state across a network connection is time consuming and not desirable. [0010]
  • It would be desirable, therefore, to provide a method and apparatus for saving device state in a persistent condition. It would further be desirable to restore the device state quickly when power is re-applied from a reduced power mode. [0011]
  • SUMMARY OF THE INVENTION
  • It is therefore one object of the present invention to provide a method and system for power control. [0012]
  • It is another object of the present invention to provide a method and system for restoring prior device states in a data processing system after a reduced power mode. [0013]
  • It is yet another object of the present invention to provide a method and apparatus for reducing restoration time of device states for devices that have been in a reduced power mode (sleep mode) without making calls to the operating system to retrieve initialization data. [0014]
  • The foregoing objects are achieved as is now described. A serializable object, formed by a device driver and containing characteristics (device state) of the device, is held by a device driver and made known to a data processing system's power manager. The power manager provides a device driver independent mechanism for saving device state by retrieving each device driver's object containing device state and storing the object in a location that provides for efficient and quick retrieval. The power manager, being aware of power levels for all devices on the system, may determine where, how and when to store objects retrieved from the device drivers for most efficient retrieval. In other words, the power manager chooses the most efficient location. Upon receiving an interrupt indicating the system should power up, the serializable objects are retrieved by the power manager and restored to each device driver. [0015]
  • The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description. [0016]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: [0017]
  • FIG. 1 depicts a high-level block diagram of a power manager within a data processing system in which a preferred embodiment of the present invention may be implemented; [0018]
  • FIGS. 1A and 1B are high-level block diagrams of target storage mediums in accordance with a preferred embodiment of the present invention; [0019]
  • FIG. 2 depicts a high-level flow diagram of a power-down sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention; [0020]
  • FIG. 3 is a high-level flow diagram of a power-up sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention; and [0021]
  • FIG. 4 depicts a high-level flow diagram of a known process for restoring device states within a computer when a computer is in sleep mode. [0022]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • With reference now to the figures, and in particular with reference to FIG. 1, a high-level block diagram of a power manager within a data processing system in which a preferred embodiment of the present invention may be implemented is depicted. [0023] Power manager 102, is the logical single component to determine the optimum location to store device states. Currently, device drivers store the state of the individual device, usually in RAM memory. Power manager 102 also has the capability to store device states. An individual device state may comprise register contents, memory state, etc. and may occupy a large amount of memory space. Normally, a device driver may save device state to RAM when entering sleep mode. However, power manager 102 is aware of the status of the system state and is better able to determine where the device state should be stored for most efficient power restoration.
  • Serial port driver [0024] 104, LAN card driver 106, video driver 108 and keyboard driver 110 all represent drivers that supply the appropriate characteristics to power manager 102 for proper storage prior to shut down. The double headed lines indicate that power manager 102 also returns the individual characteristics to the proper devices prior to restoration. As indicated, power manager 102 directs storage of device states to a storage medium—server 112 (in the case of a network connected data processing system), disk drive 114 or RAM memory 116—that best fits the need of the system during startup. A device's characteristics (device state) are written by the device driver, utilizing driver code, to a serializable object (illustrated in FIG. 1C and generally, most devices would only require one to two kilobytes of memory to retain the necessary characteristics for restoration. Power manager 102 does not pick the characteristics for each device state because individual device drivers provide the device characteristics, as is presently done. Code for the individual device driver is such that the driver will write the device state to a serializable object and make the object available to the power manager. Only those characteristics determined by the device driver necessary for proper restoration to the device state existing at shutdown are written to the object. Power Manager 102 stores the objects in a storage medium, or location, best suited for most efficient restoration.
  • Referring to FIGS. 1A and 1B, high-level block diagrams of target storage mediums in accordance with a preferred embodiment of the present invention is illustrated. FIG. 1A illustrates a block diagram of a data processing system embodiment of the present invention. Data [0025] processing system network 150 includes network data processing system 152. Data processing system 152, in turn, includes a processor 154 connected, in the exemplary embodiment, to a level two (L2) cache 156, which is connected in turn to a system bus 158.
  • Also connected to [0026] system bus 158 is system memory 160 and input/output (I/O) controller 162. I/O controller 162 couples input devices such as a keyboard and/or pointing device (conventional mouse, trackball, trackpoint, etc.) 164 to system bus 156. In a preferred embodiment, data processing system 152 also includes graphics adapter 116 connected to system bus 158, receiving display data for monitor or display 168. Data processing system 152 further includes a network adapter 170 for connecting data processing system 152 to a network.
  • [0027] Data processing system 152 is coupled via communications link 172, such as an Ethernet protocol network, to network server 112. Data processing system 152 need not include local, nonvolatile storage, but may instead include within a power-on self-test (POST) routine stored within a read-only memory (ROM) (not shown) instructions allowing processor 154 to initialize network adapter 170 and transmit a request from data processing system 152 to network server 124 over communications link 172. Network server 162 may then respond to that request by transferring operating system modules and application executables to data processing system 152 to be loaded into system memory 160. Network data processing system 152 is thus essentially booted over the network and may contain no local data storage other than system memory 160.
  • The exemplary embodiment shown in FIG. 1A is provided solely for the purposes of explaining the invention and those skilled in the art will recognize that numerous variations of the components depicted in FIG. 1A and described above are possible, both in form and function, and also that the present invention may be employed with equal benefit in other types of data processing systems. Such variations in which the present invention may be implemented are considered to be within the spirit and scope of the present invention. [0028]
  • FIG. 1B, illustrates a block diagram of a Personal Computer (“PC”) embodiment of the present invention. A power manager (not shown) within [0029] PC 120, may load device state characteristics in the form of serializable objects, to either RAM memory 116, disk drive 114 or flashcard (not shown). An object contains only characteristics necessary to resume operation of devices in the state they were left at power down. The power manager stores objects, comprising individual device characteristics, to a location that will best fit system requirements on restoration. The location is determined by the power manager so that time required for retrieving and reloading the individual objects is optimal for the most efficient system restoration. Additional factors taken into account may include power savings, backup/reliability, availability of hardware, administrator (user) choice, etc.
  • Referring now to FIG. 2, a high-level flow diagram of a power-down sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention is depicted. Logic code governing operation of the power manager requires the power manager to store serializable objects, containing device characteristics, that the power manager retrieved from a device driver prior to shutting down the device. The power manager considers the state of the whole data processing system and stores the object so that it is retrievable in an ordered manner (serial retrieval), determined by the power manager, that will provide the fastest and most efficient restoration of system state from sleep mode. [0030]
  • The process begins with [0031] step 200, which depicts a determination of the time period of inactivity that the power manager is to measure. The process proceeds to step 204, which illustrates a determination of whether there has been any user input activity within the set time period. If activity has occurred, the procedure returns to step 200. If there is no activity, the process instead proceeds to step 204, which depicts the power manager retrieving device state, in the form of an object, from a device driver. The process next passes to step 206, which illustrates a determination of whether there are more devices that need to store characteristics of their device state. If there are, the process returns to step 204 until all device states have been retrieved.
  • The process next proceeds to step [0032] 208, which depicts a determination of where the device state is to be saved. As discussed above, the power manager determines the optimum storage location for the device state so that restoration is accomplished in an efficient and timely manner. In this embodiment, the data processing system may be a Personal Computer (“PC”) connected to a network server. If the power manager determines the device state is to be saved to the server, the process proceeds to step 218, which illustrates saving device states (objects) to the server.
  • In the case of a PC, the determination may be made not to store a device state to the server, in which case the process proceeds from [0033] step 208 to step 210, which depicts the power manager determining whether to save the device state to RAM memory within the PC. If so, the process then passes to step 216, which illustrates saving the device state to RAM memory. If not, the process instead passes to step 212, which depicts a determination of whether to save the device state to disk. If not, the process next passes to step 215, which depicts the power manager sending the device state to another storage device within the PC. If the power manager determines the device state should be saved to disk, the process instead passes to step 216, which illustrates saving the device state to disk.
  • In all cases of storage, after the device state is stored on [0034] disk 214, in RAM memory 216, on a server 218 or any other power manager designated device, the process continues to step 220, which depicts the power manager powering down all devices with the saved states. The process then proceeds to step 222, which illustrates the power manager waiting for an interrupt that would signal the power up process.
  • Referring to FIG. 3, a high-level flow diagram of a power-up sequence of a process for reducing device state restoration time when a computer is in sleep mode in accordance with a preferred embodiment of the present invention, is illustrated. The process begins with [0035] step 300, which depicts the computer (terminal, in a network) in a powered down state. The process proceeds to step 302, which illustrates an interrupt being sensed by the power manager. The process next passes to step 304, which depicts the power manager starting the procedure to power up the system devices. The process continues to step 306, which illustrates the power manager retrieving device state characteristics (stored objects) from the storage location.
  • The process proceeds next to step [0036] 308, which depicts the power manager restoring stored device states to the proper devices. The process then passes to step 310, which illustrates a determination of whether there are more device state to restore. If there are more device states to restore, the process returns to step 308. If not, the process proceeds instead to step 312, which depicts the data processing system restored to the former state from sleep mode.
  • In the prior art, device drivers saved individual device characteristics, generally, to locations in RAM memory prior to entering sleep mode. This allows for quick startup, but requires all of RAM to be saved. Saving all of RAM to a network server may be objectionable due to the long retrieval time over a network connection. Keeping all RAM powered may consume more power than desired. [0037]
  • The present invention saves time and power. Upon determination that a data processing system is entering sleep mode, a device driver determines the necessary characteristics the driver will need to return the device's current state. The driver, utilizing logic code provided by the invention, writes the characteristics to a serializable object and makes the object available for retrieval by the power manager. At entry into sleep mode, the power manager retrieves objects from the device drivers and serializes them to a specific location that may include persistent storage (disk drive) or volatile memory (including RAM, flash card, local low powered memory, etc.). [0038]
  • The power manager is aware of power levels for all devices and is best able to determine where, how and when to store the serializable objects to save power and minimize restoration time for the processing system. When sleep mode is ended, the power manager retrieves the stored objects and loads the objects to the proper devices. Other considerations that may be included in determining a save location are availability of hardware (limited RAM memory, no disk), power savings, network usage, reliability, administrator preference and so on. [0039]
  • It is important to note that while the present invention has been described in the context of a fully functional data processing system, those skilled in the art will appreciate that the mechanism of the present invention is capable of being distributed in the form of a computer readable medium of instructions in a variety of forms, and that the present invention applies equally, regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of computer readable media include: nonvolatile, hard-coded type media such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), recordable type media such as floppy disks, hard disk drives and CD-ROMs, and transmission type media such as digital and analog communication links. [0040]
  • While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. [0041]

Claims (19)

What is claimed is:
1. A method for storing and retrieving device state characteristics from a device driver within a data processing system, comprising the steps of:
determining said system should proceed to a sleep mode;
writing said characteristics to a serializable object;
retrieving said object;
storing said object to a location determined by a power manager to be an optimum storage location;
retrieving said object upon sensing a signal to end said sleep mode; and
restoring said characteristics to said device driver.
2. The method of
claim 1
, wherein writing said characteristics to an object, further comprises:
utilizing object oriented language within said device driver's operating code to write said characteristics to said serializable object.
3. The method of
claim 2
, further comprising;
said device driver writing device characteristics to said object that will return said device to a former state.
4. The method of
claim 3
, further comprising;
writing only characteristics necessary to returning said device to said former state.
5. The method of
claim 1
, wherein storing said object to a location determined by said power manager to be an optimum storage location, further comprising;
determining the requirements of said data processing system necessary to perform restoration in a minimal time period.
6. The method of
claim 5
, further comprising;
storing said object to a location appropriate to said requirements.
7. An apparatus for storing and retrieving device state characteristics from a device driver within a data processing system, comprising:
means for determining said system should proceed to a sleep mode;
logic means for writing said characteristics to a serializable object;
means for retrieving said object;
means for storing said object to a location determined by a power manager to be an optimum storage location;
means for retrieving said object upon sensing a signal to end said sleep mode; and
means for restoring said characteristics to said device driver.
8. The apparatus of
claim 7
, wherein means for retrieving device state characteristics from said device, further comprises:
logic means for writing characteristics of said device that will return said device to a former state.
9. The apparatus of
claim 8
, further comprising;
logic means for ignoring characteristics that are superfluous to returning said device to said former state.
10. The apparatus of
claim 7
, wherein means for writing said characteristics to an object, further comprises
means for utilizing object oriented language within said device driver's operating code to write said characteristics to an object.
11. The apparatus of
claim 7
, wherein means for storing said object to a location determined by said power manager to be an optimum storage location, further comprises;
means for determining the requirements of said data processing system necessary to perform restoration in a minimal time period.
12. The apparatus of
claim 11
, further comprises;
means for storing said object to a location appropriate to said requirements.
13. A computer program product within a computer readable medium, comprising:
instructions within said computer readable medium for determining said system should proceed to a sleep mode;
instructions within said computer readable medium for writing said characteristics to a serializable object;
instructions within said computer readable medium for retrieving said object;
instructions within said computer readable medium for storing said object to a location determined by a power manager to be an optimum storage location;
instructions within said computer readable medium for retrieving said object upon sensing a signal to end said sleep mode; and
instructions within said computer readable medium for loading said characteristics to said device driver.
14. The computer program product of
claim 13
, wherein instructions for retrieving device state characteristics from said device, further comprises;
instructions within said computer readable medium for writing characteristics of said device that will return said device to a former state.
15. The computer program product of
claim 14
, further comprising;
instructions within said computer readable medium for ignoring characteristics that are superfluous to returning said device to said former state.
16. The computer program product of
claim 13
, wherein instructions for writing said characteristics to an object, further comprises
instructions within said computer readable medium for said power manager's operating code to write said characteristics to a storage location.
17. The computer program product of
claim 13
, further comprising
instructions within said computer readable medium for utilizing said power manager operating code in determining an appropriate location for said object.
18. The computer program product of
claim 13
, wherein instructions for storing said object to a location determined by said power manager to be an optimum storage location, further comprises:
instructions within said computer readable medium for determining the requirements of said data processing system necessary to perform restoration in a minimal time period.
19. The computer program product of
claim 18
, further comprising;
instructions within said computer readable medium for storing said object to a location appropriate to said requirements.
US09/190,561 1998-11-12 1998-11-12 Method and apparatus for saving device state while a computer system is in sleep mode Expired - Lifetime US6324651B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/190,561 US6324651B2 (en) 1998-11-12 1998-11-12 Method and apparatus for saving device state while a computer system is in sleep mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/190,561 US6324651B2 (en) 1998-11-12 1998-11-12 Method and apparatus for saving device state while a computer system is in sleep mode

Publications (2)

Publication Number Publication Date
US20010001879A1 true US20010001879A1 (en) 2001-05-24
US6324651B2 US6324651B2 (en) 2001-11-27

Family

ID=22701848

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/190,561 Expired - Lifetime US6324651B2 (en) 1998-11-12 1998-11-12 Method and apparatus for saving device state while a computer system is in sleep mode

Country Status (1)

Country Link
US (1) US6324651B2 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175018A1 (en) * 2003-05-15 2005-08-11 Wong Yuen F. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US20090279558A1 (en) * 2002-05-06 2009-11-12 Ian Edward Davis Network routing apparatus for enhanced efficiency and monitoring capability
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US7738450B1 (en) 2002-05-06 2010-06-15 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7813367B2 (en) 2002-05-06 2010-10-12 Foundry Networks, Inc. Pipeline method and system for switching packets
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US7830884B2 (en) 2002-05-06 2010-11-09 Foundry Networks, Llc Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US7948872B2 (en) 2000-11-17 2011-05-24 Foundry Networks, Llc Backplane interface adapter with error control and redundant fabric
US7978702B2 (en) 2000-11-17 2011-07-12 Foundry Networks, Llc Backplane interface adapter
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
US8238255B2 (en) * 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
EP2502416A1 (en) * 2009-11-16 2012-09-26 Telefonaktiebolaget L M Ericsson (PUBL) Method, apparatus and computer program product for standby handling in a streaming media receiver
US20130124761A1 (en) * 2010-02-08 2013-05-16 David Elliott Method and apparatus for maintaining network communication during maintenance
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US20140047257A1 (en) * 2012-08-09 2014-02-13 Nvidia Corporation Power management techniques for usb interfaces
US8671219B2 (en) 2002-05-06 2014-03-11 Foundry Networks, Llc Method and apparatus for efficiently processing data packets in a computer network
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US20150309970A1 (en) * 2010-11-18 2015-10-29 Google Inc. State information in a stateless environment
US9652076B1 (en) 2012-10-15 2017-05-16 Famous Industries, Inc. Gesture fingerprinting
US9772889B2 (en) 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW374870B (en) * 1998-08-26 1999-11-21 Asustek Comp Inc UPS method of suspending, resuming and turning on computers
US6715013B1 (en) * 1999-08-16 2004-03-30 Hewlett-Packard Development Company, L.P. Bus system having improved control process
KR100603926B1 (en) * 1999-10-25 2006-07-24 삼성전자주식회사 Power supply control circuit for computer system having a plurality of power management states and control method of the same
USRE40866E1 (en) 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
KR100471056B1 (en) * 2000-11-18 2005-03-07 삼성전자주식회사 Computer system and Control method of Waiting mode for Computer system
US8122271B1 (en) 2000-12-14 2012-02-21 Cisco Technology, Inc. System, method, and device for providing secure operating environments for computer systems
US7065659B2 (en) * 2002-06-28 2006-06-20 Microsoft Corporation Power management architecture for defining component power states under a global power state and maintaining a power state floor for a specified component if a power state for the specified component under a new global power state is below the power state floor
US7055046B2 (en) * 2002-06-28 2006-05-30 Microsoft Corporation Power management architecture for defining component power states under a global power state and applying a new component power state when a new component power state is greater than a registered power state floor
EP1584020B1 (en) * 2003-01-13 2011-08-10 ARM Limited Data processing performance control
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
CN1327344C (en) * 2003-08-19 2007-07-18 英特尔公司 Bios for saving and restoring operational state in the absence of AC power
US8250406B2 (en) * 2003-08-19 2012-08-21 Intel Corporation Operational state preservation in the absence of AC power
US20060271798A1 (en) * 2005-05-31 2006-11-30 Sony Computer Entertainment America Inc. Configurable interrupt scheme for waking up a system from sleep mode
KR100598415B1 (en) * 2005-06-29 2006-07-10 삼성전자주식회사 Display apparatus and control method thereof
US20080129330A1 (en) * 2006-12-04 2008-06-05 International Business Machines Corporation Integrated Circuit Having State-Saving Input-Output Circuitry and a Method of Testing Such an Integrated Circuit
US20090115447A1 (en) * 2007-11-01 2009-05-07 International Business Machines Corporation Design Structure for an Integrated Circuit Having State-Saving Input-Output Circuitry and a Method of Testing Such an Integrated Circuit
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9269059B2 (en) * 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US8782386B2 (en) * 2010-09-24 2014-07-15 Microsoft Corporation Detecting state loss on a device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698748A (en) 1983-10-07 1987-10-06 Essex Group, Inc. Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity
US5218704A (en) 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
JPH04296954A (en) * 1991-03-26 1992-10-21 Hitachi Ltd Memory system
US5262998A (en) 1991-08-14 1993-11-16 Micron Technology, Inc. Dynamic random access memory with operational sleep mode
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5603038A (en) * 1994-09-07 1997-02-11 International Business Machines Corporation Automatic restoration of user options after power loss
DE69635409T2 (en) * 1995-03-06 2006-07-27 Intel Corp., Santa Clara A COMPUTER SYSTEM WITH UNBEATED ON-REQUEST AVAILABILITY
US5764999A (en) * 1995-10-10 1998-06-09 Cyrix Corporation Enhanced system management mode with nesting
US5974428A (en) * 1997-08-29 1999-10-26 International Business Machines Corporation Method and apparatus for class version naming and mapping

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948872B2 (en) 2000-11-17 2011-05-24 Foundry Networks, Llc Backplane interface adapter with error control and redundant fabric
US8514716B2 (en) 2000-11-17 2013-08-20 Foundry Networks, Llc Backplane interface adapter with error control and redundant fabric
US8619781B2 (en) 2000-11-17 2013-12-31 Foundry Networks, Llc Backplane interface adapter with error control and redundant fabric
US9030937B2 (en) 2000-11-17 2015-05-12 Foundry Networks, Llc Backplane interface adapter with error control and redundant fabric
US7995580B2 (en) 2000-11-17 2011-08-09 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7978702B2 (en) 2000-11-17 2011-07-12 Foundry Networks, Llc Backplane interface adapter
US7830884B2 (en) 2002-05-06 2010-11-09 Foundry Networks, Llc Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US8170044B2 (en) 2002-05-06 2012-05-01 Foundry Networks, Llc Pipeline method and system for switching packets
US20090279558A1 (en) * 2002-05-06 2009-11-12 Ian Edward Davis Network routing apparatus for enhanced efficiency and monitoring capability
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US8671219B2 (en) 2002-05-06 2014-03-11 Foundry Networks, Llc Method and apparatus for efficiently processing data packets in a computer network
US8989202B2 (en) 2002-05-06 2015-03-24 Foundry Networks, Llc Pipeline method and system for switching packets
US7813367B2 (en) 2002-05-06 2010-10-12 Foundry Networks, Inc. Pipeline method and system for switching packets
US8194666B2 (en) 2002-05-06 2012-06-05 Foundry Networks, Llc Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7738450B1 (en) 2002-05-06 2010-06-15 Foundry Networks, Inc. System architecture for very fast ethernet blade
US8811390B2 (en) 2003-05-15 2014-08-19 Foundry Networks, Llc System and method for high speed packet transmission
US20050175018A1 (en) * 2003-05-15 2005-08-11 Wong Yuen F. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US9461940B2 (en) 2003-05-15 2016-10-04 Foundry Networks, Llc System and method for high speed packet transmission
US8718051B2 (en) 2003-05-15 2014-05-06 Foundry Networks, Llc System and method for high speed packet transmission
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US9338100B2 (en) 2004-03-26 2016-05-10 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8493988B2 (en) 2004-03-26 2013-07-23 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7953922B2 (en) 2004-10-29 2011-05-31 Foundry Networks, Llc Double density content addressable memory (CAM) lookup scheme
US7953923B2 (en) 2004-10-29 2011-05-31 Foundry Networks, Llc Double density content addressable memory (CAM) lookup scheme
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US9378005B2 (en) 2005-12-28 2016-06-28 Foundry Networks, Llc Hitless software upgrades
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US9030943B2 (en) * 2006-11-22 2015-05-12 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US20120275294A1 (en) * 2006-11-22 2012-11-01 Foundry Networks, LLC. Recovering from failures without impact on data traffic in a shared bus architecture
US8238255B2 (en) * 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US9112780B2 (en) 2007-01-11 2015-08-18 Foundry Networks, Llc Techniques for processing incoming failure detection protocol packets
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
US8395996B2 (en) 2007-01-11 2013-03-12 Foundry Networks, Llc Techniques for processing incoming failure detection protocol packets
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US9166818B2 (en) 2009-09-21 2015-10-20 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
EP2502416A4 (en) * 2009-11-16 2013-05-01 Ericsson Telefon Ab L M Method, apparatus and computer program product for standby handling in a streaming media receiver
US8868704B2 (en) 2009-11-16 2014-10-21 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus and computer program product for standby handling in a streaming media receiver
EP2502416A1 (en) * 2009-11-16 2012-09-26 Telefonaktiebolaget L M Ericsson (PUBL) Method, apparatus and computer program product for standby handling in a streaming media receiver
US20130124761A1 (en) * 2010-02-08 2013-05-16 David Elliott Method and apparatus for maintaining network communication during maintenance
US20150309970A1 (en) * 2010-11-18 2015-10-29 Google Inc. State information in a stateless environment
US20140047257A1 (en) * 2012-08-09 2014-02-13 Nvidia Corporation Power management techniques for usb interfaces
US9395799B2 (en) * 2012-08-09 2016-07-19 Nvidia Corporation Power management techniques for USB interfaces
US9652076B1 (en) 2012-10-15 2017-05-16 Famous Industries, Inc. Gesture fingerprinting
US9772889B2 (en) 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
US10521249B1 (en) 2012-10-15 2019-12-31 Famous Industries, Inc. Gesture Fingerprinting
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents

Also Published As

Publication number Publication date
US6324651B2 (en) 2001-11-27

Similar Documents

Publication Publication Date Title
US6324651B2 (en) Method and apparatus for saving device state while a computer system is in sleep mode
US6243831B1 (en) Computer system with power loss protection mechanism
US6336161B1 (en) Computer configuration system and method with state and restoration from non-volatile semiconductor memory
US6237103B1 (en) Power sequencing in a data processing system
US5937433A (en) Method of controlling hard disk cache to reduce power consumption of hard disk drive used in battery powered computer
US6148408A (en) Adjusting software characteristics based upon battery level and the amount of time the user wants the battery to last
US5898880A (en) Power saving apparatus for hard disk drive and method of controlling the same
US6134616A (en) Method and apparatus for dynamic re-enumeration and reconfiguration of computer devices after system hibernation
US5632038A (en) Secondary cache system for portable computer
US6438668B1 (en) Method and apparatus for reducing power consumption in a digital processing system
US5784628A (en) Method and system for controlling power consumption in a computer system
CA2070982C (en) Apparatus and method for suspending and resuming software applications on a computer
US5386552A (en) Preservation of a computer system processing state in a mass storage device
US6647472B2 (en) Fast suspend to disk
EP1351146A1 (en) Power management system and method with recovery after power failure
US20060075185A1 (en) Method for caching data and power conservation in an information handling system
CA2070958C (en) Apparatus and method for suspending and resuming software applications on a computer
US6212642B1 (en) Management of data before zero volt suspend in computer power management
EP0518622B1 (en) Apparatus and method for suspending and resuming software on a computer
US5778443A (en) Method and apparatus for conserving power and system resources in a computer system employing a virtual memory
PL193918B1 (en) Information handling system with an interrupt/resume operation
US5680540A (en) Suspend-to-disk system for removable hard drive
US20030070065A1 (en) Suspending to nonvolatile storage
US7096299B2 (en) Method and apparatus for transferring system context information between mobile computer and base station
EP1037133A1 (en) Method and apparatus for alternation between instances of operating systems in computer systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KUBIK, JOSEPH;ROGALSKI, MARK D.;SMITH, JOEL L.;REEL/FRAME:009585/0885;SIGNING DATES FROM 19981022 TO 19981111

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: LENOVO (SINGAPORE) PTE LTD.,SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507

Effective date: 20050520

Owner name: LENOVO (SINGAPORE) PTE LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507

Effective date: 20050520

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: LENOVO PC INTERNATIONAL, HONG KONG

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:LENOVO (SINGAPORE) PTE LTD.;REEL/FRAME:037160/0001

Effective date: 20130401