IP Library › Granted Patent US 10,348,908
Granted Patent B2
US 10,348,908 · App. 15/861,210 · Granted Jul 9, 2019

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/22Y02D10/36
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,348,908
App. No.
15/861,210
Granted
Jul 9, 2019
Kind
B2
Abstract

A method and system for operating a multitenancy telephony system including a call queue that stores call requests received from a plurality of users; an expandable and contractible telephony resource duster that establishes call sessions for call requests; a analysis system that calculates capacity requirements of the system; a resource allocator that manages the scaling and operation of the telephony resource cluster; and a plurality of telephony network channels that are used as telephony communication channels for call sessions.

Claims (37)

1. A method comprising:

receiving, by a multi-tenant communication platform system, a communication session request from an external server system;

in response to receiving the communication session request, allocating a resource to facilitate a communication session with a first telephony endpoint via a network channel of the multi-tenant communication platform system, the resource being one or more computing devices that facilitate communication sessions between devices;

establishing, using the resource, the communication session with the first endpoint via the network channel of the multi-tenant communication platform system;

storing, at the resource, a state of the communication call session, the state indicating a current status of the communication call session; and

in response to receiving an application programming interface (API) request that specifies an identifier of the generated resource, gathering the state of the communication session from the resource and providing the external server system with the state of the communication session in an application layer protocol message that is understood by the external server system.

2. The method of claim 1 , wherein the external server system provides the API request.

3. The method of claim 1 , wherein the multi-tenant communication platform system receives the communication session request from the external server system via an application layer protocol message.

4. The method of claim 1 , wherein the external server system is an application server system.

5. The method of claim 1 , wherein the multi-tenant communication platform system receives the API request via a message.

6. The method of claim 5 , wherein the message is an application layer protocol message.

7. The method of claim 1 , wherein the communication session request is a request of a first platform account of a plurality of platform accounts of the multi-tenant communication platform system.

8. A multi-tenant communication platform system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multi-tenant communication platform to perform operations comprising:

receiving a communication session request from an external server system;

in response to receiving the communication session request, allocating a resource to facilitate a communication session with a first telephony endpoint via a network channel of the multi-tenant communication platform system, the resource being one or more computing devices that facilitate communication sessions between devices;

establishing, using the resource, the communication session with the first endpoint via the network channel of the multi-tenant communication platform system;

storing, at the resource, a state of the communication call session, the state indicating a current status of the communication call session; and

in response to receiving an application programming interface (API) request that specifies an identifier of the generated resource, gathering the state of the communication session from the resource and providing the external server system with the state of the communication session in an application layer protocol message that is understood by the external server system.

9. The multi-tenant communication platform system of claim 8 , wherein the external server system provides the API request.

10. The multi-tenant communication platform system of claim 8 , wherein the multi-tenant communication platform system receives the communication session request from the external server system via an application layer protocol message.

11. The multi-tenant communication platform system of claim 8 , wherein the external server system is an application server system.

12. The multi-tenant communication platform system of claim 8 , wherein the multi-tenant communication platform system receives the API request via a message.

13. The multi-tenant communication platform system of claim 12 , wherein the message is an application layer protocol message.

14. The multi-tenant communication platform system of claim 8 , wherein the communication call session request is a request of a first platform account of a plurality of platform accounts of the multi-tenant communication platform system.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multi-tenant communication platform, cause the multi-tenant communication platform to perform operations comprising:

receiving a communication session request from an external server system;

in response to receiving the communication session request, allocating a resource to facilitate a communication session with a first telephony endpoint via a network channel of the multi-tenant communication platform system, the resource being one or more computing devices that facilitate communication sessions between devices;

establishing, using the resource, the communication session with the first endpoint via the network channel of the multi-tenant communication platform system;

storing, at the resource, a state of the communication call session, the state indicating a current status of the communication call session; and

in response to receiving an application programming interface (API) request that specifies an identifier of the generated resource, gathering the state of the communication session from the resource and providing the external server system with the state of the communication session in an application layer protocol message that is understood by the external server system.

16. The non-transitory computer-readable medium of claim 15 , wherein the external server system provides the API request.

17. The non-transitory computer-readable medium of claim 15 , wherein the multi-tenant communication platform system receives the communication session request from the external server system via an application layer protocol message.

18. The non-transitory computer-readable medium of claim 15 , wherein the external server system is an application server system.

19. The non-transitory computer-readable medium of claim 15 , wherein the multi-tenant communication platform system receives the API request via a message.

20. The non-transitory computer-readable medium of claim 19 , wherein the message is an application layer protocol message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: LAWSON, JEFF; WOLTHUIS, JOHN; COOKE, EVAN
To: TWILIO, INC.
Reel/Frame 044525/0648 →
Continuity (10)
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 61296270 · Jan 19, 2010
Provisional Application 61249493 · Oct 7, 2009
Provisional Application 61156758 · Mar 2, 2009
Related Publication 20180124250A1 · May 3, 2018
Cited By (2)
US 12,206,825 US 12,301,766