Patents Assigned to Twilio, Inc.
  • Patent number: 9491309
    Abstract: A system and method of a telephony application platform can include receiving a communication session request specifying a destination endpoint, connecting the communication session through a first application module according to the destination endpoint, receiving an instruction to transition communication control to a second application module, transitioning communication control of the communication session to the second application module, independently metering resource usage of the communication session of each application module, and accounting the metered usage of the communication session.
    Type: Grant
    Filed: November 5, 2015
    Date of Patent: November 8, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9483328
    Abstract: A system and method for messaging application content that includes providing an application content messaging application programming interface (API); receiving a content delivery request from an account, through the application content messaging API; retrieving device information of a destination endpoint specified in the content delivery request; based on the device information, selecting an application content format from a set of formats and obtaining application content in the application content format; and transmitting the application content.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: November 1, 2016
    Assignee: Twilio, Inc.
    Inventors: Patrick Malatack, Cheuk To Law, Thomas Wilsher
  • Patent number: 9477975
    Abstract: A multi-tenant media processing platform system and method. At least a first media analysis service of a plurality of media analysis services is activated for at least a portion of an active communication session of an entity in the platform system. The first activated media analysis service performs a first media analysis on media of the active communication session that is collected by the platform system. The first activated media analysis service performs the first media analysis on the collected media while the communication session is active to generate a first media analysis result. During the active communication session, at least one media analysis result is applied.
    Type: Grant
    Filed: February 2, 2016
    Date of Patent: October 25, 2016
    Assignee: Twilio, Inc.
    Inventor: Jeff Lawson
  • Patent number: 9459925
    Abstract: A method and system for managing a computing cluster including hosting a plurality of machines in a networked computing cluster, wherein the plurality of machines include service instances running on hosts, where the services have configured machine state; and wherein machine state includes configuration data and software of the machine; integrating the plurality of machines of the cluster with at least one configuration controller component; and the at least one configuration controller component, altering the machine state of at least one service instance.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: October 4, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey G. Lawson, John Wolthuis, Evan Mansfield Cooke
  • Patent number: 9459926
    Abstract: A method and system for managing a computing cluster including hosting a plurality of machines in a networked computing cluster, wherein the plurality of machines include service instances running on hosts, where the services have configured machine state; and wherein machine state includes configuration data and software of the machine; integrating the plurality of machines of the cluster with at least one configuration controller component; and the at least one configuration controller component, altering the machine state of at least one service instance.
    Type: Grant
    Filed: May 9, 2012
    Date of Patent: October 4, 2016
    Assignee: Twilio, Inc.
    Inventors: Bulat Shakirzyanov, Keith A. Davidson, Evan Cooke, Jeffrey G. Lawson
  • Patent number: 9456008
    Abstract: In one embodiment, the method of processing telephony sessions includes: communicating with an application server using an application layer protocol; processing telephony instructions with a call router; and creating call router resources accessible through a call router Application Programming Interface (API). In another embodiment, the system for processing telephony sessions includes: a call router, a URI for an application server, a telephony instruction executed by the call router, and a call router API resource.
    Type: Grant
    Filed: August 14, 2014
    Date of Patent: September 27, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9455949
    Abstract: A method for processing telephony sessions of a network including at least one application server and a call router, the method including the steps of assigning a primary Uniform Resource Identifier (URI) and at least a secondary URI to an application; mapping a telephony session to the primary URI; communicating with the application server designated by the primary URI using an application layer protocol; receiving telephony instructions from the application server and processing the telephony instructions with the call router; detecting an application event; and upon detecting the application event, communicating with the application server designated by the secondary URI.
    Type: Grant
    Filed: February 10, 2014
    Date of Patent: September 27, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9407597
    Abstract: An embodiment of the system for publishing events of a telephony application to a client includes a call router that generates events from the telephony application and an event router that manages the publication of events generated by the call router and that manages the subscription to events by clients. The system can be used with a telephony application that interfaces with a telephony device and an application server.
    Type: Grant
    Filed: January 7, 2015
    Date of Patent: August 2, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9398622
    Abstract: A method and system for connecting a communication to a client including at a system bridge, establishing a client subscription connection with a client device; receiving an incoming communication request at the system bridge; publishing an incoming communication notification from the system bridge to the client device; receiving a client communication at the system bridge; and merging the incoming communication request into the client communication at the system bridge.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: July 19, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey G. Lawson, John Wolthuis, Evan Mansfield Cooke, Jonas Boerjesson
  • Patent number: 9363301
    Abstract: A multi-tenant media communication platform system and methods. The platform system includes media communication micro-services and micro-service configuration for a plurality of entities configured for use of the platform system. Enrolling an entity in the platform system includes setting entity configuration for use of the platform system by the entity. A micro-service request is processed according to the entity configuration. The micro-service request is a request for use of at least one micro-service of the platform system on behalf of the entity. Use of each micro-service is accounted for on behalf of the entity. Billing information for the entity is generated based on the accounting for the use of each micro-service on behalf of the entity. Entity configuration includes micro-service configuration, and micro-service configuration specifies at least one of: an endpoint mapping to at least one application logic URI, an event callback URI, and an event application logic URI.
    Type: Grant
    Filed: October 21, 2015
    Date of Patent: June 7, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey Lawson, John Wolthius
  • Patent number: 9357047
    Abstract: A method and system for operating a multitenancy telephony system including a call queue that stores call requests received from a plurality of users; an expandable and contractible telephony resource cluster that establishes call sessions for call requests; a analysis system that calculates capacity requirements of the system; a resource allocator that manages the scaling and operation of the telephony resource cluster; and a plurality of telephony network channels that are used as telephony communication channels for call sessions.
    Type: Grant
    Filed: February 19, 2015
    Date of Patent: May 31, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9350642
    Abstract: A system and method of preferred embodiments include at a signaling gateway of a first region, receiving a communication invitation of a first endpoint from a communication provider; signaling the communication invitation to a communication-processing server in a second region; in response to communication processing of the communication-processing server, dynamically directing signaling and media of the communication according to processing instructions and resources available in at least the first and two regions; wherein dynamically directing signaling and media communication of the communication comprises selectively routing media communication exclusively through communication resources of the first region if resources are available in the first region or selectively routing media communication between the first endpoint, the gateway, and at least the communication-processing server if media resources are not in the first region.
    Type: Grant
    Filed: February 10, 2014
    Date of Patent: May 24, 2016
    Assignee: Twilio, Inc.
    Inventors: Christer Fahlgren, Jonas Boerjesson, John Wolthuis, Peter Shafton
  • Patent number: 9344573
    Abstract: Systems and methods for a work distribution service. At a multi-tenant platform that provides a work distribution service for a plurality of external systems, a priority is assigned to a first work item of a first external system. The work item is received via a RESTful work item API call request. The priority is assigned based on work item attributes of the work item and a workflow instruction corresponding to workflow information specified by the work item. The workflow instruction is provided by the external system via a RESTful Workflow API. A worker is assigned to the work item based on: the priority of the work item, the workflow information, and worker state managed by the first external system via a RESTful Worker API. The worker state includes worker attributes. The work item is generated by the external system, and the workflow instruction is managed by the external system.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: May 17, 2016
    Assignee: Twilio, Inc.
    Inventors: John Wolthuis, Robert Brazier
  • Patent number: 9338280
    Abstract: A system and method for managing an endpoint repository of a communication platform that includes managing a set of telephone endpoints that can be in an allocated state or an unallocated state; classifying endpoints of the set of telephone endpoints with a set of classifiers; evaluating endpoint inventory across a set of endpoint classification groupings and detecting at least one classification grouping that, based in part on the allocated and unallocated state of corresponding endpoints, satisfies an inventory update condition; generating an endpoint transfer request that specifies the endpoint classifiers of the classification grouping; and selectively adding endpoints from the inventory source to the endpoint repository.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: May 10, 2016
    Assignee: Twilio, Inc.
    Inventors: Timothy S. Milliron, Adam Ballai, Christopher Corcoran
  • Patent number: 9338064
    Abstract: A system and method that includes managing a computer cluster with a plurality of machines of a first version in an active configuration; adding at least one machine of a second version to the computer cluster; monitoring the operational status of the machine of a second version; and transitioning the computer cluster to use the machine of a second version in an active configuration.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: May 10, 2016
    Assignee: Twilio, Inc.
    Inventors: Frank Stratton, Thomas Wilsher, Cheuk To Law
  • Patent number: 9338018
    Abstract: A system and method that include receiving a communication pricing query; mapping the communication pricing query to a billable item; resolving a price of a billable item within a set of hierarchically defined pricing models with sparse overrides, wherein each pricing model is defined for a set of billable items; and returning the price of the billable item in a response to the communication pricing query.
    Type: Grant
    Filed: September 17, 2014
    Date of Patent: May 10, 2016
    Assignee: Twilio, Inc.
    Inventors: Robert Hageman, Adam Ballai, Timothy S. Milliron
  • Patent number: 9336500
    Abstract: A system and method for authorizing application use of a user that can include creating a developer account associated with an application of an application platform; receiving an authorization request to authorize the application to act on a user account; creating a subaccount of a user, wherein the subaccount is associated with the developer account; creating an authorization record, that includes setting a permission profile for the subaccount; and returning a subaccount identifier to the developer.
    Type: Grant
    Filed: September 21, 2012
    Date of Patent: May 10, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey Lawson, Evan Cooke, Frank Stratton, Timothy S. Milliron, Matthew David Nowack
  • Patent number: 9325624
    Abstract: A system and method that includes receiving a messaging request that includes communication intent parameters and a set of communication destinations, wherein the messaging request is authenticated as a request of a first account; dynamically transforming messages according to individual communication destinations, wherein for the set of communication destinations: selecting a communication mode according to communication intent parameters, transforming content of the messaging request, and transmitting transformed content to a destination endpoint in the selected communication mode.
    Type: Grant
    Filed: September 17, 2014
    Date of Patent: April 26, 2016
    Assignee: Twilio, Inc.
    Inventors: Patrick Malatack, Thomas Wilsher, Cheuk To Law, Gowri Rao
  • Patent number: 9319857
    Abstract: A system and method for triggering on platform usage can include at a platform, receiving and storing a trigger configuration of an account; operating a platform comprising internally executing a process on behalf of an account and publishing at least one event when executing the process; at the platform, incrementing a counter in response to the at least one event and if the stored trigger configuration species a usage key associated with a category of counted events of the at least one event; monitoring counters in a context of an associated trigger; and processing the trigger upon the counter satisfying condition of an associated trigger.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: April 19, 2016
    Assignee: Twilio, Inc.
    Inventors: Evan Cooke, Timothy Milliron, Adam Ballai, Matthew D Nowack, Robert C Hagemann, III
  • Patent number: 9307094
    Abstract: A system and method that includes receiving a communication request of an account, the communication request including communication properties; identifying at least two routing options of a route priority list, the routing options capable of completing the communication request and identified according to a priority heuristic; generating a communication cost from the communication properties; and upon receipt of the routing response and the communication cost response, executing a communication with a routing option of the routing priority list and committing a cost of the communication to the account.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: April 5, 2016
    Assignee: Twilio, Inc.
    Inventors: Matthew D Nowack, Patrick Malatack, Thomas Wilsher, Chad Selph