IP Library Granted Patent US 9,588,787
Granted Patent B2
US 9,588,787 · App. 14/452,898 · Granted Mar 7, 2017

Runtime virtual process creation for load sharing

Inventor: Sateesh Mandre (Bangalore, IN)
Assignee: Unisys Corporation
G06F9/455G06F9/45558G06F9/4856G06F9/5083G06F2009/4557
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,588,787
App. No.
14/452,898
Granted
Mar 7, 2017
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 (38)

1. A method of managing execution of a process in a virtual environment, the method comprising:

creating a virtual process based on a snapshot of a process hosted on a first virtual machine of a host platform;

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

after resumed execution of the virtual process complete at the second virtual machine, receiving synchronized data from the second virtual machine at the first virtual machine.

2. The method of claim 1 , wherein the synchronized data is used by the first virtual machine to update results of the process.

3. The method of claim 1 , further comprising, after transferring the virtual process to the second virtual machine, suspending further execution of the process on the first virtual machine until resumed execution of the virtual process is completed.

4. The method of claim 1 , wherein the virtual process is further based on one or more external resources associated with the process, the one or more external resources selected from the group consisting of a file handle, a register, and a port.

5. The method of claim 1 , wherein the first virtual machine and the second virtual machine execute on the host platform.

6. The method of claim 1 , wherein transferring the virtual process from the first virtual machine to a second virtual machine comprises transmitting the virtual process from a first computing system to a second computing system.

7. The method of claim 6 , wherein the first computing system comprises a server system and the second computing system comprises a client system.

8. The method of claim 1 , wherein the snapshot is based at least in part on a swap file generated by the first virtual machine of the host platform.

9. The method of claim 1 , further comprising, after creating the virtual process, deleting a process control block associated with the process on the first virtual machine.

10. The method of claim 9 , further comprising building a new process control block in the first virtual machine indicating ownership of the virtual process by the first virtual machine.

11. The method of claim 10 , further comprising transmitting the new process control block to the second virtual machine.

12. The method of claim 1 , further comprising:

receiving the virtual process at the second virtual machine;

resuming executing the virtual process on the second virtual machine; and

after resumed execution of the virtual process completes, transmitting synchronized data from the second virtual machine to the first virtual machine.

13. A method of managing execution of a process in a virtual environment, the method comprising:

receiving a virtual process from a first virtual machine at a second virtual machine, the virtual process based on a snapshot of a process hosted on a first virtual machine and the second virtual machine hosted on a host platform;

resuming executing the virtual process on the second virtual machine; and

after resumed execution of the virtual process completes, transmitting synchronized data from the second virtual machine to the first virtual machine.

14. The method of claim 13 , further comprising, after execution of the virtual process completes, removing the virtual process from the second virtual machine.

15. A virtualization system comprising:

a host computing system;

a first virtual machine executing on the host computing system and hosting a process;

a process tool executing on the host computing system, the process tool including program instructions which, when executed, cause the host computing system to:

create a virtual process based on a snapshot of a process hosted on the first virtual machine; and

transfer the virtual process from the first virtual machine to a second virtual machine; and

wherein, after resumed execution of the virtual process completes at the second virtual machine, the first virtual machine receives synchronized data from the second virtual machine.

16. The virtualization system of claim 15 , wherein the second virtual machine:

receives the virtual process from a first virtual machine;

resumes executing the virtual process on the second virtual machine; and

after resumed execution of the virtual process completes, transmits synchronized data to the first virtual machine.

17. The virtualization system of claim 16 , further comprising a second host computing system hosting the second virtual machine, the second host computing system communicatively connected to the first host computing system.

18. The virtualization system of claim 15 , further comprising the second virtual machine, wherein the second virtual machine executes on the host computing system.

19. The virtualization system of claim 15 , wherein the process comprises a user-level application executing within the first virtual machine and hosted by an operating system within the first virtual machine.

20. The virtualization system of claim 15 , wherein the process tool is further configured to transfer the virtual process from the first virtual machine to a third virtual machine separate from the second virtual machine.

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 044416/0114 →
SECURITY INTEREST Recorded Oct 12, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK NA
Reel/Frame 043852/0145 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
SECURITY INTEREST Recorded Aug 3, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, AS AGENT
Reel/Frame 043186/0924 →
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 Aug 6, 2014
From: MANDRE, SATEESH
To: UNISYS CORPORATION
Reel/Frame 033481/0885 →
Continuity (2)
Continuation 13097162 · Apr 29, 2011
Related Publication 20140351813A1 · Nov 27, 2014