Patent ID: 8320550

Claim:
A method of assigning a requested task associated with an organization to an available worker, comprising: providing a task manager for receiving the requested task, for storing a requested-task queue status associated with the requested task, for storing a worker status, and for routing the requested task to an available worker; providing a worker manager associated with the worker for storing the worker status and for receiving the requested task; providing a presence server associated as an intermediary with the task manager and worker manager, the task manager and the worker manager each being registered with the presence server to supply status information to the presence server and each subscribing to the presence server for receiving status information sent to the presence server from the other of the managers; receiving the requested task with the task manager; updating the requested-task queue status in accordance with the requested task; sending the updated requested-task-queue status from the task manager to the presence server; sending the requested-task-queue status from the presence server to the worker manager; sending the worker status from the worker manager to the presence server; sending the worker status to the task manager from the presence server; the task manager determining from the worker status provided to the task manager an availability of a worker to perform the requested task; the task manager selecting an available worker to be assigned the received task; directing the received requested task from the task manager to the worker manager associated with the selected available worker; directing the requested task from the worker manager to the available worker; changing the status of the available worker receiving the requested task; sending the change in worker status associated with the available worker from the worker manager to the presence server; sending the change in worker status from the presence server to the task manager; and updating the stored worker status in the task manager in accordance with the change in worker status.