IP Library › Granted Patent US 11,240,381
Granted Patent B2
US 11,240,381 · App. 16/852,130 · Granted Feb 1, 2022

Method and system for a multitenancy telephone network

Inventors: Jeff Lawson (San Francisco, CA); John Wolthuis (San Francisco, CA); Evan Cooke (San Francisco, CA)
Assignee: Twilio Inc.
H04M7/0033G06F9/505G06F9/5077G06F9/5083H04L47/125H04L61/2564H04L65/1016H04L67/10H04L67/1008H04M1/2473H04M3/36H04M3/367H04M3/42323H04M3/51H04M3/5158H04M3/523H04M3/5235H04M7/006H04M15/34H04M2201/39H04M2201/40Y02D10/00
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,240,381
App. No.
16/852,130
Granted
Feb 1, 2022
Kind
B2
Abstract

A method and system for operating a multitenancy telephony system including receiving a plurality of call requests associated with an application server; selecting a subset of the received call requests using a load balancer; assigning each selected call request to one of a plurality of resources creating, on the assigned resource, a call session for each selected call request; and coordinating the created call sessions resulting from the selected subset of the received call requests associated with the application server.

Claims (39)

1. A method comprising:

receiving, at a resource cluster, a plurality of call requests from an application server, the plurality of call requests comprising a first call request to a first telephony device and a second call request to a second telephony device;

assigning, by a load balancer, the first call request to a first resource of the resource cluster and the second call request to a second resource of the resource cluster:

creating, for the first call request, a first call session on the first resource, the first call session between the application server and the first telephony device;

creating, for the second call request, a second call session on the second resource, the second call session between the application server and the second telephony device; and

coordinating, by the resource cluster, the created first call session and the created second call session.

2. The method of claim 1 , wherein the first resource and the second resource are hardware resources.

3. The method of claim 1 , wherein:

the coordinating of the created first call session and the created second call session comprises communicating messages to the first resource and the second resource in response to instructions received from the application server.

4. The method of claim 3 , wherein the messages are hang-up messages.

5. The method of claim 1 , wherein:

the coordinating of the created first call session and the created second call session comprises gathering commands from multiple telephone devices and providing the gathered commands to the application server.

6. The method of claim 5 , wherein the gathered commands are dual-tone multi-frequency (DTMF) commands.

7. The method of claim 5 , wherein the gathered commands are voice commands.

8. The method of claim 1 , wherein the application server is outside of the resource cluster.

9. The method of claim 1 , wherein the coordinating of the created first call session and the created second call session comprises hanging up the created first call session and the created second call session.

10. The method of claim 1 , wherein the coordinating of the created first call session and the created second call session comprises taking a vote using the created first call session and the created second call session.

11. The method of claim 1 , wherein the coordinating of the created first call session and the created second call session comprises bridging audio of the created first call session and the created second call session.

12. A system comprising:

a storage device that stores software; and

one or more processors configured by the software to perform operations comprising:

receiving, at a resource cluster, a plurality of call requests to an application server, each call request of the plurality of call requests being received from a telephony endpoint to the application server, the plurality of call requests comprising a first call request to a first telephony device and a second call request to a second telephony device;

assigning, by a load balancer, the first call request to a first resource of the resource cluster and the second call request to a second resource of the resource cluster;

creating, for the first call request, a first call session on the first resource, the first call session between the application server and the first telephony device;

creating, for the second call request, a second call session on the second resource, the second call session between the application server and the second telephony device; and

coordinating, by the resource cluster, the created first call session and the created second call session.

13. The system of claim 12 , wherein the first resource and the second resource are call routers.

14. The system of claim 12 , wherein:

the coordinating of the created first call session and the created second call session comprises communicating messages to the first resource and the second resource in response to instructions received from the application server.

15. The system of claim 14 , wherein the messages are hang-up messages.

16. The system of claim 12 , wherein:

the coordinating of the created first call session and the created second call session comprises gathering commands from multiple telephone devices and providing the gathered commands to the application server.

17. The system of claim 16 , wherein the gathered commands are dual-tone multi-frequency (DTMF) commands.

18. A non-transitory storage device that stores software that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, at a resource cluster, a plurality of call requests from an application server, the plurality of call requests comprising a first call request to a first telephony device and a second call request to a second telephony device;

assigning, by a load balancer, the first call request to a first resource of the resource cluster and the second call request to a second resource of the resource cluster;

creating, for the first call request, a first call session on the first resource, the first call session between the application server and the first telephony device;

creating, for the second call request, a second call session on the second resource, the second call session between the application server and the second telephony device; and

coordinating, by the resource cluster, the created first call session and the created second call session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2020
From: LAWSON, JEFF; WOLTHUIS, JOHN; COOKE, EVAN
To: TWILIO INC.
Reel/Frame 052434/0933 →
Continuity (12)
Continuation 16433093 · Jun 6, 2019
Continuation 15861210 · Jan 3, 2018
Continuation 15445645 · Feb 28, 2017
Continuation 15097206 · Apr 12, 2016
Continuation 14626427 · Feb 19, 2015
Continuation 14158281 · Jan 17, 2014
Continuation 13632872 · Oct 1, 2012
Continuation 12716127 · Mar 2, 2010
Provisional Application 61156758 · Mar 2, 2009
Provisional Application 61249493 · Oct 7, 2009
Provisional Application 61296270 · Jan 19, 2010
Related Publication 20200244810A1 · Jul 30, 2020
Cited By (1)
US 12,301,766