IP Library › Granted Patent US 12,081,416
Granted Patent B2
US 12,081,416 · App. 18/134,837 · Granted Sep 3, 2024

Message routing optimization system

Inventors: Jamie O'Shaughnessy (Surrey, GB); Riivo Kikas (Tartu, EE); Kaarel Kitsemets (Uuesalu, EE)
Assignee: Twilio Inc.
H04L41/5022H04L45/14
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 12,081,416
App. No.
18/134,837
Granted
Sep 3, 2024
Kind
B2
Abstract

Disclosed are systems, methods, and non-transitory computer-readable media for message routing optimization. The message routing optimization system receives requests to transmit messages to recipient devices. The message routing optimization system determines whether to allocate the messages to an optimal routing provider or a secondary routing provider. The message routing optimization ranks the set of routing providers based on a conversion rate index and determines the optimal routing and secondary routing providers based on the ranking. The message routing optimization system allocates messages to the selected routing providers to be delivered to their intended recipients.

Claims (46)

1. A method comprising:

in response to a determination to allocate a message for exploitation:

determining, based on a ranking of a set of routing providers, that a routing provider is an optimal routing provider; and

allocating the message to the routing provider for delivery.

2. The method of claim 1 , wherein determining that the routing provider is the optimal routing provider comprises:

determining, based on the ranking of the set of routing providers, that the routing provider is ranked highest.

3. The method of claim 1 , wherein the ranking of the set of routing providers is based on upper confidence bound estimates determined based on available feedback data for each routing provider.

4. The method of claim 1 , further comprising:

receiving feedback data describing message delivery performance of the set of routing providers; and

determining individual conversion rates for each routing provider in the set of routing providers based on the feedback data.

5. The method of claim 4 , wherein the feedback data includes live feedback describing message delivery performance when transmitting messages that have been allocated to the set of routing providers, and testing feedback data describing message delivery performance when transmitting test messages using routes provided by the set of routing providers.

6. The method of claim 1 , further comprising:

determining to allocate the message as an exploitation message based on predetermined message allocation percentages.

7. The method of claim 1 , further comprising:

in response to a determination to allocate a second message for exploitation:

determining, based on an updated ranking of the set of routing providers, that a second routing provider is the optimal routing provider; and

allocating the second message to the second routing provider.

8. A method comprising:

in response to a determination to allocate a message for exploration:

identifying, based on a ranking of a set of routing providers, a set of secondary routing providers, the set of secondary routing providers not including a first routing provider to which messages allocated for exploitation are allocated; and

allocating the message to a secondary routing provider from the set of secondary routing providers.

9. The method of claim 8 , wherein messages for exploration are divided evenly among the set of secondary routing providers.

10. The method of claim 8 , wherein more messages are allocated for exploitation than for exploration.

11. The method of claim 8 , wherein allocating the message for exploration provides updated feedback data that is used to identify a best performing routing provider.

12. The method of claim 8 , further comprising:

determining to allocate the message as an exploration message based on predetermined message allocation percentages.

13. The method of claim 8 , wherein the ranking of the set of routing providers is based on upper confidence bound estimates determined based on available feedback data for each routing provider.

14. A system 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 system to perform operations comprising:

in response to a determination to allocate a message for exploitation:

determining, based on a ranking of a set of routing providers, that a routing provider is an optimal routing provider; and

allocating the message to the routing provider for delivery.

15. The system of claim 14 , wherein determining that the routing provider is the optimal routing provider comprises:

determining, based on the ranking of the set of routing providers, that the routing provider is ranked highest.

16. The system of claim 14 , wherein the ranking of the set of routing providers is based on upper confidence bound estimates determined based on available feedback data for each routing provider.

17. The system of claim 14 , wherein the operations further comprise:

receiving feedback data describing message delivery performance of the set of routing providers; and

determining individual conversion rates for each routing provider in the set of routing providers based on the feedback data.

18. The system of claim 17 , wherein the feedback data includes live feedback describing message delivery performance when transmitting messages that have been allocated to the set of routing providers, and testing feedback data describing message delivery performance when transmitting test messages using routes provided by the set of routing providers.

19. The system of claim 14 , wherein the operations further comprise:

determining to allocate the message as an exploitation message based on predetermined message allocation percentages.

20. The system of claim 14 , wherein the operations further comprise:

in response to a determination to allocate a second message for exploitation,

determining, based on an updated ranking of the set of routing providers, that a second routing provider is the optimal routing provider; and

allocating the second message to the second routing provider.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2023
From: O'SHAUGHNESSY, JAMIE; KIKAS, RIIVO; KITSEMETS, KAAREL
To: TWILIO INC.
Reel/Frame 064256/0004 →
Continuity (4)
Continuation 17649984 · Feb 4, 2022
Continuation 17130831 · Dec 22, 2020
Provisional Application 63017359 · Apr 29, 2020
Related Publication 20230254224A1 · Aug 10, 2023