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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on January 14, 2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they include the following reference character(s) not mentioned in the description: “310” and “814”. Corrected drawing sheets in compliance with 37 CFR 1.121(d), or amendment to the specification to add the reference character(s) in the description in compliance with 37 CFR 1.121(b) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Specification
The disclosure is objected to because of the following informalities:
Reference character “108” in para [0077] designates “user interface component” which is not supported by the drawings.
Appropriate correction is required.
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3, 7-10, 12-14, 16-18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Maheshwari et al. (U.S. Patent Application Publication No. US 20160127454 A1, hereinafter “Maheshwari”) in view of Nadimpalli et al. (U.S. Patent Application Publication No. US 20190332389 A1, hereinafter “Nadimpalli”).
With regard to claim 1, Maheshwari discloses:
A computer-implemented method (“a processor to perform one or more of the methods described above.”, para [0388]), comprising:
receiving, using at least one processor, an input computing event generated by at least one computing application executing in a computing system (“Orchestration engine 704 receives client requests for cloud exchange platform services, such as via the cloud exchange portal 814 or API gateway 816 (1500). Orchestration engine 704 sends the client request for cloud exchange platform services to orchestrator 706 (1502).”, para [0353], “As described herein, orchestration engine 704 synthesizes the information and actions from underlying sub-systems of the interconnection platform to formulate intelligent next steps and responses to dynamic requests made by the customer applications.”, para [0332], “In this way, orchestration engine 118 can be invoked by customer-proprietary applications executing on customer systems 196 by way of APIs 190 for direct participation within the interconnection platform of the cloud exchange.”, para [0059]);
determining, using the at least one processor, a plurality of tasks associated with the received input computing event (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353]);
selecting, using the at least one processor, a process flow in a plurality of process (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353]), each process flow in the plurality of process flows being generated by at least one federated data source in a plurality of federated data sources (“The workflows folder 1612 contains workflows that have been previously defined (e.g., by cloud exchange developers) for each customer endpoint.”, para [0353]);
executing, using the at least one processor, at least one executable action in the plurality of executable actions for performing at least one task in the plurality of determined tasks (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestrator 706 will automatically load the selected workflow, and the microservices execute according to the workflow (e.g., sequentially and/or in parallel) (1506).”, para [0353], fig 17),
PNG
media_image1.png
521
724
media_image1.png
Greyscale
the executing of the at least one executable action transferring the computing system from at least one state in the one or more states to at least another state in the one or more states (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353]);
generating, using the at least one processor, an output computing event in a plurality of output computing events resulting from the executing of the at least one executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]); and
executing, using the at least one processor, while the computing system in the at least another state, at least another executable action in the plurality of executable actions for performing at least another task in the plurality of determined tasks (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestrator 706 will automatically load the selected workflow, and the microservices execute according to the workflow (e.g., sequentially and/or in parallel) (1506).”, para [0353], “Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353], fig 17),
PNG
media_image2.png
542
742
media_image2.png
Greyscale
the generated output computing event being input to the executing of the at least another executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
Maheshwari does not disclose however, Nadimpalli discloses:
the selecting being based on one or more models (i.e. “state machine configuration”) generated for execution of each process flow in the plurality of process flows (“Based on the indication and the application from which the indication is received, the process 400 may select (at step 410) a state machine configuration and a workflow corresponding to the event. For example, the stateless application module 202 may determine that the indication is received from the onboarding application 222, and may select and retrieve the state machine configuration 201a and the workflow corresponding to the onboarding application 222 from the context database 204.”, para [0053]), the one or more models defining one or more states of the computing system during execution of each process flow in the plurality of process flows and a plurality of executable actions for performing one or more tasks in the plurality of determined tasks (“Each workflow may be associated with one or more state machine configurations representing different states within the workflow.”, para [0013]), “For example, the stateless application module 202 may begin performing tasks according to the workflow associated with the event (either retrieved from the database or provided in the indication).”, para [0057], Examiner’s note: Interpreting computing instructions that initiate a task as the executable actions.),
Both the systems of Maheshwari and Nadimpalli deal with workflows. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari in view of Nadimpalli to improve reliability.
With regard to claim 2, Maheshwari as modified discloses the method according to claim 1.
Maheshwari further discloses:
further comprising
receiving, using the at least one processor, data from at least one database communicatively coupled with the computing system and associated with the executing of the at least one executable action (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353]); and
updating, using the at least one processor, the generated output computing event using the received data to generate an updated generated output computing event (“In this example, orchestrator 706 receives a client request 1642 that invokes an “/employee payroll” API endpoint, exposed by orchestrator 706, to obtain employee payroll information. Orchestrator 706 selects a workflow for obtaining employee payroll information from workflows folder 1612, loads the selected workflow, and pushes a new job to data structure store 1610.”, para [0362], “In this example, orchestrator 706 receives a client request 1622 that invokes a “/virtual circuit” API endpoint, exposed by orchestrator 706, to provision a virtual circuit in the cloud-based services exchange between the client and a cloud service provider. Orchestrator 706 selects a workflow for provisioning a virtual circuit from workflows folder 1612, loads the selected workflow, and pushes a new job to data structure store 1610.”, para [0357], Examiner’s note: One of ordinary skill in the art would recognize that different workflows return different outputs.).
With regard to claim 3, Maheshwari as modified discloses the method according to claim 2.
Maheshwari further discloses:
wherein the updated generated output computing event being input to the executing of the at least another executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
With regard to claim 7, Maheshwari as modified discloses the method according to claim 1.
Maheshwari further discloses:
further comprising executing, using the at least one processor, each executable action in the plurality of executable actions in a sequential order to perform all determined tasks in the plurality of determined tasks (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestrator 706 will automatically load the selected workflow, and the microservices execute according to the workflow (e.g., sequentially and/or in parallel) (1506).”, para [0353]), wherein an output computing event generated by the executing of each executable action being input to each subsequent executable action in the plurality of executable actions (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
With regard to claim 8, Maheshwari as modified discloses the method according to claim 1.
Maheshwari further discloses:
wherein each federated data source (i.e. “cloud exchange developer”) in the plurality of federated data sources being separate from other federated data sources in the plurality of federated data sources (“The workflows folder 1612 contains workflows that have been previously defined (e.g., by cloud exchange developers) for each customer endpoint.”, para [0353], Examiner’s note: Federated data source interpreted as “federated data source (which, for example, may include, but are not limited to, one or more computing processors and/or systems, one or more developers and/or any other entities).”, para [0031].), and each executable action being executed using a separate container in a plurality of containers (“The orchestrator 706 may use state machines to implement workflows that invoke multiple microservices 706 in a defined ordering to satisfy an API contract. Microservices 706 (and multiple instances of each of microservices 706) may be deployed in separate containers for isolation and modularity, while also providing enhanced quality and reliability with integrated testing, logging, monitoring, and diagnostic strategies.”, para [0345]).
With regard to claim 9, Maheshwari as modified discloses the method according to claim 1.
Maheshwari further discloses:
wherein each state in the one or more states is associated with execution of one or more microservices corresponding to the executing of one or more executable actions in the plurality of executable actions (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.” [0353]).
With regard to claim 10, Maheshwari as modified discloses the method according to claim 9.
Maheshwari further discloses:
wherein the execution of the one or more microservices generate one or more output computing events in the plurality of output computing events (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
With regard to claim 12, Maheshwari as modified discloses the method according to claim 1.
Maheshwari further discloses:
wherein the computing system is a multi-tenant computing system having a plurality of tenant computing systems (“As shown in the example of FIG. 1B, cloud exchange 100 exposes a collection of software interfaces 114, also referred to herein as application programming interfaces (APIs), that allow customer systems 196 programmatic access to capabilities and assets of the interconnection platform 103 of cloud exchange 100.”, para [0057], fig 1B).
With regard to claim 13, Maheshwari as modified discloses the method according to claim 12.
Maheshwari further discloses:
wherein one or more executable actions in the plurality of executable actions are configured for executing for all tenant computing systems in the plurality of tenant computing systems (“The same workflow can be used by different customers for executing the functionality they need (e.g., creating a virtual circuit).”, para [0356], “Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353]).
With regard to claim 14, Maheshwari as modified discloses the method according to claim 12.
Maheshwari further discloses:
wherein one or more first executable actions in the plurality of executable actions are configured for executing for first tenant computing systems in the plurality of tenant computing systems (“The same workflow can be used by different customers for executing the functionality they need (e.g., creating a virtual circuit).”, para [0356], “ the selected workflow contains the set of tasks needed to fulfill the request through microservice calls”, para [0353], Examiner’s note: One of ordinary skill in the art would recognize if the workflows, which include calling the microservices, can be used by different customers, than the microservices calls are configured for executing for a first customer.), and one or more second executable actions in the plurality of executable actions are configured for executing for second tenant computing systems in the plurality of tenant computing systems (“The same workflow can be used by different customers for executing the functionality they need (e.g., creating a virtual circuit).”, para [0356], “ the selected workflow contains the set of tasks needed to fulfill the request through microservice calls”, para [0353], Examiner’s note: One of ordinary skill in the art would recognize if the workflows, which include calling the microservices, can be used by different customers, than the microservices calls are configured for executing for a second customer.), the one or more first executable actions being different from the one or more second executable actions ("Orchestration engine 407 can then invoke a network service provisioning service (e.g., network provisioning service 409F, FIG. 3B) to automatically configure the virtual circuit within the cloud exchange (480L), and receive a response from the network service provisioning service (480M). Orchestration engine 407 can then invoke a billing service (e.g., billing service 409H, FIG. 3B) (480N) and receive a response from the billing service (480O).", para [0308], " In some examples, microservices 708 may represent or include other microservice examples described in this disclosure, e.g., microservices for implementing cloud exchange services 409, API query services 422A, API command services 422B, integration façade services 422C, any microservices provided by sub-systems 120, and microservices 308D.", para [0329]).
With regard to claim 16, Maheshwari discloses:
A system (“cloud exchange.”, para [0059]), comprising:
at least one processor (“a processor”, para [0390]); and
at least one non-transitory storage media storing instructions (“a computer-readable data storage medium comprising instructions”, para [0388], “the computer-readable storage media may comprise non-transitory media”, para [0390]), that when executed by the at least one processor, cause the at least one processor to perform operations including (“when executed, cause a processor to perform one or more of the methods described above.”, para [0388])
determining a plurality of tasks associated with an input computing event generated by at least one computing application executing in a computing system (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestration engine 704 receives client requests for cloud exchange platform services, such as via the cloud exchange portal 814 or API gateway 816 (1500). Orchestration engine 704 sends the client request for cloud exchange platform services to orchestrator 706 (1502).”, para [0353], “As described herein, orchestration engine 704 synthesizes the information and actions from underlying sub-systems of the interconnection platform to formulate intelligent next steps and responses to dynamic requests made by the customer applications.”, para [0332], “In this way, orchestration engine 118 can be invoked by customer-proprietary applications executing on customer systems 196 by way of APIs 190 for direct participation within the interconnection platform of the cloud exchange.”, para [0059]);
generating a model for executing of a process flow in a plurality of process flows (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request.”, para [0353]),
transferring the computing system from at least one state in the one or more states to at least another state in the one or more states during execution of at least one executable action in the plurality of executable actions (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353]);
generating, based on the transferring, an output computing event in a plurality of output computing events resulting from the executing of the at least one executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355], Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353]); and
executing, while the computing system in the at least another state, at least another executable action in the plurality of executable actions for performing at least another task in the plurality of determined tasks (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestrator 706 will automatically load the selected workflow, and the microservices execute according to the workflow (e.g., sequentially and/or in parallel) (1506). ”, para [0353], “Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353] fig 17),
PNG
media_image2.png
542
742
media_image2.png
Greyscale
the generated output computing event being input to the executing of the at least another executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
Maheshwari does not disclose however, Nadimpalli discloses:
the model (i.e. “state main configuration’”) defining one or more states of the computing system during execution of the process flow and a plurality of executable actions for performing one or more tasks in the plurality of determined tasks (“Each workflow may be associated with one or more state machine configurations representing different states within the workflow.”, para [0013]), “For example, the stateless application module 202 may begin performing tasks according to the workflow associated with the event (either retrieved from the database or provided in the indication).”, para [0057], Examiner’s note: Interpreting computing instructions that initiate a task as the executable actions.),
Both the systems of Maheshwari and Nadimpalli deal with workflows. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari in view of Nadimpalli to improve reliability.
With regard to claim 17, Maheshwari as modified discloses the system according to claim 16.
Maheshwari further discloses:
wherein each process flow in the plurality of process flows being generated by at least one federated data source in a plurality of federated data sources, wherein each federated data source in the plurality of federated data sources being separate from other federated data sources in the plurality of federated data sources (“The workflows folder 1612 contains workflows that have been previously defined (e.g., by cloud exchange developers) for each customer endpoint.”, para [0353], Examiner’s note: Federated data source interpreted as “federated data source (which, for example, may include, but are not limited to, one or more computing processors and/or systems, one or more developers and/or any other entities).”, para [0031].), and each executable action in the plurality of executable actions being executed using a separate container in a plurality of containers (“The orchestrator 706 may use state machines to implement workflows that invoke multiple microservices 706 in a defined ordering to satisfy an API contract. Microservices 706 (and multiple instances of each of microservices 706) may be deployed in separate containers for isolation and modularity, while also providing enhanced quality and reliability with integrated testing, logging, monitoring, and diagnostic strategies.”, para [0345]).
With regard to claim 18, Maheshwari as modified discloses the system according to claim 16.
Maheshwari further discloses:
wherein the operations further comprise receiving data from at least one database communicatively coupled with the computing system and associated with the executing of the at least one executable action (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353]); and
updating the generated output computing event using the received data to generate an updated generated output computing event (“In this example, orchestrator 706 receives a client request 1642 that invokes an “/employee payroll” API endpoint, exposed by orchestrator 706, to obtain employee payroll information. Orchestrator 706 selects a workflow for obtaining employee payroll information from workflows folder 1612, loads the selected workflow, and pushes a new job to data structure store 1610.”, para [0362], “In this example, orchestrator 706 receives a client request 1622 that invokes a “/virtual circuit” API endpoint, exposed by orchestrator 706, to provision a virtual circuit in the cloud-based services exchange between the client and a cloud service provider. Orchestrator 706 selects a workflow for provisioning a virtual circuit from workflows folder 1612, loads the selected workflow, and pushes a new job to data structure store 1610.”, para [0357], Examiner’s note: One of ordinary skill in the art would recognize that different workflows return different outputs.);
wherein the updated generated output computing event being input to the executing of the at least another executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
With regard to claim 20, Maheshwari discloses:
At least one non-transitory storage media storing instructions (“a computer-readable data storage medium comprising instructions”, para [0388], “the computer-readable storage media may comprise non-transitory media”, para [0390]) that, when executed by at least one processor, cause the at least one processor to perform operations comprising (“when executed, cause a processor to perform one or more of the methods described above.”, para [0388]):
generating a model for executing of a process flow in a plurality of process flows (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request.”, para [0353]), the model defining one or more states of the computing system during execution of the process flow (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request.”, para [0353]) (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.” [0353]), the execution of the one or more microservices generate one or more output computing events in a plurality of output computing events (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]);
transferring the computing system from at least one state in the one or more states to at least another state in the one or more states during execution of at least one executable action in the plurality of executable actions (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353]);
generating the one or more output computing events (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]); and
executing, while the computing system in the at least another state, at least another executable action in the plurality of executable actions for performing at least another task in the plurality of determined tasks (“Based on the client request, orchestrator 706 selects a workflow from a workflow library or folder (e.g., workflows folder 1612 of FIG. 16 including workflows WF1, WF2, WF3, and WF4), where the selected workflow contains the set of tasks needed to fulfill the request through microservice calls (1504).”, para [0353], “Orchestrator 706 will automatically load the selected workflow, and the microservices execute according to the workflow (e.g., sequentially and/or in parallel) (1506). ”, para [0353], “Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.”, para [0353] fig 17),
PNG
media_image2.png
542
742
media_image2.png
Greyscale
the generated output computing event being input to the executing of the at least another executable action (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]).
Maheshwari does not disclose however, Nadimpalli discloses:
the model (i.e. “state main configuration’”) defining one or more states of the computing system during execution of the process flow and a plurality of executable actions for performing one or more tasks in the plurality of determined tasks (“Each workflow may be associated with one or more state machine configurations representing different states within the workflow.”, para [0013]), “For example, the stateless application module 202 may begin performing tasks according to the workflow associated with the event (either retrieved from the database or provided in the indication).”, para [0057], Examiner’s note: Interpreting computing instructions that initiate a task as the executable actions.),
Both the systems of Maheshwari and Nadimpalli deal with workflows. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari in view of Nadimpalli to improve reliability.
Claims 4-5 are rejected under 35 U.S.C. 103 as being unpatentable over Maheshwari and Nadimpalli as applied to claim 1 above, and further in view of MDN (“SetTimeout() - web apis: MDN. Web APIs”).
With regard to claim 4, Maheshwari as modified discloses the method according to claim 1.
Maheshwari as modified does not disclose, however MDN discloses:
wherein the executing the at least one executable action includes executing the at least one executable action after a first predetermined period of time (“Instead, the first function is called, but waits 5 seconds to execute.”, page 2, last paragraph).
Both the systems of Maheshwari and MDN deal with executing instructions. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of MDN to improve execution predictability.
With regard to claim 5, Maheshwari as modified discloses the method according to claim 4.
Maheshwari as modified does not disclose, however MDN discloses:
wherein the executing the at least another executable action includes executing the at least another executable action after a second predetermined period of time (“While the first function is waiting to execute, the second function is called, and a 3-second wait is applied to the second function before it executes”, page 2, last paragraph),
the second predetermined period of time being different from the first predetermined period of time (“Instead, the first function is called, but waits 5 seconds to execute. While the first function is waiting to execute, the second function is called, and a 3-second wait is applied to the second function before it executes.” page 2, last paragraph).
Both the systems of Maheshwari and MDN deal with executing instructions. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of MDN to improve execution predictability.
Claims 6 is rejected under 35 U.S.C. 103 as being unpatentable over Maheshwari and Nadimpalli as applied to claim 1 above, and further in view of ATOzTOA (“Revisions to stop code after time period [duplicate]”).
With regard to claim 6, Maheshwari as modified discloses the method according to claim 1.
Maheshwari as modified does not disclose, however ATOzTOA discloses:
wherein the executing the at least one executable action includes preventing executing of the at least one executable action after a first predetermined period of time (top of page 1).
PNG
media_image3.png
552
885
media_image3.png
Greyscale
Both the systems of Maheshwari and ATOzTOA deal with executing instructions. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of ATOzTOA to improve execution predictability.
Claims 11 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Maheshwari and Nadimpalli as applied to claims 1 and 16 above, and further in view of Xu (U.S. Patent Application Publication No. US 20240320032 A1).
With regard to claim 11, Maheshwari as modified discloses the method according to claim 10.
Maheshwari does not disclose however, Xu discloses:
wherein the one or more output computing events are generated using at least one of the following: synchronous generation, asynchronous generation, and any combination thereof (“the system may generate the response based on the mode of the request, i.e. synchronous or asynchronous.”, para [0039]).
Both the systems of Maheshwari and Xu deal with executing instructions. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of Xu to improve scalability.
With regard to claim 19, Maheshwari as modified discloses the system according to claim 16.
Maheshwari further discloses:
wherein each state in the one or more states is associated with execution of one or more microservices corresponding to the executing of one or more executable actions in the plurality of executable actions (“Workflows provide a set of logic that uses one or more state machines as a guide to indicate how to transfer from one state to another to fulfill the request. A workflow defines a task orchestration. Workflows provide a way to decompose a series of complex operations down to a sequence of discrete tasks within a state machine and executed by microservices to satisfy requests received via different request channels like portals and API.” [0353]), the execution of the one or more microservices generate one or more output computing events in the plurality of output computing events (“In this context, microservices are endpoints, and a task is an action currently executing to fulfill a request. One example task could be to call a set of microservices (endpoints), collectively. When you call a particular endpoint, some data is returned, which may be data to be used by the next endpoint, in a chain. In this manner, the workflow may define a chain of tasks to be completed, where data obtained in one task may be used in and/or may determine the next task.”, para [0355]),
Maheshwari does not disclose however, Xu discloses:
wherein the one or more output computing events are generated using at least one of the following: synchronous generation, asynchronous generation, and any combination thereof (“the system may generate the response based on the mode of the request, i.e. synchronous or asynchronous.”, para [0039]).
Both the systems of Maheshwari and Xu deal with executing instructions. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of Xu to improve scalability.
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Maheshwari and Nadimpalli as applied to claim 1 above, and further in view of Sharma et al. (U.S. Patent Application Publication No. US 20230067168 A1, hereinafter “Sharma”).
With regard to claim 15, Maheshwari as modified discloses the method according to claim 1.
Maheshwari does not disclose however, Sharma discloses:
further comprising generating a user interface associated with at least one of the following: the executing of the one or more executable actions in the plurality of executable actions, displaying one or more output computing events in the plurality of output computing event, the selecting of one or more process flows in the plurality of process flows, altering one or more process flows in the plurality of process flows (“In some embodiments, the user interface 2309 facilitates selecting and/or creating workflows. In some embodiments, the user interface 2309 is a graphical user interface that provides options that can be dragged and dropped for creating workflows using existing functions known to the workflow manager 2307 or using new workflows created, or modified workflows edited, by user by way of a development environment or in a user interface associated with life cycle manager 2301 in which a user may optionally enter custom computer readable code, functions or scripts and/or modify existing computer readable code, functions or scripts.”, para [0304], “User Interface” 2309, fig 23), and any combination thereof.
Both the systems of Maheshwari and Sharma deal with workflows. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to combine Maheshwari as modified in view of Sharma to improve flexibility.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SELENA SABAH NAHRA whose telephone number is (571)272-6115. The examiner can normally be reached Monday-Thursday 7:00 AM -5:30 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, Hyung Sough can be reached at (571) 272-6799. 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.
/S.S.N./Examiner, Art Unit 2192
/S. Sough/SPE, Art Unit 2192