IP Library › Granted Patent US 11,019,159
Granted Patent B2
US 11,019,159 · App. 16/823,223 · Granted May 25, 2021

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 11,019,159
App. No.
16/823,223
Filed
Mar 18, 2020
Granted
May 25, 2021
Kind
B2
Art Unit
2449
USPC
709/227
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 (59)

1. A method comprising:

receiving, by a communication platform, a request to provide a micro-service in association with a communication session between a first communication endpoint and a second endpoint, the communication session being associated with a client account of the communication platform;

transmitting, by the communication platform, a communication to a computing system providing the micro-service, the communication including state data associated with the communication session between the first communication endpoint and the second endpoint;

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, by the communication platform, the application logic to provide the micro-service in relation to the communication session.

2. The method of claim 1 , further comprising:

establishing, for the client account, a micro-service configuration describing conditions for use of the micro-service by the client account; and

processing the request according to the conditions for use of the micro-service described by the micro-service configuration.

3. The method of claim 2 , further comprising:

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

4. The method of claim 3 , further comprising:

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

receiving a second request to provide the second micro-service in association with the communication session;

processing the second 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 communication session based on a second billing profile dictated by the conditions for use of the second micro-service described by the second micro-service configuration, the second billing profile being different than the billing profile.

5. The method of claim 4 , further comprising:

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

6. The method of claim 4 , further comprising:

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

7. The method of claim 6 , further comprising:

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

8. The method of claim 7 , further comprising:

generating, for the client account, first billing information for the communication session based on the accounting for usage of the micro-service in association with the 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 micro-service in association with the second communication session.

9. The method of claim 7 , wherein the micro-service is a conferencing micro-service and the second micro-service is a messaging micro-service.

10. A 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 communication platform to perform operations comprising:

receiving a request to provide a micro-service in association with a communication session between a first communication endpoint and a second endpoint, the communication session being associated with a client account of the communication platform;

transmitting a communication to a computing system providing the micro-service, the communication including state data associated with the communication session between the first communication endpoint and the second endpoint;

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 to provide the micro-service in relation to the communication session.

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

establishing, for the client account, a micro-service configuration describing conditions for use of the micro-service by the client account; and

processing the request according to the conditions for use of the micro-service described by the micro-service configuration.

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

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

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

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

receiving a second request to provide the second micro-service in association with the communication session;

processing the second 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 communication session based on a second billing profile dictated by the conditions for use of the second micro-service described by the second micro-service configuration, the second billing profile being different than the billing profile.

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

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

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

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

16. The communication platform of claim 15 , the operations further comprising:

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

17. The communication platform of claim 16 , the operations further comprising:

generating, for the client account, first billing information for the communication session based on the accounting for usage of the micro-service in association with the 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 micro-service in association with the second communication session.

18. The communication platform of claim 16 , wherein the micro-service is a conferencing micro-service and the second micro-service is a messaging micro-service.

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

receiving a request to provide a micro-service in association with a communication session between a first communication endpoint and a second endpoint, the communication session being associated with a client account of the communication platform;

transmitting a communication to a computing system providing the micro-service, the communication including state data associated with the communication session between the first communication endpoint and the second endpoint;

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 to provide the micro-service in relation to the communication session.

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

establishing, for the client account, a micro-service configuration describing conditions for use of the micro-service by the client account; and

processing the request according to the conditions for use of the micro-service described by the micro-service configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: LAWSON, JEFFREY; WOLTHIUS, JOHN
To: TWILIO INC.
Reel/Frame 052158/0253 →
Continuity (10)
Continuation 15842731 · Dec 14, 2017
Continuation 15297857 · Oct 19, 2016
Continuation 15141624 · Apr 28, 2016
Continuation 14919650 · Oct 21, 2015
Provisional Application 62066776 · Oct 21, 2014
Provisional Application 62066768 · Oct 21, 2014
Provisional Application 62066766 · Oct 21, 2014
Provisional Application 62066763 · Oct 21, 2014
Provisional Application 62066774 · Oct 21, 2014
Related Publication 20200220939A1 · Jul 9, 2020
Cited By (10)
US 12,432,124 US 12,445,955 US 12,481,533 US 12,483,909 US 12,538,194 US 12,549,964 US 12,581,353 US 12,587,452 US 12,645,500 US 12,707,317