Method and system for migration of processes in heterogeneous computing environments

US9569246B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9569246-B2
Application numberUS-201314648939-A
CountryUS
Kind codeB2
Filing dateOct 18, 2013
Priority dateDec 3, 2012
Publication dateFeb 14, 2017
Grant dateFeb 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Migrating a process from a source system with a source operating system to a target system with a target operating system is provided, where the source and target systems or source and target operating system are incompatible. The migrating includes: employing an emulator at the target system to execute code associated with the process being migrated, the emulator performing: translating of system calls and runtime library calls for the source operating system to calls of the target operating system using a system call translator and runtime library translator; translating source application code associated with the process into binary target application code executable on the target system, using a compiler where the source application code has not been translated; and executing the translated binary target application code on the target system, and discontinuing emulation of the process at the target system once the executing begins.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for migrating of at least one process from a source system with a source operating system to a target system with a target operating system, wherein the source and target system or the source and target operating system are different, the method comprising: starting migration of the at least one process using, at least in part, a target virtualization and migration component of the target system; allocating virtual address space in the target system for the at least one process being migrated; storing memory of virtual address space of the at least one process being migrated to the allocated virtual address space of the target system; storing information regarding operating system state associated with the at least one process to the target operating system; and executing the at least one process being migrated on the target operating system by means of an emulator adapted to emulate the source system, wherein the emulator starts executing source application code associated with the at least one process, and performs or initiates: translating, at the target system, system calls and runtime library calls of the source operating system, associated with the at least one process to system calls for the target operating system, by means of a system call translator, and runtime library calls for the target operating system, by means of a runtime library translator; translating, at the target system, the source application code associated with the at least one process being migrated into binary target application code executable on the target system by means of a compiler if the source application code has not yet been translated; and executing the translated binary target application code (C 2 ) on the target system. 2. The method of claim 1 , wherein the translating system calls and runtime library calls and the translating the source application code are performed at the target system on demand. 3. The method of claim 1 , wherein the compiler is a just-in-time compiler. 4. The method of claim 1 , wherein the source application code to be com-piled by the compiler is one of binary machine code, a combination of binary machine code and intermediate code, or an intermediated code. 5. The method of claim 1 , wherein the at least one process is migrated to the target system without interruptions, and wherein emulation of the at least one process is stopped when executing the translated binary target application code on the target system is started. 6. The method of claim 1 , wherein the information regarding the state of the source operating system is identically pre-allocated in the context of the emulator process of the target operating system before starting the emulator. 7. The method of claim 1 , wherein the information regarding the state of the source operating system is placed anywhere in the process context of the target operating system and accesses to the information is mapped dynamically, at the target system, from system resources in the context of source operating system to system resources in the context of the target operating system. 8. The method of claim 1 , wherein the translating system calls and runtime library calls and the translating the source application code are performed using one or more of a cascade of at least two system call translators, a cascade of at least two runtime library translators, a cascade of at least two emulators, or a cascade of at least two compilers. 9. The method of claim 1 , further comprising migrating at least two unrelated processes from the source system to at least two target systems for splitting and/or distributing computational load. 10. The method of claim 1 , wherein the translated binary target application code is cached and/or stored persistently in a repository of the target system. 11. The method of claim 1 , wherein the translated binary target application code is stored persistently in a central repository accessible by the source system and the target system. 12. The method of claim 1 , wherein the translation of source application code into binary target application code comprises receiving of the target system at least part of the translated binary application code from a central compilation entity. 13. The method of claim 1 , further comprising checking semantics of execution of application code which was running on the source system before migration compared with semantics of execution of translated binary code after migration on the target system. 14. A computer-based system for migrating at least one process from a source system with a source operating system to a target system with a target operating system, where the source and target system, or the source and target operating system are different types of systems or operating systems, respectively, and the target system comprises, at least in part, the computer-based system, including: a processor a target virtualization and migration component which is compatible to a source virtualization and migration component of the source system and which receives migration trigger information; an emulator which emulates the source system by using the target system; a compiler to translate source application code associated with the at least one process for executing on the source system, to binary target application code executable on the target system; a system call translator for translating system calls of the source operating system into system calls of the target operating system; and a runtime library translator for translating calls of the runtime libraries of the source operating system into calls of the runtime libraries of the target operating system; wherein the computer-based system: migrates the at least one process using, at least in part, the target virtualization and migration component; allocates virtual address space in the target system for the at least one process being migrated; stores memory of virtual address space associated with the at least one process being migrated to the allocated virtual address space of the target system; stores information regarding operating system state associated with the at least one process to the target operating system; and executes the at least one process being migrated on the target operating system by means of the emulator, wherein the emulator starts executing source application code associated with the at least one process, and performs or initiates: translating, at the target system, system calls and runtime library calls of the source operating system associated with the at least one process to system calls for the target operating system, by means of the system call translator and runtime library calls for the target operating system by means of the runtime library translator; translating, at the target system, the source application code associated with the at least one process being migrated into binary target application code executable on the target system by means of the compiler if the source application code has not yet been translated; and executing the translated binary target application code on the target system. 15. The computer-based system of claim 14 , wherein the translating system calls and runtime library calls and the translating the source application code are performed at the target system on demand. 16. The computer-based system of claim 14 , wherein the compiler is a just-in-time compiler. 17. The computer-bases system of claim 14 , wherein the source application code to be compiled by the compiler i

Assignees

Inventors

Classifications

  • Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • G06F9/4856Primary

    resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9569246B2 cover?
Migrating a process from a source system with a source operating system to a target system with a target operating system is provided, where the source and target systems or source and target operating system are incompatible. The migrating includes: employing an emulator at the target system to execute code associated with the process being migrated, the emulator performing: translating of sys…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/4856. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).