IP Library › Granted Patent US 10,922,097
Granted Patent B2
US 10,922,097 · App. 16/134,672 · Granted Feb 16, 2021

Collaborative model execution

Inventors: Vijay Arya (Bangalore, IN); Sayandeep Sen (Bangalore, IN); Palanivel A. Kodeswaran (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F9/4482G06F16/1805H04L9/0643H04L63/0428H04L67/10H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,922,097
App. No.
16/134,672
Granted
Feb 16, 2021
Kind
B2
Abstract

An example operation may include one or more of receiving, at a node, a request to execute a software model that has been decomposed into a plurality of sequential sub-components, executing a sub-component from among the plurality of sub-components based on input data included in the received request to generate output data, hashing the input data and the output data to generate a hashed execution result of the sub-component, and storing the hashed execution result of the sub-component within a block among a hash-linked chain of blocks which include hashed execution results of other sub-components of the software model executed by other nodes.

Claims (31)

1. A computing node comprising:

a network interface configured to receive a request to execute a software model that has been decomposed into a plurality of sequential sub-components; and

a processor configured to execute a sub-component from among the plurality of sub-components based on input data included in the received request to generate output data, hash the input data and the output data to generate a hashed execution result of the sub-component, and store the hashed execution result of the sub-component within a block among a hash-linked chain of blocks which include hashed execution results of other sub-components of the software model executed by other nodes;

wherein the processor is further configured to aggregate the hashed execution result of the sub-component with the hashed execution results of the other sub-components to generate an aggregated execution result of the software model.

2. The computing node of claim 1 , wherein the request is received from a different computing node which executed a previous sub-component in the sequence.

3. The computing node of claim 1 , wherein the request is received from an orchestrator that coordinates independent execution of the plurality of sub-components in sequence via a plurality of computing nodes.

4. The computing node of claim 1 , wherein one or more other sub-components of the software model are hidden from the computing node.

5. The computing node of claim 1 , wherein the processor is further configured to hash code of the sub-component executed by the computing node to generate the hashed execution result.

6. The computing node of claim 1 , wherein the network interface is further configured to transmit the aggregated execution result of the software model to a client device.

7. The computing node of claim 1 , wherein the network interface is further configured to transmit, to another computing node, the output data and a request to execute a next sub-component among the plurality of sequential sub-components.

8. A method comprising:

receiving, at a node, a request to execute a software model that has been decomposed into a plurality of sequential sub-components;

executing a sub-component from among the plurality of sub-components based on input data included in the received request to generate output data;

hashing the input data and the output data to generate a hashed execution result of the sub-component; and

storing the hashed execution result of the sub-component within a block among a hash-linked chain of blocks which include hashed execution results of other sub-components of the software model executed by other nodes;

wherein the hashed execution result of the sub-component is aggregated with the hashed execution results of the other sub-components to generate an aggregated execution result of the software model.

9. The method of claim 8 , wherein the request is received from a different node which executed a previous sub-component in the sequence.

10. The method of claim 8 , wherein the request is received from an orchestrator that coordinates independent execution of the plurality of sub-components in sequence via a plurality of nodes.

11. The method of claim 8 , wherein one or more other sub-components of the software model are hidden from the node.

12. The method of claim 8 , wherein the hashing further comprises hashing code of the sub-component executed by the node to generate the hashed execution result.

13. The method of claim 8 , further comprising outputting the aggregated execution result of the software model to a client device.

14. The method of claim 8 , further comprising transmitting, to another node, the output data and a request to execute a next sub-component among the plurality of sequential sub-components.

15. A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising:

receiving, at a node, a request to execute a software model that has been decomposed into a plurality of sequential sub-components;

executing a sub-component from among the plurality of sub-components based on input data included in the received request to generate output data;

hashing the input data and the output data to generate a hashed execution result of the sub-component; and

storing the hashed execution result of the sub-component within a block among a hash-linked chain of blocks which include hashed execution results of other sub-components of the software model executed by other nodes;

wherein the hashed execution result of the sub-component is aggregated with the hashed execution results of the other sub-components to generate an aggregated execution result of the software model.

16. The non-transitory computer readable medium of claim 15 , wherein the request is received from a different node which executed a previous sub-component in the sequence.

17. The non-transitory computer readable medium of claim 15 , wherein the request is received from an orchestrator that coordinates independent execution of the plurality of sub-components in sequence via a plurality of nodes.

18. The non-transitory computer readable medium of claim 15 , wherein the hashing further comprises hashing code of the sub-component executed by the node to generate the hashed execution result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2018
From: ARYA, VIJAY; SEN, SAYANDEEP; KODESWARAN, PALANIVEL A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046903/0571 →
Continuity (1)
Related Publication 20200089509A1 · Mar 19, 2020