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 .
Claims 1, 14, and 20 are currently amended. Claim 21 has been newly added. Claim 13 has been canceled. Claims 1-12 and 14-21 are pending in this application.
Response to Amendment
Regarding the applicant’s remarks, pg. 7, that Li in view of Goel in further view of A in further view of Bonas does not teach the newly amended claim limitations, the examiner concedes. As such, a new reference has been applied to teach the amended limitation- as well as all other limitations of claims 1, 14, and 20. The new grounds of rejection only rely upon Ginis (US 20050251811 A1) to disclose the limitations of the independent claims, and as such the rejection of claims 1, 14, and 20 under 35 USC § 103 has been withdrawn, and the claims are now rejected under 35 USC § 102(a)(1) and 35 USC § 102(a)(2).
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 14, and 20 are rejected under 35 U.S.C. 102(a)(1) and 35 U.S.C. 102(a)(2) as being anticipated by Ginis (US 20050251811 A1).
As per claim 1, Ginis discloses:
A method, comprising: assembling a plurality of stateful processes in a cluster (“The present invention solves the disadvantages of the prior art and provides a distributed messaging system supporting stateful subscriptions. A stateful publish-subscribe system extends the functionality of the content-based approach to include more general state-valued expressions.”, 0010 ; “FIG. 6 illustrates the objects and message pathways for a single transform implementing a single computational operation. When subscriptions are entered, the mechanism of the present invention builds a structure containing all of the transform objects and view objects needed for all intermediate and subscribed views of all subscriptions. This structure is called a dataflow hypergraph. The dataflow hypergraph has nodes corresponding to each view object and hyperedges, which may possibly have more than one input feeding an output, representing each transform object associated with an operation in the subscription specification.”, 0050 ; Examiner Note: the hypergraph corresponds to a cluster, as the transforms equate to stateful processes)
at least one of the stateful processes includes at least one computing object that is configured at least in part by a management system to interface with other stateful processes in the cluster by at least subscribing to one or more of the other stateful processes and by publishing data to one or more of the other stateful processes subscribed to the at least one of the stateful process (“The present invention solves the disadvantages of the prior art and provides a distributed messaging system supporting stateful subscriptions. A stateful publish-subscribe system extends the functionality of the content-based approach to include more general state-valued expressions.”, 0010 ; “FIG. 6 illustrates the objects and message pathways for a single transform implementing a single computational operation. When subscriptions are entered, the mechanism of the present invention builds a structure containing all of the transform objects and view objects needed for all intermediate and subscribed views of all subscriptions.”, 0050 ; “Broker network 824 receives the knowledge flow graph at deployment time. At execution time, publishers 822 publish message streams to broker network 824. The brokers receive events and propagate messages representing view changes towards the subscribers. Subscribers 828 may then receive messages from subscriber views in broker network 824.”, 0060 ; “The process begins and receives middleware programming source (block 902). The process compiles the middleware programming source into a knowledge flow graph (block 904).”, 0061
the management system includes a communication system that configures communication of the data between the plurality of stateful processes (“The present invention solves the disadvantages of the prior art and provides a distributed messaging system supporting stateful subscriptions “, 0010 ; “The hypergraph may be placed manually by an administrator, or, alternatively, the hypergraph may be optimized using transform placement service 806 and automatically deployed using deployment service 808.”, 0059 ; “The dataflow hypergraph has nodes corresponding to each view object and hyperedges, which may possibly have more than one input feeding an output, representing each transform object associated with an operation in the subscription specification.”, 0050 ; “Broker network 824 receives the knowledge flow graph at deployment time.”, 0060 ; Examiner Note: the combination of the transform placement service and deployment service which configures communication of data between transformers, equates to a communication system which configures communication between stateful processes)
using the cluster of stateful processes to perform a computing operation. (““FIG. 6 illustrates the objects and message pathways for a single transform implementing a single computational operation.”, 0060)
As per claim 14, it is a system claim whose limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
As per claim 20, it is a system claim whose limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 2, 4-5, 8, and 19 are rejected under 35 U.S.C. 103 as being unpatentable by Ginis (US 20050251811 A1) in view of Li et. al. (US 20220067044 A1).
As per claim 2, Ginis fully discloses the claim limitations of claim 1, but does not explicitly disclose outputting data from the operation to one or more of a databse, widget, or application.
However, Li discloses:
outputting data from the computing operation to one or more of a database, a widget, and an application. (“process the query to obtain a query result; and return the processing result to the client.”, 0008 ; "Step S8: The executor service 280 returns a query result to the job manager 220.”, 0107 ; Examiner Note: the job manager is an application.)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Ginis with those of Li in order to provide the system with a component manager capable of configuring different microservice components to fully use respective hardware advantages of the computing nodes (Li, [0111]).
As per claim 4, Ginis fully discloses the claim limitations of claim 1, but does not explicitly disclose processing the computing object (comprising one or more of a machine learning model, an artificial intelligence model, a function, a dataset, a data stream, a simulation, business logic, and an integration) to generate the stateful processes by generating a virtual machine including the object.
However, Li discloses:
processing the computing object to generate the stateful processes by generating a virtual machine including the computing object. (“one microservice component may be deployed on one virtual machine or container, or a plurality of microservice components may be deployed on a same virtual machine or container.” 0018 ; “The job manager is configured to: receive a query submitted by a client; invoke the plurality of microservice components in response to the query based on the execution path determined by the component manager”, 0008 ; Examiner Note: invoking the components based on the determined execution path equates to processing computing objects, deploying on a virtual machine corresponds to generating a virtual machine.)
As per claim 5, Ginis in view of Li fully discloses the limitations of claim 4.
Furthermore, Li discloses:
processing the computing objects to generate the stateful process further includes provisioning the stateful process with services to interface with at least one of the stateful processes in the cluster (“(b) Component enabling and disabling: When the system is started, the component manager 230 enables service components” 0078 ; ”The message communication service 240 provides a low-latency and high-bandwidth communication capability, and may be used for communication between microservice components.”, 0076 ; Examiner Note: the message communication service (240) equates to a service to interface stateful processes. The message communication service is one of the service components which is enabled at start-up. )
As per claim 8, Ginis fully discloses the limitations of claim 1, but does not disclose a computing object comprising one or more of a machine learning model, an artificial intelligence model, a function, a dataset, a data stream, a simulation, business logic, and an integration.
However, Li discloses:
the computing object comprises one or more of a machine learning model, an artificial intelligence model, a function, a dataset, a data stream, a simulation, business logic, and an integration. (“each microservice component is configured to implement a subfunction of a database management system”, 0008 ; “In a possible implementation, the plurality of microservice components include a parser and optimizer combination service, an executor service, and a storage engine service.”, 0013 ; Examiner Note: the various microservices listed each equate to services, and are integrated to perform the function of database management. )
As per claim 19, it is a system claim whose limitations are substantially the same as those of claim 8. Accordingly, it is rejected for substantially the same reasons.
Claims 3 and 7 are rejected under 35 U.S.C. 103 as being unpatentable Ginis (US 20050251811 A1) in view of Karri et. al. (US 11995422 B2).
As per claim 3, Ginis fully discloses the limitations of claim 1, but does not explicitly disclose a three-layer computing environment.
Karri discloses:
the steps of the process are performed in a three-layer computing environment including a physical computer network layer, an overlay network layer, and a subscription network layer; and the stateful processes interfaces with one another using the overlay network layer. (“The microservice architecture 100 can comprise a number of layers including an API layer 110, an integration layer 120, a services layer 130, and a storage layer 140.”, col. 2, lines 5-8 ; see figure 1- block 140, 120, and 110 ; “The integration layer 120 provides the capability required by different services and microservices within the architecture 100 to interact with one another.”, col.2, lines 20-22 ; “ A client application 150 typically interacts with the architecture 100 using APIs exposed by microservices 160 within the API layer 110.”, col.2, lines 8-9 ; Examiner Note: the storage layer (140) equates to a physical computer network layer, the integration layer (120) equates to an overlay network layer, and the API layer (110) equates to a subscription network layer. )
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the computing layers of Karri, in order to provide the system of Li with a separate framework for communication between both processes within the application, and between the user and the application network- thereby, increasing the accessibility and inter-process connectivity of the system.
As per claim 7, Ginis fully discloses the limitations of claim 1, but does not disclose the use of an API to enable communication between processes.
However, Karri discloses:
the stateful processes are configured to interface with one another using one or more of application programming interfaces and software development kits. (“Additionally, microservices can communicate with one another over a combination of REST APIs”, col.1, lines 31-35 ; Examiner Note: microservices equate to stateful processes.)
Claims 6 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Ginis (US 20050251811 A1) in view of Li et. al. (US 20220067044 A1) in further view of Ago et. al. (US 11768811 B1).
As per claim 6, Ginis in view of Li fully discloses the limitations of claim 5, but does not explicitly disclose the containerization of computing objects to generate stateful processes.
Furthermore, Ago discloses:
processing the computing object to generate the stateful processes by containerizing the computing object to generate the stateful processes. (“One embodiment of the present invention sets forth a computer-implemented method, including containerizing plural instances of a single-tenant software application to generate a set of containerized microservices”, col.2, lines 23-29 ; Examiner Note: a single-tenant software application equates to a computing object, and a set of microservices equates to stateful processes)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the containerization of applications of Ago (col.2, lines 23-29) in order to provide a system capable of leveraging the advantages of containerization- such as increased flexibility and granularity, as well as increased speed and efficiency (from sharing the host OS kernel)- in the context of a microservice application environment.
As per claim 15, it is a system claim whose limitations are substantially the same as those of claims 4 and 6. Accordingly, it is rejected for substantially the same reasons.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Ginis (US 20050251811 A1) in view of Price et. al. (US 20230055088 A1).
As per claim 9, Ginis fully discloses the limitations of claim 1, but does not disclose the arrangement of stateful processes in a directed graph structure.
However, Price discloses:
the cluster of stateful processes includes an arrangement of the stateful processes in a directed graph structure. (“The number of processor units creates a directed graph structure … wherein the directed graph structure includes relationships between the applications, the number of common code components, and the issues identified”, 0004 ; Examiner Note: an application equates to a stateful process)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the directed graph structure of Price (0004) in order to provide the user with a graphical representation of the entire application which they are running, thereby improving user experience, leading to increased profitability.
Claims 10-11 and 16-17 are rejected under 35 U.S.C. 103 as being unpatentable over Ginis (US 20050251811 A1) in view of Kairali et. al. (US 20240195787 A1).
As per claim 10, Ginis fully discloses the limitations of claim 1, but does not explicitly disclose the output of a first stateful process providing an input to a second stateful process.
However, Kairali discloses:
assembling the plurality of stateful processes in the cluster includes interfacing a first stateful process with a second stateful process so an output of the first stateful process provides an input to the second stateful process (“Different microservices communicate with each other through one or more lightweight protocols to exchange information, allowing multiple microservices to be used to complete an action or a transaction. For example, an output of a microservice is input to another microservice.”, 0029 ; Examiner Note: a microservice equates to a stateful process)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the microservice outputs being used as inputs to other microservices of Kairali in order to provide a system which may flexibly rely on multiple stages of data processing to accomplish a computing task.
As per claim 11, Ginis fully discloses the limitations of claim 1, but does not explicitly disclose the output of a first and second stateful process providing an input to a third stateful process.
Furthermore, Kairali discloses:
assembling the plurality of stateful processes in the cluster includes interfacing a first stateful process, a second stateful process, and a third stateful process so an output of the first stateful process and an output of the second stateful process provide an input to the third stateful process. (For example, an output of a microservice is input to another microservice.”, 0029 ; see fig. 3-block 205, 215, and 225- Security implementation module (225) receives output from User Store module (205) and Data Timing Module (215) as input. ; Examiner Note: the modules of Fig. 3 are each microservices of the application. Each microservice equates to a stateful process.)
As per claim 16, it is a system claim whose limitations are substantially the same as those of claims 5 and 10. Accordingly, it is rejected for substantially the same reasons.
As per claim 17, it is a method claim whose limitations are substantially the same as those of claim 11. Accordingly, it is rejected for substantially the same reasons.
Claims 12 and 18 are rejected under 35 U.S.C. 103 as being unpatentable Ginis (US 20050251811 A1) in view of Nair et. al. (US 20220046084 A1).
As per claim 12, Ginis fully discloses the limitations of claim 1, but does not disclose the use of meta clusters to perform computing operations.
However, Nair discloses:
assembling the cluster and at least one other cluster into a meta cluster of clusters; and using the meta cluster of clusters to perform the computing operation. (“although FIG. 1 depicts the application environment 100 as including clusters 110(1),110(2), 110(3), 110(4), 110(5), 110(6), 110(7), 110(8), . . . , it should be understood that the application environment 100 may include hundreds or even thousands of clusters 110 such as in the context of an application 102 that uses a microservices architecture”, 0058 ; “The clusters 110 provide different application services to support operation of one or more applications 102 utilized by the user devices 102”, 0057 ; Examiner Note: providing an application service equates to performing a computing operation)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the meta clusters of Nair in order to provide increased functionality to the microservice/stateful process application- thereby increasing the marketability, and profitability, of the system.
As per claim 18, it is a system claim whose limitations are substantially the same as those of claim 12. Accordingly, it is rejected for substantially the same reasons.
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Ginis (US 20050251811 A1) in view of Iqbal et. al. (US 11782767 B2).
As per claim 13, Ginis fully discloses the limitations of claim 1, but does not disclose a graphical user interface for arranging applications.
However, Iqbal discloses:
the assembling step is performed at least in part in a graphical user interface. (A user may interact with the cloud computing system using a console user interface (UI) (which may be a graphical user interface (GUI)) of an application executed by the computing device or via API operations provided by the distributed computing system 110. For instance, the user may interact with the distributed computing system 110 to create one or more computing clusters, access or interact with a microservices-based application, store data related to the application, and retrieve data related to one or more requests.”, col.10, lines 44-52 ; Examiner Note: creating a cluster of microservices equates to assembling a group of stateful processes)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the stateful system of Ginis with the graphical user interface of Iqbal in order to provide the user with a convenient means for assembling an application composed of individual microservices.
Claim 21 is rejected under 35 U.S.C. 103 as being unpatentable over Ginis (US 20050251811 A1) in view of Schmaltz (US 20200259652 A1).
As per claim 13, Ginis fully discloses the limitations of claim 1, but does not disclose a subscription service that determines which of the other stateful processes include useable data.
However, Schmaltz discloses
the at least one of the stateful processes includes a subscription service that determines which of the other stateful processes include data useable by the at least one of the stateful processes. (“The first web service also determines a target service for the data request from the user application—in this example, the target service is the second service/microservice.”, 0028 ; “For instance, when instantiated at a host of a first web service, forwarding manager 208 is configured to receive, transform, and validate user tokens with requests for user data, and in response, determine a target service for the data request, acquire an actor token from an identity provider, generate an authentication token that encapsulates the user token and the actor token, and provide the authentication token to the target service. When instantiated at a host of a target service, forwarding manager 208 is configured to receive the authentication token, validate the authentication token and the tokens therein, and retrieve the requested data.”, 0048 ; Examiner Note: the forwarding manager included within the first web service equates to a subscription service and the target/second microservice which contains requested/useable data equates to the stateful process which includes data useable by the at least one first stateful process/microservice.)
It would have been obvious to one of ordinary skill in the art to combine the teachings of Ginis with those of Schmaltz in order to provide method for hardening security between web services/microservices using protected forwarded access tokens, thus eliminating the need for requests for actor tokens to be sent to hosts on each request (Schmaltz, [0125]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Zhou et. al. (US 11829777 B2)- discloses a method for managing microservices. Configures a set of namespaces using first permissions and configuration info, then installs assemblies using a second set of permissions.
Desai (US 11861406 B2)- discloses a computing platform comprising a plurality of disaggregated data center resources and an infrastructure processing units (IPU). IPUs are communicatively coupled to the plurality of resources, to compose a platform of the plurality of disaggregated data center resources for allocation of microservices cluster.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ROSS MICHAEL VINCENT whose telephone number is (703)756-1408. The examiner can normally be reached Mon-Fri 8:30AM-5:30PM.
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,
April Blair can be reached on (571) 270-1014. 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.
/R.M.V./
Examiner, Art Unit 2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196