IP Library › Granted Patent US 10,033,617
Granted Patent B2
US 10,033,617 · App. 15/065,660 · Granted Jul 24, 2018

System and method for triggering on platform usage

Inventors: Evan Cooke (San Francisco, CA); Timothy Milliron (San Francisco, CA); Adam Ballai (San Francisco, CA); Robert C. Hagemann, III (San Francisco, CA); Matthew D. Nowack (San Francisco, CA)
Assignee: Twilio, Inc.
H04L43/10G06F9/542G06F9/546H04L43/08H04L67/02H04W4/16H04W24/08H04Q2213/13098
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,033,617
App. No.
15/065,660
Granted
Jul 24, 2018
Kind
B2
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.

Claims (43)

1. A method comprising: at a triggering system that includes at least a usage trigger database, a transaction system and a trigger monitoring system:

responsive to reception of trigger configuration from a system of an external application, storing the trigger configuration in the usage trigger database, the trigger configuration being trigger configuration of a platform account of a multi-tenant platform system that is communicatively coupled to the triggering system, the external application being an account holder of the platform account,

the trigger configuration specifying a usage key, a trigger condition, and a usage trigger;

responsive to the multi-tenant platform system publishing an event that is associated with the platform account and the usage key, incrementing a counter of the transaction system that is associated with the usage key; and

responsive to a determination by the trigger monitoring system that the counter satisfies the trigger condition, the trigger monitoring system processing the usage trigger,

wherein in a case where the usage trigger defines a callback uniform resource identifier (URI) of an external application server system that is external to the platform system, processing the usage trigger comprises: transmitting a request to the callback URI, and

wherein in a case where the usage trigger defines a trigger action, processing the usage trigger comprises: initiating execution of the trigger action in the platform system.

2. The method of claim 1 , wherein the triggering system receives the trigger configuration from the system of the external application via a triggering application programming interface (API) of the triggering system.

3. The method of claim 1 , wherein the triggering system receives the trigger configuration from the system of the external application via a user interface of the triggering system.

4. The method of claim 1 , wherein the multi-tenant platform system publishes the event during operation of the platform system on behalf of the platform account.

5. The method of claim 4 , wherein the multi-tenant platform system is a multi-tenant application platform system that is constructed to provide a service used by the external application via an application platform application programming interface (API) of the application platform system.

6. The method of claim 5 , wherein operation of the platform system on behalf of the platform account comprises execution of a process of the platform system on behalf of the platform account.

7. The method of claim 4 , wherein the multi-tenant platform system is a multi-tenant communication platform system.

8. The method of claim 7 , wherein operation of the platform system on behalf of the platform account comprises facilitating a communication on behalf of the platform account.

9. The method of claim 8 , wherein the communication platform system is a telephony communication platform system that is constructed to provide at least one of synchronous telephony communication and asynchronous telephony communication, and wherein facilitating a communication comprises at least one of facilitating a synchronous telephony communication and facilitating an asynchronous telephony communication.

10. The method of claim 2 , wherein the trigger action is an action performed by the platform system, and the trigger action enables a response to be made that is not exposed through an application programming interface (API) of the platform system.

11. The method of claim 10 , wherein the trigger action includes at least one of suspension of the platform account, sending of a notification, ending a communication session, cancelling a message, changing permissions, and charging the platform account.

12. The method of claim 11 , wherein the usage key includes at least one of: an API usage key, an outbound call usage key, an inbound call usage key, a mobile usage key, a call usage key, a message usage key, a regional usage key, and an endpoint type usage key.

13. The method of claim 12 , wherein incrementing the counter comprises incrementing the counter by a cost of a communication of the event.

14. The method of claim 12 , wherein incrementing the counter comprises incrementing the counter by resource usage of a communication of the event.

15. The method of claim 1 , wherein transmitting the request to the callback URI comprises transmitting information of the counter to the external application server system of the callback URI.

16. A triggering system comprising:

a usage trigger database;

a transaction system; and

a trigger monitoring system,

wherein the usage trigger database is constructed to:

responsive to reception of trigger configuration from a system of an external application, store the trigger configuration in the usage trigger database, the trigger configuration being trigger configuration of a platform account of a multi-tenant platform system that is communicatively coupled to the triggering system, the external application being an account holder of the platform account, and the trigger configuration specifying a usage key, a trigger condition, and a callback uniform resource identifier (URI) of an external application server system that is external to the platform system,

wherein the transaction system is constructed to:

responsive to the multi-tenant platform system publishing an event that is associated with the platform account and the usage key, increment a counter of the transaction system that is associated with the usage key,

wherein the trigger monitoring system is constructed to:

responsive to a determination by the trigger monitoring system that the counter satisfies the trigger condition, transmit a request to the callback URI of the external application server system.

17. The system of claim 16 ,

wherein the triggering system is constructed to receive the trigger configuration from the system of the external application via a triggering application programming interface (API) of the triggering system,

wherein the multi-tenant platform system is constructed to publish the event during operation of the platform system on behalf of the platform account,

wherein incrementing the counter comprises one of: incrementing the counter by a cost of a communication of the event, and incrementing the counter by resource usage of a communication of the event, and

wherein transmitting the request to the callback URI comprises transmitting information of the counter to the external application server system of the callback URI.

18. The system of claim 17 ,

wherein the multi-tenant platform system is a multi-tenant application platform system that is constructed to provide a service used by the external application via an application platform application programming interface (API) of the application platform system, and

wherein operation of the platform system on behalf of the platform account comprises execution of a process of the platform system on behalf of the platform account.

19. The system of claim 17 ,

wherein the multi-tenant platform system is a multi-tenant communication platform system, and

wherein operation of the platform system on behalf of the platform account comprises facilitating a communication on behalf of the platform account.

20. The system of claim 17 , wherein the usage key includes at least one of: an API usage key, an outbound call usage key, an inbound call usage key, a mobile usage key, a call usage key, a message usage key, a regional usage key, and an endpoint type usage key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2016
From: COOKE, EVAN; MILLIRON, TIMOTHY; BALLAI, ADAM; HAGEMANN, ROBERT C, III; NOWACK, MATTHEW D.
To: TWILIO, INC.
Reel/Frame 038103/0182 →
Continuity (5)
Continuation 14569036 · Dec 12, 2014
Continuation 14054464 · Oct 15, 2013
Provisional Application 61714113 · Oct 15, 2012
Provisional Application 61879035 · Sep 17, 2013
Related Publication 20160191366A1 · Jun 30, 2016
Cited By (1)
US 12,647,757