Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
Abstract
A method to reduce and thereby improve the initial program load time of a computing apparatus operating system and thus provides for near instantaneous user interaction. When practicing the instant invention, a computing apparatus operating system or application processing component is loaded neither sequentially nor completely, but rather on an as required basis. The invention's “required only” loading of processing components persist through subsequent operation and shut down of the computing apparatus with each loaded task creating a checkpoint record of processing modifications to non-volatile memory. Such checkpointing allows shut down processing of the apparatus to consist of merely flushing memory buffers in the apparatus checkpointed non-volatile memory of the apparatus to permanent storage and powering off of the apparatus, with subsequent initial program load (IPL) sequencing referencing the checkpointed records to minimize future system initialization elapsed time.
Claims
exact text as granted — not AI-modified1. A method for loading an operating system of a computing apparatus, comprising:
initiating execution of an initialization routine specific to said computing apparatus;
validating not more than substantially a portion of RAM sufficient to load at least the required portion of the initialization routine;
loading into RAM at least the required portion of the initialization routine;
reading a file to identify the programs that are minimally essential to startup processing components and tasks of high priority to said computing apparatus;
verifying not more than substantially a portion of the remaining RAM sufficient to load into the RAM at least the system and application program that are minimally essential to startup processing components prior to loading into the RAM the programs that are minimally essential to said computing apparatus;
selectively retrieving and executing said identified startup processing components based on the priority of execution;
appending to and recording in a device dependent audit reference the most recent first occurrences of operating system and application program processing component execution;
interrogating said program dependent audit reference to identify application programs that are minimally essential to said computing apparatus;
loading into RAM the highest occurrence application program at startup if the system is idle and the user has not requested an application program to start; and,
recording in the above audit file the first application program the user requests.
2. The method of claim 1 further comprising the step of continuing to verify RAM as needed by the system.
3. The method of claim 1 further comprising the steps of passing dispatching control to the system and application program processing components to effectuate normal apparatus operation.
4. The method of claim 1 wherein the minimally essential application program is the user interface.
5. The method of claim 1 wherein errors produced due to the RAM validation are recorded and the RAM is marked as unusable.
6. The method of claim 1 wherein the shutdown time of the computing apparatus is reduced by allowing the computing apparatus sufficient capacitance to perform system maintenance, prevent data loss, and provide smooth almost instantaneous shutdown.
7. The method of claim 1 wherein said computing apparatus is a network equipment.
8. The method of claim 1 wherein said computing apparatus is a personal computer.
9. The method of claim 1 wherein said computing apparatus is an MP3 player.
10. A computing apparatus, comprising:
RAM;
an operating system;
a processing unit that utilizes the RAM; and
an initialization routine specific to the computing apparatus and executed during boot-up by the processing unit that causes the processing unit to (1) identify system and application programs that are minimally essential to startup processing components and tasks of high priority to said computing apparatus, (2) verify not more than substantially a portion of the RAM sufficient to load system and application programs that are minimally essential to startup processing components and tasks of high priority to said computing apparatus into the verified RAM and (3) load at least system and application programs that are minimally essential to startup in the verified RAM;
means for appending to and recording in a device dependent audit reference the most recent first occurrences of operating system and application program processing component execution;
means for interrogating said device dependent audit reference to identify system and application programs that are minimally essential to startup processing components and tasks of high priority to said computing apparatus;
means for loading into RAM the highest occurrence application program at startup if the system is idle and the user has not requested an application program to start; and,
means for recording in the above audit file the first application the user requests.
11. The computing apparatus of claim 10 wherein RAM validation continues as needed by the system.
12. The computing apparatus of claim 10 wherein the initialization routine dispatches control to the system and application program processing components to effectuate normal apparatus operation.
13. The computing apparatus of claim 10 wherein the application program that is minimally essential to startup processing components and tasks of high priority to said computing apparatus is the user interface.
14. The computing apparatus of claim 10 further comprising means for recording errors produced due to the RAM validation; and means for marking the RAM as unusable.
15. The computing apparatus of claim 10 , further comprising means for reducing shutdown time is reduced by allowing the computing apparatus sufficient capacitance to perform system maintenance, prevent data loss, and provide smooth almost instantaneous shutdown.
16. The computing apparatus of claim 10 wherein the computing apparatus is a network equipment.
17. The computing apparatus of claim 10 wherein said computing apparatus is a personal computer.
18. The computing apparatus of claim 10 wherein said computing apparatus is an MP3 player.
19. A method for shutting down a computer apparatus, the method comprising:
updating a history table to indicate a first number of user request tasks, wherein the history table includes previous information of a cumulative history of user's actions at a startup of the computer apparatus; receiving one of a user interrupt and a power loss interrupt, wherein the user interrupt corresponds to a request to shut down the computer apparatus, and wherein the power loss interrupt corresponds to an immediate shutdown of the computer apparatus; and saving the history table in a non-volatile memory, where in response to a subsesquent startup of the computer apparatus, the indicated first number of user request tasks are executed.
20. The method of claim 19, further comprising:
performing a final write of a plurality of memory buffers to the non-volatile memory.
21. The method of claim 19, wherein a log file is maintained for a first one of a plurality of operating systems and application programs executing in the computer apparatus, and further comprising:
performing a final write of the log file to the non-volatile memory.
22. A method for shutting down a router, the method comprising:
periodically updating a history table in a nonvolatile random access memory (NVRAM) to indicate at least one highest traffic interface; receiving one of a user interrupt and a power loss interrupt, wherein the user interrupt corresponds to a request to shut down the computer apparatus, and wherein the power loss interrupt corresponds to an immediate shutdown of the computer apparatus; and saving the history table in a nonvolatile random access memory (NVRAM), where in response to a subsequent startup of the router, at least one interface operation task of the indicated at least one highest traffic interface is given highest priority over at least one other interface operation task during the subsequent startup.
23. The method of claim 22, wherein updating the history table comprises:
information sufficient to identify a type of routing layer protocol used by the at least one highest traffic interface.
24. A method for shutting down a hand held personal device, the method comprising:
updating a history table to indicate a first number of user function buttons, wherein the history table includes information identifying at least one first used function button selected by the user during startup; receiving one of a user interrupt and a power loss interrupt, wherein the user interrupt corresponds to a request to shut down the computer apparatus, and wherein the power loss interrupt corresponds to an immediate shutdown of the computer apparatus; and saving the history table in a non-volatile memory, where in response to a subsequent startup of the computer apparatus, a task associated with the indicated at least one first used function button is loaded.
25. The method of claim 24, wherein the hand held personal device is a music player, wherein the function buttons correspond to stored songs, and wherein the task associated with the indicated at least one first used function button is playing a song corresponding to at least one of a last played song and a most frequently played song identified in the history table.
26. The method of claim 24, wherein the hand held personal device is a cell phone, wherein the function buttons correspond to phone numbers, and wherein the task associated with the indicated at least one first used function button is loading a directory of phone numbers identified in the history table.
27. The method of claim 24, wherein the hand held personal device is a game player, wherein the function buttons correspond to played games, and wherein the task associated with the indicated at least one first used function button is playing a game corresponding to at least one of a last played game and a most frequently played game identified in the history table.Join the waitlist — get patent alerts
Track USRE42936E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.