Patents Assigned to Twilio, Inc.
  • Patent number: 9628624
    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: April 15, 2016
    Date of Patent: April 18, 2017
    Assignee: Twilio, Inc.
    Inventors: John Wolthuis, Robert Brazier
  • Patent number: 9621733
    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: April 12, 2016
    Date of Patent: April 11, 2017
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9614972
    Abstract: A system and method for preventing illicit use of a telephony platform that includes enrolling a plurality of accounts on a telecommunications platform, wherein an account includes account configuration; at a fraud detection system of the telecommunications platform, receiving account usage data, wherein the usage data includes at least communication configuration data and billing configuration data of account configuration and further includes communication history of the plurality of accounts; calculating fraud scores of a set of fraud rules from the usage data, wherein at least a sub-set of the fraud rules include conditions of usage data patterns between at least two accounts; detecting when the fraud scores of an account satisfy a fraud threshold; and initiating an action response when a fraud score satisfies the fraud threshold.
    Type: Grant
    Filed: January 13, 2016
    Date of Patent: April 4, 2017
    Assignee: Twilio, Inc.
    Inventors: Adam Ballai, Robert C. Hagemann, III, Daniel Zarick
  • Publication number: 20170093992
    Abstract: Systems and methods for a conferencing system. Responsive to a new conference request received at a conference orchestration service, participants of the conference and participant regions for each determined participant are determined. A mixer topology is generated that specifies an assignment of each determined participant to at least one input channel of a plurality of mixers. A mixer state manager generates the mixer topology based on the determined participant regions and at least one regional association of a mixer. Media of each determined participant is routed to the assigned at least one input channel according to the generated mixer topology by using the conference orchestration service. The mixer state manager generates the topology responsive to a request provided by the conference state manager. The conference orchestration service receives the generated mixer topology from the mixer state manager via the conference state manager.
    Type: Application
    Filed: December 12, 2016
    Publication date: March 30, 2017
    Applicant: Twilio, Inc.
    Inventors: Christer Fahlgren, Nico Acosta Amador
  • Publication number: 20170093688
    Abstract: A system and method for regional routing of internet protocol based real-time communication that includes registering a set of client application endpoint routes, comprising registering at least a first client gateway route of a first endpoint in a first region; receiving a communication invitation of the first endpoint; processing a set of communication instructions associated with the communication invitation and identifying a set of communication resources and at least a second endpoint; querying the client application endpoint routes and identifying a client gateway route of the second endpoint; and dynamically directing signaling path and media path of the communication according to the regional availability of the communication resources, the client gateway route of the first endpoint, and client gateway instance route of the second endpoint.
    Type: Application
    Filed: December 12, 2016
    Publication date: March 30, 2017
    Applicant: Twilio, Inc.
    Inventors: Brian Tarricone, Edward Kim, Ameya Lokare, Jonas Borjesson
  • Patent number: 9602586
    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.
    Type: Grant
    Filed: May 15, 2014
    Date of Patent: March 21, 2017
    Assignee: Twilio, Inc.
    Inventors: Brian Tarricone, John Wolthuis, Jonas Boerjesson
  • Patent number: 9596274
    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 24, 2016
    Date of Patent: March 14, 2017
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9588974
    Abstract: Systems and methods for a multitenant computing platform. Original data is generated through operation of a computing platform system on behalf of an account of the computing platform system, and the original data is moderated according to a data retention policy set for the account. The moderated data is stored at the computing platform system. The computing platform system moderates the generated data by securing sensitive information of the generated data from access by the computing platform system, and providing operational information from the generated data. The operational information is accessible by the computing platform system during performance of system operations.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: March 7, 2017
    Assignee: Twilio, Inc.
    Inventors: Adam Ballai, Timothy S. Milliron
  • Patent number: 9590849
    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: March 7, 2017
    Assignee: Twilio, Inc.
    Inventors: Bulat Shakirzyanov, Keith A Davidson, Evan Cooke, Jeffrey Lawson
  • Patent number: 9591033
    Abstract: In a preferred embodiment, the method of caching media used in a telephony application includes: receiving a media request; sending the media request to a media layer using HTTP; the a media layer performing the steps of checking in a cache for the media resource; processing the media request within a media processing server; and storing the processed media in the cache as a telephony compatible resource specified by a persistent address. The system of the preferred embodiment includes a call router and a media layer composed of a cache and media processing server.
    Type: Grant
    Filed: February 22, 2016
    Date of Patent: March 7, 2017
    Assignee: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Publication number: 20170048306
    Abstract: Systems and methods for updating a communication routing engine of a multi-tenant communication platform system. Responsive to a feedback message provided by an external system associated with a first account of the communication platform system, a communication routing engine of the communication platform system is updated based on the received feedback message. The feedback message relates to a first communication initiated on behalf of the first account of the communication platform system, and the first communication is initiated with a first communication route. The updated communication routing engine routes communications of a plurality of accounts of the communication platform system.
    Type: Application
    Filed: October 28, 2016
    Publication date: February 16, 2017
    Applicant: Twilio, Inc.
    Inventor: Nicolas Acosta Amador
  • Publication number: 20170048386
    Abstract: A system and method for communicating presence information that can include at a first server of a communication platform, receiving an authorization token of a first client application; verifying at least one permission associated with the authorization token; registering a presence status of the first client application upon verifying the at least one permission of the authorization token; at a second server of the communication platform, accepting an incoming communication request; retrieving communication instructions according to the incoming communication request; identifying an instruction to communicate with a communication destination of the first client application; accessing the presence status resource of the first client application; establishing communication with the first client application according to the accessed presence status resource.
    Type: Application
    Filed: October 28, 2016
    Publication date: February 16, 2017
    Applicant: Twilio, Inc.
    Inventors: Jeff Lawson, Evan Cooke, Rob Simutis, Patrick Malatack, Kyle Conroy
  • Publication number: 20170041406
    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: Application
    Filed: October 19, 2016
    Publication date: February 9, 2017
    Applicant: Twilio, Inc.
    Inventors: Jeffrey Lawson, John Wolthius
  • Publication number: 20170031736
    Abstract: A system and method that includes receiving an API request to a type of API resource; retrieving an API concurrency value for the API request; determining a comparison status associated with a comparison of the API concurrency value to a concurrency threshold; if the comparison status is within the concurrency threshold, transmitting the API request to an API processing resource; if the comparison status indicates the concurrency threshold is not satisfied, impeding processing of the API request; accounting for an increase in the API concurrency value if the API request is transmitted to an API processing resource; and accounting for a decrease in the API concurrency value at a time associated with the API processing resource completing processing of the API request.
    Type: Application
    Filed: October 12, 2016
    Publication date: February 2, 2017
    Applicant: Twilio, Inc.
    Inventors: Evan Cooke, Frank Stratton, Kyle Conroy
  • Publication number: 20170034360
    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: Application
    Filed: October 12, 2016
    Publication date: February 2, 2017
    Applicant: Twilio, Inc.
    Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
  • Patent number: 9553799
    Abstract: A system and method for regional routing of internet protocol based real-time communication that includes registering a set of client application endpoint routes, comprising registering at least a first client gateway route of a first endpoint in a first region; receiving a communication invitation of the first endpoint; processing a set of communication instructions associated with the communication invitation and identifying a set of communication resources and at least a second endpoint; querying the client application endpoint routes and identifying a client gateway route of the second endpoint; and dynamically directing signaling path and media path of the communication according to the regional availability of the communication resources, the client gateway route of the first endpoint, and client gateway instance route of the second endpoint.
    Type: Grant
    Filed: November 12, 2014
    Date of Patent: January 24, 2017
    Assignee: Twilio, Inc.
    Inventors: Brian Tarricone, Edward Kim, Ameya Lokare, Jonas Borjesson
  • Patent number: 9553900
    Abstract: Systems and methods for a conferencing system. Responsive to a new conference request received at a conference orchestration service, participants of the conference and participant regions for each determined participant are determined. A mixer topology is generated that specifies an assignment of each determined participant to at least one input channel of a plurality of mixers. A mixer state manager generates the mixer topology based on the determined participant regions and at least one regional association of a mixer. Media of each determined participant is routed to the assigned at least one input channel according to the generated mixer topology by using the conference orchestration service. The mixer state manager generates the topology responsive to a request provided by the conference state manager. The conference orchestration service receives the generated mixer topology from the mixer state manager via the conference state manager.
    Type: Grant
    Filed: December 9, 2015
    Date of Patent: January 24, 2017
    Assignee: Twilio, Inc.
    Inventors: Christer Fahlgren, Nico Acosta Amador
  • Patent number: 9516101
    Abstract: Systems and methods for updating a communication routing engine of a multi-tenant communication platform system. Responsive to a feedback message provided by an external system associated with a first account of the communication platform system, a communication routing engine of the communication platform system is updated based on the received feedback message. The feedback message relates to a first communication initiated on behalf of the first account of the communication platform system, and the first communication is initiated with a first communication route. The updated communication routing engine routes communications of a plurality of accounts of the communication platform system.
    Type: Grant
    Filed: July 7, 2015
    Date of Patent: December 6, 2016
    Assignee: Twilio, Inc.
    Inventor: Nicolas Acosta Amador
  • Patent number: 9509782
    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: April 28, 2016
    Date of Patent: November 29, 2016
    Assignee: Twilio, Inc.
    Inventors: Jeffrey Lawson, John Wolthius
  • Patent number: 9495227
    Abstract: A system and method that includes receiving an API request to a type of API resource; retrieving an API concurrency value for the API request; determining a comparison status associated with a comparison of the API concurrency value to a concurrency threshold; if the comparison status is within the concurrency threshold, transmitting the API request to an API processing resource; if the comparison status indicates the concurrency threshold is not satisfied, impeding processing of the API request; accounting for an increase in the API concurrency value if the API request is transmitted to an API processing resource; and accounting for a decrease in the API concurrency value at a time associated with the API processing resource completing processing of the API request.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: November 15, 2016
    Assignee: Twilio, Inc.
    Inventors: Evan Cooke, Frank Stratton, Kyle Conroy