IP Library Granted Patent US 8,832,693
Granted Patent B2
US 8,832,693 · App. 13/097,162 · Granted Sep 9, 2014

Runtime virtual process creation for load sharing

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 8,832,693
App. No.
13/097,162
Granted
Sep 9, 2014
Kind
B2
Abstract

Methods and systems for managing execution of processes in virtual environments are disclosed. One method includes creating a virtual process from a process executing on a first virtual machine, and transferring the virtual process from the first virtual machine to a second virtual machine. The method also includes executing the virtual process on the second virtual machine, and, after the virtual process completes, removing the virtual process from the second virtual machine.

Claims (36)

1. A method of managing execution of processes in a plurality of virtual environments, the method comprising:

creating a virtual process from a process executing on a first virtual machine;

transferring the virtual process from the first virtual machine to a second virtual machine;

executing the virtual process on the second virtual machine;

after the virtual process completes, removing the virtual process from the second virtual machine.

2. The method of claim 1 , further comprising, which executing the virtual process on the second virtual machine, synchronizing the virtual process with a second virtual process executing on the first virtual machine.

3. The method of claim 1 , wherein the virtual process includes an image in memory of status information describing operation of the process executing on the first virtual machine.

4. The method of claim 3 , wherein creating the virtual process includes capturing a snapshot of the process.

5. The method of claim 4 , further comprising storing the snapshot in a snapshot file.

6. The method of claim 1 , further comprising determining that the first virtual machine lacks sufficient resources to execute or complete the process.

7. The method of claim 1 , wherein creating the virtual process occurs during runtime of the process on the first virtual machine.

8. The method of claim 1 , wherein creating the virtual process is performed upon detecting, at the first virtual machine, that the process is to be paged out to disk memory.

9. The method of claim 1 , wherein the virtual process includes a copy of one or more file handles associated with the process.

10. The method of claim 1 , wherein the virtual process includes information regarding ownership of one or more ports by the process.

11. The method of claim 1 , wherein the first virtual machine and the second virtual machine execute on separate central processing units.

12. The method of claim 1 , wherein the first virtual machine and the second virtual machine execute on separate computing systems.

13. The method of claim 1 , wherein the virtual process is an application process.

14. The method of claim 13 , wherein the application process lacks operating system software.

15. The method of claim 1 , wherein transferring the virtual process from the first virtual machine to the second virtual machine includes loading status registers of the second virtual machine with values set by the process from the first virtual machine.

16. A runtime virtual process creation system comprising:

a first computing system including a memory operatively connected to a programmable circuit, the computing system configured to host a first virtual machine, the first virtual machine including a process executing thereon;

a second computing system including a memory operatively connected to a programmable circuit, the computing system configured to host a second virtual machine;

a virtual process creation tool configured to create a virtual process from the process executing on the first virtual machine and transfer the virtual process to the second virtual machine

wherein the second virtual machine is configured to execute the virtual process, and after the virtual process completes, remove the virtual process from the second virtual machine.

17. The runtime virtual process creation system of claim 16 , wherein the virtual process creation tool is configured to capture a snapshot of the process.

18. The runtime virtual process creation system of claim 16 , wherein the virtual process includes a copy of one or more file handles associated with the process.

19. The runtime virtual process creation system of claim 16 , wherein the virtual process creation tool executes on an administrative system remote from the first and second computing systems.

20. The runtime virtual process creation system of claim 16 , wherein the virtual process creation tool executes on at least one of the first and second computing systems.

21. A method of creating a virtual process at runtime, the method comprising:

detecting, in a first virtual machine operating on a first computing system, a process to be paged out from main memory;

creating a virtual process from the process including a snapshot of resources associated with the process;

transferring the virtual process from the first virtual machine to a second virtual machine on a second computing system;

executing the virtual process on the second virtual machine; and

synchronizing execution of the virtual process on the second virtual machine with execution of one or more processes on the first virtual machine.

22. The method of claim 21 , further comprising, after the virtual process completes, removing the virtual process from the second virtual machine.

23. The method of claim 21 , wherein the first computing system and the second computing system each include a memory and a microprocessor communicatively connected to the memory, and wherein the first computing system is separate from the second computing system.

Assignments (11)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
SECURITY INTEREST Recorded Nov 4, 2014
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 034096/0984 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2014
From: MANDRE, SATEESH
To: UNISYS CORPORATION
Reel/Frame 033255/0900 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Aug 2, 2011
From: UNISYS CORPORATION
To: DEUTSCHE BANK NATIONAL TRUST COMPANY
Reel/Frame 026688/0081 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →