IP Library Granted Patent US 8,185,897
Granted Patent B2
US 8,185,897 · App. 12/241,899 · Granted May 22, 2012

Task management system

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 8,185,897
App. No.
12/241,899
Granted
May 22, 2012
Kind
B2
Abstract

A device may receive, over a network, a message that describes a task, create a new task object based on the message, determine whether the task includes performing a follow up task or a new task based on the message, discard the new task object when the task is neither a follow up task nor a new task, perform a follow up to verify a performance of another task when the task is a follow up task, and assign the task to one of multiple queues for processing when the task is a new task.

Claims (78)

1. A method comprising:

receiving, over a network, a message that describes a task;

creating a new task object based on the message;

obtaining, from the message, a parameter identifier of at least one parameter, associated with the task, and a value associated with the at least one parameter, to generate a parameter identifier-value pair associated with the new task object;

performing a lookup, in a database, based on the parameter identifier to identify a routing rule that indicates a group or a user to which to route the task;

obtaining, from the message, a task code to be written to the new task object;

determining whether the message indicates that the task includes performing a follow up task or a new task;

discarding the new task object when the message does not indicate that the task includes a follow up task or a new task;

when the message indicates that the task includes a follow up task, determining, based on the parameter identifier-value pair, whether another task corresponds to the follow up task;

discarding the new task object when no other task corresponds to the follow up task;

performing the follow up task, to verify a performance of the other task, when the other task corresponds to the follow up task; and

creating, when the task is a new task, a ticket object based on the new task object for tracking the task, wherein the database stores information associated with an action related to the ticket object in a global action table associated with a state of the new task object.

2. The method of claim 1 , where receiving the message includes:

receiving at least one of an extensible markup language document, a hypertext markup language document, a remote procedure call, or a remote method invocation.

3. The method of claim 1 , where creating the new task object includes:

obtaining information about the task from the message; and

storing the information in the new task object.

4. The method of claim 1 , where assigning the task includes:

assigning the task to one of multiple queues for processing when the task is a new task;

determining a routing rule for placing the new task object in one of the multiple queues; and placing the new task object in the one of the multiple queues based on the routing rule.

5. The method of claim 4 , where placing the new task object in one of the multiple queues includes:

placing the new task object in one of a user queue corresponding to a particular user, a group queue corresponding to a particular group of users, or an action queue corresponding to automated agents.

6. The method of claim 1 , further comprising:

performing the task associated with the new task object;

determining that performing the task has failed; and

placing the new task object in a retry queue when performing the task has failed.

7. The method of claim 1 , where storing information associated with the task includes at least one of:

storing comments in a global comment table;

storing information associated with an action related to the new task object in a global action table; or

storing state information associated with the new task object in a global state table.

8. The method of claim 1 , further comprising:

identifying a role selected by a user, the role dictating what actions the user can perform.

9. The method of claim 1 , further comprising:

receiving, from a browser application, a request to perform an action on the new task object; and

performing the action on the new task object.

10. The method of claim 9 , where performing the action includes at least one of:

getting a next task, packaging a task, unpackaging a task, locking a task, unlocking a task, setting a state of a task, updating a comment, assigning or reassigning a task, retrying to perform a task, rolling back a task, searching for tasks, or auditing a task.

11. The method of claim 9 , where performing the action includes:

receiving a message that describes the action from the browser application;

invoking a sequence of calls to application interfaces to perform the action; and

updating global tables to reflect changes that result from invoking the sequence of calls.

12. A device comprising:

a database; and

one or more processors to:

receive a message describing a task;

create a new task object based on the message;

obtain, from the message, a parameter identifier of at least one parameter, associated with the task, and a value associated with the at least one parameter, to generate a first parameter identifier-value pair associated with the new task object;

perform a lookup, in a database, based on the parameter identifier to identify a routing rule that indicates a group or a user to which to route the task;

obtain, from the message, a task code to be written to the new task object;

determine whether the message indicates that the task includes a follow up task or a new task; and

when the message indicates that the task is a follow up task,

retrieve, from the database, a task object that has a same parameter as the at least one parameter associated with the follow up task,

change a state of the retrieved task,

update, in the database, a value for a second parameter identifier-value pair associated with the retrieved task, indicative of the state change, and

create, when the task is a new task, a ticket object based on the new task object for tracking the task, wherein the database stores information associated with an action related to the ticket object in a global action table associated with a state of the new task object.

13. The device of claim 12 , where the message includes at least one of:

an order number, a task code, or an order type.

14. The device of claim 12 , where the one or more processors are further configured to:

place the new task object in a queue for further processing.

15. The device of claim 12 , where the one or more processors are further configured to:

lock the new task object to prevent a user from modifying information related to the new task object.

16. The device of claim 12 , where the one or more processors are further configured to:

receive a message from a user at a remote browser application over a network, the message specifying a user role, the user role dictating what actions the user can perform.

17. The device of claim 16 , where the role includes one of:

a user, an administrator, or a supervisor.

18. A device comprising:

means for receiving, over a network, a request to perform a task;

means for allocating memory for storing information about the task based on the request;

means for obtaining, from the message, a parameter identifier of at least one parameter, associated with the task, and a value associated with the at least one parameter, to generate a first parameter identifier-value pair associated with the task;

means for performing a lookup, in a database, based on the parameter identifier to identify a routing rule that indicates a group or a user to which to route the task;

means for obtaining, from the message, a task code to be written to the new task object;

means for determining whether the message indicates that the task includes performing a follow up task or a new task;

means for deallocating the memory when the message does not indicate that the task includes performing a follow up task or a new task;

means for determining, when the message indicates that the task includes performing a follow up task, determining, based on the parameter identifier-value pair, whether another task corresponds to the follow up task;

means for deallocating the memory when no other task corresponds to the follow up task;

means for performing the follow up task, when the other task corresponds to the follow up task, to verify performance of the other task;

means for allocating memory to track the task when the task includes performing the new task; and

means for creating, when the task is a new task, a ticket object based on the new task object for tracking the task, wherein the database stores information associated with an action related to the ticket object in a global action table associated with a state of the new task object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2009
From: VERIZON DATA SERVICES LLC
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 023112/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2008
From: KUSHWAHA, ABHITABH
To: VERIZON DATA SERVICES LLC
Reel/Frame 021627/0844 →