IP Library › Granted Patent US 10,057,734
Granted Patent B2
US 10,057,734 · App. 14/964,325 · Granted Aug 21, 2018

System and method for transmitting and receiving media messages

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.
H04W4/14H04L12/287H04L12/2856H04L29/08144H04L51/10H04L51/18H04L65/602H04L67/02H04N21/2343G06F17/2247G06F17/24G06F17/30017G06F17/30861
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,057,734
App. No.
14/964,325
Granted
Aug 21, 2018
Kind
B2
Abstract

Systems and methods for a communication platform that includes receiving a media message request; obtaining a set of web content resources associated with the media message request; rendering the set of web content resources; converting the rendered set of web content resources into a media resource; and transmitting the media resource to a destination according to the media message request.

Claims (40)

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

processing an application directive of a communication application that instructs the transmission of a multimedia messaging service message with a media resource to a destination endpoint, wherein the application directive of the communication application includes a specified media content universal resource identifier (URI);

retrieving a web document of the content URI, wherein the web document is requested while sending a set of MMS message context data and wherein the web document includes a specified control parameter, and retrieving a set of web content resources and at least one executable content referenced in the web document;

executing each executable content to generate a respective dynamic web content resource;

generating rendered content by rendering the web document, the set of web content resources, and each dynamic web content resource in a simulated browser view;

converting the rendered content into the media resource, according to the control parameter by creating at least one of audio, at least one image, and video from the rendered content; and

transmitting the media resource to the destination endpoint in a multimedia messaging service (MMS) message.

2. The method of claim 1 , wherein converting the rendered content into the media resource comprises: taking a screenshot of the rendered content to generate the media resource.

3. A method for a communication platform comprising:

processing an application directive of a communication application that instructs the transmission of a message with a media resource to a destination endpoint by obtaining a set of web content resources;

obtaining the set of web content resources and at least one executable content associated with the application directive;

executing each executable content to generate a respective dynamic web content resource;

generating rendered content by rendering the set of web content resources and each dynamic web content resource by using a headless browser;

converting the rendered content into a media resource by creating at least one of audio, at least one image, and video from the rendered content; and

transmitting the media resource to the destination endpoint according to the application directive.

4. The method of claim 3 , wherein obtaining a set of web content resources comprises receiving a hypertext markup language data object and retrieving referenced web resources of the hypertext markup language data object.

5. The method of claim 3 , wherein the application directive specifies an associated content universal resource identifier (URI); and wherein obtaining a set of web content resources comprises executing content retrieval of the content URI.

6. The method of claim 5 , wherein converting the rendered content comprises creating an image from the rendered content.

7. The method of claim 5 , wherein converting the rendered content comprises creating a video from the rendered content over a duration of time.

8. The method of claim 5 , wherein a parameter specified in the retrieved web content resources specifies a media format; and wherein converting the rendered content comprises selectively rendering to a media format from a set of output media resource formats that includes an image, video, and an original media format.

9. The method of claim 5 , wherein executing content retrieval from the content URI comprises transmitting metadata associated with the application directive.

10. The method of claim 9 , further comprising facilitating web content resource caching and session state management when executing content retrieval from the content URI.

11. The method of claim 10 , wherein session state management scopes state according to endpoint-to-endpoint pairs and an expiration time.

12. The method of claim 9 , wherein the metadata includes device information of the destination endpoint; wherein rendering the set of web content resources comprises rendering the set of web content resources according to the device information.

13. The method of claim 5 , wherein the application directive specifies at least a second destination; and wherein the first set of web content is obtained, rendered, and transmitted to the first endpoint; and further comprising: obtaining a second set of web content resources associated with the second destination; rendering the second set of web content resources; converting the second rendered set of web content resources into a second media resource; and transmitting the second media resource to the second destination.

14. The method of claim 3 , wherein transmitting the media resource to a destination according to the application directive comprises transmitting a multimedia messaging service (MMS) message.

15. The method of claim 3 , wherein transmitting the media resource to a destination according to the application directive comprises transmitting the message through internet protocol messaging protocol.

16. The method of claim 3 , wherein the headless browser lacks a browser graphical user interface.

17. A method for a communication platform comprising:

at the communication platform, processing a media message request, wherein the media message request is a request to transmit a media resource by obtaining at least one executable web content;

at the communication platform, obtaining at least one executable web content associated with the media message request;

at the communication platform, executing each executable web content to generate a respective dynamic web content;

at the communication platform, generating rendered content by rendering each dynamic web content using a headless browser;

at the communication platform, converting the rendered content into a media resource by creating at least one of audio, at least one image, and video from the rendered content; and

at the communication platform, transmitting the media resource to a destination endpoint according to the media message request,

wherein the headless browser lacks a browser graphical user interface, and

wherein each executable web content is executed by using the headless browser.

18. The method of claim 17 , wherein the media message request is an application directive of a communication application of the communication platform.

19. The method of claim 17 , wherein the media message request is an inbound application programming interface (API) request.

20. The method of claim 17 , wherein the communication platform obtains each executable web content from an external server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2015
From: WILSHER, THOMAS; MALATACK, PATRICK; PURANIK, RAJIV; TO LAW, CHEUK
To: TWILIO, INC.
Reel/Frame 037343/0402 →
Continuity (4)
Continuation 14273393 · May 8, 2014
Provisional Application 61836937 · Jun 19, 2013
Provisional Application 61879006 · Sep 17, 2013
Related Publication 20160094962A1 · Mar 31, 2016
Cited By (1)
US 12,341,854