IP Library Granted Patent US 8,509,415
Granted Patent B2
US 8,509,415 · App. 13/111,891 · Granted Aug 13, 2013

Method and system for a multitenancy telephony network

Inventors: Jeffrey Lawson (San Francisco, CA); John Wolthuis (San Francisco, CA); Evan Cooke (San Francisco, CA)
Assignee: Twilio, Inc.
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,509,415
App. No.
13/111,891
Granted
Aug 13, 2013
Kind
B2
Abstract

A system and method for operating a telephony application platform including a load balancer that receives application requests, a scalable plurality of telephony resources that includes a communication gateway to at least one application server and a communication gateway to at least one telephony device, and a resource allocation that scales the plurality of telephony resources according to capacity requirements of the application requests. A telephony resource of the plurality of telephony resources processes an application session initiated from an application request of a load balancer.

Claims (31)

1. A system for operating a telephony application platform comprising:

a load balancer that receives telephony application requests;

a scalable plurality of telephony resources, wherein a telephony resource processes a telephony application session initiated from a telephony application request of a load balancer, and the scalable plurality of telephony resources comprises a plurality of call routers where an application session is managed by at least one call router configured to process telephony application instructions, and wherein the plurality of telephony resources comprises a communication gateway to at least one application server using an application layer protocol and a communication gateway to at least one telephony device; and

a resource allocator that scales the plurality of telephony resources according to capacity requirements of the telephony application requests.

2. The system of claim 1 , wherein the communication gateway to the at least one telephony device is through a voice connection.

3. The system of claim 1 , wherein the communication gateway to the at least one telephony device is configured for a short message service (SMS) message protocol.

4. The system of claim 1 , wherein the telephony resources are on a shared computing platform.

5. The system of claim 1 , wherein the plurality of telephony resources further include a plurality of shared resources that are utilized by the plurality of call routers during a telephony application session.

6. The system of claim 5 , wherein the resource allocator scales the plurality of shared resources according to the requirements of the telephony application sessions of the plurality of call routers.

7. The system of claim 5 , wherein the plurality of shared resources includes media processing systems, proxy resources, and text-to-speech systems.

8. The system of claim 7 , further comprising a call router network that connects the plurality of call routers.

9. The system of claim 8 , wherein the telephony application session is partially managed by a second call router, and the system further comprising a service application that establishes an internal control connection between the at least one call router and the second call router.

10. The system of claim 8 , further comprising a queue that stores pending application requests and delivers serviced application requests to the load balancer.

11. A method for operating a telephony application platform comprising:

at the telephony application platform, distributing telephony application requests through a load balancer to a call router with sufficient capacity, wherein the call router is selected from a plurality of telephony resources;

the call router managing the application request comprising communicating through an application layer protocol with an application server, communicating with a telephony device, and processing telephony instructions of the application server; and

allocating additional call routers according to the capacity requirements of the telephony application requests.

12. The method of claim 11 , wherein communicating with a telephony device includes communicating through a public switched telephone network (PSTN).

13. The method of claim 11 , wherein communicating with a telephony device includes sending a short message service (SMS) message.

14. The method of claim 11 , further comprising a call router sending telephony application requests to a shared resource of a plurality of shared resources.

15. The method of claim 14 , further comprising scaling the plurality of shared resources according to overall application functionality requirements.

16. The method of claim 15 , wherein scaling shared resources includes allocating a shared resource, deallocating a shared resource, and reassigning use of a shared resource.

17. The method of claim 16 , further comprising a second call router managing a portion of a telephony application session initiated from a telephony application request between at least two call routers, and synchronizing the telephony application session between the at least two call routers through a service application.

18. The method of claim 16 , further comprising queuing incoming telephony application requests prior to distributing through the load balancer.

19. The system of claim 1 , wherein at least a portion of the telephony application requests are received from incoming communication of a telephony device and at least a portion of the telephony application requests are received from incoming API requests.

20. A system for operating a telephony application platform comprising:

a load balancer that receives telephony application requests, wherein at least a portion of telephony application requests are received from an incoming communication of a telephony device and at least a portion of telephony application requests are received from an incoming requests of an application programming interface (API);

a scalable plurality of telephony resources, wherein a telephony resource processes a telephony application session initiated from a telephony application request of a load balancer;

the plurality of telephony resources comprising a plurality of call routers where a processed application session is managed by at least one call router configured to process telephony application instructions, connect to an application server using an HTTP or HTTPS application layer protocol, and connect to at least one telephony device through a telephony protocol based communication gateway;

the plurality of telephony resources comprising a plurality of shared resources that are utilized by the plurality of call routers during a processed telephony application session, the shared resources comprising media processing systems, recorder systems, and text-to-speech systems; and

a resource allocator that scales the plurality of telephony resources according to capacity requirements of the telephony application requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2011
From: LAWSON, JEFFREY; WOLTHUIS, JOHN; COOKE, EVAN
To: TWILIO, INC.
Reel/Frame 026868/0837 →
Continuity (5)
Continuation In Part 12716127 · Mar 2, 2010
Provisional Application 61156758 · Mar 2, 2009
Provisional Application 61249493 · Oct 7, 2009
Provisional Application 61296270 · Jan 19, 2010
Related Publication 20110280390A1 · Nov 17, 2011