IP Library Granted Patent US 10,657,471
Granted Patent B2
US 10,657,471 · App. 15/594,354 · Granted May 19, 2020

Intelligent assignment of agents

Inventors: Vignesh Girishankar (Chennai, IN); Karthik Viswanathan (Chennai, IN); A N Sankar Ganesh (Thoothukudi, IN)
G06Q10/06311H04L51/043H04L51/14H04L51/34
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 10,657,471
App. No.
15/594,354
Granted
May 19, 2020
Kind
B2
Abstract

A process for balancing loads among active agents within an agent group. The process may include distinguishing, by a load balancing server, an active conversation from an inactive conversation. The process may also include assigning, by the load balancing server, the active conversation from one active agent to another active agent depending on a number of active conversations assigned to each of the plurality of active agents within the agent group.

Claims (65)

1. A computer-implemented process for balancing load among a plurality of active agents within an agent group, comprising:

distinguishing, by a load balancing server, an active conversation from an inactive conversation;

for the active conversation,

determining, by the load balancing server, whether a user has replied to an agent's message, and

when the user fails to reply to the agent's message within the predefined period of time, marking, by the load balancing server, the active conversation as inactive while allowing the user and the agent assigned to the now inactive conversation to remain connected until the now inactive conversation is marked as active and until the agent is reassigned to another active conversation or until another agent is reassigned to the active conversation; and

for the inactive conversation,

marking, by the load balancing server, the inactive conversation as active when the user replies to the agent's message or when the agent sends a subsequent message; and

assigning, by the load balancing server, the active conversation from one active agent to another active agent depending on a number of active conversations assigned to each of the plurality of active agents within the agent group.

2. The computer-implemented process of claim 1 , further comprising:

counting, by the load balancing server, the number of active conversations assigned to each of the plurality of active agents within the agent group; and

selecting, by the load balancing server, the active agent with the least amount of active conversations within the agent group in order to assign the active conversation to the selected active agent.

3. The computer-implemented process of claim 1 , further comprising:

determining, by the load balancing server, if an incoming message from a client device is an active conversation.

4. The computer-implemented process of claim 3 , further comprising:

selecting, by the load balancing system, a previously assigned active agent within the agent group for assignment of the incoming message, when the incoming message is identified as an active conversation and is received within a predefined period of time.

5. The computer-implemented process of claim 3 , further comprising:

searching, by the load balancing system, for an active agent within the agent group with least number of active conversations, when the incoming message is identified as an active conversation and received after a predefined period of time; and

selecting, by the load balancing system, the active agent with the least number of active conversations for assignment of the incoming message.

6. The computer-implemented process of claim 1 , further comprising:

adding, by the load balancing server, an agent reply message for an active conversation to a queue, wherein the queue comprises a plurality of active conversations, a plurality of inactive conversations, or both.

7. The computer-implemented process of claim 6 , further comprising:

marking, by the load balancing server, the active conversation associated with the agent reply message as being inactive if an incoming message from a user of a client device is not received within a predefined period of time.

8. The computer-implemented process of claim 6 , further comprising:

marking, by the load balancing server, the active conversation associated with the agent reply message as being pending if an incoming message from a user of a client device is received within a predefined period of time.

9. The computer-implemented process of claim 1 , further comprising:

receiving, by the load balancing server, a notification of agent status change from inactive to active.

10. The computer-implemented process of claim 9 , further comprising:

retrieving, by the load balancing server, one or more agent groups, each of the one or more agent group comprises one or more active, inactive, or both agents;

searching, by the load balancing server, for one or more agent groups with least number of active agents prior to selecting an agent group with least amount of active agents;

determining, by the load balancing system, whether the selected agent group has one or more unassigned active conversations; and

selecting, by the load balancing server, the active agent with the least number of active conversations for assignment of the one or more unassigned active conversation.

11. An apparatus for balancing load among a plurality of active agents within an agent group, comprising:

at least one processor; and

memory comprising a set of instructions,

wherein the set of instructions, with the at least one processor, are configured to distinguish an active conversation from an inactive conversation; and

for the active conversation,

determine whether a user has replied to an agent's message, and

when the user fails to reply to the agent's message within the predefined period of time, mark the active conversation as inactive while allowing the user and the agent assigned to the now inactive conversation to remain connected until the now inactive conversation is marked as active and until the agent is reassigned to another active conversation or until another agent is reassigned to the active conversation,

and

for the inactive conversation,

mark the inactive conversation as active when the user replies to the agent's message or when the agent sends a subsequent message;

assign the active conversation from one active agent to another active agent depending on a number of active conversations assigned to each of the plurality of active agents within the agent group.

12. The apparatus of claim 11 , wherein the set of instructions, with the at least one processor, are further configured to

count the number of active conversations assigned to each of the plurality of active agents within the agent group; and

select the active agent with the least amount of active conversations within the agent group in order to assign the active conversation to the selected active agent.

13. The apparatus of claim 11 , wherein the set of instructions, with the at least one processor, are further configured to

determine if an incoming message from a client device is an active conversation.

14. The apparatus of claim 13 , wherein the set of instructions, with the at least one processor, are further configured to

select a previously assigned active agent within the agent group for assignment of the incoming message, when the incoming message is identified as an active conversation and is received within a predefined period of time.

15. The apparatus of claim 13 , wherein the set of instructions, with the at least one processor, are further configured to

search for an active agent within the agent group with least number of active conversations, when the incoming message is identified as an active conversation and received after a predefined period of time; and

select the active agent with the least number of active conversations for assignment of the incoming message.

16. The apparatus of claim 11 , wherein the set of instructions, with the at least one processor, are further configured to

add an agent reply message for an active conversation to a queue, wherein the queue comprises a plurality of active conversations, a plurality of inactive conversations, or both.

17. The apparatus of claim 16 , wherein the set of instructions, with the at least one processor, are further configured to

mark the active conversation associated with the agent reply message as being inactive if an incoming message from a user of a client device is not received within a predefined period of time.

18. The apparatus of claim 16 , wherein the set of instructions, with the at least one processor, are further configured to

mark the active conversation associated with the agent reply message as being pending if an incoming message from a user of a client device is received within a predefined period of time.

19. The apparatus of claim 11 , wherein the set of instructions, with the at least one processor, are further configured to

receive a notification of agent status change from inactive to active.

20. The apparatus of claim 19 , wherein the set of instructions, with the at least one processor, are further configured to

retrieve one or more agent groups, each of the one or more agent group comprises one or more active, inactive, or both agents;

search for one or more agent groups with least number of active agents prior to selecting an agent group with least amount of active agents;

determine whether the selected agent group has one or more unassigned active conversations; and

select the active agent with the least number of active conversations for assignment of the one or more unassigned active conversation.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNNEE NAME BY REMOVING THE COMMA PREVIOUSLY RECORDED AT REEL: 052119 FRAME: 0923. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 18, 2022
From: FRESHDESK INC.
To: FRESHWORKS INC.
Reel/Frame 062301/0670 →
CHANGE OF NAME Recorded Mar 7, 2020
From: FRESHDESK INC.
To: FRESHWORKS, INC.
Reel/Frame 052119/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2017
From: FRESHDESK TECHNOLOGIES PRIVATE LIMITED
To: FRESHDESK INC.
Reel/Frame 042374/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2017
From: GIRISHANKAR, VIGNESH; VISWANATHAN, KARTHIK; GANESH, A N SANKAR
To: FRESHDESK TECHNOLOGIES PRIVATE LIMITED
Reel/Frame 042364/0176 →
Priority Claims (1)
IN 201741004508 · Feb 8, 2017 · national
Continuity (1)
Related Publication 20180225607A1 · Aug 9, 2018