Patents Assigned to Twilio, Inc.
-
Patent number: 9628624Abstract: 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: GrantFiled: April 15, 2016Date of Patent: April 18, 2017Assignee: Twilio, Inc.Inventors: John Wolthuis, Robert Brazier
-
Patent number: 9621733Abstract: 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: GrantFiled: April 12, 2016Date of Patent: April 11, 2017Assignee: Twilio, Inc.Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
-
Patent number: 9614972Abstract: 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: GrantFiled: January 13, 2016Date of Patent: April 4, 2017Assignee: Twilio, Inc.Inventors: Adam Ballai, Robert C. Hagemann, III, Daniel Zarick
-
Publication number: 20170093992Abstract: 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: ApplicationFiled: December 12, 2016Publication date: March 30, 2017Applicant: Twilio, Inc.Inventors: Christer Fahlgren, Nico Acosta Amador
-
Publication number: 20170093688Abstract: 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: ApplicationFiled: December 12, 2016Publication date: March 30, 2017Applicant: Twilio, Inc.Inventors: Brian Tarricone, Edward Kim, Ameya Lokare, Jonas Borjesson
-
Patent number: 9602586Abstract: 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: GrantFiled: May 15, 2014Date of Patent: March 21, 2017Assignee: Twilio, Inc.Inventors: Brian Tarricone, John Wolthuis, Jonas Boerjesson
-
Patent number: 9596274Abstract: 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: GrantFiled: August 24, 2016Date of Patent: March 14, 2017Assignee: Twilio, Inc.Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
-
Patent number: 9588974Abstract: 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: GrantFiled: December 18, 2015Date of Patent: March 7, 2017Assignee: Twilio, Inc.Inventors: Adam Ballai, Timothy S. Milliron
-
Patent number: 9590849Abstract: 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: GrantFiled: May 9, 2012Date of Patent: March 7, 2017Assignee: Twilio, Inc.Inventors: Bulat Shakirzyanov, Keith A Davidson, Evan Cooke, Jeffrey Lawson
-
Patent number: 9591033Abstract: 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: GrantFiled: February 22, 2016Date of Patent: March 7, 2017Assignee: Twilio, Inc.Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
-
Publication number: 20170048306Abstract: 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: ApplicationFiled: October 28, 2016Publication date: February 16, 2017Applicant: Twilio, Inc.Inventor: Nicolas Acosta Amador
-
Publication number: 20170048386Abstract: 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: ApplicationFiled: October 28, 2016Publication date: February 16, 2017Applicant: Twilio, Inc.Inventors: Jeff Lawson, Evan Cooke, Rob Simutis, Patrick Malatack, Kyle Conroy
-
Publication number: 20170041406Abstract: 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: ApplicationFiled: October 19, 2016Publication date: February 9, 2017Applicant: Twilio, Inc.Inventors: Jeffrey Lawson, John Wolthius
-
Publication number: 20170031736Abstract: 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: ApplicationFiled: October 12, 2016Publication date: February 2, 2017Applicant: Twilio, Inc.Inventors: Evan Cooke, Frank Stratton, Kyle Conroy
-
Publication number: 20170034360Abstract: 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: ApplicationFiled: October 12, 2016Publication date: February 2, 2017Applicant: Twilio, Inc.Inventors: Jeff Lawson, John Wolthuis, Evan Cooke
-
Patent number: 9553799Abstract: 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: GrantFiled: November 12, 2014Date of Patent: January 24, 2017Assignee: Twilio, Inc.Inventors: Brian Tarricone, Edward Kim, Ameya Lokare, Jonas Borjesson
-
Patent number: 9553900Abstract: 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: GrantFiled: December 9, 2015Date of Patent: January 24, 2017Assignee: Twilio, Inc.Inventors: Christer Fahlgren, Nico Acosta Amador
-
Patent number: 9516101Abstract: 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: GrantFiled: July 7, 2015Date of Patent: December 6, 2016Assignee: Twilio, Inc.Inventor: Nicolas Acosta Amador
-
Patent number: 9509782Abstract: 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: GrantFiled: April 28, 2016Date of Patent: November 29, 2016Assignee: Twilio, Inc.Inventors: Jeffrey Lawson, John Wolthius
-
Patent number: 9495227Abstract: 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: GrantFiled: February 11, 2013Date of Patent: November 15, 2016Assignee: Twilio, Inc.Inventors: Evan Cooke, Frank Stratton, Kyle Conroy