DETAILED ACTION
This action is in response to the claims filed July 2, 2025. Claims 1-20 are pending. Claims 1, 8, and 15 are independent claims.
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 .
Claim Rejections - 35 USC § 112
Claims 2, 3, 5, 9, 10, 12, 16 and 17 rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 2, 9, and 16 recite the limitation “wherein the translated quantum source code comprises a code language not comprised by the quantum source code, and is generated as an intermediate representation that is independent of the target quantum computing system”. The subject matter is not properly described in the application as filed, since the specification fails to disclose an intermediate representation independent of the target computing system. The specification further does not define the translated quantum source code to be an intermediate representation. Because the specification does not adequately support the claimed subject matter, it would not reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, at the time the application was filed, had possession of the claimed invention.
Claims 3, 10, and 17 recite the limitation “wherein the translating comprises modifying the quantum source code to align with the constraint of the first configuration, and the modification includes applying gate removal and sequence replacement passes using a transpilation optimization manager”. The specification only discloses “changing quantum gates” (paragraph [0086]), but does not disclose gate removal specifically. Further, the specification does not disclose sequence replacement passes, and does not disclose sequence replacement passes as part of quantum source code modification. The specification further does not disclose a transpilation optimization manager. Because the specification does not adequately support the claimed subject matter, it would not reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, at the time the application was filed, had possession of the claimed invention.
Claims 5 and 12 recite the limitation “wherein the at least one of the computer executable components further stores, in a program history, execution outcomes, optimization settings, and transpiler configurations used in the translation of the quantum source code”. The subject matter is not properly described in the application as filed, since the specification fails to disclose storing execution outcomes, optimization settings, or transpiler configurations. The specification further fails to disclose storing these elements specifically in a program history. Because the specification does not adequately support the claimed subject matter, it would not reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, at the time the application was filed, had possession of the claimed invention.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 4-9, 11-16, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over US 11494681 B1 (hereinafter “Peterson”), in view of US 20230236813 A1 (hereinafter “Strenski”), further in view of “Time-Optimal Qubit Mapping” by Zhang et. al (hereinafter “Zhang”), further in view of “Memory Utilization and Machine Learning Techniques for Compiler Optimization” by Madhav et. al, (hereinafter “Madhav”).
Regarding claim 1, Peterson discloses:
A system, comprising:
a memory that stores computer executable components (Fig. 4); and
a processor that executes at least one of the computer executable components (Fig. 4) that:
- identifies a first configuration of a target quantum computing system on which quantum source code is to be executed, wherein the quantum source code is currently executable on a second configuration of a source quantum computing system, and wherein the first configuration is different from the second configuration (Column 5, lines 1-15, “To make it possible for differently-configured quantum computing systems to execute the same program, details about the configuration of a quantum computer are provided to a compiler along with the program ahead of compilation. Such an information set describing details about a quantum computing system may include general information about the system's configuration (e.g., type of qubits, number of qubits, qubit topology, and operations supported by the system, etc.), and information about current capabilities of the system, as determined based on a most recent calibration of the system (e.g., qubit coherence times, pulse shapes, pulse schedules, etc.) [identifies a first configuration of a target quantum computing system on which quantum source code is to be executed, wherein the quantum source code is currently executable on a second configuration of a source quantum computing system]. The compiler uses the provided information about the quantum processing system to generate efficient combinations of compatible code in a target language executable by the quantum system [and wherein the first configuration is different from the second configuration]”) [Examiner’s Remarks: The system identifies the configuration of a target platform describing the configuration of the quantum computing system and its capabilities. It takes existing quantum code and translates it to align with the configuration of a target platform, rendering the translation different from the original code.];
- translates, based on a constraint defining the first configuration, the quantum source code into translated quantum source code that is executable on the target quantum computing system and optimized for the first configuration according to a defined criterion (Column 19, lines 9-13, “The optimized quantum instructions 542 are input into the translator 550, and the translator 550 outputs code 552 in a target language [translates…the quantum source code into translated quantum source code that is executable on the target quantum computing system]”; Column 5, lines 1-9, “To make it possible for differently-configured quantum computing systems to execute the same program, details about the configuration of a quantum computer are provided to a compiler along with the program ahead of compilation. Such an information set describing details about a quantum computing system may include general information about the system's configuration (e.g., type of qubits, number of qubits, qubit topology, and operations supported by the system, etc.), …[based on a constraint defining the first configuration]”; Column 18, lines 61-67 and Column 19, lines 1-5, “Optimized quantum instructions 542 are addressed quantum instructions 532 that are processed to produce semantically equivalent quantum instruction sequences that are more efficient…Efficiency, here, can be any measure of improvement over the input addressed quantum instructions 532. For example, efficiency can be a measure of overall length, number of instructions, execution time, processing time, etc. [and optimized for the first configuration according to a defined criterion]”) [Examiner’s remarks: Code is translated from quantum source code to code in a targeted language based on the topology constraints of the target platform, and optimized for some measure of efficiency (criterion).], …
- executes, using the target quantum computing system, the translated quantum source code to achieve the defined criterion (Column 18, lines 7-14, “The compiler 410 receives an algorithm 222 and generates code in a target language for the quantum processing system 300 that implements the algorithm. The code, when executed by the quantum processing system 300, determines a result 224 of the algorithm 222. In this example, the compiler 410 includes several modules, including, for example…a compressor 540… [executes, using the target quantum computing system, the translated quantum source code]”; Column 18, lines 59-67 and Column 19, lines 1-5; “Addressed quantum instructions 532 are input into the compressor 540, and the compressor 540 outputs optimized quantum instructions 542. Optimized quantum instructions 542 are addressed quantum instructions 532 that are processed to produce semantically equivalent quantum instruction sequences that are more efficient…Efficiency, here, can be any measure of improvement over the input addressed quantum instructions 532. For example, efficiency can be a measure of overall length, number of instructions, execution time, processing time, etc. [to achieve the defined criterion]”) [Examiner’s remarks: Peterson teaches execution of the translated code by a target quantum system. The code, prior to execution, is optimized by the compressor based on some selected constraint. Thus, running the code optimized for a criteria achieves the defined criteria.]
Peterson does not explicitly disclose:
- … wherein the defined criterion comprises a reduction in at least one of power usage of the target quantum computing system or memory usage of the target quantum computing system, and wherein the constraint specifies qubit coupling mappings that define respective couplings between qubits of the target quantum computing system, wherein the translating comprises iteratively performing a transpilation and optimization process that varies employment of qubit couplings of the qubit coupling mappings at respective iterations;
- comprising the reduction in the at least one of power usage of the target quantum computing system or the memory usage of the target quantum computing system; and
- determines whether a parameter of the execution meets the defined criterion.
However, Strenski discloses:
- determines whether a parameter of the execution meets the defined criterion (Paragraph [0054], “Machine learning (ML) training engine 120 may determine a confidence value associated with the output of the ML model-based compiler [determines whether a parameter of the execution]. For example, the confidence value may identify correctness of matching the source code with an action that the source code is expected to perform. The confidence value may identify the likelihood that the input matches the output (e.g., the ML model-based compiler gets the right answer) [meets the defined criteria]”) [Examiner’s Remarks: The ML training engine determines whether a confidence value indicates alignment with the criterion of correct code execution.].
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Strenski into the teachings of Peterson to include “determines whether a parameter of the execution meets the defined criterion”. As stated in Strenski, “Many thousands of person-hours and multiple levels of expertise in computer programming, cross-compiling, code optimization, and code porting are required to manually enable the executable code for different computing environments and devices, causing inefficiency and delay”. As stated, the act of code porting and cross-compilation of code is extremely time consuming and costly to perform. It is also often necessary in order to port code into a different computing system. Using machine learning and artificial intelligence allows automation of the code translation process which reduces the amount of human expertise and time required to perform cross-compilation. Also as stated in Strenski, a compiler is “usually limited to compiling for a single programming language”. This makes each compiler very limited in its scope of use. Utilization of machine learning makes it easier and quicker to train and create new compilers for new use cases as it reduces the need for humans to manually create a compiler from scratch. Thus, it would be obvious to one of ordinary skill in the art of machine code translation to combine artificial intelligence with a system for machine translation.
The combination of Peterson and Strenski does not explicitly disclose:
- … wherein the defined criterion comprises a reduction in at least one of power usage of the target quantum computing system or memory usage of the target quantum computing system, and wherein the constraint specifies qubit coupling mappings that define respective couplings between qubits of the target quantum computing system, wherein the translating comprises iteratively performing a transpilation and optimization process that varies employment of qubit couplings of the qubit coupling mappings at respective iterations;
- comprising the reduction in the at least one of power usage of the target quantum computing system or the memory usage of the target quantum computing system; and
However, Zhang discloses:
- … and wherein the constraint specifies qubit coupling mappings that define respective couplings between qubits of the target quantum computing system, wherein the translating comprises iteratively performing a transpilation and optimization process that varies employment of qubit couplings of the qubit coupling mappings at respective iterations (Page 363, “A state of the circuit represents a qubit mapping and the specific busy/idle status of each qubit”; Page 363, “We define our search graph. Each node in the search graph represents a state of the circuit (which also includes a cycle number)”; Page 364, “Overview of Our Framework. We present a guided search framework. It uses a priority queue to keep track of the nodes that need to be expanded. We show our framework in Fig. 6. It first initializes the priority queue to be empty and then inserts the root node into the priority queue. Next it extracts a node from the priority queue, expands it, and push new nodes into the queue. The three steps repeat until a terminal node is for the first time popped out of the priority queue. It is based on A* search. Each node is associated with a priority (cost). We set the priority (cost) function to be admissible to ensure the the A* search returns an optimal solution. The detailed definition of the priority function and the proof for optimality is shown in Section 5 and Appendix A. Using A* guarantees optimality” [wherein the translating comprises iteratively performing a transpilation and optimization process that varies employment of qubit couplings of the qubit coupling mappings at respective iterations]; Page 364; “Coupling One node needs to satisfy the current qubit coupling constraints. Thus we first filter out the nodes that cannot satisfy coupling constraint [and wherein the constraint specifies qubit coupling mappings]”; Page 362, “To execute a quantum circuit on a real machine, logical qubits must be mapped to physical qubit on the target hardware. When applying a two-qubit gate, the two participating logical qubits must be mapped to physically connected qubits [that define respective couplings between qubits of the target quantum computing system]”) [Examiner’s remarks: Zhang discloses a constraint based on qubit mappings (filter out nodes that cannot satisfy coupling constraint). Zhang also discloses an iterative process for finding an optimized mapping by varying the qubit couplings and mappings represented by each node in a search graph. Underperforming mappings are excluded until an optimal mapping is found.];
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Zhang into the combined teachings of Peterson and Strenski to include “and wherein the constraint specifies qubit coupling mappings that define respective couplings between qubits of the target quantum computing system, wherein the translating comprises iteratively performing a transpilation and optimization process that varies employment of qubit couplings of the qubit coupling mappings at respective iterations”. As stated in Zhang, “In realistic architecture, it is not possible to establish direct interactions between every pair of qubits. In the superconducting quantum computers, qubits operate in the nearest neighbor manner, in which direct interactions form a bounded degree graph. … However, a logical circuit independent of hardware implementation assumes an unrestricted architecture, where every two qubits are connected” (Page 360). Logical circuits of quantum code must be mapped to hardware qubits in order to properly run a quantum program. Optimization of such circuits allows for faster and more accurate running of quantum programs. Iterating to find the optimal qubit mappings with guided search allows for efficient traversal of the search space of possible mappings. Therefore, it would be obvious to one of ordinary skill in the art of code translation and optimization to include information about computer topology when translating code.
The combination of Peterson, Strenski, and Zhang does not explicitly disclose:
- … wherein the defined criterion comprises a reduction in at least one of power usage of the target quantum computing system or memory usage of the target quantum computing system,
- comprising the reduction in the at least one of power usage of the target quantum computing system or the memory usage of the target quantum computing system; and
However, Madhav discloses:
- …wherein the defined criterion comprises a reduction in at least one of power usage of the target [system] or memory usage of the target [system] (Page 4, “Compiler developers focus on minimizing execution time, reducing code footprint and the usage of minimal power as criteria to judge the effectiveness of changes made to the compiler heuristics and techniques applied for optimization [wherein the defined criterion comprises a reduction in at least one of power usage of the target [system] or memory usage of the target [system]]”) [Examiner’s remarks: Madhav discloses common compiler optimizations involving usage of minimal power (reduction of power usage). Peterson taught optimizations on a quantum computing system.]…;
- … comprising the reduction in the at least one of power usage of the target [system] or the memory usage of the target [system] (Page 4, “Compiler developers focus on minimizing execution time, reducing code footprint and the usage of minimal power as criteria to judge the effectiveness of changes made to the compiler heuristics and techniques applied for optimization [comprising the reduction in the at least one or power usage of the target [system] or the memory usage of the target [system]]”) [Examiner’s remarks: Madhav discloses common compiler optimizations involving usage of minimal power (reduction of power usage). Peterson taught optimizations on a quantum computing system.];
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Madhav into the combined teachings of Peterson, Strenski, and Zhang to include “…wherein the defined criterion comprises a reduction in at least one of power usage of the target quantum computing system or memory usage of the target quantum computing system…” and “… comprising the reduction in the at least one of power usage of the target quantum computing system or the memory usage of the target quantum computing system”. As stated in Madhav, “This rapid expansion, in the scale in which applications are built, has given rise to a dire need for making maximum use of the computing resources present” (Page 1). Resource intensive operations can slow down or stall systems. Quantum computing is a relatively new field where system resources are scarce. Optimizing code allows for more users to access available systems. Therefore, it would be obvious to one of ordinary skill in the art of code translation and optimization to optimize code for resource usage.
Regarding claim 2, the rejection of claim 1 is incorporated; and Peterson further discloses:
- wherein the translated quantum source code comprises a code language not comprised by the quantum source code, and is generated as an intermediate representation that is independent of the target quantum computing system (Column 2, lines 15-20, “(Note that code in a target language in some embodiments is instructions in a target language, and, in other embodiments, is machine instructions. Herein, the term “target language: may include “Machine language” or, “an abstract intermediate representation that maps directly to the machine language”; Column 19, lines 9-13, “The optimized quantum instructions 542 are input into the translator 550, and the translator 550 outputs code 552 in a target language. Code 552 includes instructions executable by the quantum processing cell 330 to which the addressed quantum instructions 532 are addressed” [wherein the translated quantum source code comprises a code language not comprised by the quantum source code, and is generated as an intermediate representation that is independent of the target quantum computing system]).
Regarding claim 4, the rejection of claim 1 is incorporated; and Peterson further discloses:
- wherein the at least one of the computer executable components further identifies, prior to the translating, the constraint of the first configuration as a first constraint of a hardware configuration or as a second constraint of a software configuration (Column 5, lines 1-15, “To make it possible for differently-configured quantum computing systems to execute the same program, details about the configuration of a quantum computer are provided to a compiler along with the program ahead of compilation [wherein the at least one of the computer executable components further identifies, prior to the translating]. Such an information set describing details about a quantum computing system may include general information about the system's configuration (e.g., type of qubits, number of qubits, qubit topology, and operations supported by the system, etc.), and information about current capabilities of the system, as determined based on a most recent calibration of the system (e.g., qubit coherence times, pulse shapes, pulse schedules, etc.). The compiler uses the provided information about the quantum processing system to generate efficient combinations of compatible code in a target language executable by the quantum system [the constraint of the first configuration as a first constraint of a hardware configuration or as a second constraint of a software configuration]”).
Regarding claim 5, the rejection of claim 1 is incorporated; and Peterson further discloses:
- wherein the at least one of the computer executable components further stores, in a program history, execution outcomes, optimization settings, and transpiler configurations used in the translation of the quantum source code (Column 19, lines 22-35, “The HL QPC datastore 560 is a storage device storing non-volatile information describing the quantum processing system 300. That is, the information in the HL QPC datastore 560 is updated with low frequency. Information stored in the HL QPC datastore may include, for example, connectivity of qubits, operations executable by a qubit, lifetimes of information in a qubit, quantum processing cell 330 layouts, etc. The LL QPC datastore 570 is a storage device storing volatile information describing the quantum processing system 300. That is, the information in the LL QPC datastore 570 is updated with high frequency. Information stored in the LL QPC datastore 570 may include, for example, pulse settings, calibration settings, etc [wherein the at least one of the computer executable components further stores, in a program history…, optimization settings, and transpiler configurations used in the translation of the quantum source code]”); Column 8, lines 13-16, “The quantum cloud system 230 executes the code generated by the compiler 410 to determine the result 224 of the algorithm 222 and returns the result 224 of the algorithm 222 to the access node 210 [execution outcomes]”).
Regarding claim 6, the rejection of claim 1 is incorporated; and Peterson discloses “quantum source code” and “translated quantum source code”. Peterson does not explicitly disclose:
- wherein the at least one of the computer executable components further employs an artificial intelligence model to translate the quantum source code to the translated quantum source code.
However, Strenski discloses:
- wherein the at least one of the computer executable components further employs an artificial intelligence model to translate the [target source code] to the [translated source code] (Paragraph [0071], “The compiler may translate the computer code written in one programming language (e.g., the source language) into another language (e.g., Assembly language, object code, machine code, or other target language) to create an executable program [to translate the [target source code] to the [translated source code]]”; Paragraph [0084], “computing device 720 may process the first executable file using a second compiler, where the second compiler corresponds with the trained ML model-based compiler [wherein the at least one of the computer executable components further employs an artificial intelligence model]”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Strenski into the teachings of Peterson to include “wherein the at least one of the computer executable components further employs an artificial intelligence model to translate the quantum source code to the translated quantum source code”. As stated in Strenski, “Many thousands of person-hours and multiple levels of expertise in computer programming, cross-compiling, code optimization, and code porting are required to manually enable the executable code for different computing environments and devices, causing inefficiency and delay”. As stated, the act of code porting and cross-compilation of code is extremely time consuming and costly to perform. It is also often necessary in order to port code into a different computing system. Using machine learning and artificial intelligence allows automation of the code translation process which reduces the amount of human expertise and time required to perform cross-compilation. Also as stated in Strenski, a compiler is “usually limited to compiling for a single programming language”. This makes each compiler very limited in its scope of use. Utilization of machine learning makes it easier and quicker to train and create new compilers for new use cases as it reduces the need for humans to manually create a compiler from scratch. Thus, it would be obvious to one of ordinary skill in the art of machine code translation to combine artificial intelligence with a system for machine translation.
Regarding claim 7, the rejection of claim 6 is incorporated; and Peterson does not explicitly disclose:
- wherein the at least one of the computer executable components further trains the artificial intelligence model based on a new code language or a new code library upon which the artificial intelligence model has not yet been trained.
However, Strenski discloses:
- wherein the at least one of the computer executable components further trains the artificial intelligence model based on a new code language or a new code library upon which the artificial intelligence model has not yet been trained (Fig. 13, “provide pairs of source code and executable code to a ML model for training, including the source code and the executable code [wherein the at least one of the computer executable components further trains the artificial intelligence model]”; Paragraph [0053], “In another example, the ML training engine 120 may add open-source code to identify new source code and training examples [based on a new code language or a new code library upon which the artificial intelligence model has not yet been trained]”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Strenski into the teachings of Peterson to include “wherein the at least one of the computer executable components further trains the artificial intelligence model based on a new code language or a new code library upon which the artificial intelligence model has not yet been trained”. As stated in Strenski, “Many thousands of person-hours and multiple levels of expertise in computer programming, cross-compiling, code optimization, and code porting are required to manually enable the executable code for different computing environments and devices, causing inefficiency and delay”. As stated, the act of code porting and cross-compilation of code is extremely time consuming and costly to perform. It is also often necessary in order to port code into a different computing system. Using machine learning and artificial intelligence allows automation of the code translation process which reduces the amount of human expertise and time required to perform cross-compilation. Also as stated in Strenski, a compiler is “usually limited to compiling for a single programming language”. This makes each compiler very limited in its scope of use. Utilization of machine learning makes it easier and quicker to train and create new compilers for new use cases as it reduces the need for humans to manually create a compiler from scratch. Thus, it would be obvious to one of ordinary skill in the art of machine code translation to combine artificial intelligence with a system for machine translation.
Claims 8-9, and 11-14 are method claims corresponding to the system claims hereinabove (claims 1-2, and 4-7 respectively). Therefore, claims 8-9, and 11-14 are rejected for the same reasons set forth in the rejections of claims 1-2, and 4-7 respectively.
Claims 15, 16, and 18-20 are computer program product claims corresponding to the system claims hereinabove (claims 1, 2, 4 and 6-7 respectively). Therefore, claims 15, 16, and 18-20 are rejected for the same reasons set forth in the rejections of claims 1, 2, 4 and 6-7 respectively, respectively.
Claims 3, 10, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over US 11494681 B1 (hereinafter “Peterson”), in view of US 20230236813 A1 (hereinafter “Strenski”), further in view of “Time-Optimal Qubit Mapping” by Zhang et. al (hereinafter “Zhang”), further in view of “Memory Utilization and Machine Learning Techniques for Compiler Optimization” by Madhav et. al, (hereinafter “Madhav”), further in view of “A Quantum Computational Compiler and Design Tool for Technology-Specific Targets” by Smith and Thornton (hereinafter “Smith”).
Regarding claim 3, the rejection of claim 1 is incorporated; and Peterson discloses:
- wherein the translating comprises modifying the quantum source code to align with the constraint of the first configuration (Column 19, lines 9-13, “The optimized quantum instructions 542 are input into the translator 550, and the translator 550 outputs code 552 in a target language. Code 552 includes instructions executable by the quantum processing cell 330 to which the addressed quantum instructions 532 are addressed”; Column 18, lines 59-67, “Optimized quantum instructions 542 are addressed quantum instructions 532 that are processed to produce semantically equivalent quantum instruction sequences that are more efficient. That is, the compressor 540 analyzes the addressed quantum instructions 532 and determines sequences of quantum instructions that can be implemented more efficiently without changing the result 224 of the algorithm 222. Efficiency, here, can be any measure of improvement over the input addressed quantum instructions 532. For example, efficiency can be a measure of overall length, number of instructions, execution time, processing time, etc. The compressor 540 can use information stored in the HL QPU datastore 560 to generate optimized quantum instructions 542” [wherein the translating comprises modifying the quantum source code to align with the constraint of the first configuration]),
The combination of Peterson, Strenski, Zhang, and Madhav does not explicitly disclose:
- … and the modification includes applying gate removal and sequence replacement passes using a transpilation optimization manager.
However, Smith discloses:
- … and the modification includes applying gate removal and sequence replacement passes using a transpilation optimization manager (Page 587, “As long as each library contains an associated cost function, whether that be linear as the example in Eqn. 2 or nonlinear, existing optimizations based on minimizing the cost through the removal of gate sequences that form the identity function can be ported and implemented [and the modification includes applying gate removal and sequence replacement passes using a transpilation optimization manager]”) [Examiner’s remarks: As noted in the 112(a) rejection above, sequence replacement is not taught or defined in the disclosure. For the purposes of examination, sequence replacement is interpreted to mean a change in the gate sequence, which in this case, is achieved by gate removal.].
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Smith into the combined teachings of Peterson, Strenski, Zhang, and Madhav to include “and the modification includes applying gate removal and sequence replacement passes using a transpilation optimization manager”. As stated in Smith, “Special techniques are required to enable a synthesis tool to map a generalized quantum circuit to the limited library of transformations that are available on a specific QC architecture” (Page 579). Quantum systems generally benefit from fewer gates due to issues of decoherence. Removing gates is well known in the art for reducing such issues. Therefore, it would be obvious to one of ordinary skill in the art of code translation and optimization to include quantum gate removal in quantum source code optimization.
Claim 10 is a method claim corresponding to the system claim hereinabove (claim 3). Therefore, claim 10 is rejected for the same reasons as set forth in the rejection of claim 3.
Claim 17 is a computer program product claim corresponding to the system claim hereinabove (claim 3). Therefore, claim 17 is rejected for the same reasons as set forth in the rejection of claim 3.
Response to Arguments
Applicant’s arguments with respect to claims 1-3, and 5-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Regarding claim 4, Applicant argues:
Claim 4 recites, in part:
wherein the at least one of the computer executable components further identifies, prior to the translating, the constraint of the first configuration as a first constraint of a hardware configuration or as a second constraint of a software configuration
The cited references do not disclose that constraints are identified prior to translation or that such constraints are explicitly categorized as "hardware" or "software" constraints. Smith discusses coupling maps and circuit optimization for physical hardware but does not distinguish constraint types or describe a preparatory constraint identification phase. Peterson describes system reconfiguration but does not explicitly separate software and hardware constraints before translation.
Examiner’s Response:
Examiner respectfully disagrees. Examiner cites “To make it possible for differently-configured quantum computing systems to execute the same program, details about the configuration of a quantum computer are provided to a compiler along with the program ahead of compilation [wherein the at least one of the computer executable components further identifies, prior to the translating]. Such an information set describing details about a quantum computing system may include general information about the system's configuration (e.g., type of qubits, number of qubits, qubit topology, and operations supported by the system, etc.), and information about current capabilities of the system, as determined based on a most recent calibration of the system (e.g., qubit coherence times, pulse shapes, pulse schedules, etc.). The compiler uses the provided information about the quantum processing system to generate efficient combinations of compatible code in a target language executable by the quantum system” (Column 5, lines 1-15) of Peterson. Peterson teaches identifying details about the configuration of a quantum system before compilation (translation). Further, claim 4 as written, does not require the configuration to be explicitly categorized as “hardware” or “software” constraints, but can be interpreted to mean that the constraints are either a constraint of the hardware or a constant of the software. Thus, the broadest reasonable reading of the claim is that the constraint must be related to a limitation of either the software or hardware. Peterson discloses the quantum system configurations to be constrained by type, number, or topology or qubits, or regarding qubit coherence times, pulses or schedules, which may all read as constraints of the hardware. Therefore, the rejection under 35 U.S.C. 103 is proper and maintained.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VIVIAN WEIJIA DUAN whose telephone number is (703)756-5442. The examiner can normally be reached Monday-Friday 8:30AM-5PM.
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, Wei Y Mui can be reached at (571) 272-3708. 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.
/V.W.D./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191