Patent ID: 7155400
Filing Date: 2006-12-26
Classification: G06Q

Abstract:
1. A method of 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 units of source data, the method comprising: storing in a database 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; storing in the database information on the customers; storing in the database information on each process, 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; receiving the units of source data from the customers; carrying out any defined pre-processing for the received source data; storing in a task data structure information on tasks to be completed, each task defined by a task step and a unit of input for the task step; receiving requests from one or more of the remote workers for tasks; upon receiving a task request from a remote worker, dispatching a task from the stored tasks to be completed to the remote worker according to one or more task dispatch rules; receiving the task results from the remote workers for the task dispatched to the workers; carrying 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; sending the result data to the customers; managing the capacity of the system based on information about the stored tasks, wherein the capacity managing comprises predicting future demand for the remote workers based on the stored tasks; recruiting potential workers when the predicted future demand is determined to not be met by the remote workers based on a comparison of the predicted future demand and the stored remote worker information in the database; receiving responses from one or more of the potential workers; and screening the responding potential workers, each successfully screened potential worker becoming an applicant.