IP Library Granted Patent US 9,160,696
Granted Patent B2
US 9,160,696 · App. 14/273,397 · Granted Oct 13, 2015

System for transforming media resource into destination device compatible messaging format

Inventors: Thomas Wilsher (San Francisco, CA); Patrick Malatack (San Francisco, CA); Rajiv Puranik (San Francisco, CA); Cheuk To Law (San Francisco, CA)
Assignee: Twilio, Inc.
H04L51/10G06F17/2247G06F17/30861H04L12/287H04L12/2856H04L29/08144H04L65/602H04N21/2343
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 9,160,696
App. No.
14/273,397
Granted
Oct 13, 2015
Kind
B2
Abstract

Systems and methods for sending a media message from a communication platform receiving a messaging request to transmit media message to a destination endpoint, wherein the request includes a specified media content universal resource identifier (URI); retrieving a media resource from the URI, wherein the media resource is retrieved from a application layer request including a set of context data relating to the messaging request; transforming the media resource into a messaging formatted media resource; and transmitting the formatted media resource to a destination in a media message.

Claims (46)

1. A method for programmatically sending a media message from a communication platform comprising:

receiving an inbound application programming interface (API) messaging request that instructs the transmission of a message to a destination telephony endpoint with at least one referenced media item, wherein the messaging request includes a specified media content universal resource identifier (URI);

querying destination device information of the destination telephony endpoint;

querying a cache for a device compatible media resource mapped to the URI and the destination device information

when a formatted media resource is not cached, retrieving a media file from the URI, wherein the web document is requested while sending a set of context data relating to the request;

transforming the media resource into a messaging formatted media resource, which comprises transcoding the media resource and converting the media resource into a device compatible format according to the destination device information;

when the formatted media resource is identified when querying the cache, selecting the cached media resource as the formatted media resource; and

transmitting the formatted media resource to the destination telephony endpoint in a media message through a telephony messaging protocol.

2. The method of claim 1 , further comprising caching the formatted media resource; and further comprising querying the cache for a device compatible media resource according to the URI and the destination device information and transmitting the cached media resource to the destination when a cached media resource is identified.

3. The method of claim 2 , wherein transmitting the media resource to a destination according to the media message request comprises at least one of:

transmitting a multimedia messaging service (MMS) message; and

transmitting the message through an internet protocol messaging protocol.

4. A method for programmatically sending a media message from a communication platform comprising:

at the communication platform, receiving a messaging request to transmit at least one media message to a destination telephony endpoint, wherein the request includes a specified media content universal resource identifier (URI);

at the communication platform, retrieving a media resource from the URI, wherein the media resource is retrieved from an application layer request including a set of context data relating to the messaging request;

at the communication platform, transforming the media resource into a messaging formatted media resource by transcoding the media resource and converting the media resource into a device compatible format according to destination device information of the destination telephony endpoint; and

at the communication platform, transmitting the formatted media resource to the destination telephony endpoint in a media message through an asynchronous messaging protocol,

wherein receiving a media messaging request at the communication platform comprises at least one of:

receiving an inbound application programming interface (API) request;

processing an application directive; and

triggering access of a response resource configured to an endpoint of the communication platform in response to an inbound communication.

5. The method of claim 4 , further comprising caching the media resource in the device compatible format; and further comprising querying the cache for a device compatible media resource according to the URI and the destination device information; and transmitting the cached media resource to the destination telephony endpoint when a cached media resource is identified.

6. The method of claim 4 , wherein the inbound API request instructs the transmission of a message to the destination with at least one referenced media item.

7. The method of claim 4 , wherein the application directive instructs the transmission of a message to the destination with at least one referenced media item.

8. The method of claim 4 , further comprising, at the communication platform, receiving the inbound communication to the endpoint of the communication platform, wherein the endpoint of the communication platform is configured with the response resource; and wherein the destination telephony endpoint is the origin endpoint of the inbound communication.

9. The method of claim 4 , wherein the media resource is an image.

10. The method of claim 4 , wherein the media resource is a video.

11. The method of claim 4 , wherein retrieving a media resource from the URI comprises retrieving a media resource through an application layer service with session state management, wherein sessions are scoped according to endpoint-to-endpoint pairs and an expiration time.

12. The method of claim 4 wherein retrieving a media resource from the URI comprises transmitting the application layer request with authentication credentials.

13. The method of claim 4 , further comprising when retrieving the media resource from the URI fails, retrieving the media resource from a secondary media URI.

14. The method of claim 4 , wherein the messaging request includes at least a second destination; and wherein the method further comprises transmitting the media resource to at least the second destination.

15. The method of claim 4 , further comprising detecting a content type of the media resource as a web content document; and when the media resource is a web content document, obtaining a set of web content resources associated with the web content document, rendering the set of web content resources, and converting the rendered set of web content resources into a formatted media resource.

16. The method of claim 4 , wherein the destination telephony endpoint includes at least one of a phone number, a short code, a SIP address, and a username of an OTT service.

17. The method of claim 16 , wherein the inbound application programming interface (API) request is provided by a system that is different from a system of the destination telephony endpoint.

18. A method for programmatically sending a media message from a communication platform comprising:

receiving an inbound application programming interface (API) messaging request that instructs the transmission of a message to a destination telephony endpoint with at least one referenced media item, wherein the messaging request includes a specified media content universal resource identifier (URI);

querying destination device information of the destination telephony endpoint;

querying a cache for a device compatible media resource mapped to the URI and the destination device information

when a formatted media resource is not cached, retrieving a media resource from the URI, wherein the media resource is requested while sending a set of context data relating to the request;

transforming the media resource into a messaging formatted media resource, which comprises transcoding the media resource and converting the media resource into a device compatible format according to the destination device information;

when the formatted media resource is identified when querying the cache, selecting the cached media resource as the formatted media resource; and

transmitting the formatted media resource to the destination telephony endpoint in a media message through a telephony messaging protocol.

19. The method of claim 18 , wherein transmitting the media resource to a destination according to the media message request comprises at least one of:

transmitting the message through an internet protocol messaging protocol; and

transmitting a multimedia messaging service (MMS) message.

20. The method of claim 18 , wherein the inbound application programming interface (API) request is provided by a system that is different from a system of the destination telephony endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2015
From: WILSHER, THOMAS; MALATACK, PATRICK; PURANIK, RAJIV; LAW, CHEUK TO
To: TWILIO, INC.
Reel/Frame 035437/0254 →
Continuity (3)
Provisional Application 61836937 · Jun 19, 2013
Provisional Application 61879006 · Sep 17, 2013
Related Publication 20140379823A1 · Dec 25, 2014