IP Library › Granted Patent US 8,149,850
Granted Patent B2
US 8,149,850 · App. 12/389,358 · Granted Apr 3, 2012

Method and apparatus for asynchronous mediated communicaton

Assignee: QUALCOMM Incorporated
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,149,850
App. No.
12/389,358
Granted
Apr 3, 2012
Kind
B2
Abstract

A system and method for mediating the routing of asynchronous messages includes routing the asynchronous message to a first recipient, determining whether the first recipient opened the asynchronous message, and re-routing the asynchronous message to a second recipient who is qualified to receive and respond to the message if the first recipient fails to open the message. In an aspect, the second recipient is selected based upon the role that the second recipient performs within the system. In another aspect, the message is re-routed to the second recipient if the first recipient fails to open the message within a deadline imposed by the message sender. In another aspect, the message is re-routed to the second recipient if the first recipient fails to open the message within a deadline automatically imposed by the system when the message is of a certain type.

Claims (222)

1. A method for mediating asynchronous message routing, comprising:

receiving an asynchronous message from a first sender's communication device intended for a first recipient;

retrieving routing information regarding a role of the first recipient from information within the asynchronous message;

routing the asynchronous message to the first recipient's communication device based upon the routing information;

monitoring for a message open confirmation from the first recipient's communication device;

re-routing the asynchronous message to a second recipient's communication device based upon the role performed by the first recipient if a message opened confirmation is not received from the first recipient's communication device; and

re-routing a message opened confirmation to a second sender's communication device based upon a role performed by the first sender if the first sender's communication device is not available.

2. The method of claim 1 , further comprising re-routing the asynchronous message to the second recipient's communication device based upon the role performed by the first recipient if the message opened confirmation is not received from the first recipient within a deadline.

3. The method of claim 2 , further comprising:

generating a first reminder regarding the asynchronous message at a first threshold of time prior to expiration of the deadline; and

transmitting the first reminder to the first recipient's communication device.

4. The method of claim 3 , further comprising:

generating a secondary reminder regarding the asynchronous message at a second threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting a first actor having a next highest priority in the routing template;

determining if the selected actor is available;

transmitting the secondary reminder to the selected actor if the selected actor is available;

selecting a second actor if the first actor is unavailable; and

transmitting the secondary reminder to the second actor if the second actor is available.

5. The method of claim 4 , wherein determining if the selected actor is available is accomplished by looking up the selected actor's availability in a dynamic availability template.

6. The method of claim 2 , further comprising:

generating a secondary reminder regarding the asynchronous message at some threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting an actor having the same role as the first recipient with a highest priority that is available; and

transmitting the secondary reminder to the selected actor.

7. The method of claim 2 , wherein the deadline is imposed by the first sender.

8. The method of claim 2 , wherein the deadline is automatically imposed based upon the asynchronous message content type.

9. The method of claim 1 , further comprising:

retrieving a routing template for the role of the first recipient;

selecting an actor having the role of the first recipient with a next highest priority from the routing template;

determining if the selected actor is available; and

wherein the selected actor is the second recipient if the selected actor is available.

10. The method of claim 9 , further comprising retrieving the selected second recipient's routing information from the routing template.

11. The method of claim 1 , further comprising:

retrieving a routing template based upon the first recipient;

determining the first recipient's role from the routing template;

selecting an actor possessing a next highest priority from the routing template; and

determining if the selected actor is available,

wherein the selected actor is the second recipient if the selected actor is available.

12. The method of claim 11 , wherein the routing information only contains the first recipient's role.

13. The method of claim 1 , further comprising:

retrieving a routing template for the role of the first sender;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

14. The method of claim 13 , further comprising retrieving the selected second sender's routing information from the routing template.

15. The method of claim 1 , further comprising:

retrieving a routing template based upon the identified first sender;

determining the first sender's role from the routing template;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

16. The method of claim 15 , wherein the routing information only contains the first sender's role.

17. A mediator for mediating asynchronous message routing, comprising:

means for receiving a asynchronous message from a first sender's communication device intended for a first recipient;

means for retrieving routing information regarding a role of the first recipient from information within the asynchronous message;

means for routing the asynchronous message to the first recipient's communication device based upon the routing information;

means for monitoring for a message open confirmation from the first recipient's communication device;

means for re-routing the asynchronous message to a second recipient's communication device based upon the role performed by the first recipient if a message opened confirmation is not received from the first recipient's communication device; and

means for re-routing a message opened confirmation to a second sender's communication device based upon a role performed by the first sender if the first sender's communication device is not available.

18. The mediator of claim 17 , further comprising means for re-routing the asynchronous message to the second recipient's communication device based upon the role performed by the first recipient if the message opened confirmation is not received from the first recipient within a deadline.

19. The mediator of claim 18 , further comprising:

means for generating a first reminder regarding the asynchronous message at a first threshold of time prior to expiration of the deadline; and

means for transmitting the first reminder to the first recipient's communication device.

20. The mediator of claim 19 , further comprising:

means for generating a secondary reminder regarding the asynchronous message at a second threshold of time prior to expiration of the deadline;

means for retrieving a routing template for the role of the first recipient;

means for selecting a first actor having a next highest priority in the routing template;

means for determining if the selected actor is available;

means for transmitting the secondary reminder to the selected actor if the selected actor is available;

means for selecting a second actor if the first actor is unavailable; and

means for transmitting the secondary reminder to the second actor if the second actor is available.

21. The mediator of claim 20 , wherein means for determining if the selected actor is available comprises means for looking up the selected actor's availability in a dynamic availability template.

22. The mediator of claim 18 , further comprising:

means for generating a secondary reminder regarding the asynchronous message at some threshold of time prior to expiration of the deadline;

means for retrieving a routing template for the role of the first recipient;

means for selecting an actor having the same role as the first recipient with a highest priority that is available; and

means for transmitting the secondary reminder to the selected actor.

23. The mediator of claim 18 , further comprising means for imposing the deadline determined by the first sender.

24. The mediator of claim 18 , further comprising means for automatically imposing the deadline based upon the asynchronous message content type.

25. The mediator of claim 17 , further comprising:

means for retrieving a routing template for the role of the first recipient;

means for selecting an actor having the role of the first recipient with a next highest priority from the routing template; and

means for determining if the selected actor is available from a dynamic availability template,

wherein the selected actor is the second recipient if the actor is available.

26. The mediator of claim 25 , further comprising means for retrieving the selected second recipient's routing information from the routing template.

27. The mediator of claim 17 , further comprising:

means for retrieving a routing template based upon the first recipient;

means for determining the first recipient's role from the routing template;

means for selecting an actor possessing a next highest priority from the routing template; and

means for determining if the selected actor is available from a dynamic availability template,

wherein the selected actor is the second recipient if the actor is available.

28. The mediator of claim 27 , wherein the routing information only contains the first recipient's role.

29. The mediator of claim 17 , further comprising:

means for retrieving a routing template for the role of the first sender;

means for determining an actor possessing a next highest priority from the routing template;

means for determining if the actor is available from a dynamic availability template; and

means for selecting the actor as the second sender if the actor is available.

30. The mediator of claim 29 , further comprising means for retrieving the selected second sender's routing information from the routing template.

31. The mediator of claim 17 , further comprising:

means for retrieving a routing template based upon the identified first sender;

means for determining the first sender's role from the routing template;

means for determining an actor possessing a next highest priority from the routing template;

means for determining if the actor is available from a dynamic availability template; and

means for selecting the actor as the second sender if the actor is available.

32. The mediator of claim 31 , wherein the routing information only contains the first sender's role.

33. A mediator for mediating asynchronous message routing, comprising:

a memory unit; and

a processor coupled to the memory unit, wherein the processor is configured with software instructions to perform steps comprising:

receiving a asynchronous message from a first sender's communication device intended for a first recipient;

retrieving routing information regarding a role of the first recipient from information within the asynchronous message;

routing the asynchronous message to the first recipient's communication device based upon the routing information;

monitoring for a message open confirmation from the first recipient's communication device;

re-routing the asynchronous message to a second recipient's communication device based upon the role performed by the first recipient if a message opened confirmation is not received from the first recipient's communication device; and

re-routing a message opened confirmation to a second sender's communication device based upon a role performed by the first sender if the first sender's communication device is not available.

34. The mediator of claim 33 , wherein the processor is configured with software instructions to perform further steps comprising:

re-routing the asynchronous message to the second recipient's communication device based upon the role performed by the first recipient if the message opened confirmation is not received from the first recipient within a deadline.

35. The mediator of claim 34 , wherein the processor is configured with software instructions to perform further steps comprising:

generating a first reminder regarding the asynchronous message at a first threshold of time prior to expiration of the deadline; and

transmitting the first reminder to the first recipient's communication device.

36. The mediator of claim 35 , wherein the processor is configured with software instructions to perform further steps comprising:

generating a secondary reminder regarding the asynchronous message at a second threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting a first actor having a next highest priority in the routing template;

determining if the selected actor is available;

transmitting the secondary reminder to the selected actor if the selected actor is available;

selecting a second actor if the first actor is unavailable; and

transmitting the secondary reminder to the second actor if the second actor is available.

37. The mediator of claim 36 , wherein the processor is configured with software instructions to perform further steps comprising:

determining if the selected actor is available by looking up the selected actor's availability in a dynamic availability template.

38. The mediator of claim 34 , wherein the processor is configured with software instructions to perform further steps comprising:

generating a secondary reminder regarding the asynchronous message at some threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting an actor having the same role as the first recipient with a highest priority that is available; and

transmitting the secondary reminder to the selected actor.

39. The mediator of claim 34 , wherein the processor is configured with software instructions to perform further steps comprising:

imposing the deadline determined by the first sender.

40. The mediator of claim 34 , wherein the processor is configured with software instructions to perform further steps comprising:

automatically imposing the deadline based upon the asynchronous message content type.

41. The mediator of claim 33 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving a routing template for the role of the first recipient;

selecting an actor having the role of the first recipient with a next highest priority from the routing template; and

determining if the selected actor is available,

wherein the selected actor is the second recipient if the selected actor is available.

42. The mediator of claim 41 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving the selected second recipient's routing information from the routing template.

43. The mediator of claim 33 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving a routing template based upon the first recipient;

determining the first recipient's role from the routing template;

selecting an actor possessing a next highest priority from the routing template; and

determining if the selected actor is available,

wherein the selected actor is the second recipient if the selected actor is available.

44. The mediator of claim 33 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving a routing template for the role of the first sender;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

45. The mediator of claim 44 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving the selected second sender's routing information from the routing template.

46. The mediator of claim 33 , wherein the processor is configured with software instructions to perform further steps comprising:

retrieving a routing template based upon the identified first sender;

determining the first sender's role from the routing template;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

47. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform steps comprising:

receiving a asynchronous message from a first sender's communication device intended for a first recipient;

retrieving routing information regarding a role of the first recipient from information within the asynchronous message;

routing the asynchronous message to the first recipient's communication device based upon the routing information;

monitoring for a message open confirmation from the first recipient's communication device;

re-routing the asynchronous message to a second recipient's communication device based upon the role performed by the first recipient if a message opened confirmation is not received from the first recipient's communication device; and

re-routing a message opened confirmation to a second sender's communication device based upon a role performed by the first sender if the first sender's communication device is not available.

48. The non-transitory processor-readable medium of claim 47 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

re-routing the asynchronous message to the second recipient's communication device based upon the role performed by the first recipient if the message opened confirmation is not received from the first recipient within a deadline.

49. The non-transitory processor-readable medium of claim 48 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

generating a first reminder regarding the asynchronous message at a first threshold of time prior to expiration of the deadline; and

transmitting the first reminder to the first recipient's communication device.

50. The non-transitory processor-readable storage medium of claim 49 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

generating a secondary reminder regarding the asynchronous message at a second threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting a first actor having a next highest priority in the routing template;

determining if the selected actor is available;

transmitting the secondary reminder to the selected actor if the selected actor is available;

selecting a second actor if the first actor is unavailable; and

transmitting the secondary reminder to the second actor if the second actor is available.

51. The non-transitory processor-readable storage medium of claim 50 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

determining if the selected actor is available by looking up the selected actor's availability in a dynamic availability template.

52. The non-transitory processor-readable storage medium of claim 48 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

generating a secondary reminder regarding the asynchronous message at some threshold of time prior to expiration of the deadline;

retrieving a routing template for the role of the first recipient;

selecting an actor having the same role as the first recipient with a highest priority that is available; and

transmitting the secondary reminder to the selected actor.

53. The non-transitory processor-readable storage medium of claim 48 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

imposing the deadline determined by the first sender.

54. The non-transitory processor-readable storage medium of claim 48 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

automatically imposing the deadline based upon the asynchronous message content type.

55. The non-transitory processor-readable storage medium of claim 47 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving a routing template for the role of the first recipient;

selecting an actor having the role of the first recipient with a next highest priority from the routing template; and

determining if the selected actor is available,

wherein the selected actor is the second recipient if the selected actor is available.

56. The non-transitory processor-readable storage medium of claim 55 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving the selected second recipient's routing information from the routing template.

57. The non-transitory processor-readable storage medium of claim 47 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving a routing template based upon the first recipient;

determining the first recipient's role from the routing template;

selecting an actor possessing a next highest priority from the routing template; and

determining if the selected actor is available,

wherein the selected actor is the second recipient if the selected actor is available.

58. The non-transitory processor-readable storage medium of claim 47 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving a routing template for the role of the first sender;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

59. The non-transitory processor-readable storage medium of claim 58 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving the selected second sender's routing information from the routing template.

60. The non-transitory processor-readable storage medium of claim 47 , wherein the stored processor-executable instructions are configured to cause a processor to perform further steps comprising:

retrieving a routing template based upon the first sender;

determining the first sender's role from the routing template;

determining an actor possessing a next highest priority from the routing template;

determining if the actor is available; and

selecting the actor as the second sender if the actor is available.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2009
From: KRISHNAMURTHI, GOVINDARAJAN; SKOMRA, STEWART A.; RAGHAVAN, SRINIVAS; SURI, DEEPA; JONES, DONALD J.
To: QUALCOMM INCORPORATED
Reel/Frame 022680/0375 →
Continuity (2)
Provisional Application 61030829 · Feb 22, 2008
Related Publication 20090213852A1 · Aug 27, 2009