US 11,928,234 B2
Platform for dynamic collaborative computation with confidentiality and verifiability
Pankaj Satyanarayan Dayama, Bangalore (IN); Nitin Singh, Bangalore (IN); Dhinakaran Vinayagamurthy, Erode (IN); and Santosh Ravi Kiran Penubothula, Vijayawada (IN)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Aug. 6, 2021, as Appl. No. 17/395,646.
Prior Publication US 2023/0041073 A1, Feb. 9, 2023
Int. Cl. G06F 21/62 (2013.01); G06F 21/60 (2013.01); G06F 21/64 (2013.01)
CPC G06F 21/6227 (2013.01) [G06F 21/602 (2013.01); G06F 21/64 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, from a user at a collaboration platform, a request to perform a computation, wherein the request identifies the computation to be performed and a type of data to be used for the computation, wherein the type of data is identified by the user providing input data comprising data handles derived from an original format of the input data and comprising provenance information for the input data, wherein the collaboration platform communicates with a plurality of data sources;
forming, from the request and based upon the computation to be performed and the type of data to be used, a computation specification identifying sets of data handles from the data handles, steps for performing the computation on the sets of data handles, and privacy specifications;
generating, at the collaboration platform and based upon the computation specification, a workflow comprising a sequencing of the steps for performing the computation, wherein the generating comprises identifying steps from the sequence of steps to be performed locally and identifying steps from the sequence of steps to be performed using at least one of the plurality of data sources using a multi-party computation protocol, wherein the generating comprises sequencing cryptographic protocols for each of the steps within the sequence of steps;
identifying, at the collaboration platform and from the plurality of data sources, potential data sources comprising the type of data and able to assist in performing at least one of the sequence of steps of the workflow;
selecting, at the collaboration platform and from the identified data sources, computation data sources that collaborate to perform the computation, wherein the selecting is performed dynamically and based upon characteristics of a network created by the collaboration platform and between the computation data sources; and
facilitating, at the collaboration platform, performance of the computation by the computation data sources using data of the computation data sources, wherein during performance of the computation the computation data sources collaborate within the network to perform the workflow while maintaining individual privacy of input data via the data handles and the data of the computation data sources and providing proof verifying a trustworthiness of the computation via propagation of the provenance information throughout the computation, wherein the collaboration is facilitated via a workflow execution engine of the collaboration platform that communicates with the computation data sources utilizing different protocols to execute the workflow.