Method and system for migration of processes in heterogeneous computing environments
US-2015301848-A1 · Oct 22, 2015 · US
US10509686B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10509686-B2 |
| Application number | US-201514669342-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 26, 2015 |
| Priority date | Mar 26, 2014 |
| Publication date | Dec 17, 2019 |
| Grant date | Dec 17, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for distributing computing tasks are disclosed. One system includes a first computing system and a second computing system. The first computing system includes a processing unit and a memory, the memory storing a computer-executable workload including a plurality of procedures including at least one distributable procedure, the at least one distributable procedures capable of execution independent of underlying operating system or platform resources of the first computing system and configured for execution on an architecture of the first computing system. The system further includes a distributable computation unit executable on a second computing system, the distributable computation unit including the at least one distributable procedure, a state of computing resources of the first computing system, and an application capable of execution on the second computing system to perform the at least one distributable procedure.
Opening claim text (preview).
The invention claimed is: 1. A system comprising: a first computing system including a processor and a memory, the first memory storing a computer-executable workload including a plurality of procedures including at least one distributable procedure, the at least one distributable procedure including executable instructions capable of execution independent of underlying operating system or platform resources of the first computing system and configured for execution on an architecture of the first computing system, the at least one distributable procedure being fewer than all of the procedures included in the workload and executing less than the entire workload, wherein the distributable procedure is self-contained and memory- and processor-bound; a distributable computation unit generated by the processor at the first computing system and executable on a second computing system, the distributable computation unit including the at least one distributable procedure, a state of computing resources of the first computing system, and an application configured to natively execute operations on the second computing system in order to execute the at least one distributable procedure and return results from execution of the at least one distributable procedure executed on the second computing system to the first computing system, the first computing system configured to execute the computer-executable workload without having executed the at least one distributed procedure. 2. The system of claim 1 , wherein the application is configured for execution on a second processor of the second computing system according to a second architecture, the second architecture being incompatible with the architecture of the first computing system. 3. The system of claim 2 , wherein the first computing system executes using a first operating system and the second computing system executes using a second operating system different from the first operating system. 4. The system of claim 1 , wherein the second computing system includes a second processor that executes instructions to receive the distributable computational unit from the first computing system and execute the at least one distributable procedure. 5. The system of claim 4 , wherein the second processor, upon execution of the distributable task via execution of the distributable computation unit, returns a result of the distributable task and a tracked state of simulated computing resources from the second computing system to the first computing system. 6. The system of claim 1 , further comprising computing procedure distribution software executing on the processor of the first computing system, the computing procedure distribution software configured to generate the distributable computation unit. 7. The system of claim 6 , wherein the computing procedure distribution software is configured to, when executed by the processor, capture a state of one or more resources of the first computing system relevant to the distributable procedure. 8. The system of claim 1 , wherein the one or more resources includes a stack state of the first computing system. 9. The system of claim 1 , wherein at least one of the first and second computing systems is a virtual computing system. 10. The system of claim 1 , wherein the distributable computation unit comprises a self-extracting package including the application and a memory state of the first computing system. 11. A method of distributing one or more procedures across computing systems, the method utilizing a processor and a memory to perform: transmitting a distributable computation unit from a first computing system to a second computing system, the distributable computation unit including a distributable procedure, a state of computing resources of the first computing system, and an application configured to natively execute operations on the second computing system in order to execute the at least one distributable procedure and return results from execution of the at least one distributable procedure executed on the second computing system to the first computing system, the distributable procedure including executable instructions capable of execution independent of underlying operating system or platform resources of the first computing system and configured for execution on an architecture of the first computing system, the distributable procedure being fewer than all of the procedures included in a workload of the first computing system and executing less than the entire workload, wherein the distributable procedure is self-contained and memory- and processor-bound; executing the distributable procedure at the second computing system using the application and based on the state of computing resources of the first computing system; and returning results to the first computing system based on execution of the distributable task at the second computing system; wherein the first computing system is configured to execute the computer-executable workload without having executed the at least one distributed procedure. 12. The method of claim 11 , further comprising encapsulating a memory image of the first computing system with the application based on a computing architecture of the first computing system, thereby forming the distributable computation unit. 13. The method of claim 11 , further comprising, prior to transmitting the distributable computation unit from the first computing system, building a memory image of a first computing system. 14. The method of claim 13 , further comprising extracting the application and the memory image at the second computing system prior to execution of the distributable procedure. 15. The method of claim 13 , wherein the memory image comprises a stack image of the first computing system. 16. A system comprising: a computing system including at least one physical processing core and a memory subsystem communicatively connected to the at least one physical processing core, the at least one physical processing core having a native computing architecture and configured to execute native computer instructions; a distributed computational unit received from a remote system having a non-native computing architecture, the distributed computational unit stored in the memory subsystem, the distributed computational unit including: a distributable procedure defined by a plurality of non-native instructions, the distributable procedure including executable instructions capable of execution independent of underlying operating system or platform resources of the remote system and configured for execution on an architecture of the remote system, the distributable procedure being fewer than all of the procedures included in a workload of a remote system and executing less than the entire workload of the remote system, wherein the distributable procedure is self-contained and memory- and processor-bound; data indicative of a memory state of the remote system; an application configured to natively execute operations on the at least one physical processing core of the computing system and which, when executed by the at least one processing core, emulates execution of the distributable procedure to produce an updated memory state and to return the updated memory state to the remote system; wherein the remote system includes a remote processor that is configured to execute the workload without having executed the at least one distributable procedure. 17. The system of claim 16 , wherein the distributed computational unit is configured to, when executed on the at least one physical pro
where the redundant components share persistent storage (G06F11/2043 takes precedence) · CPC title
without idle spare hardware · CPC title
involving virtual machines · CPC title
maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.