US 11,704,150 B2
Systems and methods for dynamic job performance in secure multiparty computation
Mark A. Will, Singapore (SG); Sanjeev Solanki, Singapore (SG); Kailash Sivanesan, Singapore (SG); Serguei Beloussov, Costa del Sol (SG); and Stanislav Protasov, Singapore (SG)
Assigned to Acronis International GmbH, Schaffhausen (CH)
Filed by Acronis International GmbH, Schaffhausen (CH)
Filed on May 27, 2020, as Appl. No. 16/884,630.
Prior Publication US 2021/0373940 A1, Dec. 2, 2021
Int. Cl. G06F 9/48 (2006.01); G06F 21/62 (2013.01)
CPC G06F 9/4818 (2013.01) [G06F 21/6218 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for dynamic job performance in secure multiparty computation (SMPC), the method comprising:
receiving an SMPC query that indicates a processing job to be performed on respective data inputs from a plurality of nodes, wherein the SMPC query is received by all of the plurality of nodes from a client controller;
determining a query type of the SMPC query and parameters of the data input;
splitting each of the respective data inputs to generate a plurality of partial data inputs, based on the parameters and the query type;
generating a first plurality of jobs based on the processing job to perform on the plurality of partial data inputs;
pushing each of the first plurality of jobs into a worker queue;
performing, by the plurality of nodes, each of the first plurality of jobs in the worker queue on a respective partial data input of the plurality of partial data inputs to determine a plurality of partial data outputs;
in response to determining that the query type indicates that the plurality of data outputs should be joined, generating a second plurality of jobs based on the processing job to perform on the plurality of partial data outputs;
pushing each of the second plurality of jobs into the worker queue; and
performing, by the plurality of nodes, each of the second plurality of jobs in the worker queue on a respective partial data output of the plurality of partial data outputs to determine a combined result of the processing job.