IP Library › Granted Patent US 10,419,891
Granted Patent B2
US 10,419,891 · App. 15/154,752 · Granted Sep 17, 2019

System and method for communicating through multiple endpoints

Inventors: Patrick Malatack (San Francisco, CA); Gowri Rao (San Francisco, CA); Kenneth Hoxworth (San Francisco, CA); Elaine Tsai (San Francisco, CA); Saurabh Daftary (San Francisco, CA); Triet Kha (San Francisco, CA); Julie Laver (San Francisco, CA)
Assignee: Twilio, Inc.
H04W4/06H04W4/025H04W4/14
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,419,891
App. No.
15/154,752
Granted
Sep 17, 2019
Kind
B2
Abstract

A system and method for a communication system that includes configuring a set of communication endpoints of an entity; distributing communication requests of an entity across the set of communication endpoints, comprising: receiving at least one communication request that specifies a set of destination endpoints; and for each of the set of destination endpoints, selecting a communication endpoint and establishing a communication with the destination endpoint from the selected communication endpoint.

Claims (61)

1. A method comprising:

configuring, by a communication platform, a set of communication endpoints associated with a first account of the communication platform, each communication endpoint from the set of communication endpoints associated with a unique phone number and enabled to facilitate communication with destination endpoints, the communication platform facilitating communications for multiple accounts;

receiving a first communication request and a second communication request associated with the first account, the first communication request specifying a first destination endpoint and the second communication request specifying a second destination endpoint;

determining whether either the first destination endpoint or the second destination endpoint previously received communications from any communication endpoints associated with the first account;

in response to determining that the first destination endpoint has previously received communications from a first communication endpoint associated with the first account, establishing a communication session with the first destination endpoint from the first communication endpoint, the communication session being established by a communication originating from the unique phone number associated with the first communication endpoint being transmitted to the first communication endpoint;

in response to determining that the second destination endpoint has not previously received communications from any communication endpoints associated with the first account:

determining a geographic location of the second destination endpoint;

selecting a second communication endpoint associated with the first account based on the geographic location of the second destination endpoint and a geographic location of the second communication endpoint; and

establishing a communication session with the second destination endpoint from the second communication endpoint.

2. The method of claim 1 , wherein configuring the set of communication endpoints associated with the first account of the communication platform comprises:

setting endpoint distribution configurations for the set of communication endpoints, wherein selecting a communication endpoint for at least a third communication request associated with the first account is at least partially determined by the endpoint distribution configurations.

3. The method of claim 1 , further comprising:

receiving a third communication request associated with the first account, the third communication request specifying a third destination endpoint;

selecting a third communication endpoint based at least in part on usage of the set of communication endpoints associated with a first account of the communication platform; and

establishing a communication session with the third destination endpoint from the third communication endpoint.

4. The method of claim 1 , wherein selecting the second communication endpoint

is further based on a determined usage of each respective communication endpoint from the set of communication endpoints associated with a first account of the communication platform.

5. The method of claim 1 , further comprising:

storing a mapping of the second communication endpoint and the second destination endpoint, the mapping used to prioritize selection of the second communication endpoint for future communication requests when multiple communication endpoints are geographically associated with a destination endpoint specified in one of the future communication requests.

6. The method of claim 1 , wherein at least one communication endpoint associated with the first account is also associated with a second account of the communication platform.

7. The method of claim 1 , further comprising:

augmenting content of the first communication request according to the first communication endpoint; and

augmenting content of the second communication request according to the second communication endpoint.

8. The method of claim 1 , wherein the first communication request specifies multiple destination endpoints.

9. The method of claim 1 , wherein establishing the communication session with the first destination endpoint comprises one of transmitting a short message service (SMS) and transmitting a multimedia messaging service (MMS) communication.

10. The method of claim 1 , wherein establishing the communication session with the first destination endpoint comprises establishing a synchronous voice session.

11. A communication platform 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 communication platform to perform operations comprising:

configuring a set of communication endpoints associated with a first account of the communication platform, each communication endpoint from the set of communication endpoints associated with a unique phone number and enabled to facilitate communication with destination endpoints, the communication platform facilitating communications for multiple accounts;

receiving a first communication request and a second communication request associated with the first account, the first communication request specifying a first destination endpoint and the second communication request specifying a second destination endpoint;

determining whether either the first destination endpoint or the second destination endpoint previously received communications from any communication endpoints associated with the first account;

in response to determining that the first destination endpoint has previously received communications from a first communication endpoint associated with the first account, establishing a communication session with the first destination endpoint from the first communication endpoint, the communication session being established by a communication originating from the unique phone number associated with the first communication endpoint being transmitted to the first communication endpoint;

in response to determining that the second destination endpoint has not previously received communications from any communication endpoints associated with the first account:

determining a geographic location of the second destination endpoint;

selecting a second communication endpoint associated with the first account based on the geographic location of the second destination endpoint and a geographic location of the second communication endpoint; and

establishing a communication session with the second destination endpoint from the second communication endpoint.

12. The communication platform of claim 11 , wherein configuring the set of communication endpoints associated with the first account of the communication platform comprises:

setting endpoint distribution configurations for the set of communication endpoints, wherein selecting a communication endpoint for at least a third communication request associated with the first account is at least partially determined by the endpoint distribution configurations.

13. The communication platform of claim 11 , the operations further comprising:

receiving a third communication request associated with the first account, the third communication request specifying a third destination endpoint;

selecting a third communication endpoint based at least in part on usage of the set of communication endpoints associated with a first account of the communication platform; and

establishing a communication session with the third destination endpoint from the third communication endpoint.

14. The communication platform of claim 11 , wherein selecting the second communication endpoint is further based on a determined usage of each respective communication endpoint from the set of communication endpoints associated with a first account of the communication platform.

15. The communication platform of claim 11 , the operations further comprising:

storing a mapping of the second communication endpoint and the second destination endpoint, the mapping used to prioritize selection of the second communication endpoint for future communication requests when multiple communication endpoints are geographically associated with a destination endpoint specified in one of the future communication requests.

16. The communication platform of claim 11 , wherein at least one communication endpoint associated with the first account is also associated with a second account of the communication platform.

17. The communication platform of claim 11 , further comprising:

augmenting content of the first communication request according to the first communication endpoint; and

augmenting content of the second communication request according to the second communication endpoint.

18. The communication platform of claim 11 , wherein the first communication request specifies multiple destination endpoints.

19. The communication platform of claim 11 , wherein establishing the communication session with the first destination endpoint comprises one of transmitting a short message service (SMS) and transmitting a multimedia messaging service (MMS) communication.

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

configuring a set of communication endpoints associated with a first account of the communication platform, each communication endpoint from the set of communication endpoints associated with a unique phone number and enabled to facilitate communication with destination endpoints, the communication platform facilitating communications for multiple accounts;

receiving a first communication request and a second communication request associated with the first account, the first communication request specifying a first destination endpoint and the second communication request specifying a second destination endpoint;

determining whether either the first destination endpoint or the second destination endpoint previously received communications from any communication endpoints associated with the first account;

in response to determining that the first destination endpoint has previously received communications from a first communication endpoint associated with the first account, establishing a communication session with the first destination endpoint from the first communication endpoint, the communication session being established by a communication originating from the unique phone number associated with the first communication endpoint being transmitted to the first communication endpoint;

in response to determining that the second destination endpoint has not previously received communications from any communication endpoints associated with the first account:

determining a geographic location of the second destination endpoint;

selecting a second communication endpoint associated with the first account based on the geographic location of the second destination endpoint and a geographic location of the second communication endpoint; and

establishing a communication session with the second destination endpoint from the second communication endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: MALATACK, PATRICK; RAO, GOWRI; HOXWORTH, KENNETH; TSAI, ELAINE; DAFTARY, SAURABH; KHA, TRIET; LAVER, JULIE
To: TWILIO, INC.
Reel/Frame 039895/0419 →
Continuity (3)
Provisional Application 62161726 · May 14, 2015
Provisional Application 62243795 · Oct 20, 2015
Related Publication 20160337819A1 · Nov 17, 2016
Cited By (2)
US 12,501,236 US 12,603,956