IP Library Granted Patent US 9,063,821
Granted Patent B1
US 9,063,821 · App. 14/337,384 · Granted Jun 23, 2015

Method for updating operating system without memory reset

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 9,063,821
App. No.
14/337,384
Granted
Jun 23, 2015
Kind
B1
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 (40)

1. A computer-implemented method for updating an operating system (OS) without a memory reset, the method comprising:

launching a Virtual Execution Environment (VEE) under a host OS of a computer system;

generating a snapshot of the VEE, including snapshotting user process data that is located in a random access memory, of any processes that run under the VEE;

loading a new OS onto the computer system;

giving control to the new OS;

ensuring that the user process data that is part of the snapshot of the VEE is unaffected by the loading of the new OS and that the user process data remains in its original location;

re-launching the VEE under the new OS; and

using a designated component to restore the user process data from the snapshot into the memory.

2. The method of claim 1 , wherein the designated component is a kernel space component and uses OS object model to generate the snapshot.

3. The method of claim 1 , wherein the designated component is a user space component and uses OS API to generate the snapshot.

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

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

6. 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.

7. 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.

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

9. The method of claim 1 , wherein the ensuring is performed using digital signatures.

10. The method of claim 1 , wherein the ensuring is performed using checksums.

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

12. 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 a Virtual Execution Environment (VEE) under a host OS of a computer system;

generating a snapshot of the VEE, including snapshotting user process data that is located in a random access memory, of any processes that run under the VEE;

loading a new OS onto the computer system;

giving control to the new OS;

ensuring that the user process data that is part of the snapshot of the VEE is unaffected by the loading of the new OS and that the user process data remains in its original location;

re-launching the VEE under the new OS; and

using a designated component to restore the user process data from the snapshot into the memory.

13. A non-transitory computer-useable storage medium storing computer code for implementing the steps of:

launching a Virtual Execution Environment (VEE) under a host OS of a computer system;

generating a snapshot of the VEE, including snapshotting user process data that is located in a random access memory, of any processes that run under the VEE;

loading a new OS onto the computer system;

giving control to the new OS;

ensuring that the user process data that is part of the snapshot of the VEE is unaffected by the loading of the new OS and that the user process data remains in its original location;

re-launching the VEE under the new OS; and

using a designated component to restore the user process data from the snapshot into the memory.

Assignments (3)
SECURITY INTEREST IN TRADEMARK, PATENT, AND COPYRIGHT RIGHTS Recorded Dec 22, 2022
From: VIRTUOZZO INTERNATIONAL GMBH; ONAPP LIMITED
To: WILMINGTON TRUST (LONDON) LIMITED
Reel/Frame 062206/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: PARALLELS IP HOLDINGS GMBH
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 045179/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: TORMASOV, ALEXANDER G.; EMELYANOV, PAVEL
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 033361/0682 →