IP Library Granted Patent US 9,350,865
Granted Patent B2
US 9,350,865 · App. 14/925,764 · Granted May 24, 2016

Method for connecting a user with an agent based on user interaction of a link of a prior message exchanged between the user and the agent

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 9,350,865
App. No.
14/925,764
Granted
May 24, 2016
Kind
B2
Abstract

A request is received from a user device to connect with an agent, the request including information describing an interactive event representing a user interaction with a link embedded within a first message presented at the user device. A user device ID identifying the user device is determined based on the request. The interactive event is examined to determine whether the interactive event satisfies a predetermined condition based on a set of one or more rules. In response to determining that the interactive event satisfies the predetermined condition, a first agent device ID is determined that identifies a first agent device of a first agent who initiated and sent the first message to the user device. A communication session is established between the user device and the first agent device based on the user device ID and the first agent device ID.

Claims (67)

1. A computer-implemented method for connecting a user with an agent based on user interactions of a link within a message, the method comprising:

receiving at a server having server hardware a request from a user device to connect with an agent, the request including information describing an interactive event representing a user interaction with a link embedded within a first message presented at the user device;

determining, by a communication interface module hosted by the server, a user device identifier (ID) identifying the user device based on the request;

examining by an agent connect module the interactive event to determine whether the interactive event satisfies a predetermined condition based on a set of one or more rules; and

in response to determining that the interactive event satisfies the predetermined condition,

determining by the agent connect module a first agent device ID that identifies a first agent device of a first agent who initiated and sent the first message to the user device, and

establishing by a routing module a communication session between the user device and the first agent device based on the user device ID and the first agent device ID.

2. The method of claim 1 , wherein in response to determining that the interactive event does not satisfy the predetermined condition, the method further comprises:

identifying a second agent who has a similar skill set as of the first agent;

determining a second agent device ID that identifies a second agent device of the second agent; and

establishing a communication session between the user device and the second agent device based on the user device ID and the second agent device ID.

3. The method of claim 1 , wherein determining whether the interactive event satisfies a predetermined condition comprises:

searching in a message store maintained in a persistent storage device to locate a first message entry corresponding to the first message based on the user device ID; and

determining whether the interactive event occurred within a predetermined period of time since the first message was sent to the user device.

4. The method of claim 3 , wherein the message store comprises a plurality of message entries, each message entry corresponding to one of a plurality of messages that have been sent to a plurality of user devices of a plurality of users, and wherein each of the message entries further stores metadata describing the corresponding message, including information identifying a corresponding user device that received the message and a timestamp recording time of which the message was sent.

5. The method of claim 4 , wherein determining whether the interactive event occurred within a predetermined period of time comprises comparing a current system time against a first timestamp associated with the first message entry to determine whether a difference between current system time and the first timestamp exceeds a predetermined threshold.

6. The method of claim 3 , wherein each message entry of the message store further includes a primary agent ID identifying a primary agent associated with the corresponding message and a secondary agent ID identifying a secondary agent who has a similar skill set as of the primary agent, and wherein the method further comprises:

determining whether the primary agent is available at a point in time the request is received; and

establishing a communication session between the user device and a secondary agent device of the secondary agent, in response to determining that the primary agent is unavailable.

7. The method of claim 1 , wherein the user device ID comprises one of an automatic number identification (ANI) number, a media access control (MAC) address, or an international mobile subscribed identity (IMSI) number.

8. The method of claim 3 , wherein each message entry of the message store further includes a message state field to store state information indicating a state of a corresponding message, and wherein the method further comprising updating a first message state field of the first message entry to indicate that a response of the first message has been received.

9. The method of claim 8 , further comprising:

receiving a second message from a second agent device of a second agent to be sent to a second user device of a second user;

creating a second message entry in the second message in the message to record the second message; and

storing in the second message entry a second user device ID of the second user device and a second agent ID identifying the second agent based on the second message.

10. The method of claim 9 , further comprising setting in a second message state field of the second message entry to a pending state, indicating that the second message is pending to be sent.

11. The method of claim 9 , further comprising:

periodically parsing message entries of the message store to identify one or more pending messages based on their respective message states; and

transmitting the pending messages to their corresponding destinations specified in the pending messages.

12. The method of claim 11 , further comprising modifying the respective message states in corresponding message entries from a pending state to delivered state, indicating the pending messages have been delivered.

13. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of connecting a user with an agent based on user interactions of a link within a message, the operations comprising:

receiving at a server having server hardware a request from a user device to connect with an agent, the request including information describing an interactive event representing a user interaction with a link embedded within a first message presented at the user device;

determining, by a communication interface module hosted by the server, a user device identifier (ID) identifying the user device based on the request;

examining by an agent connect module the interactive event to determine whether the interactive event satisfies a predetermined condition based on a set of one or more rules; and

in response to determining that the interactive event satisfies the predetermined condition,

determining by the agent connect module a first agent device ID that identifies a first agent device of a first agent who initiated and sent the first message to the user device, and

establishing by a routing module a communication session between the user device and the first agent device based on the user device ID and the first agent device ID.

14. The non-transitory machine-readable medium of claim 13 , wherein in response to determining that the interactive event does not satisfy the predetermined condition, the method further comprises:

identifying a second agent who has a similar skill set as of the first agent;

determining a second agent device ID that identifies a second agent device of the second agent; and

establishing a communication session between the user device and the second agent device based on the user device ID and the second agent device ID.

15. The non-transitory machine-readable medium of claim 13 , wherein determining whether the interactive event satisfies a predetermined condition comprises:

searching in a message store maintained in a persistent storage device to locate a first message entry corresponding to the first message based on the user device ID; and

determining whether the interactive event occurred within a predetermined period of time since the first message was sent to the user device.

16. The non-transitory machine-readable medium of claim 15 , wherein the message store comprises a plurality of message entries, each message entry corresponding to one of a plurality of messages that have been sent to a plurality of user devices of a plurality of users, and wherein each of the message entries further stores metadata describing the corresponding message, including information identifying a corresponding user device that received the message and a timestamp recording time of which the message was sent.

17. The non-transitory machine-readable medium of claim 16 , wherein determining whether the interactive event occurred within a predetermined period of time comprises comparing a current system time against a first timestamp associated with the first message entry to determine whether a difference between current system time and the first timestamp exceeds a predetermined threshold.

18. The non-transitory machine-readable medium of claim 15 , wherein each message entry of the message store further includes a primary agent ID identifying a primary agent associated with the corresponding message and a secondary agent ID identifying a secondary agent who has a similar skill set as of the primary agent, and wherein the method further comprises:

determining whether the primary agent is available at a point in time the request is received; and

establishing a communication session between the user device and a secondary agent device of the secondary agent, in response to determining that the primary agent is unavailable.

19. The non-transitory machine-readable medium of claim 13 , wherein the user device ID comprises one of an automatic number identification (ANI) number, a media access control (MAC) address, or an international mobile subscribed identity (IMSI) number.

20. The non-transitory machine-readable medium of claim 15 , wherein each message entry of the message store further includes a message state field to store state information indicating a state of a corresponding message, and wherein the method further comprising updating a first message state field of the first message entry to indicate that a response of the first message has been received.

21. The non-transitory machine-readable medium of claim 20 , further comprising:

receiving a second message from a second agent device of a second agent to be sent to a second user device of a second user;

creating a second message entry in the second message in the message to record the second message; and

storing in the second message entry a second user device ID of the second user device and a second agent ID identifying the second agent based on the second message.

22. The non-transitory machine-readable medium of claim 21 , wherein the operations further comprise setting in a second message state field of the second message entry to a pending state, indicating that the second message is pending to be sent.

23. The non-transitory machine-readable medium of claim 21 , wherein the operations further comprise:

periodically parsing message entries of the message store to identify one or more pending messages based on their respective message states; and

transmitting the pending messages to their corresponding destinations specified in the pending messages.

24. The non-transitory machine-readable medium of claim 23 , wherein the operations further comprise modifying the respective message states in corresponding message entries from a pending state to delivered state, indicating the pending messages have been delivered.

25. A data processing system, comprising:

a processor;

a memory;

a communication interface module coupled to the processor to receive a request from a user device to connect with an agent, the request including information describing an interactive event representing a user interaction with a link embedded within a first message presented at the user device and to determine a user device identifier (ID) identifying the user device based on the request;

an agent connect module to examine the interactive event to determine whether the interactive event satisfies a predetermined condition based on a set of one or more rules, in response to determining that the interactive event satisfies the predetermined condition, to determine a first agent device ID that identifies a first agent device of a first agent who initiated and sent the first message to the user device; and

a routing module to establish a communication session between the user device and the first agent device based on the user device ID and the first agent device ID.

26. The data processing system of claim 25 , wherein in response to determining that the interactive event does not satisfy the predetermined condition, the agent connect module is to identify a second agent who has a similar skill set as of the first agent and determine a second agent device ID that identifies a second agent device of the second agent, and wherein the routing module is to establish a communication session between the user device and the second agent device based on the user device ID and the second agent device ID.

Assignments (4)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 24, 2025
From: TTEC HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 070609/0559 →
SECURITY INTEREST Recorded Oct 17, 2024
From: TTEC HOLDINGS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 069206/0225 →
CHANGE OF NAME Recorded Aug 19, 2024
From: TELETECH HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 068701/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2016
From: SHARPE, BRUCE A.; SHRADER, ANTHONY G.; CUMBERLAND, WILLIAM T.
To: TELETECH HOLDINGS, INC.
Reel/Frame 037439/0456 →