IP Library Granted Patent US 12,314,711
Granted Patent B2
US 12,314,711 · App. 18/309,060 · Granted May 27, 2025

Deriving a custom version of a software package from super positioned qubits

Inventors: Leigh Griffin (Waterford, IE); Pierre-Yves Chibon (Puteaux, FR)
Assignee: Red Hat, Inc.
G06F8/71G06F8/61G06N10/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,314,711
App. No.
18/309,060
Granted
May 27, 2025
Kind
B2
Abstract

A quantum computing system (QCS) receives from a computing device a request for a custom software version of a software package that includes a subset of features from a set of features implemented by a version of the software package, the request identifying the software package and the subset of features. The QCS places each qubit of a plurality of qubits in which the version of the software package is stored in a state of superposition. The QCS accesses a data structure to determine a subset of the plurality of qubits. The QCS biases the qubits in the subset. The QCS measures values of each qubit in superposition to extract the subset of features from the plurality of qubits. The QCS generates a custom software package based on the values measured in the plurality of qubits.

Claims (72)

1. A method comprising:

receiving, by a quantum computing system (QCS) from a first computing device, a first request for a custom software version of a software package that comprises a first subset of features from a set of features implemented by a first version of the software package, the first request identifying the software package and the first subset of features;

placing, by the QCS, each qubit of a first plurality of qubits in which the first version of the software package is stored in a state of superposition;

accessing, by the QCS, a features data structure to determine a first custom set of qubits that comprises a first subset of the first plurality of qubits;

biasing, by the QCS, those qubits in the first custom set of qubits;

measuring, by the QCS, values of each qubit in superposition to extract the first subset of features from the first plurality of qubits;

measuring, by the QCS, values of each qubit in a second plurality of qubits in which a base version of the software package is stored; and

generating, by the QCS, a first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits.

2. The method of claim 1 wherein:

the first request for the custom software version of the software package comprises the first subset of features from the set of features from the first version of the software package and a second subset of features from a set of features implemented by a second version of the software package, the first request identifying the software package, the first subset of features and the second subset of features;

wherein placing, by the QCS, each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition further comprises placing, by the QCS, each qubit of a third plurality of qubits in which the second version of the software package is stored in the state of superposition;

wherein the first custom set of qubits comprises the first subset of the first plurality of qubits and further comprises the second subset of the second plurality of qubits;

wherein measuring, by the QCS, values of each qubit in superposition to extract the first set of features from the first plurality of qubits further comprises measuring, by the QCS, values of each qubit in superposition to extract the second set of features from the second plurality of qubits; and

wherein generating, by the QCS, the first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits further comprises generating, by the QCS, the first custom software package based on the values measured in the first plurality of qubits, the second plurality of qubits, and the third plurality of qubits.

3. The method of claim 1 further comprising sending, by the QCS to the first computing device, the first custom software package or a reference to the first custom software package.

4. The method of claim 1 further comprising, prior to placing each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, receiving, by the QCS, the first version of the software package.

5. The method of claim 1 further comprising:

determining, by the QCS, the first set of features; and

determining, by the QCS for each respective feature in the first set of features, a mapping between the respective feature and a group of qubits in which the respective feature is stored.

6. The method of claim 5 further comprising storing, by the QCS in the features data structure, the mapping.

7. The method of claim 1 further comprising, prior to placing each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, storing, by the QCS, the first version of the software package in the first plurality of qubits.

8. The method of claim 1 further comprising, prior to placing each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, receiving, by the QCS, the base version of the software package.

9. The method of claim 1 further comprising storing, by the QCS, the first version of the software package in the first plurality of qubits prior to receiving the first request.

10. The method of claim 1 further comprising storing, by the QCS, the first version of the software package in the first plurality of qubits in response to receiving the first request.

11. The method of claim 1 further comprising:

receiving, by the QCS from a second computing device, a second request for a second custom software version of the software package that comprises the first subset of features from the set of features implemented by the first version of the software package and a second subset of features from a set of features implemented by a second version of the software package, the second request identifying the software package, the first set of features, and the second set of features;

placing, by the QCS, each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition;

placing, by the QCS, each qubit of a third plurality of qubits in which the second version of the software package is stored in the state of superposition;

accessing, by the QCS, the features data structure to determine a second custom set of qubits that comprises the first subset of the first plurality of qubits and that comprises a second subset of the third plurality of qubits;

biasing, by the QCS, those qubits in the second custom set of qubits;

measuring, by the QCS, the values of each qubit in superposition to extract the first subset of features from the first plurality of qubits and the second subset of features from the third plurality of qubits;

measuring, by the QCS, the values of each qubit in the second plurality of qubits in which the base version of the software package is stored; and

generating, by the QCS, a second custom software package based on the values measured in the first plurality of qubits, the second plurality of qubits, and the third plurality of qubits.

12. A quantum computing system, comprising:

a memory; and

a processor device coupled to the memory to:

receive, from a first computing device, a first request for a custom software version of a software package that comprises a first subset of features from a set of features implemented by a first version of the software package, the first request identifying the software package and the first subset of features;

place each qubit of a first plurality of qubits in which the first version of the software package is stored in a state of superposition;

access a features data structure to determine a first custom set of qubits that comprises a first subset of the first plurality of qubits;

bias those qubits in the first custom set of qubits;

measure values of each qubit in superposition to extract the first subset of features from the first plurality of qubits;

measure values of each qubit in a second plurality of qubits in which a base version of the software package is stored; and

generate a first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits.

13. The quantum computing system of claim 12 wherein:

the first request for the custom software version of the software package comprises the first subset of features from the set of features from the first version of the software package and a second subset of features from a set of features implemented by a second version of the software package, the first request identifying the software package, the first subset of features and the second subset of features;

to place each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, the processor device is further to place each qubit of a third plurality of qubits in which the second version of the software package is stored in the state of superposition;

the first custom set of qubits comprises the first subset of the first plurality of qubits and further comprises the second subset of the second plurality of qubits;

to measure values of each qubit in superposition to extract the first set of features from the first plurality of qubits, the processor device is further to measure values of each qubit in superposition to extract the second set of features from the second plurality of qubits; and

to generate the first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits, the processor device is further to generate the first custom software package based on the values measured in the first plurality of qubits, the second plurality of qubits, and the third plurality of qubits.

14. The quantum computing system of claim 12 wherein the processor device is further to:

determine the first set of features; and

determine, for each respective feature in the first set of features, a mapping between the respective feature and a group of qubits in which the respective feature is stored.

15. The quantum computing system of claim 14 wherein the processor device is further to store, in the features data structure, the mapping.

16. The quantum computing system of claim 12 wherein the processor device is further to, prior to placing each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, store the first version of the software package in the first plurality of qubits.

17. A non-transitory computer-readable storage medium that includes executable instructions to cause a processor device to:

receive, from a first computing device, a first request for a custom software version of a software package that comprises a first subset of features from a set of features implemented by a first version of the software package, the first request identifying the software package and the first subset of features;

place each qubit of a first plurality of qubits in which the first version of the software package is stored in a state of superposition;

access a features data structure to determine a first custom set of qubits that comprises a first subset of the first plurality of qubits;

bias those qubits in the first custom set of qubits;

measure values of each qubit in superposition to extract the first subset of features from the first plurality of qubits;

measure values of each qubit in a second plurality of qubits in which a base version of the software package is stored; and

generate a first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits.

18. The non-transitory computer-readable storage medium of claim 17 wherein:

the first request for the custom software version of the software package comprises the first subset of features from the set of features from the first version of the software package and a second subset of features from a set of features implemented by a second version of the software package, the first request identifying the software package, the first subset of features and the second subset of features;

to place each qubit of the first plurality of qubits in which the first version of the software package is stored in the state of superposition, the instructions further cause the processor device to place each qubit of a third plurality of qubits in which the second version of the software package is stored in the state of superposition;

the first custom set of qubits comprises the first subset of the first plurality of qubits and further comprises the second subset of the second plurality of qubits;

to measure values of each qubit in superposition to extract the first set of features from the first plurality of qubits, the instructions further cause the processor device to measure values of each qubit in superposition to extract the second set of features from the second plurality of qubits; and

to generate the first custom software package based on the values measured in the first plurality of qubits and the second plurality of qubits, the instructions further cause the processor device to generate the first custom software package based on the values measured in the first plurality of qubits, the second plurality of qubits, and the third plurality of qubits.

19. The non-transitory computer-readable storage medium of claim 18 wherein the instructions further cause the processor device to:

determine the first set of features; and

determine, for each respective feature in the first set of features, a mapping between the respective feature and a group of qubits in which the respective feature is stored.

20. The non-transitory computer-readable storage medium of claim 19 wherein the instructions further cause the processor device to store, in the features data structure, the mapping.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2023
From: GRIFFIN, LEIGH; CHIBON, PIERRE-YVES
To: RED HAT, INC.
Reel/Frame 063479/0130 →