IP Library › Granted Patent US 10,637,938
Granted Patent B2
US 10,637,938 · App. 15/842,731 · Granted Apr 28, 2020

System and method for providing a micro-services communication platform

Inventors: Jeffrey Lawson (San Francisco, CA); John Wolthius (San Francisco, CA)
Assignee: Twilio Inc.
H04L67/16H04L12/14H04L12/1403H04L61/308H04L65/403H04L65/601H04L65/80H04L67/02H04L67/104H04L67/141H04L67/22H04L67/2823H04L67/32H04M15/41H04M15/44H04M15/47H04M15/52H04M15/62H04L61/2514H04L61/2564H04L61/2575H04L61/2589
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,637,938
App. No.
15/842,731
Granted
Apr 28, 2020
Kind
B2
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.

Claims (73)

1. A method comprising:

establishing, for a first client account of a multitenant communication platform, a first micro-service configuration describing conditions for use of a first micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a first micro-service request for use of the first micro-service in association with a first communication session of the first client account of the multitenant communication platform;

processing the first micro-service request according to the conditions for use of the first micro-service described by the first micro-service configuration, wherein processing the first micro-service request comprises:

accessing an identifier for a computing system providing the first micro-service;

using the identifier to transmit a communication to the computing system providing the first micro-service, the communication including state data associated with the first communication session of the first client account;

receiving application logic from the computing system, the computing system having generated the application logic based on the state data included in the communication; and

executing the application logic in relation to the first communication session; and

accounting for usage of the first micro-service in association with the first communication session based on a first billing profile dictated by the conditions for use of the first micro-service described by the first conferencing micro-service configuration.

2. The method of claim 1 , further comprising:

establishing, for the first client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of a second micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a second micro-service request for use of the second micro-service in association with the first communication session of the first client account of the multitenant communication platform;

processing the second micro-service request according to the conditions for use of the second micro-service described by the second micro-service configuration; and

accounting for usage of the second micro-service in association with the first communication session based on a second billing profile dictated by the conditions for use of the second micro-service described by the second conferencing micro-service configuration, the second billing profile being different than the first billing profile.

3. The method of claim 2 , further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session and the accounting for usage of the second micro-service in association with the first communication session.

4. The method of claim 2 , wherein the first micro-service is a conferencing micro-service and the second micro-service is a messaging micro-service.

5. The method of claim 1 , further comprising:

establishing, for a second client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of the first micro-service of the multitenant communication platform by the second client account, the conditions for use of the first micro-service of the multitenant communication platform by the second client account being different than the conditions for use of the micro-service of the multitenant communication platform by the first client account.

6. The method of claim 5 , further comprising:

accounting for usage of the first micro-service in association with a second communication session of the second client account of the multitenant communication platform, the accounting for usage of the first micro-service in association with the second communication session being based on a second billing profile dictated by the conditions for use of the first micro-service described by the second conferencing micro-service configuration, wherein the second billing profile is different that the first billing profile.

7. The method of claim 6 , further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session; and

generating, for the second client account, second billing information for the second communication session based on the accounting for usage of the first micro-service in association with the second communication session.

8. A multitenant communication platform comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multitenant communication platform to perform operations comprising:

establishing, for a first client account of a multitenant communication platform, a first micro-service configuration describing conditions for use of a first micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a first micro-service request for use of the first micro-service in association with a first communication session of the first client account of the multitenant communication platform;

processing the first micro-service request according to the conditions for use of the first micro-service described by the first micro-service configuration, wherein processing the first micro-service request comprises:

accessing an identifier for a computing system providing the first micro-service;

using the identifier to transmit a communication to the computing system providing the first micro-service, the communication including state data associated with the first communication session of the first client account;

receiving application logic from the computing system, the computing system having generated the application logic based on the state data included in the communication; and

executing the application logic in relation to the first communication session; and

accounting for usage of the first micro-service in association with the first communication session based on a first billing profile dictated by the conditions for use of the first micro-service described by the first conferencing micro-service configuration.

9. The multitenant communication platform of claim 8 , the operations further comprising:

establishing, for the first client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of a second micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a second micro-service request for use of the second micro-service in association with the first communication session of the first client account of the multitenant communication platform;

processing the second micro-service request according to the conditions for use of the second micro-service described by the second micro-service configuration; and

accounting for usage of the second micro-service in association with the first communication session based on a second billing profile dictated by the conditions for use of the second micro-service described by the second conferencing micro-service configuration, the second billing profile being different than the first billing profile.

10. The multitenant communication platform of claim 9 , the operations further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session and the accounting for usage of the second micro-service in association with the first communication session.

11. The multitenant communication platform of claim 9 , wherein the first micro-service is a conferencing micro-service and the second micro-service is a messaging micro-service.

12. The multitenant communication platform of claim 8 , the operations further comprising:

establishing, for a second client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of the first micro-service of the multitenant communication platform by the second client account, the conditions for use of the first micro-service of the multitenant communication platform by the second client account being different than the conditions for use of the micro-service of the multitenant communication platform by the first client account.

13. The multitenant communication platform of claim 12 , the operations further comprising:

accounting for usage of the first micro-service in association with a second communication session of the second client account of the multitenant communication platform, the accounting for usage of the first micro-service in association with the second communication session being based on a second billing profile dictated by the conditions for use of the first micro-service described by the second conferencing micro-service configuration, wherein the second billing profile is different that the first billing profile.

14. The multitenant communication platform of claim 13 , the operations further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session; and

generating, for the second client account, second billing information for the second communication session based on the accounting for usage of the first micro-service in association with the second communication session.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multitenant communication platform, cause the multitenant communication platform to perform operations comprising:

establishing, for a first client account of a multitenant communication platform, a first micro-service configuration describing conditions for use of a first micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a first micro-service request for use of the first micro-service in association with a first communication session of the first client account of the multitenant communication platform;

processing the first micro-service request according to the conditions for use of the first micro-service described by the first micro-service configuration, wherein processing the first micro-service request comprises:

accessing an identifier for a computing system providing the first micro-service;

using the identifier to transmit a communication to the computing system providing the first micro-service, the communication including state data associated with the first communication session of the first client account;

receiving application logic from the computing system, the computing system having generated the application logic based on the state data included in the communication; and

executing the application logic in relation to the first communication session; and

accounting for usage of the first micro-service in association with the first communication session based on a first billing profile dictated by the conditions for use of the first micro-service described by the first conferencing micro-service configuration.

16. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

establishing, for the first client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of a second micro-service of the multitenant communication platform by the first client account;

receiving, by the multitenant communication platform, a second micro-service request for use of the second micro-service in association with the first communication session of the first client account of the multitenant communication platform;

processing the second micro-service request according to the conditions for use of the second micro-service described by the second micro-service configuration; and

accounting for usage of the second micro-service in association with the first communication session based on a second billing profile dictated by the conditions for use of the second micro-service described by the second conferencing micro-service configuration, the second billing profile being different than the first billing profile.

17. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session and the accounting for usage of the second micro-service in association with the first communication session.

18. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

establishing, for a second client account of the multitenant communication platform, a second micro-service configuration describing conditions for use of the first micro-service of the multitenant communication platform by the second client account, the conditions for use of the first micro-service of the multitenant communication platform by the second client account being different than the conditions for use of the micro-service of the multitenant communication platform by the first client account.

19. The non-transitory computer-readable medium of claim 18 , the operations further comprising:

accounting for usage of the first micro-service in association with a second communication session of the second client account of the multitenant communication platform, the accounting for usage of the first micro-service in association with the second communication session being based on a second billing profile dictated by the conditions for use of the first micro-service described by the second conferencing micro-service configuration, wherein the second billing profile is different that the first billing profile.

20. The non-transitory computer-readable medium of claim 19 , the operations further comprising:

generating, for the first client account, first billing information for the first communication session based on the accounting for usage of the first micro-service in association with the first communication session; and

generating, for the second client account, second billing information for the second communication session based on the accounting for usage of the first micro-service in association with the second communication session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2017
From: LAWSON, JEFFREY; WOLTHUIS, JOHN
To: TWILIO, INC.
Reel/Frame 044402/0907 →
Continuity (9)
Continuation 15297857 · Oct 19, 2016
Continuation 15141624 · Apr 28, 2016
Continuation 14919650 · Oct 21, 2015
Provisional Application 62066766 · Oct 21, 2014
Provisional Application 62066776 · Oct 21, 2014
Provisional Application 62066763 · Oct 21, 2014
Provisional Application 62066768 · Oct 21, 2014
Provisional Application 62066774 · Oct 21, 2014
Related Publication 20180109634A1 · Apr 19, 2018
Cited By (1)
US 12,432,124