IP Library Granted Patent US 10,348,904
Granted Patent B1
US 10,348,904 · App. 16/216,382 · Granted Jul 9, 2019

Queueing multi-channel communications for a contact center

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,348,904
App. No.
16/216,382
Granted
Jul 9, 2019
Kind
B1
Abstract

Various embodiments of the invention provide methods, systems, and computer program products for routing a communication in a contact center. Specifically, a treatment is selected for a communication from a plurality of treatments. Here, each treatment includes a plurality of agents to handle communications placed in the treatment and a set of queues in which each queue includes a value range. A determination is made as to whether the communication is using a chaining or non-chaining channel. If the communication is using a chaining channel, then a target agent designated to handle communications placed in the treatment using the chaining channel and corresponding queue are identified based on a value of the communication. If the communication is using a non-chaining channel, then a queue is selected from the set of queues for the treatment based on the value of the communication falling within the value range for the queue.

Claims (70)

1. A method for routing a communication involving a remote party in a contact center comprising:

selecting a treatment for the communication by a computer processor from a plurality of treatments supported by the contact center, in which each treatment in the plurality of treatments (1) is applicable to at least one of a reason and an opportunity for conducting communications, (2) has a plurality of agents assigned to handle communications placed in the treatment, and (3) a set of queues in which each queue in the set of queues comprises a value range and a set of agents from the plurality of agents who are assigned to handle communications placed in the queue;

determining a communication value for the communication by the computer processor based on a computation that is specific to the selected treatment;

determining by the computer processor whether the communication is using (1) a chaining channel comprising a channel of communication facilitating the remote party exchanging a sequence of single directional non-interactive communications with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment or (2) a non-chaining channel comprising a channel of communication facilitating the remote party conducting a bi-directional interactive communication with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is using the chaining channel:

determining by the computer processor whether the communication is part of an existing chain of communications being conducted between the remote party and at least one agent of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is part of the existing chain of communications:

placing the communication in a queue for the at least one agent, the queue for the at least one agent being configured to hold communications assigned to the at least one agent that are using the chaining channel; and

connecting the communication to the at least one agent upon the at least one agent becoming available; and

in response to determining the communication is not part of the existing chain of communications:

identifying a target agent from the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel by the computer processor based on the communication value for the communication and a ranking of the target agent with respect to the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel;

placing the communication in a queue for the target agent, the queue for the target agent being configured to hold communications using the chaining channel that are assigned to the target agent; and

connecting the communication to the target agent upon the target agent becoming available; and

in response to determining the communication is using the non-chaining channel:

selecting a queue from the set of queues by the computer processor based on the communication value for the communication falling within the value range for the queue;

placing the communication in the selected queue so that the communication is connected to an agent from the set of agents assigned to handle the communications placed in the queue; and

connecting the communication with the agent upon the agent from the set of agents becoming available to handle the communication.

2. The method of claim 1 , wherein at least one queue in the set of queues comprises a service level requirement identifying a level of service that is to be maintained by the set of agents assigned to handle the communications placed in the at least one queue.

3. The method of claim 1 , wherein the value range for each queue of the set of queues for the selected treatment is sequentially positioned to the value range for another queue of the set of queues for the selected treatment.

4. The method of claim 1 further comprising determining a priority value for the communication placed in the selected queue from the set of queues based on the communication value for the communication and an amount of time the communication has waited in the selected queue, wherein the communication is connected with the agent upon the agent becoming available based on the priority value for the communication being higher than priority values for all other communications that have been placed in the selected queue.

5. The method of claim 1 , wherein the queue for the target agent is configured to hold communications assigned to the target agent that are using a second chaining channel different than the chaining channel.

6. The method of claim 1 , wherein each queue for the set of queues is configured to hold communications assigned to the queue that are using a second non-chaining channel different than the non-chaining channel.

7. The method of claim 1 further comprising re-establishing at least one of the set of queues, the value range for each queue in the set of queues, and the set of agents assigned to handle communications placed in each queue in the set of queues in response to a change in a current condition of the contact center that affects a performance of the selected treatment.

8. A non-transitory, computer-readable medium comprising computer-executable instructions for routing a communication involving a remote party in a contact center, that when executed, cause at least one computer processor to:

select a treatment for the communication from a plurality of treatments supported by the contact center, in which each treatment in the plurality of treatments (1) is applicable to at least one of a reason and an opportunity for conducting communications, (2) has a plurality of agents assigned to handle communications placed in the treatment, and (3) a set of queues in which each queue in the set of queues comprises a value range and a set of agents from the plurality of agents who are assigned to handle communications placed in the queue;

determine a communication value for the communication based on a computation that is specific to the selected treatment;

determine whether the communication is using (1) a chaining channel comprising a channel of communication facilitating the remote party exchanging a sequence of single directional non-interactive communications with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment or (2) a non-chaining channel comprising a channel of communication facilitating the remote party conducting a bi-directional interactive communication with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is using the chaining channel:

determine whether the communication is part of an existing chain of communications being conducted between the remote party and at least one agent of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is part of the existing chain of communications:

place the communication in a queue for the at least one agent, the queue for the at least one agent being configured to hold communications assigned to the at least one agent that are using the chaining channel; and

connect the communication to the at least one agent upon the at least one agent becoming available; and

in response to determining the communication is not part of the existing chain of communications:

identify a target agent from the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel based on the communication value for the communication and a ranking of the target agent with respect to the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel;

place the communication in a queue for the target agent, the queue for the target agent being configured to hold communications using the chaining channel that are assigned to the target agent; and

connect the communication to the target agent upon the target agent becoming available; and

in response to determining the communication is using the non-chaining channel:

select a queue from the set of queues based on the communication value for the communication falling within the value range for the queue;

place the communication in the selected queue so that the communication is connected to an agent from the set of agents assigned to handle the communications placed in the queue; and

connect the communication with the agent upon the agent from the set of agents becoming available to handle the communication.

9. The non-transitory, computer-readable medium of claim 8 , wherein at least one queue in the set of queues comprises a service level requirement identifying a level of service that is to be maintained by the set of agents assigned to handle the communications placed in the at least one queue.

10. The non-transitory, computer-readable medium of claim 8 , wherein the value range for each queue of the set of queues for the selected treatment is sequentially positioned to the value range for another queue of the set of queues for the selected treatment.

11. The non-transitory, computer-readable medium of claim 8 , wherein the computer-executable instructions further cause the at least one computer processor to determine a priority value for the communication placed in the selected queue from the set of queues based on the communication value for the communication and an amount of time the communication has waited in the selected queue, and the communication is connected with the agent upon the agent becoming available based on the priority value for the communication being higher than priority values for all other communications that have been placed in the selected queue.

12. The non-transitory, computer-readable medium of claim 8 , wherein the queue for the target agent is configured to hold communications assigned to the target agent that are using a second chaining channel different than the chaining channel.

13. The non-transitory, computer-readable medium of claim 8 , wherein each queue for the set of queues is configured to hold communications assigned to the queue that are using a second non-chaining channel different than the non-chaining channel.

14. The non-transitory, computer-readable medium of claim 8 , wherein the computer-executable instructions further cause the at least one computer processor to re-establish at least one of the set of queues, the value range for each queue in the set of queues, and the set of agents assigned to handle communications placed in each queue in the set of queues in response to a change in a current condition of the contact center that affects a performance of the selected treatment.

15. A system for routing a communication in a contact center comprising:

at least one computer processor configured to:

select a treatment for the communication from a plurality of treatments supported by the contact center, in which each treatment in the plurality of treatments (1) is applicable to at least one of a reason and an opportunity for conducting communications, (2) has a plurality of agents assigned to handle communications placed in the treatment, and (3) a set of queues in which each queue in the set of queues comprises a value range and a set of agents from the plurality of agents who are assigned to handle communications placed in the queue;

determine a communication value for the communication based on a computation that is specific to the selected treatment;

determine whether the communication is using (1) a chaining channel comprising a channel of communication facilitating the remote party exchanging a sequence of single directional non-interactive communications with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment or (2) a non-chaining channel comprising a channel of communication facilitating the remote party conducting a bi-directional interactive communication with one or more agents of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is using the chaining channel:

determine whether the communication is part of an existing chain of communications being conducted between the remote party and at least one agent of the plurality of agents assigned to handle communications placed in the selected treatment;

in response to determining the communication is part of the existing chain of communications:

place the communication in a queue for the at least one agent, the queue for the at least one agent being configured to hold communications assigned to the at least one agent that are using the chaining channel; and

connect the communication to the at least one agent upon the at least one agent becoming available; and

in response to determining the communication is not part of the existing chain of communications:

identify a target agent from the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel based on the communication value for the communication and a ranking of the target agent with respect to the agents in the plurality of agents who are designated to handle communications placed in the selected treatment using the chaining channel;

place the communication in a queue for the target agent, the queue for the target agent being configured to hold communications using the chaining channel that are assigned to the target agent; and

connect the communication to the target agent upon the target agent becoming available; and

in response to determining the communication is using the non-chaining channel:

select a queue from the set of queues based on the communication value for the communication falling within the value range for the queue;

place the communication in the selected queue so that the communication is connected to an agent from the set of agents assigned to handle the communications placed in the queue; and

connect the communication with the agent upon the agent from the set of agents becoming available to handle the communication.

16. The system of claim 15 , wherein at least one queue in the set of queues comprises a service level requirement identifying a level of service that is to be maintained by the set of agents assigned to handle the communications placed in the at least one queue.

17. The system of claim 15 , wherein the value range for each queue of the set of queues for the selected treatment is sequentially positioned to the value range for another queue of the set of queues for the selected treatment.

18. The system of claim 15 , wherein the at least one computer processor is configured to determine a priority value for the communication placed in the selected queue from the set of queues based on the communication value for the communication and an amount of time the communication has waited in the selected queue, and the communication is connected with the agent upon the agent becoming available based on the priority value for the communication being higher than priority values for all other communications that have been placed in the selected queue.

19. The system of claim 15 , wherein the queue for the target agent is configured to hold communications assigned to the target agent that are using a second chaining channel different than the chaining channel.

20. The system of claim 15 , wherein each queue for the set of queues is configured to hold communications assigned to the queue that are using a second non-chaining channel different than the non-chaining channel.

21. The system of claim 15 , wherein the at least one computer processor is configured to re-establish at least one of the set of queues, the value range for each queue in the set of queues, and the set of agents assigned to handle communications placed in each queue in the set of queues in response to a change in a current condition of the contact center that affects a performance of the selected treatment.

Assignments (13)
ASSIGNMENT Recorded Oct 27, 2025
From: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP); NOBLE SYSTEMS, LLC
To: ALVARIA, INC.
Reel/Frame 073360/0481 →
SECURITY INTEREST Recorded Oct 27, 2025
From: ALVARIA, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073360/0564 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2025
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP)
Reel/Frame 073360/0209 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2024
From: JEFFRIES FINANCE LLC
To: ALVARIA, INC.; NOBLE SYSTEMS, LLC
Reel/Frame 066850/0428 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2024
From: JEFFRIES FINANCE LLC
To: ALVARIA, INC.; NOBLE SYSTEMS, LLC
Reel/Frame 066850/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2024
From: NOBLE SYSTEMS, LLC
To: ALVARIA CAYMAN (CX)
Reel/Frame 066850/0556 →
PATENT SECURITY AGREEMENT Recorded Mar 20, 2024
From: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP)
To: JEFFERIES FINANCE LLC
Reel/Frame 066850/0334 →
CERTIFICATE OF CONVERSION Recorded Mar 12, 2024
From: NOBLE SYSTEMS CORPORATION, A GEORGIA CORPORATION
To: NOBLE SYSTEMS, LLC, A DELAWARE LIMITED LIABILITY COMPANY
Reel/Frame 066794/0435 →
RELEASE OF SECURITY INTEREST Recorded May 10, 2021
From: WELLS FARGO CAPITAL FINANCE, LLC
To: NOBLE SYSTEMS CORPORATION
Reel/Frame 056193/0363 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded May 6, 2021
From: NOBLE SYSTEMS CORPORATION; ASPECT SOFTWARE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 057674/0664 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded May 6, 2021
From: NOBLE SYSTEMS CORPORATION; ASPECT SOFTWARE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 057261/0093 →
SECURITY INTEREST Recorded Apr 23, 2020
From: NOBLE SYSTEMS CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC
Reel/Frame 052495/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2018
From: HOWARD, MICHAEL L
To: NOBLE SYSTEMS CORPORATION
Reel/Frame 047745/0667 →