IP Library Granted Patent US 11,425,246
Granted Patent B2
US 11,425,246 · App. 17/175,405 · Granted Aug 23, 2022

Systems and methods for shifting call handling across multi-region service clusters

Inventors: James Shubin (San Francisco, CA); Benjamin Leznik (Los Gatos, CA)
Assignee: RingCentral, Inc.
H04M3/436H04L65/80H04M3/42068H04M3/5233H04M3/5235H04M3/567H04M15/88H04N7/147H04W24/02
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 11,425,246
App. No.
17/175,405
Granted
Aug 23, 2022
Kind
B2
Abstract

A system for handling calls in a network includes a memory storing instructions and a processor configured to execute the instructions to perform operations. The operations include receiving information about the calls for a time interval, determining, for the time interval, a total cost associated with handling the calls, including a network cost associated with transmitting data over the network, a processing cost for processing the information related to the calls, and a cost of dynamically reassigning master and slave roles to a plurality of nodes in the network. The operations further include determining an assignment of the master and slave roles for a plurality of accounts being handled by the plurality of nodes that results in the total cost having a minimum value, and implementing the optimal assignment among the plurality of the accounts based on the determination.

Claims (53)

1. A system for handling calls in a network, the system comprising:

a memory storing instructions; and

a processor configured to execute the instructions to perform operations comprising:

receiving information about calls during a time interval;

determining, for the time interval, a total cost associated with handling the calls allocated to nodes for processing the calls;

calculating a gradient of the total cost due to a reallocation of the calls to different nodes;

determining whether the total cost is reduced by at least a minimum required value when the calls are reallocated; and

reallocating the calls when the total cost is reduced below the minimum required value.

2. The system of claim 1 , wherein the total cost is calculated based on a call volume for the calls during the time interval, geographic origins of the calls, an assignment of master and slave roles to the nodes, a cost of wear-and-tear for a node due to traffic to the node, or a delay cost associated with a delay in assigning an agent to the calls.

3. The system of claim 1 , wherein the calls comprise one of an audio call, a text message, a video call, or a binary data stream.

4. The system of claim 1 , wherein the memory stores further instructions and wherein the processor is configured to execute the further instructions to perform further operations comprising:

receiving additional information about the calls, wherein receiving additional information comprises receiving information about a user, and wherein the information about the user includes at least a location at which the calls are being placed.

5. The system of claim 1 , wherein receiving the information about the calls comprises receiving information about at least an urgency of the calls.

6. The system of claim 1 , wherein the memory stores further instructions and wherein the processor is configured to execute the further instructions to perform further operations comprising:

reassigning master and slave roles to different nodes; and

wherein reallocating the calls comprises reallocating based on the reassigned master and slave roles.

7. The system of claim 6 , wherein a first node of the different nodes having the slave role is configured to communicate the information about the calls to a second node of the different nodes having the master role.

8. The system of claim 1 , wherein the memory stores further instructions and wherein the processor is configured to execute the further instructions to perform further operations comprising:

reassigning a master role to a node for an account, wherein the reassigning the master role comprises authorizing the node to make decisions for assigning agents to calls associated with the account; and

wherein the reallocating the calls comprises reallocating based on the reassigned master role for the node.

9. The system of claim 1 , wherein the memory stores further instructions and wherein the processor is configured to execute the further instructions to perform further operations comprising:

reassigning a slave role to a node for an account, wherein the reassigning the slave role comprises authorizing the node to collect information about users placing calls to the node; and

wherein the reallocating the calls comprises reallocating based on the reassigned slave role for the node.

10. A method for handling calls in a network, the method comprising:

receiving information about calls during a time interval;

determining, for the time interval, a total cost associated with handling the calls allocated to nodes for processing the calls;

calculating a gradient of the total cost due to a reallocation of the calls to different nodes;

determining whether the total cost is reduced by at least a minimum required value when the calls are reallocated; and

reallocating the calls when the total cost is reduced below the minimum required value.

11. The method of claim 10 , wherein the total cost is calculated based on a call volume for the calls during the time interval, geographic origins of the calls, an assignment of master and slave roles to the nodes, a cost of wear-and-tear for a node due to traffic to the node, or a delay cost associated with a delay in assigning an agent to the calls.

12. The method of claim 10 , wherein the calls comprise one of an audio call, a text message, a video call, or a binary data stream.

13. The method of claim 10 , further comprising:

receiving additional information about the calls, wherein receiving the additional information comprises receiving information about a user, and wherein the information about the user includes at least a location at which the calls are being placed.

14. The method of claim 10 , wherein receiving the information about the calls comprises receiving information about at least an urgency of the calls.

15. The method of claim 10 , further comprising:

reassigning master and slave roles to different nodes; and

wherein reallocating the calls comprises reallocating based on the reassigned master and slave roles.

16. The method of claim 15 , wherein a first node of the different nodes having the slave role is configured to communicate the information about the calls to a second node of the different nodes having the master role.

17. The method of claim 10 , further comprising:

reassigning a master role to a node for an account, wherein the reassigning the master role comprises authorizing the node to make decisions for assigning agents to calls associated with the account; and

wherein the reallocating the calls comprises reallocating based on the reassigned master role for the node.

18. The method of claim 10 , further comprising:

reassigning a slave role to a node for an account, wherein the reassigning the slave role comprises authorizing the node to collect information about users placing calls to the node; and

wherein the reallocating the calls comprises reallocating based on the reassigned slave role for the node.

19. A non-transitory, computer-readable medium storing instructions that, when executed by a processor, cause:

receiving information about calls during a time interval;

determining, for the time interval, a total cost associated with handling the calls allocated to nodes for processing the calls;

calculating a gradient of the total cost due to a reallocation of the calls to different nodes;

determining whether the total cost is reduced by at least a minimum required value when the calls are reallocated; and

reallocating the calls when the total cost is reduced below the minimum required value.

20. The non-transitory, computer-readable medium of claim 19 , storing further instructions that, when executed by the processor, cause:

reassigning master and slave roles to the different nodes; and

wherein the reallocating the calls comprises reallocating based on the reassigned master and slave roles.

Assignments (2)
SECURITY INTEREST Recorded Feb 14, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062973/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: SHUBIN, JAMES; LEZNIK, BENJAMIN
To: RINGCENTRAL, INC.
Reel/Frame 055250/0075 →
Continuity (2)
Continuation 16915811 · Jun 29, 2020
Related Publication 20210409541A1 · Dec 30, 2021