DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
The present application is being examined under the claims filed 02/28/2023.
Claims 1-20 are pending.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 02/28/2023 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 18-19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Sakthivadivel et al. (PGPUB no. US20230040849A1) herein referred to as Sakthivadivel.
Regarding Claim 18
Sakthivadivel teaches:
A computing device, comprising: a memory; and a processor device coupled to the memory to:
(paragraph [0089]) “In the illustrated embodiment, computing device 900 includes one or more processors 910 coupled to a system memory 920 (which may comprise both non-volatile and volatile memory modules) via an input/output (I/O) interface 930. Computing device 900 further includes a network interface 940 coupled to I/O interface 930.”
determine that a quantum instruction file (QIF) comprising quantum programming instructions is to be submitted for execution on a quantum computing system (QCS) of a plurality of QCSs;
(paragraph [0027]) “In some embodiments, the quantum computing program may be written in or represented by a generic source programming language. For instance, in some embodiments, when a developer uses a software development kit, the quantum computing program submitted by the developer to quantum computing service 102 […]”
identify in the QIF a function identifier that identifies a quantum function of a plurality of quantum functions;
(paragraph [0044]) “In some embodiments, this may be performed based on determining whether the quantum computing program references an identifier indicating any of the quantum functions in the cache[*Examiner notes: first function identifier that identifies a first function of a plurality of function]. For example, a compiler of quantum computing service 102 may parse the quantum computing program, identify the included quantum functions, compute respective hash values, and examine whether any of the hash values matches the hash values stored in the cache.”
obtain, from a configuration structure, a programming instruction set that implements the quantum function
(paragraph [0030]) “In some embodiments, the identifier of a compiled quantum circuit file[*Examiner notes: first function] may also be associated with an identifier of the quantum computer type (e.g. QPU) upon which the compiled quantum circuit has been compiled to execute, such as quantum computer #1 of quantum hardware provider 124[*Examiner notes: first QCS]. This way, compiler 135 may be able to recognize if a compiled file is in the format compatible with the quantum hardware of a given quantum computer[*Examiner notes: configuration structure corresponding to first QCS] of a given quantum hardware provider.”
modify the QIF to include the programming instruction set to generate a modified QIF;
(paragraph [0033]) “when it is determined that the additional quantum computing program includes a same quantum function, e.g., the Bell function, compiler 135 may obtain the corresponding compiled quantum circuit file from cache 140, and re-use the compiled file to generate a compiled file for the additional quantum computing program.”
and cause the modified QIF to be submitted to the QCS for execution in lieu of the QIF.
(paragraph [0033]) “At “step C” the compiled second quantum computing program may be transported from quantum computing service 102 to quantum hardware provider 124 for execution, and in return a result may be provided to customer 108.”
PNG
media_image1.png
596
654
media_image1.png
Greyscale
Regarding Claim 19
Sakthivadivel teaches:
The computing device of claim 18
(see rejection of claim 18)
wherein to determine that the QIF is to be submitted for execution on the QCS, the processor device is further to: receive, from a QIF scheduler, an indication that the QIF is to be submitted for execution to the QCS; and wherein to cause the modified QIF to be submitted to the QCS for execution, the processor device is further to send, to the QIF scheduler, information that identifies the modified QIF.
(paragraph [0041]) “Also, back-end API transport module 210 may implement a task manager (e.g., task manager 133 in FIG. 1 ) configured with a quantum machine image that enables an 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 210.”
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 9-12 and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Sakthivadivel in view of NPL reference Haner et al. “A Software Methodology for Compiling Quantum Programs” herein referred to as Haner.
Regarding Claim 1
Sakthivadivel teaches:
A method comprising: determining, by a quantum instruction file (QIF) customizer executing on a computing device, that a first QIF comprising quantum programming instructions that comply with a first programming language syntax is to be submitted for execution on a first quantum computing system (QCS) of a plurality of QCSs;
(paragraph [0027]) “In some embodiments, the quantum computing program may be written in or represented by a generic source programming language. For instance, in some embodiments, when a developer uses a software development kit, the quantum computing program submitted by the developer to quantum computing service 102 […]”
identifying in the first QIF, by the QIF customizer, a first function identifier that identifies a first function of a plurality of functions;
(paragraph [0044]) “In some embodiments, this may be performed based on determining whether the quantum computing program references an identifier indicating any of the quantum functions in the cache[*Examiner notes: first function identifier that identifies a first function of a plurality of function]. For example, a compiler of quantum computing service 102 may parse the quantum computing program, identify the included quantum functions, compute respective hash values, and examine whether any of the hash values matches the hash values stored in the cache.”
obtaining, by the QIF customizer from a first configuration structure that corresponds to the first QCS, a first programming instruction set that, upon execution, implements the first function,
(paragraph [0030]) “In some embodiments, the identifier of a compiled quantum circuit file[*Examiner notes: first function] may also be associated with an identifier of the quantum computer type (e.g. QPU) upon which the compiled quantum circuit has been compiled to execute, such as quantum computer #1 of quantum hardware provider 124[*Examiner notes: first QCS]. This way, compiler 135 may be able to recognize if a compiled file is in the format compatible with the quantum hardware of a given quantum computer[*Examiner notes: configuration structure corresponding to first QCS] of a given quantum hardware provider.”
wherein the first configuration structure identifies a plurality of programming instruction sets
[…], each programming instruction set, when executed on the first QCS, operable to implement a corresponding function of a plurality of different functions
(paragraph [0016]) “Upon completion of the execution of the compiled quantum computing programs comprising one or more compiled quantum circuits[*Examiner notes: plurality of programming instruction sets written in the first programming language syntax], results may be provided to the customers. In some embodiments, during compilation, one or more compiled quantum circuit files of one or more quantum functions in a quantum computing program may be generated, and stored by the quantum computing service, for example in a cache. The quantum computing service may then re-use the compiled quantum circuit files stored in the cache to compile future received quantum computing programs to cut down on an amount of overhead associated with compilation of the quantum computing program.”
modifying, by the QIF customizer, the first QIF to include the first programming instruction set at a location associated with the first function identifier in the first QIF to generate a first modified QIF;
(paragraph [0033]) “when it is determined that the additional quantum computing program includes a same quantum function, e.g., the Bell function, compiler 135 may obtain the corresponding compiled quantum circuit file from cache 140, and re-use the compiled file to generate a compiled file for the additional quantum computing program.”
and causing, by the QIF customizer, the first modified QIF to be submitted to the first QCS for execution in lieu of the first QIF
(paragraph [0033]) “At “step C” the compiled second quantum computing program may be transported from quantum computing service 102 to quantum hardware provider 124 for execution, and in return a result may be provided to customer 108.”
PNG
media_image1.png
596
654
media_image1.png
Greyscale
Sakthivadivel does not explicitly teach:
wherein the first configuration structure identifies a plurality of programming instruction sets written in the first programming language syntax
However, Haner teaches:
wherein the first configuration structure identifies a plurality of programming instruction sets written in the first programming language syntax
(page 4 figure 3 caption) “The system (or standard) library is provided by the host language. The user may add custom quantum or classical libraries in order to increase code reuse among developers”; [*Examiner notes: The programming instruction sets in the libraries are written in the host language (first programming language syntax)]
Sakthivadivel, Haner, and the instant application are analogous because they are all directed to quantum computing.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the quantum instruction file customization of Sakthivadivel with the programming instruction sets written in the first programming language syntax taught by Haner because (Haner page 4 figure 3 caption) “The user may add custom quantum or classical libraries in order to increase code reuse among developers” and (Haner page 12 column 2 paragraph 2) “Our approach to a quantum software architecture begins with an embedded domain-specific language by representing quantum types and operations through types and functions existing in a classical host language. This leverages the capabilities of the host language while allowing substantial user-driven development.”
Regarding Claim 2
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel further teaches:
wherein determining that the first QIF comprising the quantum programming instructions is to be submitted for execution on the first QCS comprises: receiving, by the QIF customizer from a QIF scheduler, an indication that the first QIF is to be submitted for execution to the first QCS; and wherein causing, by the QIF customizer, the first modified QIF to be submitted to the first QCS for execution in lieu of the first QIF comprises sending, by the QIF customizer to the QIF scheduler, information that identifies the first modified QIF.
(paragraph [0041]) “Also, back-end API transport module 210 may implement a task manager (e.g., task manager 133 in FIG. 1 ) configured with a quantum machine image that enables an 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 210.”
Regarding Claim 9
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel further teaches:
wherein identifying the first function identifier that identifies the first function of the plurality of functions further comprises: parsing, by the QIF customizer, the first QIF; and determining, based on the parsing, that the first function identifier matches a predefined sequence of characters contained in a set of a plurality of predefined sequences of characters.
(paragraph [0030]) “Consider the Bell function as an example, the identifier for its compiled quantum circuit file in cache 140 may be a hash value of the string Bell (0, 1) or Bell. Alternatively, in some embodiments, the identifier for a compiled quantum circuit file may simply be the name of the quantum function, such as the string Bell, or use other information of the quantum function.”
Regarding Claim 10
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
And Haner further teaches:
wherein modifying, by the QIF customizer, the first QIF to include the first programming instruction set at the location associated with the first function identifier in the first QIF to generate the first modified QIF further comprises replacing the first function identifier with the first programming instruction set
(page 8 column 2 last paragraph) “Each quantum gate now has to be synthesized from a smaller, hardware-specific set of gates”; (page 9 column 1 last paragraph) “The rewriting and synthesis of gates can be observed in our Shor example, where this decomposition is applied to the rotation gates that arise from the inverse quantum Fourier transform. The conditional phase shift of -π/2 can be rewritten in terms of T, S, and CNOT gates, as shown in Listing 6.”; [*Examiner notes: See listing 5 and 6 below, the code for the quantum gates are replaced by their instruction sets]
PNG
media_image2.png
199
313
media_image2.png
Greyscale
PNG
media_image3.png
339
321
media_image3.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel with Haner for the same reasons given in claim 1 above.
Regarding Claim 11
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
And Haner further teaches
wherein modifying, by the QIF customizer, the first QIF to include the first programming instruction set at the location associated with the first function identifier in the first QIF to generate the first modified QIF further comprises inserting the first programming instruction set at a location immediately following the first function identifier.
(page 8 column 2 last paragraph) “Each quantum gate now has to be synthesized from a smaller, hardware-specific set of gates”; (page 9 column 1 last paragraph) “The rewriting and synthesis of gates can be observed in our Shor example, where this decomposition is applied to the rotation gates that arise from the inverse quantum Fourier transform. The conditional phase shift of -π/2 can be rewritten in terms of T, S, and CNOT gates, as shown in Listing 6.”; [*Examiner notes: See listing 5 and 6 below, the code for the quantum gates are inserted immediately after function identifiers (e.g. “// begin inverse QFT”, “// decompose RZ(-pi/4)”, etc.)]
PNG
media_image2.png
199
313
media_image2.png
Greyscale
PNG
media_image3.png
339
321
media_image3.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel with Haner for the same reasons given in claim 1 above.
Regarding Claim 12
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
And Sakthivadivel further teaches:
further comprising: determining, by the QIF customizer, that the first QIF is to be submitted for
execution on a second QCS of the plurality of QCSs;
(paragraph [0027]) “In some embodiments, the quantum computing program may be written in or represented by a generic source programming language. For instance, in some embodiments, when a developer uses a software development kit, the quantum computing program submitted by the developer to quantum computing service 102 […]”
identifying in the first QIF, by the QIF customizer, the first function identifier that identifies the first function of the plurality of functions;
(paragraph [0044]) “In some embodiments, this may be performed based on determining whether the quantum computing program references an identifier indicating any of the quantum functions in the cache[*Examiner notes: first function identifier that identifies a first function of a plurality of function]. For example, a compiler of quantum computing service 102 may parse the quantum computing program, identify the included quantum functions, compute respective hash values, and examine whether any of the hash values matches the hash values stored in the cache.”
obtaining, by the QIF customizer from a second configuration structure that corresponds to the second QCS, a second programming instruction set that, upon execution, implements the first function, wherein the second programming instruction set is different from the first programming instruction set;
(paragraph [0029]) “As indicated in FIG. 1 , in some embodiments, cache 140 may reside within service provider network 100, but outside quantum computing service 102. For instance, cache 140 may be implemented using one or more edge computing devices of service provider network 100[*Examiner notes: second QCS] located at the locations of respective quantum hardware providers 122, 124, 126, and 128, such as providing a distributed cache system. In this example, given the compiled files is in the format compatible with the quantum hardware of quantum hardware provider 124, the compiled file may thus be stored in the edge computing device(s) at the location of quantum hardware provider 124[*Examiner notes: second programming instruction set different from the first].”; [*Examiner notes: Each quantum hardware (QCS) has a different cache of compiled files (programming instruction set). The compiled functions will be necessarily different for each quantum hardware.]; (paragraph [0030]) “In some embodiments, the identifier of a compiled quantum circuit file[*Examiner notes: first function] may also be associated with an identifier of the quantum computer type (e.g. QPU) upon which the compiled quantum circuit has been compiled to execute, such as quantum computer #1 of quantum hardware provider 124[*Examiner notes: first QCS]. This way, compiler 135 may be able to recognize if a compiled file is in the format compatible with the quantum hardware of a given quantum computer[*Examiner notes: configuration structure corresponding to first QCS] of a given quantum hardware provider.”; Fig. 1
PNG
media_image4.png
601
337
media_image4.png
Greyscale
modifying, by the QIF customizer, the first QIF to include the second programming instruction set at the location associated with the first function identifier in the first QIF to generate a second modified QIF;
(paragraph [0033]) “when it is determined that the additional quantum computing program includes a same quantum function, e.g., the Bell function, compiler 135 may obtain the corresponding compiled quantum circuit file from cache 140, and re-use the compiled file to generate a compiled file for the additional quantum computing program.”
and causing, by the QIF customizer, the second modified QIF to be submitted to the second QCS for execution in lieu of the first QIF.
(paragraph [0033]) “At “step C” the compiled second quantum computing program may be transported from quantum computing service 102 to quantum hardware provider 124 for execution, and in return a result may be provided to customer 108.”
PNG
media_image1.png
596
654
media_image1.png
Greyscale
Regarding Claim 15
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel further teaches:
wherein the first function comprises putting a qubit into a state of superposition.
(paragraph [0019]) “In addition, in some embodiments, a quantum function may include a more complex function, such as a Bell function (as in the above example) that may further include several less complex quantum functions, such as a Hadamard gate and a CNOT gate.”
Regarding Claim 16
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel further teaches:
wherein the first function comprises causing two qubits to be entangled.
(paragraph [0019]) “In addition, in some embodiments, a quantum function may include a more complex function, such as a Bell function (as in the above example) that may further include several less complex quantum functions, such as a Hadamard gate and a CNOT gate.”
Regarding Claim 17
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel further teaches:
further comprising: identifying in the first QIF, by the QIF customizer, a second function identifier that identifies a second function of the plurality of functions;
(paragraph [0044]) “In some embodiments, this may be performed based on determining whether the quantum computing program references an identifier indicating any of the quantum functions in the cache[*Examiner notes: first function identifier that identifies a first function of a plurality of function]. For example, a compiler of quantum computing service 102 may parse the quantum computing program, identify the included quantum functions, compute respective hash values, and examine whether any of the hash values matches the hash values stored in the cache.”
obtaining, by the QIF customizer from the first configuration structure, a second programming instruction set that, upon execution, implements the second function;
(paragraph [0030]) “In some embodiments, the identifier of a compiled quantum circuit file[*Examiner notes: first function] may also be associated with an identifier of the quantum computer type (e.g. QPU) upon which the compiled quantum circuit has been compiled to execute, such as quantum computer #1 of quantum hardware provider 124[*Examiner notes: first QCS]. This way, compiler 135 may be able to recognize if a compiled file is in the format compatible with the quantum hardware of a given quantum computer[*Examiner notes: configuration structure corresponding to first QCS] of a given quantum hardware provider.”
and modifying, by the QIF customizer, the first QIF to include the second programming instruction set at a location associated with the second function identifier in the first QIF to generate the first modified QIF.
(paragraph [0033]) “when it is determined that the additional quantum computing program includes a same quantum function, e.g., the Bell function, compiler 135 may obtain the corresponding compiled quantum circuit file from cache 140, and re-use the compiled file to generate a compiled file for the additional quantum computing program.”; [*EXAMINER NOTES: A mere duplication of parts has no patentable significance unless a new and unexpected result is produced. See MPEP 2144.04 VI B.]
PNG
media_image1.png
596
654
media_image1.png
Greyscale
Regarding Claim 20
Sakthivadivel teaches:
A non-transitory computer-readable storage medium that includes executable instructions to cause a processor device to:
(paragraph [0094]) “In some embodiments, a plurality of non-transitory computer-readable storage media may collectively store program instructions that when executed on or across one or more processors implement at least a subset of the methods and techniques described above.”
determine that a quantum instruction file (QIF) comprising quantum programming instructions that comply with a programming language syntax is to be submitted for execution on a quantum computing system (QCS) of a plurality of QCSs;
(paragraph [0027]) “In some embodiments, the quantum computing program may be written in or represented by a generic source programming language. For instance, in some embodiments, when a developer uses a software development kit, the quantum computing program submitted by the developer to quantum computing service 102 […]”
identify in the QIF a function identifier that identifies a function of a plurality of functions;
(paragraph [0044]) “In some embodiments, this may be performed based on determining whether the quantum computing program references an identifier indicating any of the quantum functions in the cache[*Examiner notes: first function identifier that identifies a first function of a plurality of function]. For example, a compiler of quantum computing service 102 may parse the quantum computing program, identify the included quantum functions, compute respective hash values, and examine whether any of the hash values matches the hash values stored in the cache.”
obtain, from a configuration structure, a programming instruction set that, upon execution, implements the function,
(paragraph [0030]) “In some embodiments, the identifier of a compiled quantum circuit file[*Examiner notes: first function] may also be associated with an identifier of the quantum computer type (e.g. QPU) upon which the compiled quantum circuit has been compiled to execute, such as quantum computer #1 of quantum hardware provider 124[*Examiner notes: first QCS]. This way, compiler 135 may be able to recognize if a compiled file is in the format compatible with the quantum hardware of a given quantum computer[*Examiner notes: configuration structure corresponding to first QCS] of a given quantum hardware provider.”
wherein the configuration structure identifies a plurality of programming instruction sets […] and being operable to implement a corresponding function of a plurality of different functions;
(paragraph [0016]) “Upon completion of the execution of the compiled quantum computing programs comprising one or more compiled quantum circuits[*Examiner notes: plurality of programming instruction sets written in the first programming language syntax], results may be provided to the customers. In some embodiments, during compilation, one or more compiled quantum circuit files of one or more quantum functions in a quantum computing program may be generated, and stored by the quantum computing service, for example in a cache. The quantum computing service may then re-use the compiled quantum circuit files stored in the cache to compile future received quantum computing programs to cut down on an amount of overhead associated with compilation of the quantum computing program.”
modify the QIF to include the programming instruction set at a location associated with the function identifier in the QIF to generate a modified QIF;
(paragraph [0033]) “when it is determined that the additional quantum computing program includes a same quantum function, e.g., the Bell function, compiler 135 may obtain the corresponding compiled quantum circuit file from cache 140, and re-use the compiled file to generate a compiled file for the additional quantum computing program.”
and cause the modified QIF to be submitted to the QCS for execution.
(paragraph [0033]) “At “step C” the compiled second quantum computing program may be transported from quantum computing service 102 to quantum hardware provider 124 for execution, and in return a result may be provided to customer 108.”
PNG
media_image1.png
596
654
media_image1.png
Greyscale
Sakthivadivel does not explicitly teach:
wherein the configuration structure identifies a plurality of programming instruction sets written in the programming language syntax
However, Haner teaches:
wherein the configuration structure identifies a plurality of programming instruction sets written in the programming language syntax
(page 4 figure 3 caption) “The system (or standard) library is provided by the host language. The user may add custom quantum or classical libraries in order to increase code reuse among developers”; [*Examiner notes: The programming instruction sets in the libraries are written in the host language (first programming language syntax)]
Sakthivadivel, Haner, and the instant application are analogous because they are all directed to quantum computing.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the quantum instruction file customization of Sakthivadivel with the programming instruction sets written in the first programming language syntax taught by Haner because (Haner page 4 figure 3 caption) “The user may add custom quantum or classical libraries in order to increase code reuse among developers” and (Haner page 12 column 2 paragraph 2) “Our approach to a quantum software architecture begins with an embedded domain-specific language by representing quantum types and operations through types and functions existing in a classical host language. This leverages the capabilities of the host language while allowing substantial user-driven development.”
Claims 3-6 are rejected under 35 U.S.C. 103 as being unpatentable over Sakthivadivel in view of Haner and further in view of Radha (PGPUB no. US20240394414A1).
Regarding Claim 3
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel in view of Haner does not teach:
wherein the QIF customizer is a component of a QIF scheduler that is operable to schedule QIFs for execution on one of the plurality of QCSs based on a criterion, and further comprising: receiving, by the QIF scheduler, a reference to the first QIF;
(paragraph [0040]) “In an example embodiment, a scheduling and workflow executing computing system is provided which handles computing resource scarcity and selection with its internal scheduler. It abstracts away the need to know about underlying hardware types and available computing clusters by providing a user interface that receives user specified “constraints” on the type/amount of compute, the urgency, the cost, or other factors[*Examiner notes: criterion]. The scheduler in the system uses those constraints to pick a quantum compute device or a classical backend device that is most suitable[*Examiner notes: one of the plurality of QCSs]”; (paragraph [0058]) “The dispatcher server system 102 then uses the scheduled jobs metadata to execute the workflow. In particular, the dispatcher server transmits executable instructions or code[*Examiner notes: reference to QIF], and any related data, to a specified computing resource.”
accessing QCS metadata that identifies characteristics of each of the QCSs; and determining that the first QIF is to be submitted for execution on the first QCS based at least in part on the QCS metadata.
However, Radha teaches:
accessing QCS metadata that identifies characteristics of each of the QCSs; and determining that the first QIF is to be submitted for execution on the first QCS based at least in part on the QCS metadata.
(paragraph [0154]) “Block 603: For the given task, the scheduler server system selects the computing resource that matches the constraints and has the highest strategy value[*Examiner notes: QCS metadata]. In an example embodiment, a scoring metric is used to determine a match.”
Sakthivadivel, Haner, Radha, and the instant application are analogous because they are all directed to quantum computing.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the quantum instruction file customization of Sakthivadivel in view of Haner with the quantum computer scheduling of Radha because (Radha paragraph [0040]) “It abstracts away the need to know about underlying hardware types and available computing clusters by providing a user interface that receives user specified “constraints” on the type/amount of compute, the urgency, the cost, or other factors. The scheduler in the system uses those constraints to pick a quantum compute device or a classical backend device that is most suitable.”
Regarding Claim 4
Sakthivadivel in view of Haner and Radha teaches:
The method of claim 3
(see rejection of claim 3)
Radha further teaches:
further comprising: wherein determining that the first QIF is to be submitted for execution on the first QCS based at least in part on the QCS metadata further comprises determining, based on the QCS metadata by the QIF scheduler, that the first QCS has fewer QIFs queued for execution than any other QCS of the plurality of QCSs.
(paragraph [0073]) “A database 240 on the scheduler server system stores thereon metrics data 241, models 242, and heuristics 243. Examples of metrics data includes cost per task, cost per hour, and the number of tasks in a queue.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel and Haner with Radha for the same reasons given in claim 3 above.
Regarding Claim 5
Sakthivadivel in view of Haner and Radha teaches:
The method of claim 3
(see rejection of claim 3)
And Radha further teaches:
further comprising: wherein determining that the first QIF is to be submitted for execution on the first QCS based at least in part on the QCS metadata further comprises determining, based on the QCS metadata by the QIF scheduler, that the first QCS has a lower memory utilization than a memory utilization of any other QCS of the plurality of QCSs.
(paragraph [0102]) “Another task node in the same workflow is labelled as a report node and includes the constraint to run on a single-core virtual machine (or some other type of a computing device with a low amount of CPU and memory resources).”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel and Haner with Radha for the same reasons given in claim 3 above.
Regarding claim 6
Sakthivadivel in view of Haner and Radha teaches:
The method of claim 3
(see rejection of claim 3)
And Radha further teaches:
further comprising: wherein determining that the first QIF is to be submitted for execution on the first QCS based at least in part on the QCS metadata further comprises determining, based on the QCS metadata by the QIF scheduler, that the first QCS has a larger number of available qubits than a number of available qubits of any other QCS of the plurality of QCSs.
(paragraph [0183]) “The parameters of the quantum component include the quantum computing device ID or device name (which could be identifiable by location or a number, or some other indicator), the number of qubits of the quantum computing device (e.g., 20 qubits), the number of shots (e.g., 100 shots), and the depth of the quantum circuit (e.g., 100).”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel and Haner with Radha for the same reasons given in claim 3 above.
Claims 7-8 are rejected under 35 U.S.C. 103 as being unpatentable over Sakthivadivel in view of Haner, and further in view of Leippe (US patent no. US9519463B1).
Regarding Claim 7
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel in view of Haner does not explicitly teach:
further comprising: determining, by the QIF customizer, a first programming language of a plurality of different programming languages that utilizes the first programming language syntax; and selecting, by the QIF customizer, the first configuration structure from a plurality of configuration structures that correspond to the first QCS based on determining the first programming language
However, Leippe teaches:
further comprising: determining, by the QIF customizer, a first programming language of a plurality of different programming languages that utilizes the first programming language syntax; and selecting, by the QIF customizer, the first configuration structure from a plurality of configuration structures that correspond to the first QCS based on determining the first programming language
(column 2 line 56) “For this reason, once a test program 10 has been selected, which may be effected using any user interface interacting with a processor, memory component and/or display (see FIG. 2), the automatic flowchart generation tool provides means for the user to select a programming language 12 that the test program 10 was written in[*Examiner notes: identifying a first programming language]. This selection, which may be effected using any user interface interacting with a processor, memory component and/or display (see FIG. 2), will cause a predefined one of the programming language configuration files 12 to be loaded[*Examiner notes: selecting the first configuration structure]. The programming language configuration files 12 include configuration files for different programming languages[*Examiner notes: plurality of programming languages and corresponding configuration structures], e.g., one for each programming language in which a test program might be composed.”
Sakthivadivel, Haner, Leippe, and the instant application are analogous because they are all directed to computing and programming languages.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the quantum instruction file customization of Sakthivadivel in view of Haner with the computer programming language identification taught by Leippe because (Leippe column 2 line 54) “In the current automatic test equipment environment, many different test stations exist using a varying host of different test languages. For this reason, once a test program 10 has been selected, which may be effected using any user interface interacting with a processor, memory component and/or display (see FIG. 2), the automatic flowchart generation tool provides means for the user to select a programming language 12 that the test program 10 was written in” and (Leippe column 8 line 13) “By contrast, by utilizing separate, selectable configuration files for each language, namely, programming language configuration files 12, the invention is therefore limited only by the number of developed configuration files. These configuration files 12 contain the language rules describing the constructs and API calls for that specific language, and as new programming languages are sought to be used with the invention, appropriate programming language configuration files may be developed.” That is, it would have been obvious to use programming selection for a quantum computing application because many different programming languages exist and programming language and configuration file selection provide compatibility for the languages.
Regarding Claim 8
Sakthivadivel in view of Haner and Leippe teaches:
The method of claim 7(see rejection of claim 7)
And Leippe further teaches:
wherein each configuration structure of the plurality of configuration structures that correspond to the first QCS corresponds to a different programming language.
(column 2 line 66) “The programming language configuration files 12 include configuration files for different programming languages[*Examiner notes: plurality of programming languages and corresponding configuration structures], e.g., one for each programming language in which a test program might be composed.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel and Haner with Leippe for the same reasons given in claim 7 above.
Claims 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over Sakthivadivel in view of Haner, and further in view Kim et al. (PGPUB no. US20190164076A1) herein referred to as Kim.
Regarding Claim 13
Sakthivadivel in view of Haner teaches:
The method of claim 1
(see rejection of claim 1)
Sakthivadivel in view of Haner does not explicitly teach:
further comprising: obtaining, by the QIF customizer, QCS metadata that identifies characteristics of the first QCS; and based on the QCS metadata, modifying the first configuration structure
However, Kim teaches:
further comprising: obtaining, by the QIF customizer, QCS metadata that identifies characteristics of the first QCS; and based on the QCS metadata, modifying the first configuration structure
(paragraph [0006]) “In an aspect of the disclosure, a hardware description language may be used with a software-defined quantum computer to configure the various resources available to the software-defined quantum computer to perform particular tasks, functions, programs, or routines. The hardware description language may be used to dynamically configure the software-defined quantum computer such that, for example, the size of the computations (e.g., the number of qubits) need not be fixed and may be adjusted on the fly. In an example, hardware description language may specify the structure (e.g., hardware connectivity) and behavior (e.g., operations) of the software-defined quantum compute”
Sakthivadivel, Haner, Kim, and the instant application are analogous because they are all directed to quantum computing.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the quantum instruction file customization of Sakthivadivel in view of Haner with the QCS medatada of Kim because (Kim paragraph [0062]) “(d) The variability in the connectivity will provide benefits on the software side by, for example, allowing the building of a robust application programming interface (API) stack. There may also be benefits on the hardware side although the current system can inherently have a restricted graph.”
Regarding Claim 14
Sakthivadivel in view of Haner and Kim teaches:
The method of claim 13
(see rejection of claim 13)
And Kim further teaches:
wherein modifying the first configuration structure comprises modifying a second programming instruction set that, upon execution, implements a second function.
(paragraph [0006]) “In an aspect of the disclosure, a hardware description language may be used with a software-defined quantum computer to configure the various resources available to the software-defined quantum computer to perform particular tasks, functions, programs, or routines.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Sakthivadivel and Haner with Kim for the same reasons given in claim 13 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Gambetta et al. (PGPUB no. US 20210012233 A1) teaches quantum computer scheduling criteria (see paragraphs 53, 86, 89)
NPL reference Cobb et al. “Towards Higher-Level Abstractions for Quantum Computing” teaches abstracting away details of specific quantum gates into quantum functions.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ezra J Baker whose telephone number is (703)756-1087. The examiner can normally be reached Monday - Friday 10:00 am - 8:00 pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached at (571) 270-7519. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/E.J.B./Examiner, Art Unit 2126
/VAN C MANG/Primary Examiner, Art Unit 2126