IP Library › Granted Patent US 9,342,338
Granted Patent B2
US 9,342,338 · App. 14/514,902 · Granted May 17, 2016

Application migration in a process virtual machine environment

Inventors: Martin Vecera (Brno, CZ); Jiri Pechanec (Mokra-Horakov, CZ)
Assignee: Red Hat, Inc.
G06F9/45533
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,342,338
App. No.
14/514,902
Granted
May 17, 2016
Kind
B2
Abstract

A mechanism for migrating an application in a process virtual machine environment. A method includes pausing execution of an application in a source process virtual machine (PVM). The method also includes recording a state of the source PVM at a time of the pausing of the execution of the application. The method further includes copying the recorded state of the source PVM into a destination PVM, wherein the destination PVM resumes the execution of the application using the recorded state.

Claims (37)

1. A method, comprising:

pausing, by a processing device, an execution of an application in a source process virtual machine (PVM) among a plurality of PVMs;

recording, by the processing device, a state of the source PVM at a time of the pausing of the execution of the application;

selecting, by the processing device, a destination PVM among the plurality of PVMs in view of an availability of amount of utilization of each of the plurality of PVMs; and

copying, by the processing device, the recorded state of the source PVM into the selected destination PVM, wherein the selected destination PVM resumes the execution of the application using the recorded state.

2. The method of claim 1 further comprising creating a process in the selected destination PVM.

3. The method of claim 2 , wherein the created process executes the application in the selected destination PVM in view of the copied recorded state of the source PVM.

4. The method of claim 3 wherein the execution of the paused application in the source PVM is resumed by the application in the selected destination PVM.

5. The method of claim 4 further comprising determining whether the application in the selected destination PVM is executing from the recorded state of the source PVM.

6. The method of claim 5 destroying the source PVM upon the determining that the application in the selected destination PVM is executing from the recorded state of the source PVM.

7. The method of claim 1 wherein the application is a Java™ programming language application, and wherein the source PVM and the selected destination PVM are Java™ virtual machines (JVMs).

8. A system, comprising:

a memory;

a processing device operatively coupled to the processing device to:

pause an execution of an application in a source process virtual machine (PVM) among a plurality of PVMs;

record a state of the source PVM at a time of the pausing of the execution of the application;

select a destination PVM among the plurality of PVMs in view of an availability of amount of utilization of each of the plurality of PVMs; and

copy the recorded state of the source PVM into the selected destination PVM,

wherein the selected destination PVM resumes the execution of the application using the recorded state.

9. The system of claim 8 , the processing device to:

create a process in the selected destination PVM.

10. The system of claim 9 wherein the created application process executes the application in the selected destination PVM in view of the copied recorded state of the source PVM.

11. The system of claim 10 wherein the application in the selected destination PVM executes in view of the copied recorded state of the source PVM.

12. The system of claim 11 , wherein the execution of the paused application in the source PVM is resumed by the application in the selected destination PVM.

13. The system of claim 12 , the processing device to:

destroy the source PVM upon determining that the application in the selected destination PVM is executing from the recorded state of the source PVM.

14. The system of claim 8 wherein the application is a Java™ programming language application, and wherein the source PVM and the selected destination PVM are Java™ virtual machines (JVMs).

15. A non-transitory machine-readable storage medium comprising instructions that, when accessed by a processing device, cause the processing device to:

pause, by the processing device, an execution of an application in a source process virtual machine (PVM) among a plurality of PVMs;

record, by the processing device, a state of the source PVM at a time of the pausing of the execution of the application;

select, by the processing device, a destination PVM among the plurality of PVMs in view of an availability of amount of utilization of each of the plurality of PVMs; and

copy, by the processing device, the recorded state of the source PVM into the selected destination PVM, wherein the selected destination PVM resumes the execution of the application using the recorded state.

16. The non-transitory machine-readable storage medium 15 , wherein the processing device is to create a process in the selected destination PVM.

17. The non-transitory machine-readable storage medium 16 , wherein the created process executes the application in the selected destination PVM in view of the copied recorded state of the source PVM.

18. The non-transitory machine-readable storage medium 17 , wherein the execution of the paused application in the source PVM is resumed by the application in the selected destination PVM.

19. The non-transitory machine-readable storage medium 18 , wherein the processing device is to destroy the source PVM upon determining that the application in the selected destination PVM is executing from the recorded state of the source PVM.

20. The non-transitory machine-readable storage medium 15 , wherein the application is a Java™ programming language application, and wherein the source and selected destination PVMs are Java™ virtual machines (JVMs).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2014
From: VECERA, MARTIN; PECHANEC, JIRI
To: RED HAT, INC.
Reel/Frame 033956/0011 →
Continuity (1)
Related Publication 20160110210A1 · Apr 21, 2016