IP Library Granted Patent US 8,059,812
Granted Patent B1
US 8,059,812 · App. 11/787,000 · Granted Nov 15, 2011

Distributed call-routing systems

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,059,812
App. No.
11/787,000
Granted
Nov 15, 2011
Kind
B1
Abstract

An exemplary method for selecting a resource for handling a call in a distributed call-routing system comprises obtaining, at a local call-routing proxy, a request for a resource to handle a call from a local automatic call director, distributing the request to a plurality of remote call-routing proxies, each remote call-routing proxy being configured to obtain responses to the request from a plurality of servers storing data relating to a plurality of resources, process the responses from the servers to produce a first reduced number of responses and send the first reduced number of responses to the local call-routing proxy, processing responses from remote call-routing proxies at the local call-routing proxy, enabling the local automatic call director to obtain a second reduced number of responses, and enabling the local automatic call director to select a resource to handle the call.

Claims (75)

1. A method for selecting a resource for handling a call in a distributed call-routing system, comprising:

(a) obtaining, at a local call-routing proxy, a resource request for handling a call from a local automatic call director;

(b) distributing the request to a plurality of remote call-routing proxies, each remote call-routing proxy being configured to:

(1) obtain responses to the request from a plurality of servers storing data relating to a plurality of resources;

(2) process the responses from the servers to produce a first reduced number of responses; and

(3) send the first reduced number of responses to the local call-routing proxy;

(c) processing responses from remote call-routing proxies at the local call-routing proxy;

(d) enabling the local automatic call director to obtain a second reduced number of responses based on the processing in (c); and

(e) enabling the local automatic call director to select the resource from among the plurality of resources to handle the call based at least on the second reduced number of responses.

2. The method of claim 1 , wherein said distributing is performed in parallel to said plurality of remote call-routing proxies.

3. The method of claim 1 , wherein said processing of responses from the servers includes:

(i) aggregating responses from said servers;

(ii) evaluating said aggregated responses; and

(iii) generating said first reduced number of responses based on said evaluating.

4. The method of claim 3 , wherein said evaluating includes:

ranking resources associated with said responses from said servers; and selecting one or more resources based on said ranking.

5. The method of claim 3 , wherein said evaluating includes applying a resource selection algorithm such that probability of selecting a resource is proportional to a weighted value assigned to that resource.

6. The method of claim 1 , wherein said processing of responses from remote call-routing proxies includes:

(i) aggregating responses from said remote call-routing proxies;

(ii) evaluating said aggregated responses; and

(iii) generating said second reduced number of responses based on said evaluating.

7. The method of claim 6 , wherein said evaluating includes:

ranking resources associated with said responses from said remote call-routing proxies; and selecting one or more resources based on said ranking.

8. The method of claim 6 , wherein said evaluating includes applying a resource selection algorithm such that the probability of selecting a resource is proportional to a weighted value assigned to that resource.

9. The method of claim 1 , wherein said enabling in (e) includes applying a resource selection algorithm such that the probability of selecting a resource is proportional to a weighted value assigned to that resource.

10. A distributed call-routing system, comprising:

a plurality of clusters of computing devices, at least some of said clusters including an automatic call director, a set of resource servers, and a call-routing proxy, said call-routing proxy being configured to:

(a) obtain a resource request for handling a call from a local automatic call director;

(b) distribute the request to a plurality of remote call-routing proxies at remote clusters of computing devices, each remote call-routing proxy being configured to:

(1) obtain responses to the request from a plurality of servers storing data relating to a plurality of resources;

(2) process the responses from the servers to produce a first reduced number of responses; and

(3) send the first reduced number of responses to the call-routing proxy;

(c) process responses from remote call-routing proxies;

(d) enable the local automatic call director to obtain a second reduced number of responses based on the processing in (c); and

(e) enabling the local automatic call director to select a resource from among the plurality of resources to handle the call.

11. The system of claim 10 , wherein said remote call-routing proxy is further configured to:

(i) aggregate responses from said servers;

(ii) evaluate said aggregated responses; and

(iii) generate said first reduced number of responses based on said evaluation in (ii).

12. The system of claim 11 , wherein said evaluating includes:

ranking resources associated with said responses from said servers; and selecting one or more resources based on said ranking.

13. The system of claim 11 , wherein said evaluating includes applying a resource selection algorithm such that probability of selecting a resource is proportional to a weighted value assigned to that resource.

14. The system of claim 10 , wherein said call-routing proxy is further configured to:

(i) aggregate responses from said remote call-routing proxies;

(ii) evaluate said aggregated responses; and

(iii) generate said second reduced number of responses based on said evaluation in (ii).

15. A non-transitory computer-readable storage medium for selecting a resource for handling a call in a distributed call-routing system comprising logic instructions that, when executed:

(a) obtain, at a local call-routing proxy, a resource request for handling a call from a local automatic call director;

(b) distribute the request to a plurality of remote call-routing proxies, each remote call-routing proxy being configured to:

(1) obtain responses to the request from a plurality of servers storing data relating to a plurality of resources;

(2) process the responses from the servers to produce a first reduced number of responses; and

(3) send the first reduced number of responses to the local call-routing proxy;

(c) process responses from remote call-routing proxies at the local call-routing proxy;

(d) enable the local automatic call director to obtain a second reduced number of responses based on the processing in (c); and

(e) enable the local automatic call director to select the resource from among the plurality of resources to handle the call.

16. The computer-readable storage medium of claim 15 , wherein said remote call-routing proxy is further configured to:

(i) aggregate responses from said servers;

(ii) evaluate said aggregated responses; and

(iii) generate said first reduced number of responses based on said evaluation in (ii).

17. The computer-readable storage medium of claim 16 , wherein said evaluate includes:

ranking resources associated with said responses from said servers; and selecting one or more resources based on said ranking.

18. The computer-readable storage medium of claim 16 , wherein said evaluate includes applying a resource selection algorithm such that the probability of selecting a resource is proportional to a weighted value assigned to that resource.

19. The computer-readable storage medium of claim 15 , further comprising logic instructions that, when executed cause the local call-routing proxy to:

(i) aggregate responses from said remote call-routing proxies;

(ii) evaluate said aggregated responses; and

(iii) generate said second reduced number of responses based on said evaluation in (ii).

20. A distributed call-routing system, comprising:

(a) means for receiving, at a local call-routing proxy, a resource request for handling a call from a local automatic call director;

(b) means for distributing the request to a plurality of remote call-routing proxies, each remote call-routing proxy being configured to:

(1) obtain responses to the request from a plurality of servers storing data relating to a plurality of resources;

(2) process the responses from the servers to produce a first reduced number of responses; and

(3) send the first reduced number of responses to the local call-routing proxy;

(c) means for processing responses from remote call-routing proxies at the local call-routing proxy;

(d) means for enabling the local automatic call director to obtain a second reduced number of responses based on the processing in (c); and

(e) means for enabling the local automatic call director to select a resource from among the plurality of resources to handle the call.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2025
From: SL MIDCO 2, LLC; SL MIDCO 1, LLC; LO PLATFORM MIDCO, INC.; SERENOVA, LLC; LIFESIZE, INC.; TELESTRAT LLC; LIGHT BLUE OPTICS INC.; SERENOVA WFM, INC.
To: ENGHOUSE INTERACTIVE INC.
Reel/Frame 070932/0415 →
SECURITY INTEREST Recorded Mar 16, 2020
From: SERENOVA, LLC
To: WESTRIVER INNOVATION LENDING FUND VIII, L.P.
Reel/Frame 052126/0423 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 43855/0947 Recorded Mar 3, 2020
From: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
To: SERENOVA, LLC, FORMERLY KNOWN AS LIVEOPS CLOUD PLATFORM, LLC; LO PLATFORM MIDCO, INC.; TELSTRAT LLC
Reel/Frame 052079/0941 →
SECURITY INTEREST Recorded Mar 2, 2020
From: SERENOVA, LLC; LIFESIZE, INC.; LO PLATFORM MIDCO, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 052066/0126 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: LO PLATFORM MIDCO, INC.; SERENOVA, LLC
Reel/Frame 044030/0105 →
SECURITY INTEREST Recorded Oct 13, 2017
From: SERENOVA, LLC, FORMERLY KNOWN AS LIVEOPS CLOUD PLATFORM, LLC; LO PLATFORM MIDCO, INC.; TELSTRAT LLC
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
Reel/Frame 043855/0947 →
CHANGE OF NAME Recorded Mar 20, 2017
From: LIVEOPS CLOUD PLATFORM, LLC.
To: SERENOVA, LLC.
Reel/Frame 041653/0292 →
PATENT SECURITY AGREEMENT Recorded Dec 24, 2015
From: LO PLATFORM MIDCO, INC.; LIVEOPS CLOUD PLATFORM, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 037372/0063 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2015
From: LIVEOPS, INC.
To: LIVEOPS CLOUD PLATFORM, LLC
Reel/Frame 036946/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2007
From: BUNDY, BRUCE
To: LIVEOPS, INC.
Reel/Frame 019240/0394 →