IP Library Granted Patent US 10,764,225
Granted Patent B2
US 10,764,225 · App. 15/387,564 · Granted Sep 1, 2020

Messaging aggregator selection based on message priority

Inventors: Alexandra Filip (Redwood City, CA); Jonathan Bryan McKay (Menlo Park, CA); Dingjie Wang (San Jose, CA); Anumeha Goel Dhanrajani (San Francisco, CA); Seungwon Jeong (Bristol, GB); Nicolas E. Stier-Moses (Palo Alto, CA)
Assignee: Facebook, Inc.
H04L51/26G06Q50/01H04L51/32H04W4/14H04L67/2833
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,764,225
App. No.
15/387,564
Granted
Sep 1, 2020
Kind
B2
Abstract

In one embodiment, a method includes determining a reliability score for multiple message aggregators and calculating a rank score for each of the message aggregators. The rank score may be based on a price and the reliability score of the corresponding message aggregator. The method further includes identifying a message type for a queued message. Upon identifying the message type as corresponding to a first message type, the method further includes selecting a first message aggregator of the plurality of message aggregators based on the reliability scores, and upon identifying the message type as corresponding to a second message type, selecting a second message aggregator of the plurality of message aggregators based on the rank scores. Finally, the method includes sending the queued message through the selected message aggregator.

Claims (58)

1. A computer-implemented method comprising:

by a social-networking system, identifying a particular geographic location and a particular service provider network of a client device of a user;

by the social-networking system, accessing a messaging-service aggregator table corresponding to the particular geographic location and the particular service provider network of the client device of the user, the messaging-service aggregator table comprising a plurality of message aggregators that are configured for sending messages to users connecting through the particular service provider network in the particular geographic location;

by the social-networking system, determining a reliability score for each of the plurality of message aggregators, the reliability score for each respective message aggregator being based on a conversion rate for a plurality of messages transmitted using the message aggregator;

by the social-networking system, calculating a rank score for each of the plurality of the message aggregators, the rank score based on a price and the reliability score of the corresponding message aggregator;

by the social-networking system, comparing an expected response rate of a queued message with a designated threshold response rate;

by the social-networking system, categorizing a priority of the queued message into a particular message type based on comparison of the expected response rate of the queued message with the designated threshold response rate;

by the social-networking system, grouping the reliability scores and rank scores for the plurality of message aggregators based on the particular geographic location of a recipient of the queued message;

by the social-networking system, selecting a message aggregator from the messaging-service aggregator table to send the queued message of the particular message type, wherein the message aggregator is selected from the messaging-service aggregator table corresponding to the particular geographic location of the recipient of the queued message; and

by the social-networking system, sending the queued message through the selected message aggregator to the client device of the user.

2. The computer-implemented method of claim 1 , wherein each of the rank scores comprises a ratio of the respective reliability score for the message aggregator and the price.

3. The computer-implemented method of claim 1 , wherein the particular message type comprises a type of message having a response rate typically exceeding the designated threshold response rate.

4. The computer-implemented method of claim 1 , wherein the particular message type comprises any type of message having a response rate that typically does not exceed the designated threshold response rate.

5. The computer-implemented method of claim 1 , wherein the plurality of message aggregators comprise short message service (SMS) aggregators.

6. The computer-implemented method of claim 1 , further comprising:

grouping the reliability scores and rank scores for the plurality of message aggregators further based on the particular service provider network of the recipient of the queued message; and

wherein the message aggregator is further selected from the messaging-service aggregator table corresponding to the particular service provider network of the recipient of the queued message.

7. The computer-implemented method of claim 1 , further comprising:

grouping the reliability scores and rank scores for the plurality of message aggregators further based on a quality-of-service level assigned to the recipient of the queued message; and

wherein the message aggregator is further selected from the messaging-service aggregator table corresponding to the quality-of-service level assigned to the recipient of the queued message.

8. The computer-implemented method of claim 1 , wherein the conversion rate is based on:

a reply rate for the messages transmitted using the message aggregator;

a click-through rate for the messages transmitted using the message aggregator; or

a view rate for the messages transmitted using the message aggregator.

9. The computer-implemented method of claim 1 , wherein:

if the particular message type of the queued message is of a relatively high priority, then the message aggregator is selected from the messaging-service aggregator table based on the reliability score associated with the message aggregator.

10. The computer-implemented method of claim 1 , wherein:

if the particular message type of the queued message is of a relatively low priority, then the message aggregator is selected from the messaging-service aggregator table based on the rank score associated with the message aggregator.

11. One or more computer-readable non-transitory storage media embodying software that when executed by one or more processors, causes the one or more processors to:

identify a particular geographic location and a particular service provider network of a client device of a user;

access a messaging-service aggregator table corresponding to the particular geographic location and the particular service provider network of the client device of the user, the messaging-service aggregator table comprising a plurality of message aggregators that are configured for sending messages to users connecting through the particular service provider network in the particular geographic location;

determine a reliability score for each of the plurality of message aggregators, the reliability score for each respective message aggregator being based on a conversion rate for a plurality of messages transmitted using the message aggregator;

calculate a rank score for each of the plurality of the message aggregators, the rank score based on a price and the reliability score of the corresponding message aggregator;

compare an expected response rate of a queued message with a designated threshold response rate;

categorize a priority of the queued message into a particular message type based on comparison of the expected response rate of the queued message with the designated threshold response rate;

group the reliability scores and rank scores for the plurality of message aggregators based on the particular geographic location of a recipient of the queued message;

select a message aggregator from the messaging-service aggregator table to send the queued message of the particular message type, wherein the message aggregator is selected from the messaging-service aggregator table corresponding to the particular geographic location of the recipient of the queued message; and

send the queued message through the selected message aggregator to the client device of the user.

12. The one or more computer-readable non-transitory storage media of claim 11 , wherein each of the rank scores comprises a ratio of the respective reliability score for the message aggregator and the price.

13. The one or more computer-readable non-transitory storage media of claim 11 , wherein the particular message type comprises a type of message having a response rate typically exceeding the designated threshold response rate.

14. The one or more computer-readable non-transitory storage media of claim 11 , wherein the particular message type comprises any type of message having a response rate that typically does not exceed the designated threshold response rate.

15. The one or more computer-readable non-transitory storage media of claim 11 , wherein the plurality of message aggregators comprise short message service (SMS) aggregators.

16. The one or more computer-readable non-transitory storage media of claim 11 , wherein the software when executed by the one or more processors, further causes the one or more processors to:

group the reliability scores and rank scores for the plurality of message aggregators further based on the particular service provider network of the recipient of the queued message; and

wherein the message aggregator is further selected from the messaging-service aggregator table corresponding to the particular service provider network of the recipient of the queued message.

17. The one or more computer-readable non-transitory storage media of claim 11 , wherein the software when executed by the one or more processors, further causes the one or more processors to:

group the reliability scores and rank scores for the plurality of message aggregators further based on a quality-of-service level assigned to the recipient of the queued message; and

wherein the message aggregator is further selected from the messaging-service aggregator table corresponding to the quality-of-service level assigned to the recipient of the queued message.

18. A system comprising one or more processors and a memory coupled to the processors comprising instructions that when executed by the processors, cause the processors to:

identify a particular geographic location and a particular service provider network of a client device of a user;

access a messaging-service aggregator table corresponding to the particular geographic location and the particular service provider network of the client device of the user, the messaging-service aggregator table comprising a plurality of message aggregators that are configured for sending messages to users connecting through the particular service provider network in the particular geographic location;

determine a reliability score for each of the plurality of message aggregators, the reliability score for each respective message aggregator being based on a conversion rate for a plurality of messages transmitted using the message aggregator;

calculate a rank score for each of the plurality of the message aggregators, the rank score based on a price and the reliability score of the corresponding message aggregator;

compare an expected response rate of a queued message with a designated threshold response rate;

categorize a priority of the queued message into a particular message type based on comparison of the expected response rate of the queued message with the designated threshold response rate;

group the reliability scores and rank scores for the plurality of message aggregators based on the particular geographic location of a recipient of the queued message;

select a message aggregator from the messaging-service aggregator table to send the queued message of the particular message type, wherein the message aggregator is selected from the messaging-service aggregator table corresponding to the particular geographic location of the recipient of the queued message; and

send the queued message through the selected message aggregator to the client device of the user.

Assignments (4)
CHANGE OF NAME Recorded Feb 25, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059251/0501 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: JEONG, SEUNGWON
To: FACEBOOK, INC.
Reel/Frame 044136/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2017
From: STIER-MOSES, NICOLAS E.
To: FACEBOOK, INC.
Reel/Frame 042761/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2017
From: FILIP, ALEXANDRA; MCKAY, JONATHAN BRYAN; WANG, DINGJIE; DHANRAJANI, ANUMEHA GOEL
To: FACEBOOK, INC.
Reel/Frame 041267/0354 →
Continuity (1)
Related Publication 20180176169A1 · Jun 21, 2018