# US 12,117,921 B2 · Performing comparative testing of quantum services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,921 B2
- Document ID: US12117921B2
- Status: Granted
- Kind: B2
- Application number: 17/243,755
- Filed: 2021-04-29
- Published: 2022-11-03
- Granted: 2024-10-15
- Earliest claimed: 2021-04-29
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Leigh Griffin; Stephen Coady
- Web page: https://patentgrep.com/patent/US12117921B2

## CPC

- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06N 10/80: Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Performing comparative testing of quantum services is disclosed. In one example, a processor device of a quantum computing system (e.g., by executing a quantum testing service (QTS)) receives a first request for testing from a requestor, wherein the first request comprises an identifier of a quantum service. The quantum computing device retrieves a plurality of quantum service definitions corresponding to a plurality of different versions of the quantum service, based on the first request. A plurality of instances of the quantum service are then instantiated for parallel execution by the quantum computing device, wherein each instance is defined by a quantum service definition of the plurality of quantum service definitions. The quantum computing device next performs testing of each instance of the plurality of instances, based on the first request, and generates a testing result report based on the testing.

## Claims

### Claim 1

A method, comprising:
receiving, by a quantum computing device, a first request for testing from a requestor, wherein the first request comprises an identifier of a quantum service;
retrieving, by the quantum computing device, a plurality of quantum service definitions corresponding to a plurality of different versions of the quantum service, based on the first request;
instantiating a plurality of instances of the quantum service for parallel execution by the quantum computing device, wherein each instance is defined by a quantum service definition of the plurality of quantum service definitions;
performing testing of each instance of the plurality of instances, based on the first request; and
generating a testing result report based on the testing.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first request comprises one or more of a retrieval indicator that indicates a count of the plurality of quantum service definitions to retrieve, a testing parameter, a load balancing parameter, and a performance metric indicator that indicates a performance metric to include in the testing result report.

### Claim 3 (depends on 1)

The method of claim 1, further comprising, prior to instantiating the plurality of instances of the quantum service:
determining, by the quantum computing device, a number of instances of the quantum service that the quantum computing device is capable of instantiating, based on the plurality of quantum service definitions; and
transmitting, to the requestor, a response comprising an indication of the number of instances of the quantum service that the quantum computing device is capable of instantiating.

### Claim 4 (depends on 3)

The method of claim 3, further comprising receiving, from the requestor, a second request comprising an instance indicator that indicates a count of instances of the quantum service to instantiate, based on the response.

### Claim 5 (depends on 3)

The method of claim 3, wherein determining the number of instances that the quantum computing device is capable of instantiating is based on one or more of available hardware resources of the quantum computing device and a count of available qubits of the quantum computing device.

### Claim 6 (depends on 1)

The method of claim 1, wherein performing testing of each instance of the plurality of instances comprises:
receiving a plurality of test requests directed to the quantum service;
forwarding each test request of the plurality of test requests to an instance of the plurality of instances; and
obtaining a measurement of a performance metric of the instance.

### Claim 7 (depends on 1)

The method of claim 1, wherein performing testing of each instance of the plurality of instances comprises:
generating, by the quantum computing device, a plurality of test requests directed to the quantum service;
forwarding each test request of the plurality of test requests to an instance of the plurality of instances; and
obtaining a measurement of a performance metric of the instance.

### Claim 8 (depends on 1)

The method of claim 1, further comprising transmitting the testing result report to the requestor.

### Claim 9 (depends on 1)

The method of claim 1, wherein each quantum service definition of the plurality of quantum service definitions comprises a Quantum Assembly Language (QASM) file.

### Claim 10

A computing system, comprising:
a quantum computing device, comprising:
a system memory; and
a processor device coupled to the system memory, the processor device to:
receive a first request for testing from a requestor, wherein the first request comprises an identifier of a quantum service;
retrieve a plurality of quantum service definitions corresponding to a plurality of different versions of the quantum service, based on the first request;
instantiate a plurality of instances of the quantum service for parallel execution by the quantum computing device, wherein each instance is defined by a quantum service definition of the plurality of quantum service definitions;
perform testing of each instance of the plurality of instances, based on the first request; and
generate a testing result report based on the testing.

### Claim 11 (depends on 10)

The computing system of claim 10, wherein the first request comprises one or more of a retrieval indicator that indicates a count of the plurality of quantum service definitions to retrieve, a testing parameter, a load balancing parameter, and a performance metric indicator that indicates a performance metric to include in the testing result report.

### Claim 12 (depends on 10)

The computing system of claim 10, wherein the processor device is further to, prior to instantiating the plurality of instances of the quantum service:
determine a number of instances of the quantum service that the quantum computing device is capable of instantiating, based on the plurality of quantum service definitions; and
transmit, to the requestor, a response comprising an indication of the number of instances of the quantum service that the quantum computing device is capable of instantiating.

### Claim 13 (depends on 12)

The computing system of claim 12, wherein the processor device is further to receive, from the requestor, a second request comprising an instance indicator that indicates a count of instances of the quantum service to instantiate, based on the response.

### Claim 14 (depends on 12)

The computing system of claim 12, wherein to determine the number of instances that the quantum computing device is capable of instantiating is to determine the number of instances based on one or more of available hardware resources of the quantum computing device and a count of available qubits of the quantum computing device.

### Claim 15 (depends on 10)

The computing system of claim 10, wherein to perform testing of each instance of the plurality of instances is to:
receive a plurality of test requests directed to the quantum service;
forward each test request of the plurality of test requests to an instance of the plurality of instances; and
obtain a measurement of a performance metric of the instance.

### Claim 16 (depends on 10)

The computing system of claim 10, wherein to perform testing of each instance of the plurality of instances is to:
generate by the processor device, a plurality of test requests directed to the quantum service;
forward each test request of the plurality of test requests to an instance of the plurality of instances; and
obtain a measurement of a performance metric of the instance.

### Claim 17 (depends on 10)

The computing system of claim 10, wherein the processor device is further to transmit the testing result report to the requestor.

### Claim 18 (depends on 10)

The computing system of claim 10, wherein each quantum service definition of the plurality of quantum service definitions comprises a Quantum Assembly Language (QASM) file.

### Claim 19

A non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed, cause one or more processor devices to:
receive a first request for testing from a requestor, wherein the first request comprises an identifier of a quantum service;
retrieve a plurality of quantum service definitions corresponding to a plurality of different versions of the quantum service, based on the first request;
instantiate a plurality of instances of the quantum service for parallel execution by a quantum computing device, wherein each instance is defined by a quantum service definition of the plurality of quantum service definitions;
perform testing of each instance of the plurality of instances, based on the first request; and
generate a testing result report based on the testing.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein the computer-executable instructions further cause the one or more processor devices to transmit the testing result report to the requestor.
