IP Library › Granted Patent US 11,165,853
Granted Patent B2
US 11,165,853 · App. 16/837,719 · Granted Nov 2, 2021

System and method for managing media in a distributed communication network

Inventors: Brian Tarricone (San Francisco, CA); John Wolthuis (San Francisco, CA); Jonas Boerjesson (Oakland, CA)
Assignee: Twilio Inc.
H04L67/10H04L45/22H04L65/103H04L65/1006H04L65/1069H04L65/1086H04L65/80H04L69/24H04L45/124H04W40/20
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,165,853
App. No.
16/837,719
Granted
Nov 2, 2021
Kind
B2
Abstract

A system and method for processing communication media in a regionally distributed communication platform that includes at a first platform region, establishing a communication session comprising establishing a media communication to at least one endpoint from the first region and establishing signaling communication to a second platform region; selecting a media resource in response to a change in media processing requirements of the communication session; when the selected media resource is outside the first region, routing media communication through a media resource outside of the first region; when the media resource is available in the first region, routing media communication through the media resource of the first region; and when the media resource is outside of the second region, storing the media communication in the first region at least temporarily and tunneling a branch of the media communication to a central media service in the second region.

Claims (43)

1. A method comprising:

receiving, at a communication processing server, a request to initiate a media communication session between a first endpoint and a second endpoint, the first endpoint being located in a first geographic region;

establishing, by the communication processing server, the media communication session between the first endpoint and the second endpoint;

storing a copy of media communications transmitted as part of the media communication session at the first geographic region; and

while media communications are transmitted between the first endpoint and the second endpoint as part of the media communication session, tunneling the copy of the media communications stored at the first geographic region to a first media resource located in a second geographic region, wherein the first media resource provides a first media service based on the copy of the media communications received from the first geographic region.

2. The method of claim 1 , wherein the communication processing server is located in the second geographic region.

3. The method of claim 1 , further comprising:

determining that a media resource providing the first media service is not available in the first geographic region.

4. The method of claim 1 , further comprising:

determining that a second media resource providing a second media service is located in the first geographic region; and

routing the media communication session through the second media resource located in the first geographic region.

5. The method of claim 1 , wherein tunneling the copy of the media communications stored at the first geographic region is independent of a media path of the media communication session between the first endpoint and the second endpoint.

6. The method of claim 1 , wherein the first media service is a recording service for the media communication session.

7. The method of claim 1 , wherein the first media service is a text-to-speech service for the media communication session.

8. The method of claim 1 , wherein the first media service is a speech recognition service for the media communication session.

9. A processing server 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 processing server to perform operations comprising:

receiving a request to initiate a media communication session between a first endpoint and a second endpoint, the first endpoint being located in a first geographic region;

establishing the media communication session between the first endpoint and the second endpoint;

storing a copy of media communications transmitted as part of the media communication session at the first geographic region; and

while media communications are transmitted between the first endpoint and the second endpoint as part of the media communication session, tunneling the copy of the media communications stored at the first geographic region to a first media resource located in a second geographic region, wherein the first media resource provides a first media service based on the copy of the media communications received from the first geographic region.

10. The processing server of claim 9 , wherein the communication processing server is located in the second geographic region.

11. The processing server of claim 9 , the operations further comprising:

determining that a media resource providing the first media service is not available in the first geographic region.

12. The processing server of claim 9 , the operations further comprising:

determining that a second media resource providing a second media service is located in the first geographic region; and

routing the media communication session through the second media resource located in the first geographic region.

13. The processing server of claim 9 , wherein tunneling the copy of the media communications stored at the first geographic region is independent of a media path of the media communication session between the first endpoint and the second endpoint.

14. The processing server of claim 9 , wherein the first media service is a recording service for the media communication session.

15. The processing server of claim 9 , wherein the first media service is a text-to-speech service for the media communication session.

16. The processing server of claim 9 , wherein the first media service is a speech recognition service for the media communication session.

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

receiving a request to initiate a media communication session between a first endpoint and a second endpoint, the first endpoint being located in a first geographic region;

establishing the media communication session between the first endpoint and the second endpoint;

storing a copy of media communications transmitted as part of the media communication session at the first geographic region; and

while media communications are transmitted between the first endpoint and the second endpoint as part of the media communication session, tunneling the copy of the media communications stored at the first geographic region to a first media resource located in a second geographic region, wherein the first media resource provides a first media service based on the copy of the media communications received from the first geographic region.

18. The non-transitory computer-readable medium of claim 17 , wherein the communication processing server is located in the second geographic region.

19. The non-transitory computer-readable medium of claim 17 , the operations further comprising:

determining that a media resource providing the first media service is not available in the first geographic region.

20. The non-transitory computer-readable medium of claim 19 , the operations further comprising:

determining that a second media resource providing a second media service is located in the first geographic region; and

routing the media communication session through the second media resource located in the first geographic region.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: TARRICONE, BRIAN; WOLTHUIS, JOHN; BOERJESSON, JONAS
To: TWILIO INC.
Reel/Frame 052288/0514 →
Continuity (8)
Continuation 16242415 · Jan 8, 2019
Continuation 15426474 · Feb 7, 2017
Continuation 14278952 · May 15, 2014
Continuation In Part 14176458 · Feb 10, 2014
Continuation 13891111 · May 9, 2013
Provisional Application 61823837 · May 15, 2013
Provisional Application 61644886 · May 9, 2012
Related Publication 20200228595A1 · Jul 16, 2020