IP Library Granted Patent US 10,938,993
Granted Patent B2
US 10,938,993 · App. 16/783,867 · Granted Mar 2, 2021

Workload balancing technique for a telephone communication system

Inventors: Vlad Vendrow (Redwood Shores, CA); Dmitriy Solovey (San Jose, CA)
Assignee: ADVANCED MESSAGING TECHNOLOGIES, INC.
H04M7/0006H04L43/10H04L65/1006H04L65/1069H04L67/1012H04L67/1019H04M3/42314H04M7/126H04M7/128H04L47/125
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,938,993
App. No.
16/783,867
Granted
Mar 2, 2021
Kind
B2
Abstract

A workload balancing technique enhances balancing of workloads processed by components of a telephone communication system configured to render telephony services over a computer network. The telephony services illustratively include private branch exchange (PBX) services suitable for customers with geographically dispersed telephone service demands. The workload balancing technique is invoked by the communication system to reduce contention among the components of the system, such as telephone access servers (TASes) coupled to a proxy router, when servicing telephony requests issued by the customers, thus enabling rendering of the telephony services in an efficient and cost-effective manner. As described herein, an available TAS is randomly selected to service a telephony request received by the proxy router from a network coupled to the communication system.

Claims (53)

1. A method comprising:

configuring a plurality of components of a telephone communication system to render telephony services, wherein the components include a plurality of telephone access servers (TASes) coupled to a proxy router via a plurality of proxy servers;

in response to receiving a telephony request, transmitting a first capability message from the proxy router to the proxy servers;

in response to a first responding proxy server that responds to the first capability message, selecting the first responding proxy server to receive a first invitation to service the telephony request;

forwarding the telephony request to the selected proxy server upon receiving a response to the first invitation;

randomly selecting a subset of the plurality of the TASes to receive a second capability message transmitted by the selected proxy server;

in response to a first responding TAS that responds to the second capability message, selecting the first responding TAS to receive a second invitation to service the telephony request; and

forwarding the telephony request to the selected TAS.

2. The method of claim 1 further comprising waiting for expiration of a time-out period to receive responses from the proxy servers and if none of the proxy servers respond within the time-out period, then dropping the telephony request.

3. The method of claim 2 further comprising configuring each proxy server to respond to the first capability message after a randomized delay.

4. The method of claim 3 wherein configuring each proxy server comprises

using a random number generation (RNG) function to realize the randomized delay, wherein parameters of the RNG function are dependent upon an operating environment of the telephone communication system.

5. The method of claim 1 wherein forwarding the telephony request to the selected proxy server comprises:

determining whether there are TASes available to service the telephony request; and if there are no available TASes, dropping the telephony request.

6. The method of claim 5 wherein determining whether there are TASes available comprises maintaining a database indicating an operational status of each TAS.

7. The method of claim 1 wherein randomly selecting the subset of TASes comprises

using a random number generation (RNG) function to realize the random selection of TASes, wherein parameters of the RNG function are defined by a number of available TASes.

8. The method of claim 1 further comprising

waiting for expiration of a time-out period to receive responses from the subset of available TASes and if no responses are received within the time-out period, then dropping the telephony request.

9. The method of claim 1 further comprising

configuring the subset of available TASes to respond to the second capability message after a randomized delay.

10. The method of claim 9 wherein configuring each available TAS comprises:

using a random number generation, RNG, function to realize the randomized delay, wherein parameters of the RNG function are dependent upon an operating environment of the telephone communication system.

11. The method of claim 1 wherein configuring the plurality of components comprises:

configuring the proxy servers to provide operational status monitoring services; and

configuring the TASes to provide the telephony services.

12. The method of claim 1 wherein configuring the plurality of components comprises:

embodying computers executing software code, processes and services as the TASes, the proxy servers and the proxy router.

13. The method of claim 1 wherein forwarding the telephony request to the selected TAS comprises:

forwarding the telephony request to the selected TAS for servicing of the request upon receiving a response to the second invitation.

14. A system comprising:

a plurality of computer nodes embodied as telephone access servers (TASes) coupled to a proxy router via a plurality of proxy servers, each computer node having a network interface coupled to a network and a memory configured to store software executable by the computer node, so that:

the proxy router transmits a first capability message to the proxy servers in response to receiving a telephony request from the network;

the proxy router selects a proxy server to receive a first invitation to service the telephony request wherein the selected proxy server is one of the plurality of proxy servers that responds first to the first capability message;

the proxy router forwards the telephony request to the selected proxy server upon receiving a response to the first invitation;

the selected proxy server randomly selects a subset of the plurality of TASes, wherein the subset comprises two or more of the plurality of the TASes, to receive a second capability message;

the selected proxy server selects a TAS to receive a second invitation to service the telephony request wherein the selected TAS is one of the plurality of TASes that responds first to the second capability message; and

the selected proxy server forwards the telephony request to the selected TAS for servicing of the request upon receiving a response to the second invitation.

15. The system of claim 14 wherein the proxy router waits for expiration of a time-out period to receive responses from the proxy servers and if none of the proxy servers responds within the time-out period, then the proxy router drops the telephony request.

16. The system of claim 14 wherein each proxy server is configured to respond to the first capability message after a randomized delay.

17. The system of claim 16 wherein a random number generation (RNG) function realizes the randomized delay, and parameters of the RNG function are dependent upon an operating environment of the system.

18. The system of claim 14 wherein the selected proxy server is configured to determine whether there are any TASes available to service the telephony request and if there are no available TASes, the selected proxy server drops the telephony request.

19. The system of claim 14 wherein a random number generation (RNG) function realizes the random selection of TASes, and parameters of the RNG function are defined by a number of available TASes.

20. The system of claim 14 wherein the selected proxy server is configured to wait for expiration of a time-out period to receive responses from the subset of available TASes, and if none of the available TASes respond within the time-out period, the selected proxy server drops the telephony request.

21. The system of claim 14 wherein the network interface comprises mechanical, electrical and signaling circuitry to connect the node to the network.

22. A method comprising:

configuring a plurality of components of a telephone communication system to render telephony services, wherein the components include a plurality of telephone access servers (TASes) coupled to a proxy router;

in response to the proxy router receiving a telephony request, determining whether any one or more of the TASes is available to service the telephony request and if none of the TASes are available then dropping the telephony request;

if one or more of the TASes is available, then transmitting a capability message to a subset of the available TASes;

waiting a time-out period to receive responses from the subset of the available TASes and if none of the available TASes responds within the time-out period, then dropping the telephony request;

when a first responding TAS responds to the capability message, selecting the first responding TAS to receive an invitation to service the telephony request; and

forwarding the telephony request to the selected TAS for servicing of the request upon receiving a response to the invitation.

23. The method of claim 22 further comprising randomly selecting the subset of the available TASes to receive the capability message.

Assignments (5)
SECURITY INTEREST Recorded Aug 15, 2025
From: CONSENSUS CLOUD SOLUTIONS, LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 072491/0165 →
RELEASE OF SECURITY INTEREST Recorded Jul 9, 2025
From: U.S. BANK NATIONAL ASSOCIATION, AS SUCCESSOR TO MUFG UNION BANK, N.A.
To: CONSENSUS CLOUD SOLUTIONS, LLC F/K/A J2 CLOUD SERVICES, LLC
Reel/Frame 071889/0496 →
CHANGE OF NAME Recorded Jul 3, 2025
From: J2 CLOUD SERVICES, LLC
To: CONSENSUS CLOUD SOLUTIONS, LLC
Reel/Frame 071817/0306 →
SECURITY INTEREST Recorded Mar 9, 2022
From: J2 CLOUD SERVICES, LLC
To: MUFG UNION BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 059357/0003 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: ADVANCED MESSAGING TECHNOLOGIES, INC.
To: J2 CLOUD SERVICES, LLC
Reel/Frame 057937/0001 →