DETAILED ACTION
Authorization for Internet Communications
The examiner encourages Applicant to submit an authorization to communicate with the examiner via the Internet by making the following statement (from MPEP 502.03):
“Recognizing that Internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.”
Please note that the above statement can only be submitted via Central Fax, Regular postal mail, or EFS Web (PTO/SB/439).
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 .
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 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.
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 7/18/22, 1/12/23, 10/2/23, 4/26/24, 9/4/24, 1/31/25 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Prior art Yamagami (U.S. PG PUB 2018/0173569) is from applicant’s IDS 10/3/23 thus will not be included in PTO-892.
Specification
The abstract of the disclosure is objected to because it contains language such as “present invention.” A corrected abstract of the disclosure is required and must be presented on a separate sheet, apart from any other text. See MPEP § 608.01(b).
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.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1: Regarding claim 1 this part of the eligibility analysis evaluates whether the claim falls within any statutory category. MPEP §2106.03. The claim recites method steps; thus, the claim is directed to a process which is one of the statutory categories of invention.
Step 2A Prong 1: This part of the eligibility analysis evaluates whether the claim recites a judicial exception. As explained in MPEP 2106.04(II) and the October 2019 Update, a claim “recites” a judicial exception when the judicial exception is “set forth” or “described” in the claim.
The limitations “receiving a first request associated with the second interface; converting the first request into a second request associated with he first interface” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the functions through observation, evaluation, judgment and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas. See MPEP §2106.04(a)(2). Accordingly, claim 1 recites a judicial exception (i.e. an abstract idea).
Step 2A, Prong 2, This part of the eligibility analysis evaluates whether the claim as a whole integrates the recited judicial exception into a practical application of the exception. This evaluation is performed by (a) identifying whether there are any additional elements recited in the claim beyond the judicial exception, and (b) evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the exception into a practical application. 2019 PEG Section III(A)(2), 84 Fed. Reg. at 54-55.
In this case, this judicial exception is not integrated into a practical application. The claim recites the following additional elements “deploying a first container within an environment, wherein the first container includes a first service that implements a first interface and a first shim that implements a second interface” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer or generic computer components (i.e. container, shim, interface) to perform the judicial exception. The additional elements fail to meaningfully limit the claim because the element is regarding a generic computing component, thus not practical application under prong 2.
The claim includes additional elements of insignificant extra solution activity “transmitting the second request over the first interface to the first service, wherein the second request is processed by the first service” and does not require any particular application of the recited “transmitting” step and is at best the equivalent of data input/data output. Data input and output is consider well understood, routine, and conventual activity. See MPEP 2106.05(g).
Step 2B, This part of the eligibility analysis evaluates whether the claim as a whole amounts to significantly more than the recited exception, i.e., whether any additional element, or combination of additional elements, adds an inventive concept to the claim. MPEP 2106.05. ‘
As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of the “deploying a first container within an environment, wherein the first container includes a first service that implements a first interface and a first shim that implements a second interface” are merely a generic computer or generic computer components to apply the judicial exception which cannot provide an inventive concept.
As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “transmitting the second request over the first interface to the first service, wherein the second request is processed by the first service” amount to no more than data input/data output. This additional element does not recite significantly more than a judicial exception, because it is recognized as well-understood, routine, and conventional activity of storing and retrieving information in memory. See MPEP 2106.05(d)(II)(iv). Accordingly, the claim does not appear to be patent eligible under 35 USC 101.
Claim 2, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “wherein deploying the first container comprises: applying a series of layers to an image, wherein the series of layers includes the first service and the first shim; and executing the image within the first container” and it fails to meaningfully limit the claim because it does not require any particular application of the recited “deploying” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, nor is significantly more than the abstract idea, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Claim 3, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “further comprising: deploying a second container within the environment, wherein the second container includes a second service that implements a third interface and a second shim that implements the second interface; and processing, by the second shim and the second service, a third request associated with the second interface.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 4, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “further comprising: deploying a second container within the environment, wherein the second container includes a second service that implements the first interface and a second shim that implements the second interface; and processing, by the second shim and the second service, a third request associated with the second interface.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 5, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “further comprising determining that the first request should be routed to the first container based on a load-balancing technique.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 6, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “further comprising: receiving a first response to the second request via the first interface; converting the first response into a second response associated with the second interface; and transmitting the second response to a component associated with the first request via the second interface.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, is merely data gathering which the court have identified as well understood, routine, and conventual activity. See MPEP 2106.05(d).
Claim 7, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “wherein the second interface comprises a representational state transfer application programming interface.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 8, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “wherein the environment comprises at least one of a cloud-based environment or a local environment.” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic processor or generic computer components to perform the judicial exception. Accordingly, the additional element does not integrate the abstract idea into a practical application, nor is significantly more than the abstract idea because it does not impose any meaningful limits on practicing the abstract idea, nor is significantly more than the abstract idea. The claim is directed to an abstract idea.
Claim 9, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “wherein the second interface comprises at least one of an object or a function.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 10, is a dependent claim rejected for the same reasons as claim 1. Furthermore, the claims include additional elements “wherein the first service comprises at least one of a model repository, a feature store, a model training service, or a model execution service.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 11, is an independent system claim rejected for the same reasons as claim 1. In particular, the claim recites additional elements –non-transitory computer readable media, one or more processors--. The media and processor are recited at a high-level of generality (i.e., as a generic media, processor) such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, the additional element does not integrate the abstract idea into a practical application, nor is significantly more than the abstract idea because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Claim 12-15 are dependents claim rejected for the same reasons as claims 2-5.
Claim 16, is an independent system claim rejected for the same reasons as claim 11. In particular, the claim recites additional elements “wherein the instructions further cause the one or more processors to perform the steps of: determining that a second request associated with the second interface cannot be processed using the first shim and the first service; and publishing a message that includes the second request to one or more topics within a messaging system, wherein the message is used by a second shim and a second service deployed within a second container to process the second request” and does not require any particular application of the recited “publishing” step and is at best the equivalent of data input/data output. Data input and output is consider well understood, routine, and conventual activity. See MPEP 2106.05(g).
Claim 17-18 are dependents claim rejected for the same reasons as claims 6-7.
Claim 19, is an independent system claim rejected for the same reasons as claim 11. In particular, the claim recites additional elements “wherein the first interface comprises a first set of objects and a first set of functions and the second interface comprises a second set of objects and a second set of functions.” This additional element does not amount to a practical application, nor recite significantly more than a judicial exception, because the additional elements are merely instructions to implement an abstract idea on a computer. MPEP 2106.04(d).
Claim 20, is an independent system claim rejected for the same reasons as claim 1. In particular, the claim recites additional elements –one or more memories, one or more processors--. The media and processor are recited at a high-level of generality (i.e., as a generic memory, processor) such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, the additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Double Patenting
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 § 2146 et seq. 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 filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual 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/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of copending Application No. 17/867591 in view of Nikols et al. (U.S. PG PUB 2007/0226753). Although the claims at issue are not identical, they are not patentably distinct from each other because they are substantially the same.
Application 17/867540
Co-pending Application No. 17/867591
A computer-implemented method for processing requests associated with one or more services, the method comprising: deploying a first container within an environment, wherein the first container includes a first service that implements a first interface and a first shim that implements a second interface; receiving, at the first shim, a first request associated with the second interface; converting the first request into a second request associated with the first interface; and transmitting the second request over the first interface to the first service, wherein the second request is processed by the first service.
A computer-implemented method for executing one or more services in a technology stack, the method comprising: deploying a first set of containers within an environment, wherein each container included in the first set of containers includes a first service that implements a first interface and a first shim that implements a second interface; and transmitting, to a first container included in the first set of containers, a first request that is associated with the second interface and is received from outside of the first container, wherein the first request is processed by an instance of the first shim and an instance of the first service executing within the first container.
Regarding claim 1, Copending application teaches all the limitations of claim 1, except for the limitations of receiving, at the first shim, a first request associated with the second interface; converting the first request into a second request associated with the first interface.
However, Nikols teaches receiving, at the first shim, a first request associated with the second interface (see ¶[0015] “In some embodiments, the transformed data is transmitted to the application through an application shim. Some applications are able to accept input data streams while others are not. For applications in this latter group, the application shim may intercept the transformed data and provide it to the application by using a native application program interface for the application”);
converting the first request into a second request associated with the first interface (see ¶[0045] “. This can happen by various methods, such as interrupts, polling, and so forth. If required, the application shim 138 can convert changes in the application's native directory into an application native XML format, and then submit that XML data stream to the driver infrastructure 106.”); and transmitting the second request over the first interface to the first service, wherein the second request is processed by the first service (see ¶ [0050] “It then hands the formatted data to a transformation processor. In the above example, this interface includes the XML generator 122, which converts NDS events into NDS formatted XML, and the XML receiver 150, which converts NDS formatted XML events into NCP requests to the NDS replicas 114.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of the current application by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 11, is an independent medium claim corresponding to method claim 1, and therefore is rejected for the same reasons.
Regarding claim 20, is an independent system claim corresponding to method claim 1, and therefore is rejected for the same reasons.
Regarding claims 2-10, 12-29 are rejected for dependency to independent claims.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-4, 6-14, and 16-20, are rejected under 35 U.S.C. 103 as being unpatentable over Gainsbourough (U.S. PG PUB 2020/0241867) in view of Nikols et al. (U.S. PG PUB 2007/0226753).
Regarding claim 1, Gainsbourough teaches a computer-implemented method for processing requests associated with one or more services, the method comprising: deploying a first container within an environment (see ¶[0016] “A container image is used to create one or more containers at runtime. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. (e.g., a Docker container image becomes a Docker container when it is run on Docker Engine). A container image is generated based on multiple software elements (e.g., packages, documentation files, system library files, library files, configuration/settings files, runtime, etc.) that are executable.”),
wherein the first container includes a first service that implements a first interface (see ¶[0067] “FIG. 3B is a block diagram of an environment where the above discussed optimization of container image layering technique may be used, according to some implementations. A system 340 includes hardware (a set of one or more electronic devices) and software to provide service(s) 342”) and a first shim that implements a second interface (see ¶ [0064] “the virtualization layer 308 represents the kernel of an operating system (or a shim executing on a base operating system) that allows for the creation of multiple software containers 304A-R (representing separate user space instances and also called virtualization engines, virtual private servers, or jails) that may each be used to execute a set of one or more applications”).
Gainsborough do not expressly disclose, however, Nikols teaches
receiving, at the first shim, a first request associated with the second interface (see ¶[0015] “In some embodiments, the transformed data is transmitted to the application through an application shim. Some applications are able to accept input data streams while others are not. For applications in this latter group, the application shim may intercept the transformed data and provide it to the application by using a native application program interface for the application”);
converting the first request into a second request associated with the first interface (see ¶[0045] “. This can happen by various methods, such as interrupts, polling, and so forth. If required, the application shim 138 can convert changes in the application's native directory into an application native XML format, and then submit that XML data stream to the driver infrastructure 106.”); and transmitting the second request over the first interface to the first service, wherein the second request is processed by the first service (see ¶ [0050] “It then hands the formatted data to a transformation processor. In the above example, this interface includes the XML generator 122, which converts NDS events into NDS formatted XML, and the XML receiver 150, which converts NDS formatted XML events into NCP requests to the NDS replicas 114.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 2, Gainsborough teaches wherein deploying the first container comprises: applying a series of layers to an image, wherein the series of layers includes the first service and the first shim (see ¶ [0017] “A container image can include multiple sub-images that are referred to as layers. Typically, sub-images are read-only files that are stacked on top of one another over a base sub-image. The base sub-image is usually an image of a guest Operating System (OS) or an image of the OS along with one or more libraries). Each one of the sub-images includes a subset of the software elements of the container image. A container image layering structure (which can be referred to as “layering structure”) defines a layering order for two or more container sub-images that form the container image.”); and executing the image within the first container (see ¶[0017] “The layering order determines an order with which the container sub-images are to be executed to form the entire container image, and the container image layering structure further defines for each one of the container sub-images a respective subset of one or more software elements from the plurality of software elements.”).
Regarding claim 3, Gainsborough teaches further comprising: deploying a second container within the environment (see ¶ [0004] “A container image is used to create one or more containers at runtime. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. (e.g., a Docker container image becomes a Docker container when it is run on Docker Engine).”), wherein the second container includes a second service that implements a third interface and a second shim that implements the second interface (see ¶[0064] “A container image is used to create one or more containers at runtime. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. (e.g., a Docker container image becomes a Docker container when it is run on Docker Engine).”).
Gainsborough do not expressly disclose, however, Nikols teaches processing, by the second shim and the second service, a third request associated with the second interface (see ¶[0015] “In some embodiments, the transformed data is transmitted to the application through an application shim. Some applications are able to accept input data streams while others are not. For applications in this latter group, the application shim may intercept the transformed data and provide it to the application by using a native application program interface for the application”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 4, Gainsborough teaches further comprising: deploying a second container within the environment (see ¶ [0004] “A container image is used to create one or more containers at runtime. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. (e.g., a Docker container image becomes a Docker container when it is run on Docker Engine).”), wherein the second container includes a second service that implements the first interface and a second shim that implements the second interface (see ¶[0064] “A container image is used to create one or more containers at runtime. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. (e.g., a Docker container image becomes a Docker container when it is run on Docker Engine).”).
Gainsborough do not expressly disclose, however, Nikols teaches processing, by the second shim and the second service, a third request associated with the second interface (see ¶[0015] “In some embodiments, the transformed data is transmitted to the application through an application shim. Some applications are able to accept input data streams while others are not. For applications in this latter group, the application shim may intercept the transformed data and provide it to the application by using a native application program interface for the application”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 6, Gainsborough teaches further comprising: receiving a first response to the second request via the first interface (see ¶[0030] “he modification tracker 110 is then operative to transmit the event modifications in response to the request. In some implementations, the event modifications analyzer 120 can indicate a time interval for which it needs to receive the modification events and the modification tracker 110 transmits in response to the request all events stored during the interval of time.”);
Gainsborough do not expressly disclose, however, Nikols teaches converting the first response into a second response associated with the second interface (see ¶[0045] “. This can happen by various methods, such as interrupts, polling, and so forth. If required, the application shim 138 can convert changes in the application's native directory into an application native XML format, and then submit that XML data stream to the driver infrastructure 106.”); and transmitting the second response to a component associated with the first request via the second interface (see ¶ [0050] “It then hands the formatted data to a transformation processor. In the above example, this interface includes the XML generator 122, which converts NDS events into NDS formatted XML, and the XML receiver 150, which converts NDS formatted XML events into NCP requests to the NDS replicas 114.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 7, Gainsborough teaches wherein the second interface comprises a representational state transfer application programming interface (see ¶[0074] “an application program interface (API) based upon protocols such as Simple Object Access Protocol (SOAP), Representational State Transfer (REST), etc”).
Regarding claim 8, Gainsborough teaches wherein the environment comprises at least one of a cloud-based environment or a local environment (see ¶[0023] “The mechanism causes the container image to be deployed based on the container image layering structure to be used for generation of one or more containers in a cloud processing system.”).
Regarding claim 9, Gainsborough teaches wherein the second interface comprises at least one of an object or a function (see ¶ [0067] “The service(s) 342 may communicate with each other and/or with one or more of the user electronic devices 380A-S via one or more Application Programming Interface(s) (APIs) (e.g., a Representational State Transfer (REST) API).”).
Regarding claim 10, Gainsborough teaches wherein the first service comprises at least one of a model repository (see ¶[0019] “. When a container is generated (for example by pulling down an image from a repository or from another location in the cloud), each sub-image is pulled down separately, and stored in a local storage area.”), a feature store, a model training service, or a model execution service.
Regarding claim 11, is an independent medium claim corresponding to method claim 1, and therefore is rejected for the same reasons. In addition, Gainsborough teaches one or more non-transitory computer-readable media storing instructions that, when executed by one or more processors (see ¶[0061]).
Regarding claim 12, is a system claim corresponding to method claim 2, and is rejected for the same reasons. In addition, Gainsborough teaches wherein deploying the first container comprises: building an image as a series of layers (see ¶[0017] “A container image can include multiple sub-images that are referred to as layers. Typically, sub-images are read-only files that are stacked on top of one another over a base sub-image. The base sub-image is usually an image of a guest Operating System (OS) or an image of the OS along with one or more libraries). Each one of the sub-images includes a subset of the software elements of the container image”).
Regarding claim 13, is a system claim corresponding to method claim 3, and is rejected for the same reasons. In addition, Gainsborough teaches wherein the instructions further cause the one or more processors to perform the steps of: replacing the first container with a second container (see ¶[0018] “In some of these implementations, the same version of the software element can be present in the two sub-images. In other implementations, different version of the software element can be present in each one of the sub-images, in which case, the software element that is included in the sub-image replaces the equivalent contents from earlier sub-images (i.e., sub-images that are under the sub-image).”)
Regarding claim 14, is a system claim corresponding to method claim 4, and is rejected for the same reasons.
Regarding claim 17, is a system claim corresponding to method claim 6, and is rejected for the same reasons.
Regarding claim 18, is a system claim corresponding to method claim 7, and is rejected for the same reasons.
Regarding claim 19, Gainsborough do not expressly disclose, however, Nikols teaches wherein the first interface comprises a first set of objects and a first set of functions and the second interface comprises a second set of objects and a second set of functions (see ¶[0005] “A directory will have, for example, a native application program interface ("API") that provides a set of routines, protocols, and tools for using the directory. In this way, the directory's native API allows programmers to write applications that can utilize the information stored in a directory with appropriate access control. As a result, the applications must conform to the directory.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough by adapting Nikols for easy integration between various applications (see ¶[0020] of Nikols).
Regarding claim 20, is an independent system claim corresponding to method claim 1, and therefore is rejected for the same reasons. In addition, Gainsborough teaches a system, comprising: one or more memories that store instructions, and one or more processors that are coupled to the one or more memories (see ¶[0061]).
Claim(s) 5 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Gainsbourough (U.S. PG PUB 2020/0241867) in view of Nikols et al. (U.S. PG PUB 2007/0226753) as applied to claim 1 above, further in view of Yamagami (U.S. PG PUB 2018/0173569).
Regarding claim 5, Gainsbourough and Nikols do not expressly disclose, however, Yamagami teaches further comprising determining that the first request should be routed to the first container based on a load-balancing technique (see ¶[0070] “When a load balancer 41 of any of the container servers 10 receives a request from another container server 10 among the container servers 10, the load balancer 41 determines a container 11 in order to cause the container 11 to process the request and outputs the request to the determined container 11. In addition, the load balancer 41 causes identification information corresponding to the received and transmitted request to be stored in the load balancer database 31. The load balancer 41 of the container server 10 (10-1 illustrated in FIG. 6) for the user interface receives a request from a user terminal 54. The load balancers 41 of the container servers 10 for the account management, the graph drawing, the graph data generation, and the data management receive requests from transmitters 13 of other container servers 10. An example of operations of each of the load balancers 41 is illustrated in FIG. 13. The identification information generated by the load balancer 41 may be stored in the load balancer database 31 via the container manager 15 of the container server 10.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough and Nikols by adapting Yamagami to suppress a reduction in the availability and portability of the so-called microservices (see ¶ [0030] of Yamagami).
Regarding claim 15, is a media claim corresponding to method claim 5 above, and is rejected for the same reasons.
Claim(s) 16 rejected under 35 U.S.C. 103 as being unpatentable over Gainsbourough (U.S. PG PUB 2020/0241867) in view of Nikols et al. (U.S. PG PUB 2007/0226753) as applied to claim 1 above, further in view of Wu et al. (U.S. PG PUB 2006/0259542).
Regarding claim 16, Gainsbourough and Nikols do not expressly disclose, however, Wu teaches wherein the instructions further cause the one or more processors to perform the steps of: determining that a second request associated with the second interface cannot be processed using the first shim and the first service (see ¶[0076] “Agents 125 connect sender and receiver clients 124 across publish/subscribe network system 120 via the shim adapter. Agents 125 also act as the communication vehicle connecting scenario controller 134 within controller 130 with the actual test execution mechanisms, such as simulated or real clients, shim adapters residing between client interfaces, and side channels between shim adapters and local test results storage. As shown in FIG. 14, each of agents 125 includes a shim capture module 142 and a shim replay module 144 for monitoring and capturing data objects in the application layer via shim adapters. Each of agents 125 also includes network monitors 146 for monitoring and capturing data objects in the network layer. A unified scenario execution module (not shown in FIG. 14) for both the active encapsulation and the network capture approaches may also be included in each of agents 125.”); and
publishing a message that includes the second request to one or more topics within a messaging system, wherein the message is used by a second shim and a second service deployed within a second container to process the second request (see ¶ [0077] “Shim capture module 142 includes shim adapters that capture performance data from the application layer of publish/subscribe network system 120 and store the captured data objects in local results storage for forwarding to controller 130 for central results storage and analysis.”).
Hence, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Gainsborough and Nikols by adapting Wu for monitoring and testing publish/subscribe network systems (see ¶[0008] of Wu).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Singh et al. (U.S. PG PUB 20220103593) teaches securing a computer workload. The method may comprise: receiving a workload; embedding a secure agent into the workload, wherein the secure agent comprises (i) a shim layer located between an application libraries layer of the workload and an operating system service layer and (ii) a security policy repository; and implementing security policies based at least in part on application programming interface (API) calls intercepted by the shim layer.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to whose telephone number is (571)270-7848. The examiner can normally be reached Mon, Tues, Thurs, 9-4 (EST).
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 call.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kevin Young can be reached on (571) 270-3180. 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.
Carina Yun
Patent Examiner
Art Unit 2194
/CARINA YUN/Examiner, Art Unit 2194