Patent ID: 6928579

Claim:
A method for recovering from startup and runtime failures of a software system in a computer environment including a client device, comprising the steps of: (a) providing a persistent memory in the client device including at least first and second system partitions and at least one package partition, wherein runtime components of the software system are installed on the first and second system partitions and all installed software packages of the software system are saved on the at least one package partition; (b) designating one of the first and second system partitions as a current system partition and the other of the first and second system partitions as a backup system partition; (c) using the current system partition by a central processing unit of the client device for controlling the client device; (d) rebooting the software system of the client device using the backup system partition in response to one of an startup failure, a runtime failure of the software system of the client device, and a user request; (e) designating the backup system partition as the new current system partition; (f) creating a new backup system partition from the new current system partition; and (g) reinstalling the entire software system by installing all of the software packages residing on the at least one package partition after said step (f).