Secure migratable architecture having high availability
First Claim
1. A system comprising:
- a computing system including;
a programmable circuit configured to execute instructions according to a first computing architecture;
a memory communicatively connected to the programmable circuit, the memory storing software executable by the programmable circuit, the software including;
a first process including a firmware environment representing a virtual computing system having a second computing architecture different from the first computing architecture and one or more workloads to be executed within the process,the software executable to perform a method including;
initializing, by an operating system executing natively on the computing system, execution of the first process by the programmable circuit;
allocating a portion of the memory for use by the first process, the portion of memory including a plurality of memory segments;
generating a plurality of area descriptors associated with the plurality of memory segments, each of the area descriptors defining a location and length of a corresponding memory segment and used by the virtual computing system to access the portion of the memory for execution of the one or more workloads;
quiescing execution of the first process;
capturing contents of the portion of memory and the plurality of area descriptors associated with the quiesced first process; and
transferring a binary including the quiesced first process and the state of the portion of memory associated with the quiesced first process to a second location.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed that ensure high availability of such an architecture hosted on commodity platforms. One method includes initializing, by an operating system, execution of a process by the programmable circuit, the process including a firmware environment representing a virtual computing system, the process further including one or more workloads to be executed within the process. The method also includes allocating a portion of the memory for use by the process, the portion of memory including a plurality of memory segments, and generating a plurality of area descriptors associated with the plurality of memory segments, each of the area descriptors defining a location and length of a corresponding memory segment. The method includes quiescing execution of the process and capturing contents of the portion of memory and the plurality of area descriptors associated with the process.
54 Citations
20 Claims
-
1. A system comprising:
a computing system including; a programmable circuit configured to execute instructions according to a first computing architecture; a memory communicatively connected to the programmable circuit, the memory storing software executable by the programmable circuit, the software including; a first process including a firmware environment representing a virtual computing system having a second computing architecture different from the first computing architecture and one or more workloads to be executed within the process, the software executable to perform a method including; initializing, by an operating system executing natively on the computing system, execution of the first process by the programmable circuit; allocating a portion of the memory for use by the first process, the portion of memory including a plurality of memory segments; generating a plurality of area descriptors associated with the plurality of memory segments, each of the area descriptors defining a location and length of a corresponding memory segment and used by the virtual computing system to access the portion of the memory for execution of the one or more workloads; quiescing execution of the first process; capturing contents of the portion of memory and the plurality of area descriptors associated with the quiesced first process; and transferring a binary including the quiesced first process and the state of the portion of memory associated with the quiesced first process to a second location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A computer-implemented method comprising:
-
initializing, by an operating system executing natively on a computing system, execution of a process by a programmable circuit of the computing system, the process including a firmware environment representing a virtual computing system having a second computing architecture different from a first computing architecture of the computing system on which the operating system and process reside, the process further including one or more workloads to be executed within the process; allocating a portion of the memory for use by the process, the portion of memory including a plurality of memory segments; generating a plurality of area descriptors associated with the plurality of memory segments, each of the area descriptors defining a location and length of a corresponding memory segment and used by the virtual computing system to access the portion of the memory for execution of the one or more workloads; quiescing execution of the process; and capturing contents of the portion of memory and the plurality of area descriptors associated with the quiesced process. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium comprising computer-executable instructions stored thereon which, when executed by a computing system, cause the computing system to perform a method comprising:
-
initializing, by an operating system executing natively on the computing system, execution of a process by the programmable circuit, the process including a firmware environment representing a virtual computing system having a second computing architecture different from a first computing architecture of a computing system on which the operating system and process reside, the process further including one or more workloads to be executed within the process; allocating a portion of the memory for use by the process, the portion of memory including a plurality of memory segments; generating a plurality of area descriptors associated with the plurality of memory segments, each of the area descriptors defining a location and length of a corresponding memory segment and used by the virtual computing system to access the portion of the memory for execution of the one or more workloads; quiescing execution of the process; capturing contents of the portion of memory and the plurality of area descriptors associated with the quiesced process; and transferring a binary including the process and the state of the portion of memory associated with the quiesced process to a second location.
-
Specification