CTNF 19/005,099 CTNF 86397 DETAILED ACTION Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. The instant patent application is a continuation of US patent 12229540. Claims 1-15 are pending and examined in this office action. Claims 1, 6 and 11 recite “ the application source code ”. Applicant is advised to amend it to “ source code of the application being developed ” for better clarity. Claims 1, 6 and 11 also recite “ a microservices ”. Applicant is advised to amend it to “ a microservice ” for better clarity. Double Patenting 08-33 AIA The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA/25, or PTO/AIA/26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 1-15 of the instant application are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-15 of U.S. Patent 12229540. The side-by-side comparison below of claims 1-5 of the instant application and claims 1-5 of U.S. Patent 12229540 shows limitation by limitation matching between the conflicting claims (the bolded portion is the difference). Instant Application U.S. Patent 12229540 1. A system for use with a microservices or other computing environment, comprising: a computer including one or more processors, that provides access to a microservices or other computing environment for use with software applications or services; and a compile-time dependency injection and service activation framework including source code generation, which is usable to build microservice applications or cloud-native services; wherein for an application being developed: one or more services are made available for injection; within the application being developed, injection points operate as an assignment of a service instance to an annotated field or method setter; the service activation framework: generates an activator to handle resolving dependencies required to be satisfied as part of that activation process; assesses injection points at compile-time; and generates the dependencies into the application source code. 2. The system of claim 1, wherein the service activation framework includes the use of a service registry that provides service activation and meta-information associated with one or more services, in terms of interfaces or APIs describing the functionality of each service and their dependencies on other services. 3. The system of claim 1, wherein the application's use of particular services can be intercepted and accommodated during code generation at compile-time, avoiding the need to use reflection. 4. The system of claim 1, wherein the compile-time dependency injection and service activation framework is provided for use with a Helidon or other microservice development environment. 5. The system of claim 1, wherein the service activation framework is used to build microservice applications or cloud-native services, for execution within a cloud computing environment. 1. A system for use with a microservices or other computing environment, comprising: a computer including one or more processors, that provides access to a microservices or other computing environment for use with software applications or services; and a compile-time dependency injection and lazy service activation framework including source code generation, which is usable to build microservice applications or cloud-native services; wherein the compile-time dependency injection and lazy service activation framework includes a services registry that describes a functionality of services that are known to the framework and their dependencies on other services; wherein for an application being developed: one or more services are made available for injection; within the application being developed, injection points operate as an assignment of a service instance to a field or method setter that has been annotated accordingly; the compile-time dependency injection and lazy service activation framework generates an activator including code to lazily activate service instances in the services registry and to handle resolving dependencies required to be satisfied as part of an activation process, together with injecting fields or methods that are required to be satisfied as part of the activation process ; and the compile-time dependency injection and lazy service activation framework assesses injection points at compile-time, and generates the dependencies into the source code of the application being developed; wherein each of a plurality of software objects within the application being developed are associated with injection points; wherein the injection points are at compile-time resolved by the compile-time dependency injection and lazy service activation framework according to an injection plan to one or more of a plurality of services, and to provide a plurality of service instances respectively. 2. The system of claim 1, wherein the services registry provides lazy service activation and meta-information associated with one or more services, in terms of interfaces or APIs describing the functionality of each service and their dependencies on other services. 3. The system of claim 1, wherein the application's use of particular services can be intercepted and accommodated during code generation at compile-time, avoiding the need to use reflection. 4. The system of claim 1, wherein the compile-time dependency injection and lazy service activation framework is provided for use with a Helidon or other microservice development environment. 5. The system of claim 1, wherein the compile-time dependency injection and lazy service activation framework is used to build microservice applications or cloud-native services, for execution within a cloud computing environment. All claimed elements of claim 1 in the instant application are substantially contained in claim 1 of U.S. Patent 12229540. Claim 1 of U.S. Patent 12229540 recites some additional limitations, Similar claim mappings of the remaining claims (claims 6-15) to claims 6-15 of U.S. Patent 12229540 would have been obvious to a person having ordinary skill in the art but have been omitted for the sake of brevity. Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim s 1, 3-6, 8-11 and 13-15 are rejected under 35 U.S.C. 103 as being unpatentable over Jang (US PGPUB 2019/0095181), in view of Sipek et al. ( Enhancing Performance of Cloud-based Software Applications with GraalVM and Quarkus , 43rd International Convention on Information, Communication and Electronic Technology, 2020) . Per claim 1, Jang discloses a system for use with a microservices or other computing environment, comprising: a computer including one or more processors, that provides access to a microservices or other computing environment for use with software applications or services (paragraphs [0009][0015]; a system comprising one or more processors that providing access to a Java environment for executing software applications); a compile-time dependency injection and service activation framework including source code generation, which is usable to build applications or cloud-native services (paragraphs [0009][0014]; a framework for generating source code, and injecting dependency object at compile-time, using lazy loading indicator, a compiler to build applications); wherein for an application being developed: one or more objects are made available for injection; within the application being developed, injection points operate as an assignment of an object instance to an annotated field or method setter (paragraphs [0009][0010][0014][0048][0057]; Fig. 4; providing at least one dependency object for injecting into the application code; determining dependency injection indicators (annotated injection points) in a method of the application code, injecting a dependency object at a dependency injection indicator (i.e. assigning the dependency object to the method)); the service activation framework: generates an activator to handle resolving dependencies required to be satisfied as part of that activation process (paragraphs [0009][0010][0014][0048][0057]; determining whether the target application code is a code related with a dependency injection function (required dependency); providing a dependency object injection code that injects a dependency object which resolves required dependency for execution of the application code); assesses injection points at compile-time; and generates the dependencies into the application source code (paragraphs [0009][0010][0014]; determining the annotated injection point at compile-time, injecting dependency object into the target application code). Jang discloses in a Java execution framework, injecting objects into an application code. Jang does not explicitly teach the injected objects are microservice objects , and the application being developed is a microservice application . However, Sipek discloses (page 1749, left column, section E; Helidon is an open-source set of Java libraries for writing microservices in a Java execution environment). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Jang and Sipek to incorporate Helidon into the Java execution framework, to insert microservice objects into an application code (building a microservice application); it would enhance features of the Java execution environment (allowing it to build microservice and other types of applications). Per claim 3, Jang further suggests “ wherein the application's use of particular services can be intercepted and accommodated during code generation at compile-time, avoiding the need to use reflection ” (paragraphs [0009][0014][0004]; the framework injects at compile-time, allows lazy loading (intercept-able) of the injected objects (microservices), and it avoids reflection which degrades performance). Per claim 4, Jang further suggests “ wherein the compile-time dependency injection and lazy service activation framework is provided for use ” (paragraphs [0009][0014][0004]; the framework injects dependency objects at compile-time, allows lazy loading of the injected objects). Sipek further suggests a Helidon microservice development environment (page 1749, left column, section E; Helidon is an open-source set of Java libraries for writing microservices in a Java execution environment). Per claim 5, Sipek further suggests wherein the framework is used to build microservice applications or cloud-native services, for execution within a cloud computing environment (page 1749, left column, section E; Helidon is an open-source set of Java libraries for writing microservices in a Java execution environment). Claims 6, 8-10 are rejected under similar rationales as claims 1 and 3-5. Claims 11, 13-15 are rejected under similar rationales as claims 1 and 3-5 . 07-21-aia AIA Claim s 2, 7 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Jang, in view of Sipek, in view of Beck et al. (US patent 6604140) hereinafter Beck . Per claim 2, Jang does not explicitly teach “ wherein the framework includes the use of a service registry that provides lazy service activation and meta-information associated with one or more services, in terms of interfaces or APIs describing the functionality of each service ”. However, Beck suggests “ wherein the framework includes the use of a service registry that provides lazy service activation and meta-information associated with one or more services, in terms of interfaces or APIs describing the functionality of each service ” (claims 1-3, 25; providing a service registry that allows lazy loading of a service, and enhanced service descriptor (meta-information) that describes the service and a location of the code (interface) implementing the service). Jang also discloses injecting dependency objects (microservices) into the application code (paragraph [0009]). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Jang, Sipek and Beck to incorporate a service registry in the framework, the service registry can provide an enhanced service descriptor that describes each service including its dependencies; as the service registry can improve inefficiency in service discovery and advertisement (Beck, column 1, line 35-42). Claims 7 and 12 are rejected under similar rationales as claim 2. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANG PAN whose telephone number is (571)270-7667. The examiner can normally be reached 9 AM to 5 PM. 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, Chat Do can be reached at 571-272-3721. 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. /HANG PAN/Primary Examiner, Art Unit 2193 Application/Control Number: 19/005,099 Page 2 Art Unit: 2193 Application/Control Number: 19/005,099 Page 3 Art Unit: 2193 Application/Control Number: 19/005,099 Page 4 Art Unit: 2193 Application/Control Number: 19/005,099 Page 5 Art Unit: 2193 Application/Control Number: 19/005,099 Page 6 Art Unit: 2193 Application/Control Number: 19/005,099 Page 7 Art Unit: 2193 Application/Control Number: 19/005,099 Page 8 Art Unit: 2193 Application/Control Number: 19/005,099 Page 9 Art Unit: 2193 Application/Control Number: 19/005,099 Page 10 Art Unit: 2193 Application/Control Number: 19/005,099 Page 11 Art Unit: 2193 Application/Control Number: 19/005,099 Page 12 Art Unit: 2193 Application/Control Number: 19/005,099 Page 13 Art Unit: 2193