IP Library › Granted Patent US 10,887,092
Granted Patent B2
US 10,887,092 · App. 16/433,928 · Granted Jan 5, 2021

Anonymous allocation and majority voting in a compromised environment

Inventors: Joshua W. Baron (Los Angeles, CA); Karim El Defrawy (Santa Monica, CA); Aleksey Nogin (Fresno, CA); Chongwon Cho (Los Angeles, CA)
Assignee: HRL Laboratories, LLC
H04L9/085G06F9/5033H04L63/0421
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,887,092
App. No.
16/433,928
Granted
Jan 5, 2021
Kind
B2
Abstract

Described is a system for anonymous job allocation and majority voting in a cloud computing environment. The system broadcasts a job to physical nodes, each of the physical nodes having a control operations plane (COP) node and one or more service nodes associated with the COP node. A set of redundant job assignments is distributed to individual COP nodes pursuant to a private job assignment schedule, such that each individual COP node is only aware of its own assignment and corresponding job. The service nodes execute the job assigned to the COP nodes such that the service nodes each complete a task associated with the job and forward an individual result to their associated COP node. A privacy-preserving result checking protocol is performed amongst the COP nodes such that secret shares of a majority result are obtained and the majority result is provided to a client.

Claims (77)

1. A system for anonymous job allocation and majority voting in a cloud computing environment, the system comprising:

one or more processors and a non-transitory memory having instructions encoded thereon such that when the instructions are executed, the one or more processors perform operations of:

broadcasting an executable job to a plurality of physical nodes, each of the physical nodes having a single control operations plane (COP) node and one or more service nodes associated with the COP node;

creating, jointly amongst a plurality of COP nodes, a private job assignment schedule;

distributing a set of redundant job assignments with value m to individual COP nodes pursuant to the private job assignment schedule, such that each individual COP node is only aware of its own assignment and corresponding job, wherein at least m COP nodes are assigned to the job with a probability greater than a predetermined threshold;

executing, by the service nodes, the job assigned to the at least m COP nodes such that the service nodes each complete a task associated with the job a forward an individual result y i to their associated COP node;

performing, jointly amongst the at least m COP nodes, a privacy-preserving result checking protocol such that the at least m COP nodes obtain secret shares of a majority result,

where in performing the result checking protocol, a voting algorithm for determining the majority value is implemented, wherein the voting algorithm comprises a voting phase,

wherein during the voting phase,

each node assigned to the job secretly shares [hash(y i )];

each node not assigned the job shares nothing;

each node computes [v i j ]=[b i j ]·[hash(y i )], where [ ] is a notation for shares of a secret, v is an intermediate value, and b is an input;

each node computes [c j ]=Σ i=1 n [v i j ]; and

each P i broadcasts [c j ] for all j,

wherein the majority result is the individual result y i obtained by a determined majority of the service nodes; and

providing the majority result to a client.

2. The system as set forth in claim 1 , wherein a value representing the determined majority of the service nodes is hidden from any corrupted nodes unless a corrupted node is assigned to the job.

3. The system as set forth in claim 2 , wherein the voting algorithm further comprises a majority decision phase.

4. The system as set forth in claim 3 , wherein during the majority decision phase,

each node recovers c j for all j;

each node computes c which appears most frequently among c j values;

each node sends c to the client;

each node assigned to the job sends y i to the client; and

each node not assigned to the job sends nothing to the client.

5. The system as set forth in claim 4 , wherein any y i that satisfies hash(y i )=c is provided as the majority result to the client.

6. A computer implemented method for anonymous job allocation and majority voting in a cloud computing environment, the method comprising an act of:

causing one or more processers to execute instructions encoded on a non-transitory computer-readable medium, such that upon execution, the one or more processors perform operations of:

broadcasting an executable job to a plurality of physical nodes, each of the physical nodes having a single control operations plane (COP) node and one or more service nodes associated with the COP node;

creating, jointly amongst a plurality of COP nodes, a private job assignment schedule;

distributing a set of redundant job assignments with value m to individual COP nodes pursuant to the private job assignment schedule, such that each individual COP node is only aware of its own assignment and corresponding job, wherein at least m COP nodes are assigned to the job with a probability greater than a predetermined threshold;

executing, by the service nodes, the job assigned to the at least m COP nodes such that the service nodes each complete a task associated with the job and forward an individual result y i to their associated COP node;

performing, jointly amongst the at least m COP nodes, a privacy-preserving result checking protocol such that the at least m COP nodes obtain secret shares of a majority result,

where in performing the result checking protocol, a voting algorithm for determining the majority value is implemented, wherein the voting algorithm comprises a voting phase,

wherein during the voting phase,

each node assigned to the job secretly shares [hash(y i )];

each node not assigned the job shares nothing;

each node computes [v i j ]=[b i j ]·[hash(y i )], where [ ] is a notation for shares of a secret, v is an intermediate value, and b is an input;

each node computes [c j ]=Σ i=1 n [v i j ]; and

each P i broadcasts [c j ] for all j,

wherein the majority result is the individual result y i obtained by a determined majority of the service nodes; and

providing the majority result to a client.

7. The method as set forth in claim 6 , wherein a value representing the determined majority of the service nodes is hidden from any corrupted nodes unless a corrupted node is assigned to the job.

8. The method as set forth in claim 7 , wherein the voting algorithm further comprises a majority decision phase.

9. The method as set forth in claim 8 , wherein during the majority decision phase,

each node recovers c j for all j;

each node computes c which appears most frequently among c j values;

each node sends c to the client;

each node assigned to the job sends y i to the client; and

each node not assigned to the job sends nothing to the client.

10. The method as set forth in claim 9 , wherein any y i that satisfies hash(y i )=c is provided as the majority result to the client.

11. A computer program product for anonymous job allocation and majority voting in a cloud computing environment, the computer program product comprising:

computer-readable instructions stored on a non-transitory computer-readable medium that are executable by a computer having one or more processors for causing the processor to perform operations of:

broadcasting an executable job to a plurality of physical nodes, each of the physical nodes having a single control operations plane (COP) node and one or more service nodes associated with the COP node;

creating, jointly amongst a plurality of COP nodes, a private job assignment schedule;

distributing a set of redundant job assignments with value m to individual COP nodes pursuant to the private job assignment schedule, such that each individual COP node is only aware of its own assignment and corresponding job, wherein at least m COP nodes are assigned to the job with a probability greater than a predetermined threshold;

executing, by the service nodes, the job assigned to the at least m COP nodes such that the service nodes each complete a task associated with the job a forward an individual result y i to their associated COP node;

performing, jointly amongst the at least m COP nodes, a privacy-preserving result checking protocol such that the at least m COP nodes obtain secret shares of a majority result,

where in performing the result checking protocol, a voting algorithm for determining the majority value is implemented, wherein the voting algorithm comprises a voting phase,

wherein during the voting phase,

each node assigned to the job secretly shares [hash(y i )];

each node not assigned the job shares nothing;

each node computes [v i j ]=[b i j ]·[hash(y i )], where [ ] is a notation for shares of a secret, v is an intermediate value, and b is an input;

each node computes [c j ]=Σ i=1 n [v i j ]; and

each P i broadcasts [c j ] for all j,

wherein the majority result is the individual result y i obtained by a determined majority of the service nodes; and

providing the majority result to a client.

12. The computer program product as set forth in claim 11 , wherein a value representing the determined majority of the service nodes is hidden from any corrupted nodes unless a corrupted node is assigned to the job.

13. The computer program product as set forth in claim 12 , wherein the voting algorithm further comprises a majority decision phase.

14. The computer program product as set forth in claim 13 , wherein during the majority decision phase,

each node recovers c j for all j;

each node computes c which appears most frequently among c j values;

each node sends c to the client;

each node assigned to the job sends y i to the client; and

each node not assigned to the job sends nothing to the client.

15. The computer program product as set forth in claim 14 , wherein any y i that satisfies hash(y i )=c is provided as the majority result to the client.

16. The system as set forth in claim 1 , wherein the client is a vehicle, and wherein the majority result is an optimal route to a destination for the vehicle.

17. The system as set forth in claim 16 , wherein the one or more processors further perform an operation of causing the vehicle to maneuver along the optimal route.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2019
From: BARON, JOSHUA W.; EL DEFRAWY, KARIM; NOGIN, ALEKSEY; CHO, CHONGWON
To: HRL LABORATORIES, LLC
Reel/Frame 050108/0738 →
Continuity (2)
Provisional Application 62716680 · Aug 9, 2018
Related Publication 20200052890A1 · Feb 13, 2020