IP Library Granted Patent US 9,448,786
Granted Patent B1
US 9,448,786 · App. 14/746,870 · Granted Sep 20, 2016

Method for updating operating system without memory reset

Inventors: Pavel Emelyanov (Moscow, RU); Alexander G. Tormasov (Moscow, RU)
Assignee: Parallels IP Holdings GmbH
G06F8/67G06F9/4406
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,448,786
App. No.
14/746,870
Granted
Sep 20, 2016
Kind
B1
Abstract

The invention relates to a computer-implemented method for updating an operating system (OS) without a memory reset. The method includes launching a Virtual Execution Environment (VEE) under a host OS of a computer system. The VEE can be a VM or a Container. Next, a snapshot of the VEE is generated, including snapshotting user process data, of any processes that run under the VEE. A new OS is loaded onto the computer system, and control is given to the new OS without performing the memory reset. It is ensured that the user process data that is part of the snapshot is unaffected by the loading of the new OS and that the user process data remains in its original location. The VEE is re-launched under the new OS. User process data is restored from the snapshot into a random access memory.

Claims (38)

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, of any processes that run under the VEE;

loading a new OS onto the computer system;

giving control to the new OS without performing the memory reset;

ensuring that the user process data that is part of the snapshot 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

restoring the user process data from the snapshot into a random access memory.

2. The method of claim 1 , wherein the restoring step utilizes a designated kernel space component.

3. The method of claim 1 , wherein an OS object model is used to generate the snapshot.

4. The method of claim 1 , wherein the restoring step utilizes a user space component.

5. The method of claim 1 , wherein an OS API is used to generate the snapshot.

6. The method of claim 1 , wherein the VEE is a container.

7. The method of claim 1 , wherein the VEE is a Virtual Machine (VM).

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

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

10. The method of claim 1 , further comprising using VEE checkpoints to perform the restoring.

11. The method of claim 1 , wherein the ensuring is performed using checksums to ensure that the new OS has not overwritten memory pages where the snapshot is located.

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

13. The method of claim 1 , wherein the user process data is located in a random access memory.

14. The method of claim 1 , further comprising giving control to the new OS after the loading of the new OS.

15. The method of claim 1 , further comprising using signatures to ensure that the new OS has not overwritten memory pages where the snapshot is located.

16. The method of claim 1 , further comprising making memory pages where the snapshot is located invisible to the new OS.

17. The method of claim 1 , further comprising write-protecting memory pages where the snapshot is located.

18. 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, of any processes that run under the VEE;

loading a new OS onto the computer system;

giving control to the new OS without performing the memory reset;

ensuring that the user process data that is part of the snapshot 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

restoring the user process data from the snapshot into a random access 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 Jun 23, 2015
From: EMELYANOV, PAVEL; TORMASOV, ALEXANDER G.
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 035879/0937 →
Continuity (3)
Continuation 14337384 · Jul 22, 2014
Continuation 13716309 · Dec 17, 2012
Provisional Application 61582263 · Dec 31, 2011