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 .
Remarks
Claims 1-20 are pending.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim recites “A method, comprising: accessing, by a computing system comprising one or more computing devices, a container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application; identifying, by the computing system, a programming language in which the instruction file was written; determining, by the computing system, that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format; and compiling, by the computing system, the instruction file into the WASM binary code format”.
The limitations of “A method, comprising:
This judicial exception is not integrated into a practical application. In particular, the claim recites an additional element – using “a computing system comprising one or more computing devices” to perform the claimed steps. The “computing system comprising one or more computing devices” in these steps is recited at a high-level of generality (i.e., as “a computing system comprising one or more computing devices” performing generic computer functions) such that it amounts no more than mere instructions to apply the exception using a generic computer component. The claim also recites the additional elements of “accessing, by
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of using “a computing system comprising one or more computing devices” to perform the claimed steps amounts to no more than mere instructions to apply the exception using a generic computer component. The claim also recites the additional elements of “accessing, by container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application” that are the insignificant extra-solution activity of data gathering and/or output, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)). These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 2 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 1, further comprising: identifying, by the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 3 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 2, wherein determining that the compile-time dependency is a member of the set of compile-time dependencies that can be compiled into the WASM binary code format comprises: Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. The claim also recites the additional elements of “accessing, by 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 4 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 2, wherein compiling the instruction file comprises: identifying, by not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 5 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 4, wherein identifying the WASI-compatible equivalent comprises: the insignificant extra-solution activity of data gathering and/or output, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)). Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim also recites the additional elements of “accessing, by the computing system, a data structure that correlates a plurality of compile-time dependencies associated with the programming language to a plurality of WASI-compatible equivalents” and “retrieving, by the computing system, from the data entry, a reference to the WASI-compatible equivalent to the compile-time dependency” that are the insignificant extra-solution activity of data gathering and/or output, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)). These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 6 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 4, wherein the compile-time dependency comprises a system call”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 7 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 1, wherein the container build file is a first container build file, and further comprising: generating, by binary code format”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 11 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 7, further comprising: identifying, by recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 12 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 11, wherein generating the second container build file comprises: identifying, by the computing system, a WASM equivalent of the runtime dependency; and including in the second container build file, by the computing system, an instruction to include the WASM equivalent in the second container image”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 13 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 7, wherein the second container build file comprises an instruction to include a WASM runtime environment in the second container image”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 14 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 1, wherein identifying the programming language comprises identifying a pattern associated with the programming language in the container build file”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 15 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 1, wherein the instruction file comprises bytecode”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 16 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The method of claim 1, wherein the instruction file comprises source code”. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2). This judicial exception is not integrated into a practical application. Accordingly, any additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 17 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim recites “A computing system comprising: one or more computing devices to: access a container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application; identify a programming language in which the instruction file was written; determine that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format; and compiling the instruction file into the WASM binary code format”.
The limitations of “abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2).
This judicial exception is not integrated into a practical application. In particular, the claim recites an additional element – using “a computing system comprising: one or more computing devices” to perform the claimed steps. The “computing system comprising: one or more computing devices” in these steps is recited at a high-level of generality (i.e., as “a computing system comprising: one or more computing devices” performing generic computer functions) such that it amounts no more than mere instructions to apply the exception using a generic computer component. The claim also recites the additional elements of “access a container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application” that are the insignificant extra-solution activity of data gathering and/or output, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)). Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d).
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of using “a computing system comprising: one or more computing devices” to perform the claimed steps amounts to no more than mere instructions to apply the exception using a generic computer component. The claim also recites the additional elements of “access a container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application” that are the insignificant extra-solution activity of data gathering and/or output, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)). These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 18 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 19 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. In addition to any abstract ideas and additional elements in the parent claim(s), the claim recites “The computing system of claim 17, wherein the container build file is a first container build file, and a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d). The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
Claim 20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim recites “A non-transitory computer-readable storage medium that includes executable instructions to cause one or more processor devices to: access a container build file comprising a plurality of instructions for building a container image based at least in part on an instruction file that defines an application; identify a programming language in which the instruction file was written; determine that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format; and compiling the instruction file into the WASM binary code format”.
The limitations of “programming language in which the instruction file was written; determine that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format; and compiling the instruction file into the WASM binary code format”, as drafted, are processes that, under their broadest reasonable interpretation, cover performance of the limitations in the mind but for the recitation of generic computer components. That is, other than reciting “a non-transitory computer-readable storage medium” and “one or more processor devices”, nothing in the claim precludes the steps from practically being performed in the mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong One. See also MPEP 2106.04(II)(A)(1), 2106.04(a)(2).
This judicial exception is not integrated into a practical application. In particular, the claim recites an additional element – using “a non-transitory computer-readable storage medium” and “one or more processor devices” to perform the claimed steps. The “non-transitory computer-readable storage medium” and “one or more processor devices” in these steps is recited at a high-level of generality (i.e., as “a non-transitory computer-readable storage medium” and “one or more processor devices” performing generic computer functions) such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2A, Prong Two. See also MPEP 2106.04(II)(A)(2), MPEP 2106.04(d).
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of using “a non-transitory computer-readable storage medium” and “one or more processor devices” to perform the claimed steps amounts to no more than mere instructions to apply the exception using a generic computer component. These additional elements cannot provide an inventive concept. The claim is not patent eligible. See 2019 Revised Patent Subject Matter Eligibility Guidance, Step 2B. See also MPEP 2106.05.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 7-8 and 15-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chadha et al. (‘Chadha’ hereinafter) (Chadha et al. "Exploring the use of webassembly in hpc." Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming. 2023) in view of Lieberman et al. (‘Lieberman’ hereinafter) (Patent Number 10685115).
As per claim 1, Chadha teaches
A method, comprising: (see abstract and introduction)
identifying, by the computing system, a programming language in which the instruction file was written; determining, by the computing system, that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format; (WASM is designed to be a universal compilation target with mature support for programming languages such as C, C++, C#, and Rust, section 1, page 93)
and compiling, by the computing system,
Chadha does not explicitly indicate “accessing, by a computing system comprising one or more computing devices, a container build file comprising a plurality of instructions for
However, Lieberman discloses “accessing, by a computing system comprising one or more computing devices, a container build file comprising a plurality of instructions for
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha and Lieberman because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing a standardized and optimized way to build application containers. This gives the user the advantage of not having to build such containers individually each time they are needed.
As per claim 7, Chadha teaches
Chadha does not explicitly indicate “the container build file is a first container build file, and further comprising: generating, by the computing system, a second container build file comprising an instruction for building a second container image such that the second container image comprises
However, Lieberman discloses “the container build file is a first container build file, and further comprising: generating, by the computing system, a second container build file comprising an instruction for building a second container image such that the second container image comprises
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha and Lieberman because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing a standardized and optimized way to build application containers. This gives the user the advantage of not having to build such containers individually each time they are needed.
As per claim 8,
Chadha does not explicitly indicate generating, by the computing system, the second container image based on the second container build file”.
However, Lieberman discloses “generating, by the computing system, the second container image based on the second container build file” (build instructions for assembling container images in configuration file typically expressed in YAML, column 10, lines 5-45).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha and Lieberman because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing a standardized and optimized way to build application containers. This gives the user the advantage of not having to build such containers individually each time they are needed.
As per claim 15, Chadha teaches
the instruction file comprises bytecode. (wasm binary, Section 1, page 93, right column)
As per claim 16, Chadha teaches
the instruction file comprises source code. (source code, section 2.3, page 95)
As per claims 17 and 19,
These claims are rejected on grounds corresponding to the reasons given above for rejected claims 1 and 7, and are similarly rejected.
As per claim 20,
This claim is rejected on grounds corresponding to the reasons given above for rejected claim 1 and is similarly rejected.
Claims 2-6, 11-13 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Chadha et al. (‘Chadha’ hereinafter) (Chadha et al. "Exploring the use of webassembly in hpc." Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming. 2023) in view of Lieberman et al. (‘Lieberman’ hereinafter) (Patent Number 10685115) and further in view of Ménétrey et al. (‘Ménétrey’ hereinafter) (Ménétrey et al. "Twine: An embedded trusted runtime for webassembly." 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 2021).
As per claim 2,
Neither Chadha and Lieberman explicitly indicate “identifying, by the computing system, a compile-time dependency of the instruction file; and determining, by the computing system, that the compile-time dependency is a member of a set of compile-time dependencies that can be compiled into the WASM binary code format”.
However, Ménétrey discloses “identifying, by the computing system, a compile-time dependency of the instruction file; and determining, by the computing system, that the compile-time dependency is a member of a set of compile-time dependencies that can be compiled into the WASM binary code format” (tight dependency with support for various languages and can generate WASM code, section 3.B., where one of skill in the art would know that support for various languages dependencies could mean that certain languages are not supported and therefore not a member of a set as claimed).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 3,
Neither Chadha and Lieberman explicitly indicate “determining that the compile-time dependency is a member of the set of compile-time dependencies that can be compiled into the WASM binary code format comprises: accessing, by the computing system, a data structure comprising WASM compatibility information for a plurality of compile-time dependencies associated with the programming language; retrieving, by the computing system, from the data structure, a data entry corresponding to the compile-time dependency; and determining, based on the data entry, that the compile-time dependency is a member of the plurality of compile-time dependencies that can be compiled into the WASM binary code format”.
However, Ménétrey discloses “determining that the compile-time dependency is a member of the set of compile-time dependencies that can be compiled into the WASM binary code format comprises: accessing, by the computing system, a data structure comprising WASM compatibility information for a plurality of compile-time dependencies associated with the programming language; retrieving, by the computing system, from the data structure, a data entry corresponding to the compile-time dependency; and determining, based on the data entry, that the compile-time dependency is a member of the plurality of compile-time dependencies that can be compiled into the WASM binary code format” (tight dependency with support for various languages and can generate WASM code, section 3.B., where one of skill in the art would know that support for various languages dependencies could mean that certain languages are not supported and therefore not a member of a set as claimed).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 4,
Neither Chadha and Lieberman explicitly indicate “compiling the instruction file comprises: identifying, by the computing system, a WebAssembly System Interface (WASI)-compatible equivalent to the compile-time dependency; and compiling, by the computing system, the instruction file into the WASM binary code format using the WASI-compatible equivalent”.
However, Ménétrey discloses “compiling the instruction file comprises: identifying, by the computing system, a WebAssembly System Interface (WASI)-compatible equivalent to the compile-time dependency; and compiling, by the computing system, the instruction file into the WASM binary code format using the WASI-compatible equivalent” (routes most of the WASI functions to their POSIX equivalent, Section IV.C.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 5,
Neither Chadha and Lieberman explicitly indicate “identifying the WASI-compatible equivalent comprises: accessing, by the computing system, a data structure that correlates a plurality of compile-time dependencies associated with the programming language to a plurality of WASI-compatible equivalents; identifying, by the computing system, in the data structure, a data entry corresponding to the compile-time dependency; and retrieving, by the computing system, from the data entry, a reference to the WASI-compatible equivalent to the compile-time dependency”.
However, Ménétrey discloses “identifying the WASI-compatible equivalent comprises: accessing, by the computing system, a data structure that correlates a plurality of compile-time dependencies associated with the programming language to a plurality of WASI-compatible equivalents; identifying, by the computing system, in the data structure, a data entry corresponding to the compile-time dependency; and retrieving, by the computing system, from the data entry, a reference to the WASI-compatible equivalent to the compile-time dependency” (routes most of the WASI functions to their POSIX equivalent, Section IV.C.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 6,
Neither Chadha and Lieberman explicitly indicate “the compile-time dependency comprises a system call”.
However, Ménétrey discloses “the compile-time dependency comprises a system call” (Section III.B.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 11,
Neither Chadha and Lieberman explicitly indicate “identifying, by the computing system, a runtime dependency associated with the first container build file; and determining, by the computing system, that the runtime dependency is a member of a set of runtime dependencies that are compatible with a WASM runtime environment”.
However, Ménétrey discloses “identifying, by the computing system, a runtime dependency associated with the first container build file; and determining, by the computing system, that the runtime dependency is a member of a set of runtime dependencies that are compatible with a WASM runtime environment” (tight dependency with support for various languages and can generate WASM code, section 3.B., where one of skill in the art would know that support for various languages dependencies could mean that certain languages are not supported and therefore not a member of a set as claimed).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 12,
Neither Chadha and Lieberman explicitly indicate “generating the second container build file comprises: identifying, by the computing system, a WASM equivalent of the runtime dependency; and including in the second container build file, by the computing system, an instruction to include the WASM equivalent in the second container image”.
However, Ménétrey discloses “generating the second container build file comprises: identifying, by the computing system, a WASM equivalent of the runtime dependency; and including in the second container build file, by the computing system, an instruction to include the WASM equivalent in the second container image” (tight dependency with support for various languages and can generate WASM code, section 3.B., where one of skill in the art would know that support for various languages dependencies could mean that certain languages are not supported and therefore not a member of a set as claimed).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 13,
Neither Chadha and Lieberman explicitly indicate “the second container build file comprises an instruction to include a WASM runtime environment in the second container image”.
However, Ménétrey discloses “the second container build file comprises an instruction to include a WASM runtime environment in the second container image” (Wasm runtime for lightweight and portable containers based on Wasm, section III.B.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Ménétrey because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing benchmarks for identifying trusted components for building WASM-executable applications (see Ménétrey, abtract). This gives the user the advantage of saving time not having to create components that already exist and can be trusted.
As per claim 18,
This claim is rejected on grounds corresponding to the reasons given above for rejected claim 2 and is similarly rejected.
Claims 9-10 are rejected under 35 U.S.C. 103 as being unpatentable over Chadha et al. (‘Chadha’ hereinafter) (Chadha et al. "Exploring the use of webassembly in hpc." Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming. 2023) in view of Lieberman et al. (‘Lieberman’ hereinafter) (Patent Number 10685115) and further in view of Zhang et al. (‘Zhang’ hereinafter) (Publication Number 20200250074).
As per claim 9,
Neither Chadha and Lieberman explicitly indicate “initializing, by the computing system, a container based on the second container image; executing, by the computing system, using the container, a test instruction to generate a test output; and comparing, by the computing system, the test output to an expected test output”.
However, Zhang discloses “initializing, by the computing system, a container based on the second container image; executing, by the computing system, using the container, a test instruction to generate a test output; and comparing, by the computing system, the test output to an expected test output” (paragraphs [0044]-[0045],[0056]-[0058]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Zhang because using the steps claimed would have given those skilled in the art the tools to improve the invention by ensuring that a particular software application or hardware design functions properly under different environments, the software application or hardware design may be tested in a variety of test environments (see Zhang, background). This gives the user the advantage of being assured that needless bugs are identified prior to rollout using proper testing.
As per claim 10,
Neither Chadha and Lieberman explicitly indicate “initializing, by the computing system, a second container based on the second container image; executing, by the computing system, a test instruction using the second container; measuring, by the computing system, a performance of the second container in executing the test instruction; and comparing, by the computing system, the performance of the second container to a performance of a first container generated based on the first container build file”.
However, Zhang discloses “initializing, by the computing system, a container based on the second container image; executing, by the computing system, using the container, a test instruction to generate a test output; and comparing, by the computing system, the test output to an expected test output” (paragraphs [0044]-[0045],[0056]-[0058]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Zhang because using the steps claimed would have given those skilled in the art the tools to improve the invention by ensuring that a particular software application or hardware design functions properly under different environments, the software application or hardware design may be tested in a variety of test environments (see Zhang, background). This gives the user the advantage of being assured that needless bugs are identified prior to rollout using proper testing.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Chadha et al. (‘Chadha’ hereinafter) (Chadha et al. "Exploring the use of webassembly in hpc." Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming. 2023) in view of Lieberman et al. (‘Lieberman’ hereinafter) (Patent Number 10685115) and further in view of Alves et al. (‘Alves’ hereinafter) (Alves et al. "Characterization and identification of programming languages." 12th Symposium on Languages, Applications and Technologies (SLATE 2023). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, 2023).
As per claim 14,
Chadha does not explicitly indicate “
However, Lieberman discloses
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha and Lieberman because using the steps claimed would have given those skilled in the art the tools to improve the invention by providing a standardized and optimized way to build application containers. This gives the user the advantage of not having to build such containers individually each time they are needed.
Neither Chadha and Lieberman explicitly indicate “identifying the programming language comprises identifying a pattern associated with the programming language
However, Alves discloses “identifying the programming language comprises identifying a pattern associated with the programming language language, introduction; standard variable declaration pattern, section 3.2, 3.4; common threads of identification in the answers showed that some typically associated syntactic features, such as code block syntax, method signatures and variable declaration patterns are contributing factors to identify a programming language, section 6).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Chadha, Lieberman and Alves because using the steps claimed would have given those skilled in the art the tools to improve the invention by allowing programmers to better understanding how to properly apply the language rules to meet their needs (see Alves, section 1). This gives the user the advantage of faster development of software code.
Response to Arguments
Applicant's arguments with respect to the 35 USC 101 rejections have been fully considered but they are not persuasive.
Applicant argues that “claim 1, as amended, recites ‘compiling, by the computing system, the instruction file into the WASM binary code format’ which is not directed to a judicial exception” (applicant arguments, page 7). Applicant does not expand on this argument to explain why the claims are not directed to a judicial exception. However, the claimed “compiling” step is a type of mapping or transformation that can be performed in the human mind and therefore these arguments are not convincing.
Applicant further argues that “the above limitation is amounts to significantly more than the judicial exception” (see applicant arguments, page 7). The applicant arguments regarding the limitation amounting to “significantly more” are with respect to the 2019 PEG, specifically Step 2B. However, the applicant does not put forth any reasoning for why the limitation is eligible under Step 2B and this statement alone is not convincing without further evidence. Therefore, this argument is not convincing.
Applicant further argues that the “compiling” step “integrates claim 1 into the practical application of refactoring instruction file code into a new format which may be implemented on a wider variety of computing hardware” (see applicant arguments, page 7). Here the applicant seems to be arguing under the 2019 PEG, specifically Step 2A, Prong Two, which requires an evaluation of any additional elements individually and in combination to determine whether they integrate the judicial exception into a practical application, using one or more of the considerations in MPEP §§ 2106.04(d), 2106.05(a)-(c), (e)-(h). The applicant appears to be arguing that the consideration of an improvements to the functioning of a computer or any other technology or technical field, as described in MPEP 2106.05(a), is applicable because of the improvement regarding “refactoring instruction file code into a new format which may be implemented on a wider variety of computing hardware”. However, the applicant does not discuss any additional element(s) in the claims nor how they would integrate the judicial exception into a practical application as required under Step 2A, Prong Two. In addition, MPEP 2106.05(a) requires a showing of where the specification includes the technical explanation of an asserted improvement, and how the claim reflects the particular way of achieving that improvement. Since none of these requirements of Step 2A, Prong Two, were met these arguments are not convincing.
Applicant's arguments with respect to the 35 USC 103 rejections have been fully considered but they are not persuasive.
Applicant argues that Chadha does not teach “identifying, by the computing system, a programming language in which the instruction file was written”, “determining, by the computing system, that the programming language is a member of a set of programming languages that can be compiled into a WebAssembly (WASM) binary code format” nor “compiling, by the computing system, the instruction file into the WASM binary code format” in the amended claim 1 and that “Chadha merely describes some languages that maybe compiled in WASM” (see applicant arguments, pages 8-9). However, Chadha discloses the set of programming languages that can be a compiled into WASM and compiling an application into WASM (see Chadha, section 1, page 93), and one of skill in the art would know that only a file written in one of those programming languages could be compiled and that therefore the programming language would have to be identified, as claimed. Therefore, these arguments are not convincing.
Applicant argues that Lieberman does not teach the claimed “accessing, by a computing system comprising one or more computing devices, a container build file comprising a plurality of instructions for
“Liebermann teaches "assessing" potentially malicious files via a "threat detection service" "triggered" by determining "modifications to container configuration and/or definition files," not "accessing" a "container build file" and then "compiling .. into the WASM binary format" as recited in amended claim 1.” (see applicant arguments, pages 9-10)
However, Lieberman is only cited to teach the limitations related to “accessing … a container build file” that is comprised of instructions in an “instruction file that defines an application” in claim 1. Lieberman teaches these limitation as “a Docker Dockerfile” that is “a document including build instructions for assembling an image-based snapshot of a multi-container implemented application” (see Lieberman, column 10, lines 16-20). One of skill in the art would know that a Docker Dockerfile document is a container build file, and further that Lieberman clearly describes that this is for assembling an application, which reads on the argued limitation. Therefore, these arguments are not convincing.
Conclusion
THIS ACTION IS MADE FINAL. 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 JAY A MORRISON whose telephone number is (571)272-7112. The examiner can normally be reached on Monday - Friday, 8:00 am - 4:00 pm ET.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Trujillo K James, can be reached at telephone number (571)272-3677. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center and Private PAIR for authorized users only. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/Jay A Morrison/
Primary Examiner, Art Unit 2151