ABSTRACT
Abstract
A quantum computing service includes a quality of service (QOS) and out-of-band prioritization module. The QoS and out-of-band prioritization module enforces QoS guarantees for quantum tasks and quantum jobs submitted to the quantum computing service while allowing for processing of the quantum jobs and quantum tasks based on QoS guarantees and not necessarily in an order in which the quantum jobs or quantum tasks are received. Also, the QoS and out-of-band prioritization module determines updated priorities out-of-band based on quantum resource usage information for previously executed quantum tasks such that submittal of pending quantum tasks is not delayed in while update priorities are being determined.
Description
BACKGROUND
Quantum computing utilizes the laws of quantum physics to process information. Quantum physics is a theory that describes the behavior of reality at the fundamental level. It is currently the only physical theory that is capable of consistently predicting the behavior of microscopic quantum objects like photons, molecules, atoms, and electrons.
A quantum computer is a device that utilizes quantum physics to allow one to write, store, process and read out information encoded in quantum states, e.g., the states of quantum objects. A quantum object is a physical object that behaves according to the laws of quantum physics. The state of a physical object is a description of the object at a given time.
In quantum physics, the state of a two-level quantum system, or simply, a qubit, is a list of two complex numbers whose squares sum up to one. Each of the two numbers is called an amplitude, or quasi-probability, and their squared absolute values are probabilities that a measurement of the qubit results in zero or one. A fundamental and counterintuitive difference between a probabilistic bit (e.g., a classical zero or one bit) and the qubit is that a probabilistic bit represents a lack of information about a two-level classical system, while a qubit contains maximal information about a two-level quantum system.
Quantum computers are based on such quantum bits (qubits), which may experience the phenomena of âsuperpositionâ and âentanglement.â Superposition allows a quantum system to be in multiple states at the same time. For example, whereas a classical computer is based on bits that are either zero or one, a qubit may be both zero and one at the same time, with different probabilities assigned to zero and one. Entanglement is a strong correlation between quantum systems, such that the quantum systems are inextricably linked even if separated by great distances.
A quantum algorithm comprises a reversible transformation acting on qubits in a desired and controlled way, followed by a measurement on one or multiple qubits. For example, if a system has two qubits, a transformation may modify four numbers; with three qubits this becomes eight numbers, and so on. As such, a quantum algorithm acts on a list of numbers exponentially large as dictated by the number of qubits. To implement a transform, the transform may be decomposed into small operations acting on a single qubit, or a pair of qubits, as an example. Such small operations may be called quantum gates and a specific arrangement of the quantum gates implements a quantum circuit.
There are different types of qubits that may be used in quantum computers, each having different advantages and disadvantages. For example, some quantum computers may include qubits built from superconductors, trapped ions, semiconductors, photonics, etc. Each may experience different levels of interference, errors and decoherence. Also, some may be more useful for generating particular types of quantum circuits or quantum algorithms, while others may be more useful for generating other types of quantum circuits or quantum algorithms. Also, costs, run-times, error rates, availability, etc. may vary across quantum computing technologies.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a quantum computing service of a service provider network that enables customers to access quantum computers that use multiple quantum computing technologies, wherein the quantum computing service includes a quality of service (QOS) and out-of-band prioritization module that provides out-of-band prioritization of quantum tasks, according to some embodiments.
FIG. 2 A illustrates a more detailed view of an example quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 2 B illustrates a more detailed view of an example jobs control plane that may be included in a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 2 C illustrates a more detailed view of an example of a quantum task generation service and quantum task queue that may be included in a quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIG. 3 A illustrates a more detailed view of another example quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIG. 3 B illustrates a more detailed view of another example of a quantum task generation service and quantum task queue that may be included in a quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIGS. 4 A- 4 B illustrate example access tokens that may be used by a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 5 illustrates an example process that may be followed by a quality of service (QOS) and out-of-band prioritization module to assign and update respective priorities for quantum tasks in a quantum task queue, according to some embodiments.
FIG. 6 illustrates a more detailed view regarding how priorities of quantum job tasks and solo quantum tasks may be managed by a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 7 illustrates an example process by which a quality of service (QOS) and out-of-band prioritization module uses access tokens to manage respective priorities of quantum tasks in a quantum task queue, according to some embodiments.
FIG. 8 illustrates edge computing devices of a quantum computing service physically located at quantum hardware provider locations, according to some embodiments.
FIG. 9 illustrates an example edge computing device connected to a quantum computing service, according to some embodiments.
FIG. 10 illustrates example interactions between a quantum computing service and an edge computing device of the quantum computing service, according to some embodiments.
FIG. 11 A , illustrates an example process for transporting quantum circuits from a quantum computing service to an edge computing device of the quantum computing service, according to some embodiments.
FIG. 11 B , illustrates an example process for scheduling execution of a quantum circuit on a quantum computer by an edge computing device of a quantum computing service that is located at a quantum hardware provider location, according to some embodiments.
FIG. 11 C , illustrates an example process for processing results of an execution of a quantum circuit on a quantum computer by an edge computing device of a quantum computing service that is located at a quantum hardware provider location, according to some embodiments.
FIG. 12 , illustrates example interactions between a classical computer implemented on an edge computing device of a quantum computing service, located at a quantum hardware provider location, and a quantum computer at the quantum hardware provider location, according to some embodiments.
FIG. 13 illustrates an example process for executing a hybrid algorithm using an edge computing device of a quantum computing service, located at a quantum hardware provider location, according to some embodiments.
FIG. 14 is a block diagram illustrating an example classical computing device that may be used in at least some embodiments.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word âmayâ is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words âinclude,â âincluding,â and âincludesâ mean including, but not limited to. When used in the claims, the term âorâ is used as an inclusive or and not as an exclusive or. For example, the phrase âat least one of x, y, or zâ means any one of x, y, and z, as well as any combination thereof.
DETAILED DESCRIPTION
The present disclosure relates to methods and apparatus for providing quantum computing services to customers and enabling customers to seamlessly use one or more quantum computing technologies. Additionally, the disclosure relates to a fair, scalable, and auditable technique for prioritizing quantum tasks to be executed on behalf of customers, wherein the quantum tasks are prioritized based, at least in part, on quality of service (QOS) guarantees made for quantum jobs, of which the quantum tasks are a part, according to some embodiments.
In some embodiments, a system includes a service provider network comprising one or more computing devices that are configured to implement a quantum computing service. The system may also include a first edge computing device of the service provider network located at a location of a first quantum hardware provider and one or more additional edge computing devices of the service provider network located at respective locations of one or more additional quantum hardware providers. In some embodiments, the quantum computing service may additionally, or alternatively, be connected to one or more quantum hardware devices located within the service provider network. For example, the quantum computing service may provide a customer access to internal quantum processing units (QPUs) and/or external quantum processing units of external quantum hardware providers (QPUs of QHPs). The one or more computing devices that implement the quantum computing service are configured to receive, from a customer of the quantum computing service, a definition of a quantum computing object to be executed and select at least one of the quantum hardware providers to execute the quantum computing object, or select an internal QPU to execute the quantum computing object. In some embodiments, the quantum computing object may be a quantum task or a quantum job, such as a task or job defined using a problem-domain interface of a quantum algorithm development kit; a quantum algorithm defined using a quantum algorithm development kit of the quantum computing service or provided by a customer; or a quantum circuit defined using the quantum algorithm development kit of the quantum computing service, or supplied by a customer. In some embodiments, a quantum job may comprise a plurality of quantum tasks.
For example, a hybrid job which comprises both quantum processing portions and classical processing portions may be a quantum job that requires multiple quantum tasks to be executed. In some embodiments, a solo quantum task, as referred to herein, may include a single quantum circuit that is to be executed on a given QPU. In some embodiments, a quantum program may define a quantum job, wherein the quantum program includes multiple quantum circuits to be executed on one or more QPUs. For example, a quantum program may include a single quantum circuit or may include multiple quantum circuits. For example, in some embodiments, a quantum program may include logical loops that instruct a particular quantum circuit to be implemented based on one or more conditions, such as a âfor loopâ, âif loopâ, âwhile loopâ, etc. In addition, in some embodiments, a quantum program may instruct implementation of a parametric quantum circuit. In such examples as described above, execution of an individual quantum circuit of a quantum program may be referred to herein as a quantum task and execution of the quantum program as a whole may be referred to herein as a quantum job.
In some embodiments, the one or more computing device that implement the quantum computing service may further be configured to provide the customer with a recommendation in regard to which quantum hardware provider or internal QPU to use to execute the customer's quantum computing object, and the selection of an internal QPU or the quantum hardware provider to execute the quantum computing object may be based on the recommendation and/or other input received from the customer regarding which type of quantum hardware to select to execute the customer's quantum computing object. In some embodiments, the recommendation may include estimated costs, error rates, run-times, etc. associated with executing the quantum computing object on quantum computers of respective ones of the quantum hardware providers or an internal QPU. For example, the recommendation may include various quality of service (QOS) guarantees available for execution of the quantum computing object at the various quantum hardware providers and/or at the internal QPU.
The one or more computing devices implementing the quantum computing service are further configured to submit a quantum task comprising a quantum circuit corresponding to at least a portion of the quantum computing object to a selected one or more of the quantum hardware providers via a given edge computing device located at the respective location of the selected quantum hardware provider, receive results of executing the quantum circuit on a quantum computer of the selected quantum hardware provider, store the results of executing the quantum circuit, and provide a notification to the customer that execution of the quantum computing object has been completed. However, when an internal QPU is selected for execution of the quantum task, the quantum task may be submitted directly to a queue for the internal QPU. For example, it may not be necessary to transport the quantum task, via back-end API transport, to an edge computing device for submission of a quantum task to an internal QPU.
The quantum computing service is also configured to translate the quantum computing object into a selected quantum circuit format for a particular quantum computing technology used by the selected quantum hardware provider or internal QPU, wherein the selected quantum circuit format for the particular quantum computing technology is one of a plurality of quantum circuit formats for a plurality of different quantum computing technologies supported by the quantum computing service.
To translate the quantum computing object into the selected quantum circuit format, the one or more computing devices that implement the quantum computing service are configured to identify portions of the quantum computing object corresponding to quantum operators in an intermediate representation in which the quantum object was submitted by the customer, substitute the quantum operators of the intermediate representation with quantum operators of the quantum circuit format of the particular quantum computing technology, and perform one or more optimizations to reduce an overall number of quantum operators in a translated quantum circuit that is a translated version of the received quantum computing object.
Additionally, the quantum computing service is configured to provide the translated quantum circuit for execution at a quantum hardware provider or internal QP
BACKGROUND
Quantum computing utilizes the laws of quantum physics to process information. Quantum physics is a theory that describes the behavior of reality at the fundamental level. It is currently the only physical theory that is capable of consistently predicting the behavior of microscopic quantum objects like photons, molecules, atoms, and electrons.
A quantum computer is a device that utilizes quantum physics to allow one to write, store, process and read out information encoded in quantum states, e.g., the states of quantum objects. A quantum object is a physical object that behaves according to the laws of quantum physics. The state of a physical object is a description of the object at a given time.
In quantum physics, the state of a two-level quantum system, or simply, a qubit, is a list of two complex numbers whose squares sum up to one. Each of the two numbers is called an amplitude, or quasi-probability, and their squared absolute values are probabilities that a measurement of the qubit results in zero or one. A fundamental and counterintuitive difference between a probabilistic bit (e.g., a classical zero or one bit) and the qubit is that a probabilistic bit represents a lack of information about a two-level classical system, while a qubit contains maximal information about a two-level quantum system.
Quantum computers are based on such quantum bits (qubits), which may experience the phenomena of âsuperpositionâ and âentanglement.â Superposition allows a quantum system to be in multiple states at the same time. For example, whereas a classical computer is based on bits that are either zero or one, a qubit may be both zero and one at the same time, with different probabilities assigned to zero and one. Entanglement is a strong correlation between quantum systems, such that the quantum systems are inextricably linked even if separated by great distances.
A quantum algorithm comprises a reversible transformation acting on qubits in a desired and controlled way, followed by a measurement on one or multiple qubits. For example, if a system has two qubits, a transformation may modify four numbers; with three qubits this becomes eight numbers, and so on. As such, a quantum algorithm acts on a list of numbers exponentially large as dictated by the number of qubits. To implement a transform, the transform may be decomposed into small operations acting on a single qubit, or a pair of qubits, as an example. Such small operations may be called quantum gates and a specific arrangement of the quantum gates implements a quantum circuit.
There are different types of qubits that may be used in quantum computers, each having different advantages and disadvantages. For example, some quantum computers may include qubits built from superconductors, trapped ions, semiconductors, photonics, etc. Each may experience different levels of interference, errors and decoherence. Also, some may be more useful for generating particular types of quantum circuits or quantum algorithms, while others may be more useful for generating other types of quantum circuits or quantum algorithms. Also, costs, run-times, error rates, availability, etc. may vary across quantum computing technologies.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a quantum computing service of a service provider network that enables customers to access quantum computers that use multiple quantum computing technologies, wherein the quantum computing service includes a quality of service (QOS) and out-of-band prioritization module that provides out-of-band prioritization of quantum tasks, according to some embodiments.
FIG. 2 A illustrates a more detailed view of an example quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 2 B illustrates a more detailed view of an example jobs control plane that may be included in a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 2 C illustrates a more detailed view of an example of a quantum task generation service and quantum task queue that may be included in a quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIG. 3 A illustrates a more detailed view of another example quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIG. 3 B illustrates a more detailed view of another example of a quantum task generation service and quantum task queue that may be included in a quality of service (QoS) and out-of-band prioritization module, according to some embodiments.
FIGS. 4 A- 4 B illustrate example access tokens that may be used by a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 5 illustrates an example process that may be followed by a quality of service (QOS) and out-of-band prioritization module to assign and update respective priorities for quantum tasks in a quantum task queue, according to some embodiments.
FIG. 6 illustrates a more detailed view regarding how priorities of quantum job tasks and solo quantum tasks may be managed by a quality of service (QOS) and out-of-band prioritization module, according to some embodiments.
FIG. 7 illustrates an example process by which a quality of service (QOS) and out-of-band prioritization module uses access tokens to manage respective priorities of quantum tasks in a quantum task queue, according to some embodiments.
FIG. 8 illustrates edge computing devices of a quantum computing service physically located at quantum hardware provider locations, according to some embodiments.
FIG. 9 illustrates an example edge computing device connected to a quantum computing service, according to some embodiments.
FIG. 10 illustrates example interactions between a quantum computing service and an edge computing device of the quantum computing service, according to some embodiments.
FIG. 11 A , illustrates an example process for transporting quantum circuits from a quantum computing service to an edge computing device of the quantum computing service, according to some embodiments.
FIG. 11 B , illustrates an example process for scheduling execution of a quantum circuit on a quantum computer by an edge computing device of a quantum computing service that is located at a quantum hardware provider location, according to some embodiments.
FIG. 11 C , illustrates an example process for processing results of an execution of a quantum circuit on a quantum computer by an edge computing device of a quantum computing service that is located at a quantum hardware provider location, according to some embodiments.
FIG. 12 , illustrates example interactions between a classical computer implemented on an edge computing device of a quantum computing service, located at a quantum hardware provider location, and a quantum computer at the quantum hardware provider location, according to some embodiments.
FIG. 13 illustrates an example process for executing a hybrid algorithm using an edge computing device of a quantum computing service, located at a quantum hardware provider location, according to some embodiments.
FIG. 14 is a block diagram illustrating an example classical computing device that may be used in at least some embodiments.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word âmayâ is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words âinclude,â âincluding,â and âincludesâ mean including, but not limited to. When used in the claims, the term âorâ is used as an inclusive or and not as an exclusive or. For example, the phrase âat least one of x, y, or zâ means any one of x, y, and z, as well as any combination thereof.
DETAILED DESCRIPTION
The present disclosure relates to methods and apparatus for providing quantum computing services to customers and enabling customers to seamlessly use one or more quantum computing technologies. Additionally, the disclosure relates to a fair, scalable, and auditable technique for prioritizing quantum tasks to be executed on behalf of customers, wherein the quantum tasks are prioritized based, at least in part, on quality of service (QOS) guarantees made for quantum jobs, of which the quantum tasks are a part, according to some embodiments.
In some embodiments, a system includes a service provider network comprising one or more computing devices that are configured to implement a quantum computing service. The system may also include a first edge computing device of the service provider network located at a location of a first quantum hardware provider and one or more additional edge computing devices of the service provider network located at respective locations of one or more additional quantum hardware providers. In some embodiments, the quantum computing service may additionally, or alternatively, be connected to one or more quantum hardware devices located within the service provider network. For example, the quantum computing service may provide a customer access to internal quantum processing units (QPUs) and/or external quantum processing units of external quantum hardware providers (QPUs of QHPs). The one or more computing devices that implement the quantum computing service are configured to receive, from a customer of the quantum computing service, a definition of a quantum computing object to be executed and select at least one of the quantum hardware providers to execute the quantum computing object, or select an internal QPU to execute the quantum computing object. In some embodiments, the quantum computing object may be a quantum task or a quantum job, such as a task or job defined using a problem-domain interface of a quantum algorithm development kit; a quantum algorithm defined using a quantum algorithm development kit of the quantum computing service or provided by a customer; or a quantum circuit defined using the quantum algorithm development kit of the quantum computing service, or supplied by a customer. In some embodiments, a quantum job may comprise a plurality of quantum tasks.
For example, a hybrid job which comprises both quantum processing portions and classical processing portions may be a quantum job that requires multiple quantum tasks to be executed. In some embodiments, a solo quantum task, as referred to herein, may include a single quantum circuit that is to be executed on a given QPU. In some embodiments, a quantum program may define a quantum job, wherein the quantum program includes multiple quantum circuits to be executed on one or more QPUs. For example, a quantum program may include a single quantum circuit or may include multiple quantum circuits. For example, in some embodiments, a quantum program may include logical loops that instruct a particular quantum circuit to be implemented based on one or more conditions, such as a âfor loopâ, âif loopâ, âwhile loopâ, etc. In addition, in some embodiments, a quantum program may instruct implementation of a parametric quantum circuit. In such examples as described above, execution of an individual quantum circuit of a quantum program may be referred to herein as a quantum task and execution of the quantum program as a whole may be referred to herein as a quantum job.
In some embodiments, the one or more computing device that implement the quantum computing service may further be configured to provide the customer with a recommendation in regard to which quantum hardware provider or internal QPU to use to execute the customer's quantum computing object, and the selection of an internal QPU or the quantum hardware provider to execute the quantum computing object may be based on the recommendation and/or other input received from the customer regarding which type of quantum hardware to select to execute the customer's quantum computing object. In some embodiments, the recommendation may include estimated costs, error rates, run-times, etc. associated with executing the quantum computing object on quantum computers of respective ones of the quantum hardware providers or an internal QPU. For example, the recommendation may include various quality of service (QOS) guarantees available for execution of the quantum computing object at the various quantum hardware providers and/or at the internal QPU.
The one or more computing devices implementing the quantum computing service are further configured to submit a quantum task comprising a quantum circuit corresponding to at least a portion of the quantum computing object to a selected one or more of the quantum hardware providers via a given edge computing device located at the respective location of the selected quantum hardware provider, receive results of executing the quantum circuit on a quantum computer of the selected quantum hardware provider, store the results of executing the quantum circuit, and provide a notification to the customer that execution of the quantum computing object has been completed. However, when an internal QPU is selected for execution of the quantum task, the quantum task may be submitted directly to a queue for the internal QPU. For example, it may not be necessary to transport the quantum task, via back-end API transport, to an edge computing device for submission of a quantum task to an internal QPU.
The quantum computing service is also configured to translate the quantum computing object into a selected quantum circuit format for a particular quantum computing technology used by the selected quantum hardware provider or internal QPU, wherein the selected quantum circuit format for the particular quantum computing technology is one of a plurality of quantum circuit formats for a plurality of different quantum computing technologies supported by the quantum computing service.
To translate the quantum computing object into the selected quantum circuit format, the one or more computing devices that implement the quantum computing service are configured to identify portions of the quantum computing object corresponding to quantum operators in an intermediate representation in which the quantum object was submitted by the customer, substitute the quantum operators of the intermediate representation with quantum operators of the quantum circuit format of the particular quantum computing technology, and perform one or more optimizations to reduce an overall number of quantum operators in a translated quantum circuit that is a translated version of the received quantum computing object.
Additionally, the quantum computing service is configured to provide the translated quantum circuit for execution at a quantum hardware provider or internal QPU that uses the particular quantum computing technology; receive, from the quantum hardware provider or internal QPU, results of the execution of the translated quantum circuit; and provide a notification to a customer of the quantum computing service that the quantum computing object has been executed.
In some embodiments, computing devices of a provider network that implement a quantum computing service are further configured to implement a priority access control plane for the quantum computing service and one or more quantum task queues for the quantum computing service. The priority access control plane may enforce quality of service guarantees for quantum jobs submitted to the quantum computing service by customers of the quantum computing service. Additionally, the priority access control plane may load balance execution of quantum tasks such that solo-quantum tasks do not remain in the quantum task queue for more than a threshold amount of time without being submitted to a QHP or internal QPU for execution. Additionally, or alternatively, the priority access control plane may prioritize completion of a given quantum job, once execution of the given quantum job has commenced, over commencement of other quantum jobs submitted to the quantum computing service. For example, the priority access control plane may prioritize completing a first quantum job that has commenced over starting execution of a next quantum job. Though in some embodiments, a priority access control plane may commence execution of more than one quantum job at a time, wherein quantum resources are allocated to the concurrently executing quantum jobs based on quality of service (QOS) guarantees associated with the respective quantum jobs.
As explained in more detail below, since quantum hardware devices, such as an internal QPU of a quantum computing service or a QPU of an external quantum hardware provider, experience drift over time relative to an initial calibration state, allowing extended amounts of time to lapse between execution of sequential quantum tasks of a quantum job may result in less reliable results. Also, customers may be willing to tolerate a later scheduled start time/start date for the customer's quantum job, but may be less satisfied with a lengthy duration for completion of the quantum job once commenced. In some embodiments, the priority access control plane may assign respective priorities to respective quantum tasks included in a quantum task queue of the quantum computing service based on quality of service (QOS) guarantees for a quantum job of which the quantum tasks are a part and/or based on a desired load balance between quantum job type quantum tasks and solo quantum tasks that are not part of a larger quantum job.
The one or more quantum task queues may be queues comprising quantum tasks waiting to be transported, via a back-end API transport, to an edge computing device at a QHP location for execution on a QPU of the QHP. Alternatively, or additionally, the one or more quantum task queues may be queues for quantum tasks waiting to be submitted to an internal QPU of the quantum computing service for execution. In some embodiments, a quantum task queue may include quantum tasks that are waiting to be submitted to a plurality of types QHPs and/or internal QPUs, wherein different ones of the QHPs or QPUs utilize different interfaces for locally queuing quantum tasks at the QHP or QPU for execution.
The priority access control plane may determine and/or assign the relative priorities to the quantum tasks out-of-band such that a time required to determine and assign the priorities does not delay submittal of a next quantum task in the quantum task queue. For example, instead of determining an updated priority prior to submitting a next quantum task in the quantum task queue in response to an indication of availability for execution of the next quantum task, the priority access control plane may submit a next quantum task in the quantum task queue immediately upon indication of availability for execution of the next quantum task based on a previously determined priority that was determined based on execution information for one or more previously submitted quantum tasks. In some embodiments, the priority access control plane may use access tokens to assign priorities to quantum tasks in the one or more quantum task queues, wherein the access tokens have a one-to-many relationship with quantum tasks. For example, if an updated priority changes a priority of a given quantum job relative to other quantum jobs, the priority access control plane may change a priority of tokens with an ID for the given quantum job (or that are otherwise tied to the given quantum job). This may cause all quantum tasks for the given quantum job remaining in the one or more quantum task queues to assume the new updated priority without having to individually change priorities for each of the quantum tasks of the quantum job on a one-by-one basis.
In some embodiments, the quantum tasks may be of variable duration and actual amounts of quantum resources used to execute a previous quantum task of a quantum job may be used to determine a current performance of the quantum job relative to a quality of service (QOS) guarantee. For example, a QoS guarantee may stipulate that 30% of the quantum resources of a given QPU are to be allocated to executing the quantum job until the quantum job is complete. However, each individual quantum task may utilize more or fewer of the quantum resources of the QPU. For example, each quantum task may require a variable amount of time to complete based on: a number of shots to be performed (e.g., repeated executions and subsequent measurements of quantum circuit of the quantum task), a complexity of a quantum circuit for the quantum task, an amount of time required to implement the quantum circuit of the quantum task relative to a quantum circuit previously implemented on the QPU, quantum task depth, etc.
As an example, a first quantum task of a quantum job may utilize 20% of the resources of a QPU during a given resource utilization period, whereas a second quantum task may utilize 40% of the resources of the QPU during a second resource utilization period. If the QoS guarantee for the quantum job is 30%, the priority access control plane may increase prioritization of the next quantum task for the quantum job subsequent to execution of the first quantum task that only utilized 20% of the resources of the QPU (e.g., to drive the utilization to the 30% target), but may deprioritize execution of a next quantum task after execution of the second quantum task that utilized 40% of the resources of the QPU (which exceeded the 30% target by 10%). In this way, the priority access control plane may enforce the QoS guarantees for the quantum jobs submitted to the quantum computing service.
In some embodiments, a priority access control plane may implement dynamic scheduling of quantum tasks based on static targets of percentages of quantum resource utilizations. For example, a target QoS guarantee, such as 30% in the above example, may be static for a given quantum job. However, since each quantum task uses a variable (and hard to predict) amount of quantum resources, the priority of the quantum job may be dynamically updated relative to other quantum jobs that have commenced execution. Note that a quantum computing service may execute more than one quantum job in parallel. For example, if a first quantum job has a QoS target of 30%, a second quantum job has a QoS target of 20% and a third quantum job has a QoS target of 50% (all on the same QPU), all three quantum jobs may be commenced in parallel with the quantum resources of the QPU assigned to performing quantum tasks of the respective quantum jobs based on their respective QoS guarantees and respective histories of utilizing quantum resources.
In some embodiments, a priority access control plane may further load balance execution of job-type quantum tasks and solo quantum tasks. This may be done to ensure that job-type quantum tasks do not monopolize utilization of quantum computing resources to the exclusion of solo quantum tasks. For example, upon completion of a quantum job, a priority access control plane may determine if there are any solo quantum tasks in the quantum task queue with an age in the queue (e.g., amount of time in the queue) greater than a threshold age. If so, the priority access control plane may prioritize execution of the solo quantum tasks prior to commencing a next quantum job. For example, instead of adding additional tasks to the quantum task queue for the next quantum job, the priority access control plane may first submit the solo quantum tasks with the age greater than the threshold for execution at a QPU. In some embodiments, a priority access control plane may treat solo quantum tasks (potentially submitted by different customers) as belonging to a âsolo taskâ job type, which may have an associated quality of service guarantee (QoS). For example, a solo-task job type may be assigned a 10% QoS guarantee, such that 10% of the quantum computing resources are allocated to executing solo quantum tasks.
As discussed above, updated priorities for the quantum tasks in the one or more quantum task queues are determined and assigned after completion of a given quantum task, such that the updating and assignment of new priorities is not in the critical path for submitting a next quantum task in the one or more quantum task queues for execution. For example, when capacity becomes available at a back-end API transport or local QPU queue to accept a next quantum task, a quantum task at a head of a given one of the one or more quantum tasks queues of the quantum computing service may be automatically submitted without waiting for an updated priority to be determined. However, when a quantum task is finished, other quantum tasks remaining in the one or more quantum task queues may have their respective priorities updated based on usage metrics received for the recently completed quantum task.
In some embodiments, a customer may select a QoS to be used for the customer's quantum job and/or quantum task. In some embodiments, a customer that is willing to pay a premium for a superior QoS guarantee may be allowed to have the customer's quantum job executed ahead of other customers that selected a lower QoS guarantee. Thus, quantum jobs are not necessarily executed in a first in first out (FIFO) order, but instead may be reprioritized based on relative QoS guarantees.
In some embodiments, utilization of quantum resources for purposes of enforcing a QoS guarantee may take into account utilization of various types of quantum resources, such as one or more of: execution time, task shots, task circuit size, number of qubits included in quantum circuit of task, number of quantum gates included in in quantum circuit of task, time since last execution of a quantum task of the quantum job, and/or other applicable metrics.
In some embodiments, similar circuits that require minimal switch over at a QPU may be prioritized to be executed sequentially. For example, in trapped ion type quantum hardware devices, efficient utilization of the quantum resource may be improved by reducing configuration changes between dissimilar quantum circuits. As another example, for super-conducting qubits, if parametric compilation can be performed once and a compiled parametric quantum circuit cached, the cached parametric circuit may be re-used, which is more efficient than spreading out the runs of the parametric circuit to let in other customers and potentially causing the compiled parametric circuit to be lost from the cache, wherein the parametric quantum circuit has to be re-compiled.
In some embodiments, dynamic learning, such as via a machine learning algorithm, may be used to determine how to update priorities for quantum tasks in the quantum task queue.
In some embodiments, a priority of service module as described herein may manage prioritization of quantum jobs and quantum tasks with regard to using other types of quantum resources, such as a quantum simulator implemented on classical computing hardware, a quantum compiler, etc.
Also, while various examples described herein are described in terms of the priority/quality of service module providing prioritization management for multiple QHPs, in some embodiments, a given QHP may partner with a quantum computing service in order to have a priority/quality of service module of the quantum computing service provide prioritization management support to the QHP with regard to prioritizing internally submitted quantum tasks and quantum jobs. For example, in some embodiments, a priority/quality of service module may be implemented on an edge computing device of a service provider network that is located at a QHP facility.
Example Quantum Computing Service
Quantum computers may be difficult and costly to construct and operate. Also, there are varying quantum computing technologies under development with no clear trend as to which of the developing quantum computing technologies may gain prominence. Thus, potential users of quantum computers may be hesitant to invest in building or acquiring a particular type of quantum computer, as other quantum computing technologies may eclipse a selected quantum computing technology that a potential quantum computer user may invest in. Also, successfully using quantum computers to solve practical problems may require significant trial and error and/or otherwise require significant expertise in using quantum computers.
As an alternative to building and maintaining a quantum computer, potential users of quantum computers may instead prefer to rely on a quantum computing service to provide access to quantum computers. Also, in some embodiments, a quantum computing service, as described herein, may enable potential users of quantum computers to access quantum computers based on multiple different quantum computing technologies and/or paradigms, without the cost and resources required to build or manage such quantum computers. Also, in some embodiments, a quantum computing service, as described herein, may provide various services that simplify the experience of using a quantum computer such that potential quantum computer users lacking deep experience or knowledge of quantum mechanics, may, never the less, utilize quantum computing services to solve problems.
Also, in some embodiments, a quantum computing service, as described herein, may be used to supplement other services offered by a service provider network. For example, a quantum computing service may interact with a classical computing service to execute hybrid algorithms. In some embodiments, a quantum computing service may allow a classical computer to be accelerated by sending particular tasks to a quantum computer for execution, and then further performing additional classical compute operations using the results of the execution of a quantum computing object on the quantum computer. For example, a quantum computing service may allow for the acceleration of virtual machines implemented on classical hardware in a similar manner as a graphics processing unit (GPU) may accelerate graphical operations that otherwise would be performed on a central processing unit (CPU).
In some embodiments, a quantum computing service may provide potential quantum computer users with access to quantum computers using various quantum computing technologies, such as quantum annealers, ion trap machines, superconducting machines, photonic devices, etc. In some embodiments, a quantum computing service may provide customers with access to at least three broad categories of quantum computers including quantum annealers, circuit-based quantum computers, and analog or continuous variable quantum computers. As used herein, these three broad categories may be referred to as quantum computing paradigms.
In some embodiments, a quantum computing service may be configured to provide simulation services using classical hardware based computing instances to simulate execution of a quantum circuit on a quantum computer. In some embodiments, a quantum computing service may be configured to perform general simulation and/or simulation that specifically simulates execution of a quantum circuit on a particular type of quantum computer of a particular quantum computer technology type or paradigm type. In some embodiments, simulation may be fully managed by a quantum computing service on behalf of a customer of the quantum computing service. For example, the quantum computing service may reserve sufficient computing capacity on a virtualized computing service of the service provider network to perform simulation without customer involvement in the details of managing the resources for the simulator.
In some embodiments, a quantum computing service may include a dedicated console that provides customers access to multiple quantum computing technologies. Furthermore, the quantum computing service may provide a quantum algorithm development kit that enables customers with varying levels of familiarity with quantum circuit design to design and execute quantum circuits. In some embodiments, a console of a quantum computing service may include various application programmatic interfaces (APIs), such as:
(Create/Delete/Update/Get/List) Simulator-Configuration-create, read, update, and delete (CRUD) operations for simulator configuration objects. (Start/Cancel/Describe) Simulator-used to control each of the user-defined simulator instances. (List/Describe) quantum processor units (QPUs)âretrieves quantum computer hardware information. (Create/Cancel/List/Describe) Job-used to manage the lifecycle of a quantum job. (Assign/Update/List) Quality of Service (QOS) guarantee-used to manage QoS guarantees for quantum jobs and/or quantum tasks. (Create/Cancel/List/Describe) Task-used to manage the lifecycle of individual quantum tasks/quantum objects.
In some embodiments, a quantum algorithm development kit may include a graphical user interface, APIs or other interface to allow customers of a quantum computing service to define quantum objects, such as quantum tasks, algorithms or circuits, using the quantum algorithm development kit. In some embodiments, the quantum algorithm development kit may include an interface option that enables customers to share the quantum objects with other customers of the quantum computing service. For example, the quantum algorithm development kit may include a marketplace that allows customers to share or sell particular quantum objects with other customers. In some embodiments, the quantum algorithm development kit may include an interface element that allows customers to select a QoS to be applied for a quantum job or quantum tasks defined via the quantum algorithm development kit.
In some embodiments, a quantum computing service may include a public application programmatic interface (API) that accepts quantum objects submitted by a customer of the quantum computing service. In some embodiments, the quantum computing service may accept via the public API, or another API, instructions regarding a QoS guarantee to be used for one or more quantum jobs or quantum tasks, such as executing the quantum object received via the public API. Additionally, the quantum computing service may include a back-end API transport that is non-public. The back-end API transport may enable quantum circuits to be transported from a centralized location that implements the quantum computing service, such as one or more data centers of a service provider network, to an edge computing device at a particular quantum hardware provider location where the quantum circuit is to be executed. In some embodiments, quantum objects or quantum tasks may be executed using an internal QPU of the quantum computing service without using a back-end API transport to transport the quantum job or quantum task to an external quantum hardware provider location.
In some embodiments, results of the execution of a quantum circuit on a quantum computer at a quantum hardware provider location may be provided to the edge computing device at the quantum hardware provider location. The edge computing device may automatically transport the results to a secure storage service of the service provider network, where the customer can access the results using the storage service of the service provider network or via a console of the quantum computing service. Likewise, results of execution of a quantum circuit via an internal QPU may be accessed via the console of the quantum computing service.
In some embodiments, the results stored to the secure storage service may be seamlessly used by other services integrated into the service provider network, such as a machine learning service, a database service, an object-based storage service, a block-storage service, a data presentation service (that reformats the results into a more usable configuration), etc. For example, in some embodiments, a machine learning service may be used to optimize a quantum algorithm or quantum circuit. For example, the machine learning service may cause various versions of a quantum algorithm or quantum circuit to be run on a quantum computer via a quantum computing service. The machine learning service may also be provided access to results of running the quantum algorithms or quantum circuits. In some embodiments, the machine learning service may cause the quantum algorithms or quantum circuits to be run on various different quantum computing technology-based quantum computers. Based on the results, the machine learning service may determine one or more optimizations to improve the quantum algorithms or quantum circuits.
In some embodiments, a quantum computing service may support creating snapshots of results of executing a quantum circuit. For example, the quantum computing service may store snapshots of intermediate results of a hybrid algorithm or may more generally store snapshots of any results generated by executing a quantum circuit on a quantum computer. In some embodiments, an edge computing device at a hardware provider location may temporarily store results and may create snapshot copies of results stored on the edge computing device. The edge computing device may further cause the snapshot copies to be stored in an object-based data storage service of the service provider network. In some embodiments, snapshotting may not be performed, based on customer preferences.
FIG. 1 illustrates a quantum computing service of a service provider network that enables customers to access quantum computers that use multiple quantum computing technologies, wherein the quantum computing service includes a quality of service (QOS) and out-of-band prioritization module that provides out-of-band prioritization of quantum tasks, according to some embodiments.
Service provider network 100 includes quantum computing service 102 . In some embodiments, service provider network 100 may include data centers, routers, networking devices, etc., such as of a cloud computing provider network. In some embodiments, customers 104 , 106 , and 108 and/or additional customers of service provider network 100 and/or quantum computing service 102 , may be connected to the service provider network 100 in various ways, such as via a logically isolated connection over a public network, via a dedicated private physical connection, not accessible to the public, via a public Internet connection, etc.
In some embodiments, a quantum computing service 102 may include a quality of service (QOS) and out-of-band prioritization module 103 , a quantum algorithm development kit 114 , a translation module 112 , and a quantum compute simulator using classical hardware 118 .
Also, quantum computing service 102 is connected to quantum hardware providers 122 , 124 , 126 , and 128 . In some embodiments, quantum hardware providers 122 , 124 , 126 , and 128 may offer access to run quantum objects on quantum computers that operate based on various different types of quantum computing technologies or paradigms, such as based on quantum annealing, ion-trap, superconductive materials, photons, etc.
As discussed in more detail in FIG. 8 , in some embodiments, a service provider network 100 may be extended to include one or more edge computing devices physically located at quantum hardware provider locations, such as in a facility of quantum hardware providers 122 , 124 , 126 , and 128 . Physically locating an edge computing device of a service provider network 100 on premises at a quantum hardware provider facility may extend data security and encryption of the service provider network 100 into the quantum hardware providers 122 , 124 , 126 , and 128 facilities, thus ensuring the security of customer data. Also, physically locating an edge computing device of a service provider network 100 on premises at a quantum hardware provider facility may reduce latency between a compute instance of the service provider network and a quantum computer located at the quantum hardware provider facility. Thus, some applications, such as hybrid algorithms that are sensitive to network latencies may be performed by quantum computing service 102 , whereas other systems without co-located classical compute capacity at a hardware provider location may have too high of latencies to perform such hybrid algorithms efficiently.
In some embodiments, quantum computing service 102 includes one or more back-end API transport modules 110 . In some embodiments, a back-end API transport module 110 may be primarily implemented on edge computing devices of the quantum computing service that are located at the quantum hardware provider locations (such as edge computing devices 804 a , 804 b , 804 c , and 804 d illustrated in FIG. 8 ). Also, in some embodiments, at least some of the back-end API transport functionality may be implemented on the one or more computing devices of the service provider network that implement the quantum computing service (such as computing devices in data center 806 a , 806 b , 806 c illustrated in FIG. 8 ). In some embodiments, different quantum hardware providers may require different back-end API transport modules, which may further add variability to execution durations of quantum tasks. Some quantum hardware providers may accept quantum tasks over a network via an API such that it is not necessary for the provider network to locate an edge computing device at the quantum hardware provider's facility in order to submit quantum tasks. In some embodiments, some quantum hardware providers may follow a first in first out (FIFO) execution model for quantum tasks submitted for execution to the quantum hardware provider. Other quantum hardware providers may follow a batch execution model. In order to deal with these execution duration variabilities and to further deal with execution duration variability due to characteristics of various quantum tasks (e.g. number of shots, quantum circuit size, number of gates, time to switch between quantum circuits, etc.), a priority access control plane may order quantum tasks submitted to the back-end API transports for various quantum hardware providers in a prioritized order such that quality of service (QOS) guarantees and other scheduling rules are followed.
Quantum circuits that have been translated by translation module 112 may be provided to back-end API transport module 110 in order for the translated quantum circuits to be transported to a quantum computer at a respective quantum hardware provider location. In some embodiments, back-end API transport 110 may be a non-public API that is accessible by an edge computing device of service provider network 100 , but that is not publicly available. In some embodiments, a quality of service (QOS) and out-of-band prioritization module 103 may manage which quantum tasks are submitted to the back-end API transport and in what order. In some embodiments, edge computing devices at the quantum hardware providers 122 , 124 , 126 , and 128 may periodically ping a quantum computer service side interface to the back-end API transport 110 to determine if there are any quantum circuits (or batches of quantum circuits) waiting to be transported to the edge computing device. If so, the edge computing device may perform an API call to the back-end API transport 110 to cause the quantum circuit to be transported over a private connection to the edge computing device and scheduled for execution on a quantum computer. As discussed in more detail in FIGS. 12 - 13 , the edge computing device may queue the quantum circuit for execution on a quantum computer of the quantum hardware provider where the edge computing device is located. Also, the edge computing device may have been configured with a quantum machine image that enables the edge computing device to interface with a scheduling application of the quantum hardware provider, where the edge computing device is located, in order to schedule a time slot on the quantum computer of the quantum hardware provider to execute the quantum circuit via the back-end API transport 110 .
In some embodiments, results of executing the quantum circuit on the quantum computer at the quantum hardware provider location may be returned to the edge computing device at the quantum hardware provider location. The edge computing device and/or quantum computing service 102 may cause the results to be stored in a data storage system of the service provider network 100 . In some embodiments, results storage/results notification module 116 may coordinate storing results and may notify a customer, such as customer 104 , that the results are ready from the execution of the customer's quantum object, such as a quantum task, quantum algorithm, or quantum circuit. In some embodiments, results storage/results notification module 116 may cause storage space in a data storage service to be allocated to a customer to store the customer's results. Also, the results storage/results notification module 116 may specify access restrictions for viewing the customer's results in accordance with customer preferences.
In some embodiments, quantum compute simulator using classical hardware 118 of quantum computing service 102 , may be used to simulate a quantum algorithm or quantum circuit using classical hardware. For example, one or more virtual machines of a virtual computing service may be instantiated to process a quantum algorithm or quantum circuit simulation job. In some embodiments, quantum compute simulator using classical hardware 118 may fully manage compute instances that perform quantum circuit simulation. For example, in some embodiments, a customer may submit a quantum circuit to be simulated and quantum compute simulator using classical hardware 118 may determine resources needed to perform the simulation job, reserve the resources, configure the resources, etc. In some embodiments, quantum compute simulator using classical hardware 118 may include one or more âwarmâ simulators that are pre-configured simulators such that they are ready to perform a simulation job without a delay typically involved in reserving resources and configuring the resources to perform simulation.
In some embodiments, quantum computing service 102 includes quantum hardware provider recommendation/selection module 120 . In some embodiments, quantum hardware recommendation/selection module 120 may make a recommendation to a quantum computing service customer as to which type of quantum computer or which quantum hardware provider to use to execute a quantum object submitted by the customer. Additionally, or alternatively, the quantum hardware provider recommendation/selection module 120 may receive a customer selection of a quantum computer type and/or quantum hardware provider to use to execute the customer's quantum object, such as a quantum task, quantum algorithm, quantum circuit, etc. submitted by the customer or otherwise defined with customer input.
In some embodiments, a recommendation provided by quantum hardware provider recommendation/selection module 120 may be based on one or more characteristics of a quantum object submitted by a customer and one or more characteristics of the quantum hardware providers supported by the quantum computing service 102 , such as one or more of quantum hardware providers 122 , 124 , 126 , or 128 .
In some embodiments, quantum hardware provider recommendation/selection module may make a recommendation based on known data about previously executed quantum objects similar to the quantum object submitted by the customer. For example, quantum computing service 102 may store certain amounts of metadata about executed quantum objects and use such metadata to make recommendations. In some embodiments, a recommendation may include an estimated cost to perform the quantum computing task by each of the first and second quantum hardware providers. In some embodiments, a recommendation may include an estimated error rate for each of the first and second quantum hardware providers in regard to performing the quantum computing task. In some embodiments, a recommendation may include an estimated length of time to execute the quantum computing task for each of the first and second quantum hardware providers. In some embodiments, a recommendation may include various other types of information relating to one or more quantum hardware providers or any combination of the above.
In some embodiments, quantum compute simulator using classical hardware 118 , may allow a customer to simulate one or more particular quantum computing technology environments. For example, a customer may simulate a quantum circuit in an annealing quantum computing environment and an ion trap quantum computing environment to determine simulated error rates. The customer may then use this information to make a selection of a quantum hardware provider to use to execute the customer's quantum circuit.
FIG. 2 A illustrates a more detailed view of an example quality of service (Qos) and out-of-band prioritization module, according to some embodiments.
Quality of service (QOS) and out-of-band prioritization module 103 receives quantum jobs to be executed 202 and solo quantum tasks to be executed 204 . For example, the quantum jobs and quantum tasks may be submitted to the quantum computing service 102 for execution by customers of the quantum computing service. Quality of service (QoS) and out-of-band prioritization module 103 includes a jobs control plane 206 , a priority access control plane 208 , and a quantum task service/quantum task queue 210 . In some embodiments, jobs control plane 206 may attach access tokens 224 receive from priority access control plane 208 to jobs, wherein priorities associated with the access tokens are determined by the priority access control plane 208 based on the priority of the job, such as a QoS guarantee for the job relative to QoS guarantees for other jobs. For example, job 1 ( 212 ) has a QoS guarantee A and job N ( 214 ) has a QoS guarantee B. Based on these QoS guarantees, priority access control plane 208 may generate access tokens 224 for jobs 212 and 214 and jobs access control plane 206 may attach the respective access tokens, such as access tokens 216 and 218 to the quantum jobs 212 and 214 . In some embodiments, jobs control plane 206 may further determine when to commence execution of a next quantum job based on the relative priority of the quantum job relative to other quantum jobs in a jobs control plane 206 queue, as determined by the priorities of the access tokens attached to the jobs. For example, if currently executing quantum jobs have QoS guarantees equal to the full capacity of a given QPU that is to execute a next quantum job, the jobs control plane 206 may refrain from commencing execution of the next quantum job until there is available capacity to execute the next quantum job. In some embodiments, instead of utilizing a FIFO model, jobs control plane 206 may choose a next quantum job to execute based on the priority of the access token attached to the job which is further based on a QoS guarantee, such that in some situations a later submitted quantum job may have execution commenced before an earlier submitted quantum job with a lesser QoS guarantee.
When a job is selected to be commenced by jobs control plane 206 , a job token 222 comprising instructions for the job and an associated access token (e.g., 216 or 218 ) is submitted to quantum task service/quantum task queue 210 . In some embodiments, quantum task service/quantum task q
CLAIMS
Claims ( 20 )
What is claimed is:
1. A system comprising:
one or more computing devices of a service provider network configured to implement a quantum computing service,
wherein the one or more computing devices that implement the quantum computing service are further configured to implement:
a priority access control plane for the quantum computing service; and
a plurality of quantum task queues for the quantum computing service,
wherein the priority access control plane is configured to:
assign respective priorities to respective quantum tasks included in, or to be included in, the plurality of quantum task queues based, at least in part, on respective quality of service (QOS) guarantees for the respective quantum tasks;
determine, prior to completion of a given quantum task, a next one of the plurality of quantum task queues from which a next quantum task is to be selected from for execution based, at least in part, on past resource usage information and respective quality of service (Qos) resource allocation distribution targets for the plurality of quantum task queues;
wherein the one or more computing devices that implement the quantum computing service are further configured to:
submit, upon capacity becoming available, the next quantum task for execution from the determined next quantum task queue;
wherein the quantum tasks are of variable time durations, such that some quantum tasks require more time to execute than other ones of the quantum tasks, and
wherein the determining of the next quantum task queue from which the next quantum task is to be selected from for execution is performed out-of-band such that execution of the next quantum task is not delayed from proceeding to execution, when capacity becomes available, due to a time required to perform the determining of the next quantum task queue from which the next quantum task is to be selected from for execution.
2. The system of claim 1 , further comprising:
one or more edge computing devices of the provider network located at one or more respective locations of one or more quantum hardware providers;
wherein the quantum computing service is configured to:
submit the next quantum task to a respective one of the one or more edge computing devices for execution via a quantum hardware device of a respective one of the one or more quantum hardware providers.
3. The system of claim 1 , further comprising:
a quantum hardware device included in the service provider network, wherein the quantum computing service is configured to:
submit the next quantum task to the quantum hardware device of the service provider network for execution.
4. The system of claim 1 , wherein the quantum computing service is configured to:
receive individual quantum tasks from clients of the quantum computing service; and
receive quantum jobs from clients of the quantum computing service, wherein a quantum job comprises a plurality of quantum tasks, and
wherein the priority access control plane is configured to:
determine prioritization of the individual quantum tasks and the quantum jobs such that:
a quality-of-service guarantee associated with the respective quantum jobs is enforced when executing quantum tasks of the respective quantum jobs; and
the individual quantum tasks are executed according to a quality of service guarantee for quantum tasks belonging to a solo task type.
5. The system of claim 1 , wherein:
the quantum computing service is configured to attach access tokens to the quantum tasks; and
to update the respective priorities of the quantum tasks, the priority access control plane is configured to update one or more priorities assigned to the access tokens.
6. The system of claim 5 , wherein:
to update a priority of a given quantum job comprising a plurality of quantum tasks, the access control plane is configured to update a priority of an access token for the given quantum job, wherein the access tokens for the given quantum job are attached to quantum tasks for the given quantum job.
7. A method of managing quantum tasks for a quantum computing service, the method comprising:
assigning respective priorities to respective quantum tasks included in, or to be included in, a plurality of quantum task queues of the quantum computing service based, at least in part, on respective quality of service (QOS) guarantees for the respective quantum tasks;
determining, prior to completion of a given quantum task, a next one of the plurality of quantum task queues from which a next quantum task is to be selected from for execution based, at least in part, on past resource usage information and respective quality of service (QOS) resource allocation distribution targets for the plurality of quantum task queues;
submitting, upon capacity becoming available, the next quantum task for execution from the determined next quantum task queue wherein said determining the next quantum task queue from which the next quantum task is to be selected from for execution is performed out-of-band such that execution of the next quantum task is not delayed, when capacity becomes available, due to performing said determining the next quantum task queue from which the next quantum task is to be selected from for execution.
8. The method of claim 7 , further comprising:
attaching access tokens to the quantum tasks,
wherein said assigning the respective priorities to the respective quantum tasks is based upon priorities for one or more respective types of access tokens attached to the respective quantum tasks.
9. The method of claim 8 , wherein quantum tasks with different associated access token types are included in different ones of the plurality of quantum task queues of the quantum computing service.
10. The method of claim 9 , wherein the respective types of access tokens attached to the quantum tasks included in the plurality of quantum task queues comprise:
a quantum job access token type; and
a solo quantum task access token type,
the method further comprising:
increasing, once a first quantum task for a given quantum job has been submitted for execution, a priority of other quantum tasks of the quantum job via increasing a priority associated with an access token type related to the given quantum job.
11. The method of claim 7 , wherein the quantum tasks comprise simulation quantum tasks and wherein execution of the simulation quantum tasks comprises simulating a quantum program or quantum circuit via a classical computing simulator.
12. The method of claim 7 , wherein the quantum tasks comprise quantum circuits and execution of the next quantum task comprises executing a quantum circuit of the next quantum task on a quantum computing device.
13. The method of claim 7 , further comprising:
implementing a quantum job control plane configured to:
generate quantum tasks for respective quantum jobs submitted to the quantum computing service; and
attach quantum job type access tokens to the quantum tasks, wherein the attached quantum job type access tokens indicate a respective quantum job to which the attached quantum tasks belongs.
14. The method of claim 7 , wherein the quantum tasks are of variable time durations, such that some quantum tasks included in the plurality of quantum task queues require more time to execute than other ones of the quantum tasks included in the plurality of quantum task queues.
15. The method of claim 14 , wherein the quantum tasks included in the plurality of quantum task queues require different amounts of time to execute due to one or more of:
a number of shots required to be performed for the quantum task;
a size of a quantum circuit for the quantum task; or
an amount of time required to transition a quantum hardware device from a configuration used for a preceding quantum circuit for a preceding quantum task to a configuration to be used for the quantum circuit for the next quantum task.
16. The method of claim 7 , wherein:
the next quantum task is submitted to a respective one of one or more edge computing devices of a service provider network comprising the quantum computing service, wherein the one or more edge computing devices are located at a quantum hardware provider location, and wherein the one or more edge computing devices submit the next quantum task for execution on a quantum hardware device of the quantum hardware provider.
17. The method of claim 7 , wherein:
the next quantum task is submitted to a quantum hardware device of a service provider network comprising the quantum computing service.
18. One or more non-transitory, computer-readable, media storing program instructions, that when executed on or across one or more processors, cause the one or more processors to:
assign respective priorities to respective quantum tasks included in, or to be included in, a plurality of quantum task queues of a quantum computing service based, at least in part, on respective quality of service (QOS) guarantees for the respective quantum tasks;
determine, prior to completion of a given quantum task, a next one of the plurality of quantum task queues from which a next quantum task is to be selected from for execution based, at least in part, on past resource usage information and respective quality of service (QOS) resource allocation distribution targets for the plurality of quantum task queues; and
cause, upon capacity becoming available, the next quantum task to be submitted for execution from the determined next quantum task queue,
wherein said determining the next quantum task queue from which the next quantum task is to be selected from for execution is performed out-of-band such that execution of the next quantum task is not delayed, when capacity becomes available, due to performing said determining the next quantum task queue from which the next quantum task is to be selected from for execution.
19. The one or more non-transitory, computer-readable, media of claim 18 , wherein:
the given quantum task is a preceding quantum task;
a current quantum task is currently being executed; and
the next quantum task queue from which the next quantum task is to be selected from is determined prior to the current quantum task being submitted for execution.
20. The one or more non-transitory, computer readable, media of claim 18 , wherein the plurality of quantum task queues comprises a plurality of queues for a plurality of quality of service levels, and
wherein, the program instructions, when executed on or across the one or more processors, cause the one or more processors to:
update respective priorities for the plurality of queues for the plurality of quality-of-service levels such that at least one of the quality-of-service level queues has a higher priority than other ones of the quality-of-service level queues.
US17/491,140
2021-09-30
2021-09-30
Quantum computing service with quality of service (QoS) enforcement via out-of-band prioritization of quantum tasks
Active
2043-05-24
US12430170B2
( en )
Priority Applications (5)
Application Number
Priority Date
Filing Date
Title
US17/491,140
US12430170B2
( en )
2021-09-30
2021-09-30
Quantum computing service with quality of service (QoS) enforcement via out-of-band prioritization of quantum tasks
EP22929202.4A
EP4409410A2
( en )
2021-09-30
2022-09-26
Quantum computing service with quality of service (qos) enforcement via out-of-band prioritization of quantum tasks
CN202280066505.0A
CN118056186A
( en )
2021-09-30
2022-09-26
Quantum computing services using quality of service (QoS) through out-of-band prioritization of quantum tasks
PCT/US2022/077008
WO2023183057A2
( en )
2021-09-30
2022-09-26
Quantum computing service with quality of service (qos) enforcement via out-of-band prioritization of quantum tasks
US19/318,070
US20260064464A1
( en )
2021-09-30
2025-09-03
QUANTUM COMPUTING SERVICE WITH QUALITY OF SERVICE (QoS) ENFORCEMENT VIA OUT-OF-BAND PRIORITIZATION OF QUANTUM TASKS
Applications Claiming Priority (1)
Application Number
Priority Date
Filing Date
Title
US17/491,140
US12430170B2
( en )
2021-09-30
2021-09-30
Quantum computing service with quality of service (QoS) enforcement via out-of-band prioritization of quantum tasks
Related Child Applications (1)
Application Number
Title
Priority Date
Filing Date
US19/318,070
Continuation
US20260064464A1
( en )
2021-09-30
2025-09-03
QUANTUM COMPUTING SERVICE WITH QUALITY OF SERVICE (QoS) ENFORCEMENT VIA OUT-OF-BAND PRIORITIZATION OF QUANTUM TASKS
Publications (2)
Publication Number
Publication Date
US20230110628A1
US20230110628A1 ( en )
2023-04-13
US12430170B2
true
US12430170B2 ( en )
2025-09-30
Family
ID=85797439
Family Applications (2)
Application Number
Title
Priority Date
Filing Date
US17/491,140
Active
2043-05-24
US12430170B2
( en )
2021-09-30
2021-09-30
Quantum computing service with quality of service (QoS) enforcement via out-of-band prioritization of quantum tasks
US19/318,070
Pending
US20260064464A1
( en )
2021-09-30
2025-09-03
QUANTUM COMPUTING SERVICE WITH QUALITY OF SERVICE (QoS) ENFORCEMENT VIA OUT-OF-BAND PRIORITIZATION OF QUANTUM TASKS
Family Applications After (1)
Application Number
Title
Priority Date
Filing Date
US19/318,070
Pending
US20260064464A1
( en )
2021-09-30
2025-09-03
QUANTUM COMPUTING SERVICE WITH QUALITY OF SERVICE (QoS) ENFORCEMENT VIA OUT-OF-BAND PRIORITIZATION OF QUANTUM TASKS
Country Status (4)
Country
Link
US
( 2 )
US12430170B2
( en )
EP
( 1 )
EP4409410A2
( en )
CN
( 1 )
CN118056186A
( en )
WO
( 1 )
WO2023183057A2
( en )
Families Citing this family (14)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US11875226B2
( en )
2020-03-17
2024-01-16
ColdQuanta, Inc.
Shaken lattice as a service
US11631023B2
( en )
*
2020-03-17
2023-04-18
ColdQuanta, Inc.
Quantum mechanics as a service
US11935053B2
( en )
2020-03-17
2024-03-19
ColdQuanta, Inc.
Bose-Einstein condensates as a service
US11922416B2
( en )
2020-03-17
2024-03-05
ColdQuanta, Inc.
Atomtronics as a service
US12260295B2
( en )
*
2021-10-28
2025-03-25
Red Hat, Inc.
Callback-based qubit manipulation
US12217090B2
( en )
*
2021-11-12
2025-02-04
Amazon Technologies, Inc.
On-demand co-processing resources for quantum computing
US12327165B2
( en )
*
2021-12-11
2025-06-10
International Business Machines Corporation
Visual presentation of quantum-classical interface in a user experience
US20230409940A1
( en )
*
2022-06-17
2023-12-21
Dell Products L.P.
Quantum computer slicing mechanism
US20230419378A1
( en )
*
2022-06-27
2023-12-28
Dell Products L.P.
Quantum accuracy score
US20240012678A1
( en )
*
2022-07-08
2024-01-11
Dell Products L.P.
Queue consolidation and peer-to-peer quantum workload stealing
US12229296B2
( en )
*
2022-07-13
2025-02-18
Mellanox Technologies, Ltd.
Systems, methods, and apparatuses for securing ownership of objects in a digital ledger
US20240160490A1
( en )
*
2022-11-11
2024-05-16
Dell Products L.P.
Transpilation-oriented decisions in hybrid quantum-classic workload orchestration
TWI880708B
( en )
*
2024-04-10
2025-04-11
åç«æ¿æ²»å¤§å¸
Monitoring and recommendation system for general-purpose quantum computers
US12547466B1
( en )
*
2025-07-09
2026-02-10
Qubital LLC
Method and system for adaptive quantum backend selection
Citations (64)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US5937205A
( en )
*
1995-12-06
1999-08-10
International Business Machines Corporation
Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
US6741585B1
( en )
2000-05-05
2004-05-25
Lucent Technologies Inc.
Interworking of addressing in an internetwork
US20050013280A1
( en )
2003-07-14
2005-01-20
Buddhikot Milind M.
Method and system for mobility across heterogeneous address spaces
US20050229151A1
( en )
*
2003-11-04
2005-10-13
Realization Technologies, Inc.
Facilitation of multi-project management using task hierarchy
US20050251806A1
( en )
2004-05-10
2005-11-10
Auslander Marc A
Enhancement of real-time operating system functionality using a hypervisor
EP1701259A2
( en )
2005-03-11
2006-09-13
Microsoft Corporation
Systems and methods for multi-level intercept processing in a virtual machine environment
US20080244553A1
( en )
2007-03-28
2008-10-02
Daryl Carvis Cromer
System and Method for Securely Updating Firmware Devices by Using a Hypervisor
US7484091B2
( en )
2004-04-29
2009-01-27
International Business Machines Corporation
Method and system for providing a trusted platform module in a hypervisor environment
US20100070970A1
( en )
2008-09-15
2010-03-18
Vmware, Inc.
Policy-Based Hypervisor Configuration Management
US20110075667A1
( en )
2009-09-30
2011-03-31
Alcatel-Lucent Usa Inc.
Layer 2 seamless site extension of enterprises in cloud computing
US20110131443A1
( en )
2009-11-30
2011-06-02
Dor Laor
Mechanism for Automatic Adjustment of Virtual Machine Storage
US7996836B1
( en )
2006-12-29
2011-08-09
Symantec Corporation
Using a hypervisor to provide computer security
US8032899B2
( en )
2006-10-26
2011-10-04
International Business Machines Corporation
Providing policy-based operating system services in a hypervisor on a computing system
US8127292B1
( en )
2007-06-22
2012-02-28
Parallels Holdings, Ltd.
Virtualization system with hypervisor embedded in bios or using extensible firmware interface
US8201161B2
( en )
2008-01-07
2012-06-12
Lenovo (Singapore) Pte. Ltd.
System and method to update device driver or firmware using a hypervisor environment without system shutdown
US8239557B2
( en )
2008-06-25
2012-08-07
Red Hat, Inc.
Virtualization management using a centralized server
EP2557498A1
( en )
2011-01-30
2013-02-13
Huawei Technologies Co., Ltd.
Updating method and computer system for hypervisor components
US8433802B2
( en )
2010-01-26
2013-04-30
International Business Machines Corporation
System and method for fair and economical resource partitioning using virtual hypervisor
US8514868B2
( en )
2008-06-19
2013-08-20
Servicemesh, Inc.
Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8706798B1
( en )
*
2013-06-28
2014-04-22
Pepperdata, Inc.
Systems, methods, and devices for dynamic resource monitoring and allocation in a cluster system
US20140208413A1
( en )
2013-01-23
2014-07-24
Steve Grobman
System and method for an endpoint hardware assisted network firewall in a security environment
US20150160884A1
( en )
2013-12-09
2015-06-11
Vmware, Inc.
Elastic temporary filesystem
US20160026573A1
( en )
2014-07-28
2016-01-28
International Business Machines Corporation
Using a decrementer interrupt to start long-running hardware operations before the end of a shared processor dispatch cycle
US20160077845A1
( en )
2014-09-11
2016-03-17
Amazon Technologies, Inc.
Variable timeslices for processing latency-dependent workloads
US9323552B1
( en )
2013-03-14
2016-04-26
Amazon Technologies, Inc.
Secure virtual machine memory allocation management via dedicated memory pools
US9361145B1
( en )
2014-06-27
2016-06-07
Amazon Technologies, Inc.
Virtual machine state replication using DMA write records
US20160170785A1
( en )
2014-12-11
2016-06-16
Amazon Technologies, Inc.
Managing virtual machine instances utilizing an offload device
US20160170781A1
( en )
2014-12-11
2016-06-16
Amazon Technologies, Inc.
Systems and methods for loading a virtual machine monitor during a boot process
US9485323B1
( en )
2013-09-23
2016-11-01
Amazon Technologies, Inc.
Managing pooled client-premise resources via provider-defined interfaces
US9774489B1
( en )
2010-09-29
2017-09-26
Amazon Technologies, Inc.
Allocating computing resources according to reserved capacity
US20170300354A1
( en )
2009-07-27
2017-10-19
Nicira, Inc.
Automated network configuration of virtual machines in a virtual lab environment
US20170366606A1
( en )
2014-05-13
2017-12-21
Velostrata Ltd.
Real Time Cloud Workload Streaming
US9979694B2
( en )
2010-09-30
2018-05-22
Amazon Technologies, Inc.
Managing communications between virtual computing nodes in a substrate network
US20180217951A1
( en )
*
2015-09-28
2018-08-02
Sandisk Technologies Llc
Systems, Methods, and Computer-Readable Media for Managing Instruction Fetch in Virtual Computing Environments
US20180260125A1
( en )
2017-03-10
2018-09-13
Pure Storage, Inc.
Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10095537B1
( en )
2016-03-22
2018-10-09
Amazon Technologies, Inc.
Driver version identification and update system
US20190130327A1
( en )
*
2017-10-31
2019-05-02
Dell Products L. P.
Applying machine learning to dynamically scale computing resources to satisfy a service level agreement (sla)
US20190303309A1
( en )
*
2018-03-27
2019-10-03
Samsung Electronics Co., Ltd.
Methods and systems that manage fetching of commands by a controller from queues of a host
US10482413B2
( en )
2015-12-18
2019-11-19
Amazon Technologies, Inc.
Data transfer tool for secure client-side data transfer to a shippable storage device
WO2019222748A1
( en )
2018-05-18
2019-11-21
Rigetti & Co, Inc.
Computing platform with heterogenous quantum processors
US10498611B1
( en )
2018-08-29
2019-12-03
Charter Communications Operating, Llc
System architecture and methods for controlling and managing networking devices and expediting new service delivery in a subscriber's home network using micro-domains
US20200026564A1
( en )
*
2017-05-04
2020-01-23
Salesforce.Com, Inc.
Systems, methods, and apparatuses for implementing a scheduler and workload manager with dynamic workload termination based on cost-benefit analysis
US20200034170A1
( en )
2018-07-25
2020-01-30
International Business Machines Corporation
Performance of containers
US20200042349A1
( en )
*
2018-07-31
2020-02-06
Nutanix, Inc.
Multi-level job processing queues
WO2020047426A1
( en )
2018-08-30
2020-03-05
Rigetti & Co, Inc.
Low-latency, high-performance hybrid computing
US20200174836A1
( en )
*
2018-11-29
2020-06-04
International Business Machines Corporation
Co-scheduling quantum computing jobs
US10831519B2
( en )
2017-11-22
2020-11-10
Amazon Technologies, Inc.
Packaging and deploying algorithms for flexible machine learning
US11175971B1
( en )
2020-05-14
2021-11-16
Samsung Sds Co., Ltd.
Method for serving cloud of quantum computing and computing device for executing the method
CN113780733A
( en )
*
2021-08-06
2021-12-10
æ·±å³åæµ·å¾®ä¼é¶è¡è¡ä»½æéå ¬å¸
Method and device for determining queuing queue
US20220101164A1
( en )
*
2020-09-28
2022-03-31
Cognizant Technology Solutions India Pvt. Ltd.
System and method for providing data computation via quantum computers
US11526385B1
( en )
*
2020-04-02
2022-12-13
State Farm Mutual Automobile Insurance Company
Systems and methods to leverage unused compute resource for machine learning tasks
US20220414517A1
( en )
2020-03-03
2022-12-29
Rigetti & Co, Llc
Controlling a Tunable Floating Coupler Device in a Superconducting Quantum Processing Unit
US20230015315A1
( en )
2014-09-29
2023-01-19
Transmed7, Llc.
Excisional devices and methods
US20230047145A1
( en )
*
2021-08-11
2023-02-16
Uchicago Argonne, Llc
Quantum simulation
US11605033B2
( en )
2019-11-27
2023-03-14
Amazon Technologies, Inc.
Quantum computing task translation supporting multiple quantum computing technologies
US11605016B2
( en )
2019-11-27
2023-03-14
Amazon Technologies, Inc.
Quantum computing service supporting local execution of hybrid algorithms
US11650869B2
( en )
2019-11-27
2023-05-16
Amazon Technologies, Inc.
Quantum computing service with local edge devices supporting multiple quantum computing technologies
US20230153219A1
( en )
2021-11-12
2023-05-18
Amazon Technologies, Inc.
Quantum computing monitoring system
US20230153155A1
( en )
2021-11-12
2023-05-18
Amazon Technologies, Inc.
On-demand co-processing resources for quantum computing
US20230188335A1
( en )
2021-12-10
2023-06-15
Amazon Technologies, Inc.
Quantum safe enclaves
US11704715B2
( en )
2019-11-27
2023-07-18
Amazon Technologies, Inc.
Quantum computing service supporting multiple quantum computing technologies
US11775855B2
( en )
2017-11-15
2023-10-03
Amazon Technologies, Inc.
Service for managing quantum computing resources
US20240112062A1
( en )
2022-09-30
2024-04-04
Amazon Technologies, Inc.
Quantum circuit service
US12013845B1
( en )
2023-04-17
2024-06-18
Bank Of America Corporation
Real time optimization apparatus using smart contracts for dynamic code validation and approval
2021
2021-09-30
US
US17/491,140
patent/US12430170B2/en
active
Active
2022
2022-09-26
EP
EP22929202.4A
patent/EP4409410A2/en
active
Pending
2022-09-26
WO
PCT/US2022/077008
patent/WO2023183057A2/en
not_active
Ceased
2022-09-26
CN
CN202280066505.0A
patent/CN118056186A/en
active
Pending
2025
2025-09-03
US
US19/318,070
patent/US20260064464A1/en
active
Pending
Patent Citations (65)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US5937205A
( en )
*
1995-12-06
1999-08-10
International Business Machines Corporation
Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
US6741585B1
( en )
2000-05-05
2004-05-25
Lucent Technologies Inc.
Interworking of addressing in an internetwork
US20050013280A1
( en )
2003-07-14
2005-01-20
Buddhikot Milind M.
Method and system for mobility across heterogeneous address spaces
US20050229151A1
( en )
*
2003-11-04
2005-10-13
Realization Technologies, Inc.
Facilitation of multi-project management using task hierarchy
US7484091B2
( en )
2004-04-29
2009-01-27
International Business Machines Corporation
Method and system for providing a trusted platform module in a hypervisor environment
US20050251806A1
( en )
2004-05-10
2005-11-10
Auslander Marc A
Enhancement of real-time operating system functionality using a hypervisor
EP1701259A2
( en )
2005-03-11
2006-09-13
Microsoft Corporation
Systems and methods for multi-level intercept processing in a virtual machine environment
US8032899B2
( en )
2006-10-26
2011-10-04
International Business Machines Corporation
Providing policy-based operating system services in a hypervisor on a computing system
US7996836B1
( en )
2006-12-29
2011-08-09
Symantec Corporation
Using a hypervisor to provide computer security
US20080244553A1
( en )
2007-03-28
2008-10-02
Daryl Carvis Cromer
System and Method for Securely Updating Firmware Devices by Using a Hypervisor
US8127292B1
( en )
2007-06-22
2012-02-28
Parallels Holdings, Ltd.
Virtualization system with hypervisor embedded in bios or using extensible firmware interface
US8201161B2
( en )
2008-01-07
2012-06-12
Lenovo (Singapore) Pte. Ltd.
System and method to update device driver or firmware using a hypervisor environment without system shutdown
US8514868B2
( en )
2008-06-19
2013-08-20
Servicemesh, Inc.
Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8239557B2
( en )
2008-06-25
2012-08-07
Red Hat, Inc.
Virtualization management using a centralized server
US20100070970A1
( en )
2008-09-15
2010-03-18
Vmware, Inc.
Policy-Based Hypervisor Configuration Management
US20170300354A1
( en )
2009-07-27
2017-10-19
Nicira, Inc.
Automated network configuration of virtual machines in a virtual lab environment
US20110075667A1
( en )
2009-09-30
2011-03-31
Alcatel-Lucent Usa Inc.
Layer 2 seamless site extension of enterprises in cloud computing
US20110131443A1
( en )
2009-11-30
2011-06-02
Dor Laor
Mechanism for Automatic Adjustment of Virtual Machine Storage
US8433802B2
( en )
2010-01-26
2013-04-30
International Business Machines Corporation
System and method for fair and economical resource partitioning using virtual hypervisor
US9774489B1
( en )
2010-09-29
2017-09-26
Amazon Technologies, Inc.
Allocating computing resources according to reserved capacity
US9979694B2
( en )
2010-09-30
2018-05-22
Amazon Technologies, Inc.
Managing communications between virtual computing nodes in a substrate network
EP2557498A1
( en )
2011-01-30
2013-02-13
Huawei Technologies Co., Ltd.
Updating method and computer system for hypervisor components
US20140208413A1
( en )
2013-01-23
2014-07-24
Steve Grobman
System and method for an endpoint hardware assisted network firewall in a security environment
US9323552B1
( en )
2013-03-14
2016-04-26
Amazon Technologies, Inc.
Secure virtual machine memory allocation management via dedicated memory pools
<span