US 11,941,561 B2
Automated distribution of subtask assignments to user devices
Tovi Grossman, Toronto (CA); George Fitzmaurice, Toronto (CA); and Cristin Ailie Fraser, San Diego, CA (US)
Assigned to AUTODESK, INC., San Francisco, CA (US)
Filed by AUTODESK, INC., San Francisco, CA (US)
Filed on Jan. 4, 2018, as Appl. No. 15/862,484.
Claims priority of provisional application 62/443,618, filed on Jan. 6, 2017.
Prior Publication US 2018/0197131 A1, Jul. 12, 2018
Int. Cl. G06Q 10/0631 (2023.01); G06Q 10/00 (2023.01); G09B 5/06 (2006.01); G09B 19/24 (2006.01); H04W 4/14 (2009.01); H04W 4/30 (2018.01)
CPC G06Q 10/06316 (2013.01) [G09B 5/06 (2013.01); G09B 19/24 (2013.01); H04W 4/14 (2013.01); H04W 4/30 (2018.02)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for determining and distributing subtask assignments for a task that is divisible into a plurality of subtasks, the method comprising:
identifying a plurality of connections from a plurality of user devices to an assignment server;
determining, at the assignment server, a plurality of workers that are available to perform the task based on the plurality of connections;
generating, at the assignment server, a tree graph based on the task, wherein each node included in the tree graph corresponds to a different subtask included in the plurality of subtasks and indicates a relationship between the different subtask and each other subtask included in the plurality of subtasks;
executing, at the assignment server, a subtask assignment algorithm to compute, for each worker included in the plurality of workers and for each subtask included in the plurality of subtasks, a priority value associated with the subtask based on a position of the subtask in the tree graph relative to each other subtask and one or more parameter values that indicate one or more characteristics of the worker, wherein the priority value indicates a priority of assigning the subtask to the worker;
selecting, at the assignment server and via the executing subtask assignment algorithm, a first subtask from the plurality of subtasks to assign to a first worker included in the plurality of workers based, at least in part, on the set of priority values computed for the first worker, wherein the first worker is associated with a first user device included in the plurality of user devices;
selecting, at the assignment server and via the executing subtask assignment algorithm, a second subtask from the plurality of subtasks to assign to a second worker included in the plurality of workers based, at least in part, on the set of priority values computed for the second worker, wherein the second worker is associated with a second user device included in the plurality of user devices, and the set of priority values computed for the second worker is different from the set of priority values computed for the first worker;
assigning, at the assignment server, the first subtask to the first worker and the second subtask to the second worker;
receiving, at the assignment server, a message from one or more sensors, the message indicating the first subtask is complete, wherein the one or more sensors are configured to automatically detect subtask completion and transmit the message to the assignment server in response to automatically detecting subtask completion;
updating the tree graph based on the message received from the one or more sensors and assigning the second subtask to the second worker; and
transmitting, based on the updated tree graph, a third subtask to the first user device via a first connection included in the plurality of connections, and the second subtask to the second user device via a second connection included in the plurality of connections.