# US 8,789,034 B1 · Method for updating operating system without memory reset

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,789,034 B1
- Document ID: US8789034B1
- Status: Granted
- Kind: B1
- Application number: 13/716,309
- Filed: 2012-12-17
- Granted: 2014-07-22
- Earliest claimed: 2011-12-31
- Assignees: Parallels IP Holdings GmbH
- Applicants: Pavel Emelyanov; Alexander G. Tormasov
- Inventors: Pavel Emelyanov; Alexander G. Tormasov
- Web page: https://patentgrep.com/patent/US8789034B1

## CPC

- G06F 8/656: while running
- G06F 9/4406: {Loading of operating system}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer system has an OS running on it. The computer system has Virtual Execution Environments (VEEs—containers or Virtual Machines), an old OS (to be replaced), a memory area which has data needed for system restart and restore from the VEE. The VEEs are moved into snapshot and a new OS is loaded into the memory. The new OS launches and receives data needed for restore of the system from the snapshot. Then, the new OS activates the VEEs. Thus, the new OS is reloaded onto the computer system without a physical memory reset.

## Claims

### Claim 1

A computer-implemented method for updating an operating system (OS) without a memory reset, the method comprising:
launching Virtual Execution Environments (VEEs) on a host OS of a computer system, the VEEs data is stored in a memory;
generating snapshots of the VEEs by the host OS;
loading a new OS onto the computer system;
giving control to the new OS;
verifying the VEE snapshots by the new OS;
re-launching the VEEs on the new OS; and
using a designated component to restore restoring the VEE data from the snapshots into the memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the VEEs are containers.

### Claim 3 (depends on 1)

The method of claim 1, wherein the VEEs are Virtual Machines (VMs).

### Claim 4 (depends on 1)

The method of claim 1, further comprising transferring VEE files to a file system cache and restoring the files from the file system cache upon transferring control to the new OS.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
creating a temporary file system filled with blank blocks;
transferring a kernel state into the temporary file system; and
restoring the kernel state upon transferring control to the new OS.

### Claim 6 (depends on 1)

The method of claim 1, further comprising using VEE checkpoints.

### Claim 7 (depends on 1)

The method of claim 1, wherein verification of the VEE snapshots is performed using digital signatures.

### Claim 8 (depends on 1)

The method of claim 1, wherein verification of the VEE snapshots is performed using checksums.

### Claim 9 (depends on 1)

The method of claim 1, wherein the VEE snapshots are compressed.

### Claim 10

A system for updating an operating system without a memory reset, the system comprising:
a processor;
a memory coupled to the processor;
a computer program logic stored in the memory and executed on the processor, the computer program logic for implementing the steps of:
launching Virtual Execution Environments (VEEs) on a host OS of a computer system, the VEEs data is stored in a memory;
generating snapshots of the VEEs by the host OS;
loading a new OS onto the computer system;
giving control to the new OS;
verifying the VEE snapshots by the new OS;
re-launching the VEEs on the new OS; and
using a designated component to restore the VEE data from the snapshots into the memory.
