Patent ID: 6938048

Claim:
A system for automatically managing a plurality of remote workers carrying out a variety of jobs for one or more customers, each job including a process of a set of one or more task steps and a set of associated source data units, the system connected to a network, each worker able to communicate with the system using a worker terminal connectable to network, the system comprising: a storage subsystem containing a database storing information on each remote worker including one or more task skills of the worker that define the types of task steps the worker is certified to carry out, information on one or more customers, and information on each process, the process information including the customer of the process, the order of carrying out the task steps of the process, how the input for each task step is obtained from the results of prior task steps in the process, and any pre-processing and post-processing required; a task data structure to store tasks to be completed, each task defined by a task step and a unit of input for the task step; and a data store for storing input and output information for the tasks; a mechanism coupled to the storage subsystem to accept units of source data from the customers; a pre-processor coupled to the storage subsystem to carry out any defined pre-processing for the accepted source data; a mechanism coupled to the network to accept requests from one or more of the remote workers for tasks; a task dispatcher coupled to the storage subsystem and to the network for dispatching a task from the task data structure to a remote worker requesting tasks, the dispatching according to one or more task dispatch rules, wherein the dispatch rules define one or more task skills which must be in the database information for the remote worker prior to the dispatching of the task to the remote worker; a task submission unit coupled to the storage subsystem to receive the task results from the remote workers for the task dispatched to the workers; a post-processor coupled to the storage subsystem to carry out any defined post-processing of the task results corresponding to the tasks of a process for a unit of source data to produce result data for the unit of source data; a mechanism coupled to the storage subsystem to send the result data to the customers; a capacity manager coupled to the storage subsystem to manage the capacity of the system based on task load information on the tasks in the task data structure, on the available workers, and on the available worker task skills; and a training unit coupled to the network and to the storage subsystem to automatically train workers at one or more task skills according to related training scenarios selected based on the one or more task skills defined by the dispatch rules, such that the training unit trains workers automatically substantially without human management.