Detailed Action
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office action is in response to Applicant’s amendment submitted on August 4, 2025.
Claims 1, 14, 19, 22, 26-32, 34-39, 41, 46-50 are pending in the application.
Response to Arguments/Remarks
Claim Rejections - 35 USC § 103
Claims 1, 14, 22, 26-28, 32, 37-39, 41, and 47 are rejected under 35 U.S.C. 103 as being unpatentable over Suchter et al. US Patent Publication No. 2017/0302586 (“Suchter”) in view of Kaushik et al. US Patent Publication No. 2016/0337216 (“Kaushik”), Leonard et al. US Patent Publication No. 2020/0110602 (“Leonard”), and Dudek et al. US Patent Publication No. 2012/0284383 (“Dudek”).
Applicant argued that Suchter, nodes (e.g., nodes 210,232) require a resource control component (e.g., agent controller 218, 236) “to monitor, track, log and/or control the allocation of computer resources on a particular node.” Therefore, Suchter fails to disclose or suggest to "the orchestration node is operable to orchestrate the requested execution of the component computational operation by the selected computing node without the selected computing node having a resource control component," as required by claim 1.
In response, Applicant attempts to correlate “a resource control component” to the “agent controller” of Suchter. The claims broadly recite “a resource control component” and does not specify the “resource control component” such that the claim excludes the particular agent controller described by Suchter. Furthermore, the claim does not state that the computing node does not have any resource control component. By stating “a resource control component”, the claimed “a resource control component” is not limited to the particular “agent controller” and covers an interpretation of any resource control component. For instance, “a resource control component” may be correlated to the “supervisor controller,” which is on the master node, and nodes 210, 232 do not comprise a supervisor controller.
Furthermore, Applicant’s specification states, on paragraph [0006], “The orchestration is mainly performed at the micro-services level, and the nodes that are orchestrated must include a resource control component that enables control from the main orchestrator.” (emphasis noted) Based on the specification, the “resource control component” may also be interpreted as a “resource control component that enables control from the main orchestrator,” and the selected computing node is without a resource control component that enables control from the main orchestrator. Suchter states, on paragraph [0068], “agent controller system can be configured to determine independently from the supervisor controller… without receiving input from the supervisor control system” and on paragraph [0101], “the foregoing reallocation of computer resources can be performed by the agent controller 218 without instructions from the supervisor controller 208.” The node may operate without instructions from the master node. As such, the node is capable of being operating without a controller that is controlled from the master node.
Claim Rejections - 35 USC § 103
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claims 1, 14, 22, 26-28, 32, 37-39, 41, and 47 are rejected under 35 U.S.C. 103 as being unpatentable over Suchter et al. US Patent Publication No. 2017/0302586 (“Suchter”) in view of Kaushik et al. US Patent Publication No. 2016/0337216 (“Kaushik”), Leonard et al. US Patent Publication No. 2020/0110602 (“Leonard”), and Dudek et al. US Patent Publication No. 2012/0284383 (“Dudek”).
Regarding claim 1, Suchter teaches an orchestration node which comprises an endpoint and which is operable to orchestrate execution of a computational operation by at least one computing node, (para. [0093] master node 104 can be configured to divide the job… into a plurality of smaller jobs or sub-jobs to various nodes), the orchestration node comprising processing circuitry that is configured to:
discover at least one computing node and which that has exposed, as a resource, a capability of the computing node to execute at least one component computational operation, wherein the at least one component computational operation is from decomposing the computational operation into a plurality of component operations (para. [0090] determining the available resources across a computer cluster… receive resource allocation data from each node. para. [0099] supervisor controller 208… monitor, track… the allocation of computer resources at particular nodes. para. [0100] transmit the resource utilization data to the supervisor controller. para. [0154] resources available in the nodes of the cluster. para. [0163] determining the total available computer resources provided for by a particular node. transmit such data to the supervisor controller);
for each component computational operation of the complex computational operation, select a discovered computing node for execution of the component computational operation (para. [0118] divided sub-jobs… assigned… to various nodes 416, 442);
send a request message to each selected computing node requesting the selected computing node execute the component computational operation for which it has been selected (para. [0118] node manager… 418 and 444 can be configured to receive the sub-jobs that have been assigned to a particular node); and
check for a response to each sent request message (para. [0060] determine the overall progress in completing an overall job that has been divided into a plurality of sub-jobs. para. [0091] master node 104 can be configured to return to the client 102 completed jobs that have been processed by the cluster 101),
wherein the orchestration node is operable to orchestrate the requested execution of the component computational operation by the selected computing node without the selected computing node having a resource control component (Note: The claim broadly states, “a resource control component,” which could be interpreted to any resource control component that is not comprised on the node. For instance, see fig. 2, para. [0099] node 210 does not have a supervisor controller, which is a “resource control component.” Also see para. [0063] “agent controller system can be configured to independently decide whether to reallocate resources of the particular computer node without receiving instructions from the supervisor controller system.” para. [0101] “without receiving instructions from a supervisor controller 208.” The node may have a controller but it is not a controller that is controlled by a supervisor controller system).
Suchter does not teach:
the orchestration node comprises a Constrained Application Protocol, CoAP, endpoint and the computing node which comprises a CoAP endpoint;
wherein the at least one component computational operation is represented using a data format, and wherein the capability of the computing node to execute the at least one computational operation exposed is represented in the data format;
wherein the request message includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation; and
receive a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node.
Kaushik discloses an orchestration node comprising a Constrained Application Protocol, CoAP, endpoint and a computing node comprising a CoAP endpoint (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Kaushik’s disclosure such that the orchestration node and the computing node of Suchter are modified to function as CoAP endpoints and communicate based on CoAP. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Leonard discloses at least one component computational operation represented using a data format, and a capability of a computing node to execute the at least one computational operation exposed is represented in the data format (para. [0245] job servers 2405a-n can each be compatible with a particular programming language for executing code segments in that particular programming language. para. [0247] node 2202a can determine a programming language corresponding to the code segment and interact with whichever of the job servers 2504a-n is compatible with the code segment's programming language. node 2202a can select job server 2504a, which is compatible with the R programming language (e.g., because it has the requisite interpreter, libraries, and/or other tools to run instructions in the R programming language). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Leonard’s disclosure such that the operation is represented using a data format and a capability of a computing node to execute the operation is represented in the data format. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability to process codes and process codes of different programming languages.
Dudek discloses a request message that includes at least one request parameter comprising at least one of: a required output characteristic of a requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation (para. [0019] workload is a process to be run by a compute node. workload parameters included in the workload bid request may include, for example, memory available, processor speed, network latency. para. [0020] workload bid request may include a function optimized for speed where the cost function parameters include processor speed, network latency. para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload.); and receive a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node (para. [0023] compute node submitting the lowest cost bid will be selected as the target node for that workload. target node may be selected on the basis of one or more specific metric, such as energy consumption, network bandwidth, or time needed to complete a transaction. para. [0080] when a workload bid is accepted and the associated workload is dispatched… para. [0081] one or more individual compute nodes within the plurality of compute nodes will then send a workload bid to the first compute node in step 276. each workload bid will include the cost of running the workload on the individual compute node sending the workload bid). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure such that the orchestrator of Suchter is configured to transmit a request that includes one request parameter and to receive the response message as disclosed by Dudek. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation with the request parameters and with the lowest cost associated with the operation.
Regarding claim 22, Suchter teaches a computing node and which is operable to execute at least one component computational operation; the computing node comprising processing circuitry that is configured to:
expose, as a resource, a capability of the computing node to execute the at least one component computational operation (para. [0090] determining the available resources across a computer cluster… receive resource allocation data from each node. para. [0099] supervisor controller 208… monitor, track… the allocation of computer resources at particular nodes. para. [0100] transmit the resource utilization data to the supervisor controller);
receive a request message from an orchestration node, the request message requesting the computing node execute a component computational operation (para. [0118] node manager… 418 and 444 can be configured to receive the sub-jobs that have been assigned to a particular node);
determine whether execution of the requested component computational operation is compatible with an operating policy of the computing node (para. [0112] determine whether the computer resources… should be changed. utilizing RAM that exceeds a threshold limit or level. para. [0116] determine if a resource allocation is above a threshold level for a particular task and/or node); and
send a response message to the orchestration node (para. [0060] determine the overall progress in completing an overall job that has been divided into a plurality of sub-jobs. para. [0091] master node 104 can be configured to return to the client 102 completed jobs that have been processed by the cluster 101),
wherein the orchestration node is operable to orchestrate the requested execution of the component computational operation by the selected computing node without the selected computing node having a resource control component (Note: The claim broadly states, “a resource control component,” which could be interpreted to any resource control component that is not comprised on the node. For instance, see fig. 2, para. [0099] node 210 does not have a supervisor controller, which is a “resource control component.” Also see para. [0063] “agent controller system can be configured to independently decide whether to reallocate resources of the particular computer node without receiving instructions from the supervisor controller system.” The node may have a controller but it is not a controller that is controlled by a supervisor controller system).
Suchter does not teach:
the computing node comprises a Constrained Application Protocol, CoAP, endpoint and the orchestration node comprises a CoAP endpoint;
wherein the at least one component computational operation is represented using a data format, and wherein the computational operation exposed is represented in the data format;
wherein the request message includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation; and
send a response message to the orchestration node comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by the computing node.
Kaushik discloses an orchestration node comprising a Constrained Application Protocol, CoAP, endpoint and a computing node comprising a CoAP endpoint (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Kaushik’s disclosure such that the orchestration node and the computing node of Suchter are modified to function as CoAP endpoints and communicate based on CoAP. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Leonard discloses at least one component computational operation represented using a data format, and a capability of a computing node to execute the at least one computational operation exposed is represented in the data format (para. [0245] job servers 2405a-n can each be compatible with a particular programming language for executing code segments in that particular programming language. para. [0247] node 2202a can determine a programming language corresponding to the code segment and interact with whichever of the job servers 2504a-n is compatible with the code segment's programming language. node 2202a can select job server 2504a, which is compatible with the R programming language (e.g., because it has the requisite interpreter, libraries, and/or other tools to run instructions in the R programming language). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Leonard’s disclosure such that the operation is represented using a data format and a capability of a computing node to execute the operation is represented in the data format. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability to process codes and process codes of different programming languages.
Dudek discloses a request message that includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation (para. [0019] workload is a process to be run by a compute node. workload parameters included in the workload bid request may include, for example, memory available, processor speed, network latency. para. [0020] workload bid request may include a function optimized for speed where the cost function parameters include processor speed, network latency. para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload.); and sending a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node (para. [0023] compute node submitting the lowest cost bid will be selected as the target node for that workload. target node may be selected on the basis of one or more specific metric, such as energy consumption, network bandwidth, or time needed to complete a transaction. para. [0081] one or more individual compute nodes within the plurality of compute nodes will then send a workload bid to the first compute node in step 276. each workload bid will include the cost of running the workload on the individual compute node sending the workload bid). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure such that the computing node of Suchter is configured to receive a request that includes one request parameter and to send the response message as disclosed by Dudek. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation with the request parameters and with the lowest cost associated with the operation.
Regarding claim 39, Suchter teaches a method for orchestrating execution of a complex computational operation by at least one computing node and wherein the complex computational operation can be decomposed into a plurality of component computational operations, the method, performed by an orchestration node, comprising:
discovering at least one computing node that has exposed, as a resource, a capability of the computing node to execute at least one component computational operation of the plurality of component operations (para. [0090] determining the available resources across a computer cluster… receive resource allocation data from each node. para. [0099] supervisor controller 208… monitor, track… the allocation of computer resources at particular nodes. para. [0100] transmit the resource utilization data to the supervisor controller. para. [0154] resources available in the nodes of the cluster. para. [0163] determining the total available computer resources provided for by a particular node. transmit such data to the supervisor controller);
for each component computational operation of the complex computational operation, selecting a discovered computing node for execution of the component computational operation (para. [0118] divided sub-jobs… assigned… to various nodes 416, 442);
sending a request message to each selected computing node requesting the selected computing node execute the component computational operation for which it has been selected (para. [0118] node manager… 418 and 444 can be configured to receive the sub-jobs that have been assigned to a particular node); and
checking for a response to each sent request message (para. [0060] determine the overall progress in completing an overall job that has been divided into a plurality of sub-jobs. para. [0091] master node 104 can be configured to return to the client 102 completed jobs that have been processed by the cluster 101),
wherein the orchestration node is operable to orchestrate the requested execution of the component computational operation by the selected computing node without the selected computing node having a resource control component (Note: The claim broadly states, “a resource control component,” which could be interpreted to any resource control component that is not comprised on the node. For instance, see fig. 2, para. [0099] node 210 does not have a supervisor controller, which is a “resource control component.” Also see para. [0063] “agent controller system can be configured to independently decide whether to reallocate resources of the particular computer node without receiving instructions from the supervisor controller system.” The node may have a controller but it is not a controller that is controlled by a supervisor controller system).
Suchter does not teach:
the least one computing node comprises a Constrained Application Protocol, CoAP, endpoint and the orchestration node comprises a CoAP endpoint;
wherein the at least one component computational operation is represented using a data format, and wherein the capability of the computing node to execute the at least one computational operation exposed is represented in the data format;
wherein the request message includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation; and
receiving a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node.
Kaushik discloses an orchestration node comprising a Constrained Application Protocol, CoAP, endpoint and a computing node comprising a CoAP endpoint (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Kaushik’s disclosure such that the orchestration node and the computing node of Suchter are modified to function as CoAP endpoints and communicate based on CoAP. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Leonard discloses at least one component computational operation represented using a data format, and a capability of a computing node to execute the at least one computational operation exposed is represented in the data format (para. [0245] job servers 2405a-n can each be compatible with a particular programming language for executing code segments in that particular programming language. para. [0247] node 2202a can determine a programming language corresponding to the code segment and interact with whichever of the job servers 2504a-n is compatible with the code segment's programming language. node 2202a can select job server 2504a, which is compatible with the R programming language (e.g., because it has the requisite interpreter, libraries, and/or other tools to run instructions in the R programming language). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Leonard’s disclosure such that the operation is represented using a data format and a capability of a computing node to execute the operation is represented in the data format. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability to process codes and process codes of different programming languages.
Dudek discloses a request message that includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation (para. [0019] workload is a process to be run by a compute node. workload parameters included in the workload bid request may include, for example, memory available, processor speed, network latency. para. [0020] workload bid request may include a function optimized for speed where the cost function parameters include processor speed, network latency. para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload.); and receiving a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node (para. [0023] compute node submitting the lowest cost bid will be selected as the target node for that workload. target node may be selected on the basis of one or more specific metric, such as energy consumption, network bandwidth, or time needed to complete a transaction. para. [0081] one or more individual compute nodes within the plurality of compute nodes will then send a workload bid to the first compute node in step 276. each workload bid will include the cost of running the workload on the individual compute node sending the workload bid). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure such that the orchestrator of Suchter is configured to transmit a request that includes one request parameter and to receive the response message as disclosed by Dudek. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation with the request parameters and with the lowest cost associated with the operation.
Regarding claim 41, Suchter teaches a method for operating a computing node which and which is operable to execute at least one component computational operation, the method, performed by the computing node, comprising:
exposing, as a resource, a capability of the computing node to execute the at least one component computational operation (para. [0090] determining the available resources across a computer cluster… receive resource allocation data from each node. para. [0099] supervisor controller 208… monitor, track… the allocation of computer resources at particular nodes. para. [0100] transmit the resource utilization data to the supervisor controller);
receiving a request message from an orchestration node, the request message requesting the computing node execute a component computational operation (para. [0118] node manager… 418 and 444 can be configured to receive the sub-jobs that have been assigned to a particular node);
determining whether execution of the requested component computational operation is compatible with an operating policy of the computing node (para. [0112] determine whether the computer resources… should be changed. utilizing RAM that exceeds a threshold limit or level. para. [0116] determine if a resource allocation is above a threshold level for a particular task and/or node); and
sending a response message to the orchestration node (para. [0060] determine the overall progress in completing an overall job that has been divided into a plurality of sub-jobs. para. [0091] master node 104 can be configured to return to the client 102 completed jobs that have been processed by the cluster 101),
wherein the orchestration node is operable to orchestrate the requested execution of the component computational operation by the selected computing node without the selected computing node having a resource control component (Note: The claim broadly states, “a resource control component,” which could be interpreted to any resource control component that is not comprised on the node. For instance, see fig. 2, para. [0099] node 210 does not have a supervisor controller, which is a “resource control component.” Also see para. [0063] “agent controller system can be configured to independently decide whether to reallocate resources of the particular computer node without receiving instructions from the supervisor controller system.” The node may have a controller but it is not a controller that is controlled by a supervisor controller system).
Suchter does not teach:
the computing node comprises a Constrained Application Protocol, CoAP, endpoint and the orchestration node comprises a CoAP endpoint;
wherein the at least one component computational operation is represented using a data format, and wherein the computational operation exposed is represented in the data format.
wherein the request message includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation; and
sending a response message to the orchestration node comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by the computing node.
Kaushik discloses an orchestration node comprising a Constrained Application Protocol, CoAP, endpoint and a computing node comprising a CoAP endpoint (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Kaushik’s disclosure such that the orchestration node and the computing node of Suchter are modified to function as CoAP endpoints and communicate based on CoAP. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Leonard discloses at least one component computational operation represented using a data format, and a capability of a computing node to execute the at least one computational operation exposed is represented in the data format (para. [0245] job servers 2405a-n can each be compatible with a particular programming language for executing code segments in that particular programming language. para. [0247] node 2202a can determine a programming language corresponding to the code segment and interact with whichever of the job servers 2504a-n is compatible with the code segment's programming language. node 2202a can select job server 2504a, which is compatible with the R programming language (e.g., because it has the requisite interpreter, libraries, and/or other tools to run instructions in the R programming language). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Leonard’s disclosure such that the operation is represented using a data format and a capability of a computing node to execute the operation is represented in the data format. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability to process codes and process codes of different programming languages.
Dudek discloses a request message that includes at least one request parameter comprising at least one of: a required output characteristic of the requested component computational operation; an input characteristic of the requested component computational operation; or a scheduling parameter for the requested component computational operation (para. [0019] workload is a process to be run by a compute node. workload parameters included in the workload bid request may include, for example, memory available, processor speed, network latency. para. [0020] workload bid request may include a function optimized for speed where the cost function parameters include processor speed, network latency. para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload.); and sending a response message comprising an acceptance of the requested execution of the component computational operation, wherein the acceptance of the requested execution of the component computational operation comprises acceptance of the requested execution of the component computational operation that is conditional upon at least one criterion specified by a selected computing node (para. [0023] compute node submitting the lowest cost bid will be selected as the target node for that workload. target node may be selected on the basis of one or more specific metric, such as energy consumption, network bandwidth, or time needed to complete a transaction. para. [0081] one or more individual compute nodes within the plurality of compute nodes will then send a workload bid to the first compute node in step 276. each workload bid will include the cost of running the workload on the individual compute node sending the workload bid). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure such that the computing node of Suchter is configured to receive a request that includes one request parameter and to send the response message as disclosed by Dudek. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation with the request parameters and with the lowest cost associated with the operation.
Regarding claim 14, Suchter in view of Kaushik, Leonard, and Dudek teach an orchestration node as claimed in claims 1, wherein the processing circuitry is further configured to apply an orchestration policy to select a discovered computing node for execution of a component computational operation, wherein the orchestration policy distinguishes between discovered computing nodes on the basis of at least one of: information about a state of the discovered computing nodes (Suchter: para. [0099] supervisor controller 208… monitor, track… the allocation of computer resources at particular nodes. para. [0113] instruct… to assign the previously terminated task to a node having enough RAM. Kaushik: para. [0033] test each of the resources based on whether… sleeping node or non-sleeping node).
Regarding claim 26, Suchter does not teach a computing node as claimed in claim 22, wherein the processing circuitry is further configured to expose the capability of the computing node to execute the at least one component computational operation by performing at least one of: registering the capability as a resource with a resource directory function; or receiving a discovery message requesting identification of computing nodes that have exposed a resource comprising a capability of the computing node to execute a component computational operation, and responding to the discovery message with an identification of the computing node and the capability.
Kaushik teaches processing circuitry configured to expose a capability of a computing node to execute at least one component computational operation by performing at least one of: registering the capability as a resource with a resource directory function; or receiving a discovery message requesting identification of computing nodes that have exposed a resource comprising a capability of the computing node to execute a component computational operation, and responding to the discovery message with an identification of the computing node and the capability (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Kaushik’s disclosure of exposing a capability of the computing node. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Regarding claim 27, Suchter does not teach a computing node as claimed in claim 26, wherein the processing circuitry is further configured to register the capability as a resource with a resource directory function by registering at least one of a content type of the resource, the content type corresponding to resources comprising a capability to execute a component computational operation, or a resource type of the resource, the resource type corresponding to the capability.
Kaushik teaches registering a capability as a resource with a resource directory function by registering at least one of a content type of the resource, the content type corresponding to resources comprising a capability to execute a component computational operation, or a resource type of the resource, the resource type corresponding to the capability (para. [0023] payload contains URI links… wherein each URI stores a set of parameters associated with a resource. set of parameters include a Resource Type (RT). para. [0024] retrieve a set of URIs associated with the resource directory). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Kaushik’s disclosure of registering a capability as a resource with a resource directory function. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Regarding claim 28, Suchter does not teach a computing node as claimed in claim 27, wherein the processing circuitry is further configured to: receive a discovery message requesting identification of computing nodes that have exposed a resource comprising a capability of the computing node to execute a component computational operation and including in the discovery message at least one condition to be fulfilled by computing nodes; determine whether the computing node fulfils the at least one condition included in the discovery message; and respond to the discovery message with an identification of the computing node and the capability if the computing node fulfils the at least one condition.
Dudek teaches receiving a discovery message requesting identification of computing nodes that have exposed a resource comprising a capability of the computing node to execute a component computational operation and including in the discovery message at least one condition to be fulfilled by computing nodes (para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload); determine whether the computing node fulfils the at least one condition included in the discovery message; and respond to the discovery message with an identification of the computing node and the capability if the computing node fulfils the at least one condition (para. [0023] compute node submitting the lowest cost bid will be selected as the target node for that workload. target node may be selected on the basis of one or more specific metric, such as energy consumption, network bandwidth, or time needed to complete a transaction. para. [0081] one or more individual compute nodes within the plurality of compute nodes will then send a workload bid to the first compute node in step 276. each workload bid will include the cost of running the workload on the individual compute node sending the workload bid). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation as required with the lowest cost associated with the operation.
Regarding claim 32, Suchter in view of Kaushik, Leonard, and Dudek teach a computing node as claimed in claims 22, wherein the processing circuitry is further configured to: execute the requested component computational operation if execution of the requested computational operation is determined to be compatible with the operating policy of the computing node (Suchter: para. [0091] master node 104 can be configured to return to the client 102 completed jobs that have been processed by the cluster 101).
Regarding claim 37, Suchter does not teach a computing node as claimed in claims 22, wherein the processing circuitry is further configured to include in the response message to the orchestration node a result of the most recent execution of the requested component computational operation. Suchter does not teach the processing circuitry is configured to receive a request message from the orchestration node by receiving a CoAP GET REQUEST message; and
Kaushik teaches processing circuitry configured to receive a request message from an orchestration node by receiving a CoAP GET REQUEST message (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Kaushik’s disclosure of processing circuitry configured to receive a request message from an orchestration node by receiving a CoAP GET request. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Regarding claim 38, Suchter does not teach a computing node as claimed in claims 22, wherein the processing circuitry is further configured to expose the capability by: receiving a CoAP GET REQUEST message or receiving a CoAP FETCH REQUEST message; and responding to the received CoAP GET REQUEST message or CoAP FETCH REQUEST message.
Kaushik processing circuitry configured to expose capability by: receiving a CoAP GET REQUEST message or receiving a CoAP FETCH REQUEST message; and responding to the received CoAP GET REQUEST message or CoAP FETCH REQUEST message (para. [0023] discovery module 216 identifies a plurality of resources hosted over the CoAP server 110. plurality of resources may be discovered by the discovery module 216, by sending a GET request to the CoAP server 110. para. [0024] discovery module 216 may send a GET request to each of the CoAP servers from the set of CoAP servers). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Kaushik’s disclosure of processing circuitry configured to expose capability by: receiving a CoAP GET REQUEST message or receiving a CoAP FETCH REQUEST message; and responding to the received CoAP GET REQUEST message or CoAP FETCH REQUEST message. One of ordinary skill in the art would have been motivated to do so in order to have utilized a protocol for communications using less overhead and expanded the devices to be used for performing jobs such that the orchestration node is able to distribute jobs on discovered CoAP devices.
Regarding claim 47, Suchter does not teach an orchestration node as claimed in claim 1, wherein the at least one request parameter comprises the input characteristic of the requested component computational operation.
Dudek teaches at least one request parameter comprises the input characteristic of the requested component computational operation (para. [0081] first compute node broadcasts a workload bid request to a plurality of compute nodes, wherein the workload bid request includes workload parameters characterizing the workload). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Dudek’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of discovering and selecting a node capable of performing the operation with the parameters and with the lowest cost associated with the operation.
Claims 19 and 36 are rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, and Zhang US Patent Publication No. 2014/0369251 (“Zhang”).
Regarding claim 19, Suchter in view of Kaushik and Leonard teach an orchestration node as claimed in claims 1, wherein the processing circuitry is further configured to send a request message to the selected computing node requesting the selected computing node to execute the component computational operation for which it has been selected. Suchter does not teach sending the request by: sending a CoAP POST REQUEST message or sending a CoAP PUT REQUEST message.
Zhang teaches sending a CoAP POST REQUEST message or sending a CoAP PUT REQUEST message (para. [0234] create (Create, corresponding to a POST request in the HTTP or CoAP), update (Update, corresponding to a PUT request in the HTTP or CoAP). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Leonard by implementing Zhang’s disclosure of sending a CoAP POST request or a CoAP PUT request. One of ordinary skill in the art would have been motivated to do so for benefits of enabling a plurality of operations to be performed using CoAP.
Regarding claim 36, Suchter does not teach a computing node as claimed in claims 22, wherein the processing circuitry is further configured to receive a request message from the orchestration node by: receiving a CoAP POST REQUEST message or receiving a CoAP PUT REQUEST message.
Zhang teaches receiving a CoAP POST REQUEST message or receiving a CoAP PUT REQUEST message (para. [0234] create (Create, corresponding to a POST request in the HTTP or CoAP), update (Update, corresponding to a PUT request in the HTTP or CoAP). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Leonard by implementing Zhang’s disclosure of sending a CoAP POST request or a CoAP PUT request. One of ordinary skill in the art would have been motivated to do so for benefits of enabling a plurality of operations to be performed using CoAP.
Claims 29-30, 34-35 are rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, and Berg et al. US Patent No. 9,819,626 (“Berg”).
Regarding claim 29, Suchter does not teach a computing node as claimed in claims 26, wherein the discovery message is addressed to a multicast address for computing nodes.
Berg teaches a discovery message addressed to a multicast address for computing nodes (col. 14, lines 56-60, 64-67. col. 15, lines 9-11. discovery process may be initiated by a request advertisement 426. detect the request advertisement, determine that it is capable of meeting at least some of the client's requirements, and transmit a workload agreement offer 410 to the advertising client. appropriate messaging approach may be used for each of the interactions…, multicasts). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Leonard with Berg’s disclosure of sending a discovery message addressed to a multicast address for computing nodes. One of ordinary skill in the art would have been motivated to do so because Berg is similarly directed to identifying resources to perform a workload, and it would have been beneficial to identify the resources capable of executing the jobs.
Regarding claim 30, Suchter does not teach a computing node as claimed in claims 22, wherein the processing circuitry is further configured to determine whether execution of the requested component computational operation is compatible with an operating policy of the computing node by determining at least one of: whether the computing node is able to comply with the request parameter; or whether compliance with the request parameter is compatible with an operating policy of the computing node.
Berg teaches processing circuitry configured to determine whether execution of the requested component computational operation is compatible with an operating policy of the computing node by determining at least one of: whether the computing node is able to comply with the request parameter; or whether compliance with the request parameter is compatible with an operating policy of the computing node (col. 14, lines 56-60, 64-67. col. 15, lines 9-11. detect the request advertisement, determine that it is capable of meeting at least some of the client's requirements, and transmit a workload agreement offer 410 to the advertising client). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Leonard with Berg’s disclosure. One of ordinary skill in the art would have been motivated to do so because Berg is similar directed to identifying resources to perform a workload, and it would have been beneficial to identify the resources capable of executing the jobs.
Regarding claim 34, Suchter does not teach a computing node as claimed in claim 22, wherein the acceptance comprises acceptance of the requested execution of the component computational operation that indicates that the selected computing node cannot fully comply with at least one request parameter included with the request message.
Berg teaches acceptance of a requested execution of component computational operation that indicates that a computing node cannot fully comply with at least one request parameter included with the request message (col. 14, lines 56-60, 64-67. col. 15, lines 9-11. detect the request advertisement, determine that it is capable of meeting at least some of the client's requirements, and transmit a workload agreement offer 410 to the advertising client). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Leonard with Berg’s disclosure. One of ordinary skill in the art would have been motivated to do so because Berg is similar directed to identifying resources to perform a workload, and it would have been beneficial to identify the resources capable of executing the jobs.
Regarding claim 35, Suchter in view of Kaushik, Leonard, Dudek, and Berg teach a computing node as claimed in claim 34, wherein the processing circuitry is further configured to receive from the orchestration node at least one of: a confirmation message maintaining the request to execute the computational operation; or a rejection message revoking the request to execute the computational operation (Suchter: para. [0069] send signals to a running process or processes to request the termination of the process).
Claim 31 is rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, Pope et al. US Patent No. 9,954,910 (“Pope”), and Tamjidi et al. US Patent Publication No. 2019/0332451 (“Tamjidi”).
Regarding claim 31, Suchter does not teach a computing node as claimed in claims 22, wherein the request message includes a request for information about a state of the computing node, and wherein the processing circuitry is further configured to include the requested information with the response message.
Pope teaches a request for information about a state of a computing node and receiving a response with the requested information (col. 9, lines 16-22. reply is generated that communicates the status of the task performed by the receiving node 103 that is then sent to the requesting node). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter and Kaushik with Pope’s disclosure of a request for information about a state of a computing node and receiving a response with the requested information. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to be updated with the status of a requested operation as needed.
Pope does not teach the request message includes the request for information and the response includes the requested information. Tamjidi discloses a single request comprising requests and a single response comprising responses (para. [0008] requests to be combined into a single batch request. single batch response). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter, Kaushik, and Pope with Tamjidi’s disclosure of combining requests into a request and combining responses to a response such that the request further comprises a request for the information and the response further comprises the requested information. One of ordinary skill in the art would have been motivated to do so for benefits of reducing overhead (para. [0008]).
Claim 46 is rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, and Sen et al. US Patent Publication No. 2019/0068696 (“Sen”).
Regarding claim 46, Suchter does not teach an orchestration node as claimed in claim 1, wherein the at least one request parameter comprises the required output characteristic of the requested component computational operation.
Sen discloses at least one request parameter comprises required output characteristic of the requested component computational operation (para. [0102] receive a service level agreement (SLA) indicative of a target quality of service (QoS) associated with the workload that is requested to be executed by a composed managed node. target QoS may include a target utilization level, a target performance level, a target latency, a target throughput, a target number of input/output operations per second, and/or a target number of instructions executed per second). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Sen’s disclosure such that the request message includes a required output characteristic of the requested component computational operation. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to provide additional requirements including QoS associated with the workload.
Claim 48 is rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, and Ugalde Diaz et al. US Patent Publication No. 2022/0035670 (“Ugalde Diaz”)
Regarding claim 48, Suchter does not teach an orchestration node as claimed in claim 1, wherein the at least one request parameter comprises the scheduling parameter for the requested component computational operation.
Ugalde Diaz discloses at least one request parameter comprises the scheduling parameter for a requested component computational operation (para. [0021] task requests or tasks 108 may indicate a specific deadline for completion of the respective task or task requests. para. [0040] task requests may be received as containers that indicate computing tasks and task requirements for executing the computing tasks. requirements may indicate a time or time duration at which a respective task needs to be completed). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Ugalde Diaz’s disclosure such that the request message includes at least one request parameter. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to include the request parameter so that the job is completed according to the requirement, in this case, a time to or time duration at which the job is to be completed.
Claims 49-50 are rejected under 35 U.S.C. 103 as being unpatentable over Suchter in view of Kaushik, Leonard, Dudek, and Bernat et al. US Patent Publication No. 2018/0241802 (“Bernat”).
Regarding claim 49, Suchter does not teach an orchestration node as claimed in claim 1, wherein the processing circuitry is further configured to apply an orchestration policy to select a discovered computing node for execution of a component computational operation, wherein the orchestration policy distinguishes between discovered computing nodes on the basis of information about a runtime environment of the discovered computing nodes.
Bernat discloses processing circuitry configured to apply an orchestration policy to select a discovered computing node for execution of a component computational operation, wherein the orchestration policy distinguishes between discovered computing nodes on the basis of information about a runtime environment of the discovered computing nodes (para. [0046] network switch 110 receives the telemetry data 404 from the server nodes 120. receive CPU load data indicative of the present utilization of the CPU 302 of the server node 120. receive accelerator load data which may be embodied as any data indicative of the present utilization of the accelerators 314 available in the server node. present utilization of one or more software resources of the server node 120. para. [0049] selects the one or more server nodes 120 as a function of the telemetry data). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Bernat’s orchestration policy to select a discovered computing node for execution of a component computational operation. One of ordinary skill in the art would have been motivated to do so in order to have selected a node based on present resource of nodes including present utilization of CPU, utilization of accelerators, present utilization of software.
Regarding claim 50, Suchter does not teach an orchestration node as claimed in claim 1, wherein the processing circuitry is further configured to apply an orchestration policy to select a discovered computing node for execution of a component computational operation, wherein the orchestration policy distinguishes between discovered computing nodes on the basis of information about availability of the discovered computing nodes.
Bernat discloses processing circuitry configured to apply an orchestration policy to select a discovered computing node for execution of a component computational operation, wherein the orchestration policy distinguishes between discovered computing nodes on the basis of information about availability of the discovered computing nodes (para. [0047] determine that a server node 120 is inoperative if the server node 120 has not transmitted a telemetry update or other data. para. [0049] selects one or more of the server nodes 120 to perform the workload from the request received. excludes inoperative server nodes 120, identified in block 644, from the set of server nodes 120 that may receive the workload). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Suchter with Bernat’s orchestration policy to select a discovered computing node for execution of a component computational operation. One of ordinary skill in the art would have been motivated to do so in order to have avoided selecting inoperative server nodes for executing the job.
Conclusion
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 Joshua Joo whose telephone number is 571 272-3966. The examiner can normally be reached on Monday-Friday 7am-3pm 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 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, Oscar Louie can be reached on 571 270-1684. 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.
/JOSHUA JOO/Primary Examiner, Art Unit 2445