IP Library Granted Patent US 8,543,803
Granted Patent B2
US 8,543,803 · App. 12/389,892 · Granted Sep 24, 2013

Apparatus, system, and method for accurate automated scheduling of computer suspend and resume

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,543,803
App. No.
12/389,892
Granted
Sep 24, 2013
Kind
B2
Abstract

An apparatus, system, and method are disclosed for suspend-resume scheduling in conjunction with an operation requiring a suspend-resume cycle of a computer 200 , including updating, for purposes of system configuration management, a non-volatile memory 506 , such as an electrically erasable programmable read-only memory (“EEPROM”) 702 . A control module 402 sends 806 a request to update the EEPROM 702 . A suspend module 404 suspends 818 an operating system 204 . A standby module 406 prepares 904 the computer 200 to enter a standby state, estimates 914 a sufficient amount of time to enter the standby state, places 916 the estimate into an alarm register 608 , and then enters 918 the standby state. An update module 308 exits 1004 the standby state in response to an alarm signal 612 , receives the request if present 1008 , writes 1012 the EEPROM 702 with the updated information, and resumes 1018 the operating system 204.

Claims (78)

1. An apparatus comprising:

a control module that sends a request for an operation requiring a suspend-resume cycle of a computer;

a suspend module activated by the control module that suspends an operating system of the computer; and

a standby module activated by the suspend module and responsive to the request from the control module that

prepares to enter a standby state of the computer,

estimates a sufficient amount of time for the computer to transition to the standby state,

adjusts an alarm of the computer to wake the computer out of the standby state when the sufficient amount of time elapses, and

enters the standby state

wherein the control module, the suspend module, and the standby module comprise one or more of logic hardware and executable code, the executable code stored on one or more non-transitory computer-readable media devices.

2. The apparatus of claim 1 , wherein the control module comprises an application.

3. The apparatus of claim 1 , wherein the suspend module comprises a utility of the operating system.

4. The apparatus of claim 3 , wherein the standby module comprises a utility of firmware.

5. The apparatus of claim 4 , further comprising a communication module that conveys the request from the operating system to the firmware.

6. The apparatus of claim 1 , further comprising an update module that

exits the standby state in response to the alarm,

receives the request,

updates a non-volatile memory of the computer, and

resumes the operating system.

7. A system comprising:

a computer having an operating system and firmware;

a control module that sends a request to update a non-volatile memory of the computer;

a communication module that conveys the request from the operating system to the firmware;

a suspend module activated by the control module that suspends the operating system;

a standby module activated by the suspend module and responsive to the request from the control module that

prepares to enter a standby state of the computer,

estimates a sufficient amount of time for the computer to transition to the standby state,

adjusts an alarm of the computer to wake the computer out of the standby state when the sufficient amount of time elapses, and

enters the standby state; and

an update module that

exits the standby state in response to the alarm,

receives the request,

updates the non-volatile memory, and

resumes the operating system

wherein the control module, the suspend module, and the standby module comprise one or more of logic hardware and executable code, the executable code stored on one or more non-transitory computer-readable media devices.

8. The system of claim 7 , further comprising a mailbox, accessible both to the operating system and the firmware, through which the request is conveyed by the communication module.

9. The system of claim 8 , wherein the communication module utilizes a system management interrupt to access the mailbox.

10. The system of claim 7 , wherein the non-volatile memory comprises an electrically erasable programmable read-only memory.

11. The system of claim 10 , wherein the electrically erasable programmable read-only memory stores hardware configuration settings.

12. The system of claim 7 , wherein a real-time clock comprises the alarm.

13. A computer program product comprising a non-transitory computer readable medium having computer usable program code executable to perform operations, the operations of the computer program product comprising:

sending a request to update a non-volatile memory of a computer;

suspending an operating system of the computer;

preparing to enter a standby state of the computer;

estimating a sufficient amount of time for the computer to transition to the standby state;

adjusting an alarm of the computer to wake the computer out of the standby state when the sufficient amount of time elapses;

entering the standby state;

exiting the standby state in response to the alarm;

receiving the request;

updating the non-volatile memory; and

resuming the operating system.

14. The computer program product of claim 13 , wherein the request is conveyed through a mailbox.

15. The computer program product of claim 13 , further comprising an operation of presetting the alarm to a high time value having a unique signature.

16. The computer program product of claim 15 , wherein the unique signature indicates the existence of the request.

17. The computer program product of claim 13 , wherein the operation of updating comprises:

unlocking the non-volatile memory;

writing the non-volatile memory as specified by the request; and

locking the non-volatile memory.

18. A machine-implemented method comprising the steps of:

preparing to enter a standby state of a computer;

estimating a sufficient amount of time for the computer to transition to the standby state;

adjusting an alarm of the computer to wake the computer out of the standby state when the sufficient amount of time elapses; and

entering the standby state.

19. The method of claim 18 , further comprising the steps of:

sending a request to update a non-volatile memory of the computer; and

suspending an operating system of the computer.

20. The method of claim 19 , further comprising a step of presetting the alarm to a high time value having a unique signature.

21. The method of claim 20 , wherein the unique signature indicates existence of the request.

22. The method of claim 19 , wherein the step of suspending further comprises saving data and status information of the operating system.

23. The method of claim 18 , further comprising the steps of:

exiting the standby state in response to the alarm;

receiving the request;

updating the non-volatile memory; and

resuming the operating system.

24. The method of claim 23 , wherein the step of updating comprises:

unlocking the non-volatile memory;

writing the non-volatile memory as specified by the request; and

locking the non-volatile memory.

25. The method of claim 23 , wherein the step of resuming further comprises restoring data and status information of the operating system.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2019
From: LENOVO (SINGAPORE) PTE. LTD.
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 049678/0824 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 4, 2015
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL
Reel/Frame 037211/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2009
From: ESTROFF, JEFFREY MARK; HAGIWARA, MIKIO; HOFF, JAMES PATRICK; KAWANO, SEIICHI; SPRINGFIELD, RANDALL SCOTT
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 022593/0470 →