IP Library › Granted Patent US 12,452,144
Granted Patent B2
US 12,452,144 · App. 18/760,940 · Granted Oct 21, 2025

Message routing optimization system

Inventors: Jamie O'Shaughnessy (Surrey, GB); Riivo Kikas (Tartu, EE); Kaarel Kitsemets (Uuesalu, EE)
Assignee: Twilio Inc.
H04L41/5022H04L41/5009H04L45/14H04L51/214
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,452,144
App. No.
18/760,940
Granted
Oct 21, 2025
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 (52)

1. A method, comprising:

forwarding, by one or more processors, a first plurality of messages to a plurality of routing providers;

receiving feedback data comprising a plurality of feedback indicators reflecting message delivery to respective message recipients by the plurality of routing providers;

determining, based on the feedback data, for each routing provider of the plurality of routing providers, an upper confidence bound of a corresponding performance level; and

identifying, based on the upper confidence bounds of the performance levels, a subset of the plurality of routing providers.

2. The method of claim 1 , wherein the feedback data includes live feedback data and testing feedback data, wherein the live feedback data characterizes message delivery performance of transmitting user messages by the plurality of routing providers, and wherein the testing feedback data characterizes message delivery performance of transmitting test messages by the plurality of routing providers.

3. The method of claim 1 , further comprising:

allocating a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocating a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers;

wherein the first number of messages exceeds the second number of messages.

4. The method of claim 1 , further comprising:

allocating, based on a predefined allocation ratio, a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocating, based on the predefined allocation ratio, a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers.

5. The method of claim 1 , further comprising:

allocating a plurality of messages of a second plurality of messages to a first routing provider of the subset of the plurality of routing providers, wherein the first routing provider exhibits a highest upper confidence bound of the performance level among the subset of the plurality of routing providers.

6. The method of claim 1 , wherein a performance level of a routing provider is an estimated likelihood of a successful delivery to an intended recipient of a message of the first plurality of messages allocated to the routing provider.

7. The method of claim 1 , wherein the feedback data characterizes one of: a transmission of a message of the first plurality of messages by a routing provider, a receipt of the message by its intended recipient, a predefined action performed by the intended recipient, or an amount of time elapsed until the message was received by the intended recipient.

8. A system, comprising:

a memory; and

one or more processors, coupled to the memory, the one or more processors configured to:

forward a first plurality of messages to a plurality of routing providers;

receive feedback data comprising a plurality of feedback indicators reflecting message delivery to respective message recipients by the plurality of routing providers;

determine, based on the feedback data, for each routing provider of the plurality of routing providers, an upper confidence bound of a corresponding performance level; and

identify, based on the upper confidence bounds of the performance levels, a subset of the plurality of routing providers.

9. The system of claim 8 , wherein the feedback data includes live feedback data and testing feedback data, wherein the live feedback data characterizes message delivery performance of transmitting user messages by the plurality of routing providers, and wherein the testing feedback data characterizes message delivery performance of transmitting test messages by the plurality of routing providers.

10. The system of claim 8 , wherein the one or more processors are further configured to:

allocate a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocate a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers;

wherein the first number of messages exceeds the second number of messages.

11. The system of claim 8 , wherein the one or more processors are further configured to:

allocate, based on a predefined allocation ratio, a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocate, based on the predefined allocation ratio, a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers.

12. The system of claim 8 , wherein the one or more processors are further configured to:

allocate a plurality of messages of a second plurality of messages to a first routing provider of the subset of the plurality of routing providers, wherein the first routing provider exhibits a highest upper confidence bound of the performance level among the subset of the plurality of routing providers.

13. The system of claim 8 , wherein a performance level of a routing provider is an estimated likelihood of a successful delivery to an intended recipient of a message of the first plurality of messages allocated to the routing provider.

14. The system of claim 8 , wherein the feedback data characterizes one of: a transmission of a message of the first plurality of messages by a routing provider, a receipt of the message by its intended recipient, a predefined action performed by the intended recipient, or an amount of time elapsed until the message was received by the intended recipient.

15. A non-transitory computer-readable storage medium comprising executable instructions which, when executed by one or more processors, cause the one or more processors to:

forward a first plurality of messages to a plurality of routing providers;

receive feedback data comprising a plurality of feedback indicators reflecting message delivery to respective message recipients by the plurality of routing providers;

determine, based on the feedback data, for each routing provider of the plurality of routing providers, an upper confidence bound of a corresponding performance level; and

identify, based on the upper confidence bounds of the performance levels, a subset of the plurality of routing providers.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the feedback data includes live feedback data and testing feedback data, wherein the live feedback data characterizes message delivery performance of transmitting user messages by the plurality of routing providers, and wherein the testing feedback data characterizes message delivery performance of transmitting test messages by the plurality of routing providers.

17. The non-transitory computer-readable storage medium of claim 15 , further comprising executable instructions which, when executed by the one or more processors, cause the one or more processors to:

allocate a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocate a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers;

wherein the first number of messages exceeds the second number of messages.

18. The non-transitory computer-readable storage medium of claim 15 , further comprising executable instructions which, when executed by the one or more processors, cause the one or more processors to:

allocate, based on a predefined allocation ratio, a first number of messages of a second plurality of messages to one or more routing providers of the subset of the plurality of routing providers; and

allocate, based on the predefined allocation ratio, a second number of messages of the second plurality of messages to one or more routing providers that do not belong to the subset of the plurality of routing providers.

19. The non-transitory computer-readable storage medium of claim 15 , further comprising executable instructions which, when executed by the one or more processors, cause the one or more processors to:

allocate a plurality of messages of a second plurality of messages to a first routing provider of the subset of the plurality of routing providers, wherein the first routing provider exhibits a highest upper confidence bound of the performance level among the subset of the plurality of routing providers.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the feedback data characterizes one of: a transmission of a message of the first plurality of messages by a routing provider, a receipt of the message by its intended recipient, a predefined action performed by the intended recipient, or an amount of time elapsed until the message was received by the intended recipient.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2024
From: O’ SHAUGHNESSY, JAMIE; KIKAS, RIIVO; KITSEMETS, KAAREL
To: TWILIO INC.
Reel/Frame 067904/0775 →
Continuity (5)
Continuation 18134837 · Apr 14, 2023
Continuation 17649984 · Feb 4, 2022
Continuation 17130831 · Dec 22, 2020
Provisional Application 63017359 · Apr 29, 2020
Related Publication 20240356822A1 · Oct 24, 2024
References Cited (74)
US 6134589A · Hultgren · 2000 [cited by applicant]
US 6487172B1 · Zonoun · 2002 [cited by applicant]
US 7764700B2 · Muirhead et al. · 2010 [cited by applicant]
US 7773536B2 · Lloyd et al. · 2010 [cited by applicant]
US 8015294B2 · Bugenhagen et al. · 2011 [cited by applicant]
US 8040811B2 · Edwards et al. · 2011 [cited by applicant]
US 8355316B1 · Lushear et al. · 2013 [cited by applicant]
US 9467970B1 · Kim et al. · 2016 [cited by applicant]
US 10523554B2 · Bugenhagen et al. · 2019 [cited by applicant]
US 10939256B1 · Shcherbakov et al. · 2021 [cited by applicant]
US 11290352B2 · O'Shaughnessy et al. · 2022 [cited by applicant]
US 20020177448A1 · Moran et al. · 2002 [cited by applicant]
US 20030088529A1 · Klinker et al. · 2003 [cited by applicant]
US 20030110212A1 · Lewis · 2003 [cited by examiner]
US 20080049639A1 · Wiley · 2008 [cited by examiner]
US 20080049775A1 · Morrill · 2008 [cited by examiner]
US 20090003269A1 · Kumazawa et al. · 2009 [cited by applicant]
US 20090177484A1 · Davis · 2009 [cited by examiner]
US 20100228641A1 · Das et al. · 2010 [cited by applicant]
US 20110166958A1 · Hamilton, II et al. · 2011 [cited by applicant]
US 20130022186A1 · Blackwell et al. · 2013 [cited by applicant]
US 20140031070A1 · Nowack · 2014 [cited by examiner]
US 20150131444A1 · Malatack · 2015 [cited by examiner]
US 20150381648A1 · Mathis · 2015 [cited by applicant]
US 20150382263A1 · Jain et al. · 2015 [cited by applicant]
US 20170041213A1 · Nadalin et al. · 2017 [cited by applicant]
US 20180219810A1 · Santos Ramirez · 2018 [cited by examiner]
US 20180219818A1 · Kramer · 2018 [cited by examiner]
US 20180270161A1 · Popescu et al. · 2018 [cited by applicant]
US 20180316608A1 · Dowlatkhah et al. · 2018 [cited by applicant]
US 20190244131A1 · Levi et al. · 2019 [cited by applicant]
US 20190306107A1 · Galbraith · 2019 [cited by examiner]
US 20200008044A1 · Poornachandran et al. · 2020 [cited by applicant]
US 20200036669A1 · Duale · 2020 [cited by examiner]
US 20200252343A1 · Popescu et al. · 2020 [cited by applicant]
US 20200374251A1 · Warshaw · 2020 [cited by examiner]
US 20210264489A1 · Chen et al. · 2021 [cited by applicant]
US 20210344575A1 · O'Shaughnessy et al. · 2021 [cited by applicant]
US 20220158911A1 · O'Shaughnessy et al. · 2022 [cited by applicant]
US 20230254224A1 · O'Shaughnessy et al. · 2023 [cited by applicant]
EP 3334214A1 · 2018 [cited by applicant]
GB 2377861A · 2003 [cited by examiner]
IN 442022 · 2022 [cited by applicant]
IN 422022 · 2022 [cited by applicant]
IN 202217034647 · 2022 [cited by applicant]
JP 2006197306A · 2006 [cited by applicant]
WO 9428683A1 · 1994 [cited by applicant]
WO 9711553A1 · 1997 [cited by applicant]
WO 03040947A9 · 2004 [cited by applicant]
WO 2006069039A2 · 2006 [cited by applicant]
WO 2012006659A1 · 2012 [cited by applicant]
WO 2018194854A1 · 2018 [cited by applicant]
WO 2021173655A1 · 2021 [cited by applicant]
WO 2021222914A1 · 2021 [cited by applicant]
Boehm D.W., et al.,“An Investigation of Negotiations of Quality of Service Parameters in a Connection Oriented Telecommunications Network Environment 3066272,” ProQuest Dissertations and Theses Professional, 2002, pp. 1… [cited by applicant]
First Examination Report for Indian Application No. 202217034647, dated Nov. 9, 2022, 7 pages. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2021/019396, mailed Sep. 9, 2022, 10 Pages. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2021/070269, mailed Jul. 5, 2022, 7 Pages. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2021/070269, mailed Aug. 16, 2022, 9 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/019396, mailed Jun. 9, 2021, 12 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/070269, mailed Jul. 1, 2021, 9 Pages. [cited by applicant]
“Message Exchange System,” U.S. Appl. No. 17/061,810, filed Oct. 2, 2020, 68 Pages. [cited by applicant]
“Message Routing Optimization System,” U.S. Appl. No. 17/130,831, filed Dec. 22, 2020, 79 Pages. [cited by applicant]
Office Action for Australian Patent Application No. 2021225837, mailed Oct. 17, 2023, 4 Pages. [cited by applicant]
Office Action for Australian Patent Application No. 2021263605, mailed Feb. 9, 2024, 2 Pages. [cited by applicant]
Office Action for Australian Patent Application No. 2021263605, mailed Nov. 23, 2023, 3 Pages. [cited by applicant]
Office Action for Indian Application No. 202217035888, mailed Jan. 17, 2023, 6 Pages. [cited by applicant]
Office Action for Japanese Patent Application No. 2022565738, mailed Aug. 22, 2023, 6 Pages. [cited by applicant]
Office Action for Korean Patent Application No. 10-2022-7022489, mailed Oct. 26, 2023, 9 Pages. [cited by applicant]
Cho-Yin N. G., “Resource Allocation for Cooperative Transmission in Wireless Network,” The Chinese University of Hong Kong, Aug. 2010, pp. 01-162. [cited by applicant]
Extended European Search Report for European Application No. EP20250175881 mailed Jun. 20, 2025, 11 Pages. [cited by applicant]
Office Action for Australian Patent Application No. 2024205807 mailed Feb. 18, 2025, 3 Pages. [cited by applicant]
Office Action for Brazilian Patent Application No. 1220240203073, mailed Apr. 14, 2025, 14 Pages. [cited by applicant]
Office Action for European Patent Application No. 21720150.8, mailed Dec. 16, 2024, 8 Pages. [cited by applicant]