IP Library Granted Patent US 9,307,080
Granted Patent B1
US 9,307,080 · App. 14/039,524 · Granted Apr 5, 2016

Dynamic call control

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,307,080
App. No.
14/039,524
Granted
Apr 5, 2016
Kind
B1
Abstract

A request to establish a voice communications session between a user of a telephonic device and an interactive voice response (IVR) system of a call handling system is received by a dynamic call control engine. A resource requirement for the voice communications session is determined. Resource usage data for multiple call handling systems is accessed by the dynamic call control engine. A particular call handling system from among the multiple call handling systems is selected based on the resource usage data and the resource requirement. A connection to be set up between the telephonic device and the particular call handling system to allow the user of the telephonic device to participate in the voice communications session with an IVR system of the particular call handling system is enabled.

Claims (59)

1. A computer-implemented method comprising:

receiving, by a dynamic call control engine, a request to establish a voice communications session between a user of a telephonic device and an interactive voice response (IVR) system of a call handling system;

determining a resource requirement for the voice communications session;

accessing, by the dynamic call control engine, resource usage data for resources shared by multiple call handling systems;

selecting, by the dynamic call control engine, a particular call handling system from among the multiple call handling systems based on the resource usage data of the resources shared by the multiple call handling systems and based on the resource requirement;

selecting, by the dynamic call control engine, a particular IVR system of the particular call handling system from among multiple IVR systems of the particular call handling system based on the resource usage data and the resource requirement;

using metadata indicating the resource requirement to select an interaction flow document associated with the voice communications session;

enabling, by the dynamic call control engine, a connection to be set up between the telephonic device and the particular call handling system to allow the user of the telephonic device to participate in the voice communications session with the particular IVR system of the particular call handling system; and

accessing, by the IVR system of the particular call handling system, a resource associated with the resource requirement.

2. The method of claim 1 , further comprising:

accessing a service level agreement associated with the voice communications session; and

determining an additional resource requirement for the voice communications session based on the service level agreement.

3. The method of claim 1 , further comprising:

allocating, by the dynamic call control engine, the resource associated with the resource requirement for the voice communications session; and

setting up the connection between the telephonic device and the particular call handling system.

4. The method of claim 1 , wherein the multiple call handling systems are associated with a first data center.

5. The method of claim 4 , further comprising:

determining that the resource usage data of the multiple call handling systems do not satisfy the resource requirement for the voice communications session; and

in response to determining that the resource usage data of the multiple call handling systems do not satisfy the resource requirement, forwarding the request to a second data center.

6. The method of claim 5 , wherein forwarding the request to a second data center further comprises:

determining that a call handling system of the second data center satisfies the resource requirement before forwarding the request.

7. The method of claim 1 , wherein the resource requirement includes one or more of a CPU usage, a memory usage, an average handle time, one or more speech resources, a throughput, a network congestion, and a concurrency.

8. The method of claim 7 , wherein the one or more speech resources include one or more of an automated speech recognition (ASR) engine, a text to speech (TTS) engine, a noise reduction engine, a voice recording engine, and an answering machine detection engine.

9. The method of claim 1 , further comprising:

monitoring, by a resource monitoring system, the resource usage data; and

storing the resource usage data in a resource usage database.

10. The method of claim 9 , wherein monitoring the resource usage data comprises monitoring the resource usage data for the call handling systems associated with a data center.

11. The method of claim 9 , wherein monitoring the resource usage data comprises monitoring the resource usage data for the call handling systems associated with multiple data centers.

12. The method of claim 1 , wherein selecting a particular call handling system from among the multiple call handling systems further comprises:

for each respective call handling system of the multiple call handling systems, determining a respective score for the respective call handling system based on the resource usage data associated with the respective call handling system; and

selecting the particular call handling system based on the determined scores for the multiple call handling systems.

13. A system comprising:

one or more call handling systems, each call handling systems comprising one or more interactive voice response (IVR) systems; and

a dynamic call control engine configured to:

receive a request to establish a voice communications session between a user of a telephonic device and an IVR system;

determine a resource requirement for the voice communications session;

access resource usage data for resources shared by multiple call handling systems;

select a particular call handling system from among the multiple call handling systems based on the resource usage data of the resources shared by the multiple call handling systems and based on the resource requirement;

select a particular IVR system of the particular call handling system from among multiple IVR systems of the particular call handling system based on the resource usage data and the resource requirement;

use metadata indicating the resource requirement to select an interaction flow document associated with the voice communications session;

enable a connection to be set up between the telephonic device and the particular call handling system to allow the user of the telephonic device to participate in the voice communications session with the particular IVR system of the particular call handling system; and

access, by the IVR system of the particular call handling system, a resource associated with the resource requirement.

14. The system of claim 13 , further comprising: a resource monitoring system configured to monitor the resource usage data; and a resource usage database configured to store the resource usage data.

15. The system of claim 13 , wherein the dynamic call control engine is configured to:

access a service level agreement associated with the voice communications session; and

determine an additional resource requirement for the voice communications session based on the service level agreement.

16. A system comprising:

one or more processors and one or more non-transitory computer-readable storage devices storing instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:

receiving, by a dynamic call control engine, a request to establish a voice communications session between a user of a telephonic device and an interactive voice response (IVR) system of a call handling system;

determining a resource requirement for the voice communications session;

accessing, by the dynamic call control engine, resource usage data for resources shared by multiple call handling systems;

selecting a particular call handling system from among the multiple call handling systems based on the resource usage data of the resources shared by the multiple call handling systems and based on the resource requirement;

selecting a particular IVR system of the particular call handling system from among multiple IVR systems of the particular call handling system based on the resource usage data and the resource requirement;

using metadata indicating the resource requirement to select an interaction flow document associated with the voice communications session;

enabling a connection to be set up between the telephonic device and the particular call handling system to allow the user of the telephonic device to participate in the voice communications session with the particular IVR system of the particular call handling system; and

accessing, by the IVR system of the particular call handling system, a resource associated with the resource requirement.

17. The method of claim 1 , wherein an IVR system supports voice commands and voice information using text-to-speech processing and natural language processing by using scripts that are pre-programmed for a voice site.

18. The method of claim 1 , wherein determining the resource requirement for the voice communications session comprises accessing, in a configuration database by the dynamic call control engine, the resource requirement of a voice site associated with the voice communications session, wherein the resource requirement of the voice site is configured by a content provider associated with the voice site, and wherein a voice site is a set of scripts corresponding to one or more linked pages that collectively interoperate to produce the voice communications session with the user of the telephonic device.

19. The method of claim 1 , wherein accessing the resource usage data for the multiple call handling systems comprises accessing, for each call handling system of the multiple handling systems, resource usage data and available speech resources for each IVR system of the respective call handling system.

Assignments (7)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 040815/0001 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070498/0001 →
CHANGE OF NAME Recorded Jun 7, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067651/0936 →
SECURITY AGREEMENT Recorded Dec 5, 2016
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ECHOPASS CORPORATION; INTERACTIVE INTELLIGENCE GROUP, INC.; BAY BRIDGE DECISION TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040815/0001 →
PATENT RELEASE (REEL:031644/FRAME:0814) Recorded Dec 2, 2016
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ANGEL.COM INCORPORATED; UTOPY, INC.; SOUNDBITE COMMUNICATIONS, INC.
Reel/Frame 040798/0428 →
MERGER Recorded Jun 15, 2016
From: ANGEL.COM INCORPORATED
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 038923/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2015
From: FERNANDEZ, ALBERTO; SNITKOVSKY, VADIM
To: ANGEL.COM INCORPORATED
Reel/Frame 036591/0405 →
SECURITY AGREEMENT Recorded Nov 15, 2013
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ANGEL.COM INCORPORATED; UTOPY, INC.; SOUNDBITE COMMUNICATIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 031644/0814 →