IP Library › Granted Patent US 11,563,709
Granted Patent B2
US 11,563,709 · App. 17/249,899 · Granted Jan 24, 2023

Messaging system of partial and out-of-order events

Inventors: Bradley Baron (Seattle, WA); Benjamin Ralph Hollis (Seattle, WA); Gavin Shriver (Seattle, WA); Peter Cardwell (Bainbridge Island, WA)
Assignee: Snap Inc.
H04L51/52H04L47/34H04L47/6215
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,563,709
App. No.
17/249,899
Granted
Jan 24, 2023
Kind
B2
Abstract

Methods, systems, and computer readable medium are provided for receiving an event message in a plurality of event messages, the event message comprising a sequence number and associated data, identifying the event message as an out-of-order event message based on the sequence number, assigning a priority level to the out-of-order event message based on a plurality of priority rules, and placing the out-of-order event message in a primary queue of messages based on the priority level assigned to the event message.

Claims (56)

1. A method, comprising:

receiving, by one or more processors, an event message in a plurality of event messages, the event message comprising a sequence number and associated data;

identifying the event message as an out-of-order event message based on the sequence number;

assigning a priority level to the out-of-order event message based on a plurality of priority rules; and

placing the out-of-order event message in a primary queue of messages based on the priority level assigned to the event message.

2. The method of claim 1 , wherein the plurality of priority rules comprises assigning the priority level based on a predetermined priority hierarchy corresponding to a type of the event message.

3. The method of claim 1 , wherein the plurality of priority rules comprises assigning the priority level based on a numerical order of the sequence number.

4. The method of claim 1 , further comprising:

identifying the out-of-order event message that refers to incoming missing data that cannot be pre-fetched from a database;

placing the out-of-order event message in a secondary queue based on the out-of-order event message having been placed in the primary queue a threshold number of times;

receiving the missing data; and

writing, by the one or more processors, the out-of-order event message to the database based on the receiving of the missing data.

5. The method of claim 4 , wherein the out-of-order event messages comprises an entity identifier referring to a user absent from a conversation and a data content referring to the user present in the conversation.

6. The method of claim 1 , further comprising:

identifying the out-of-order event message that refers to incoming missing data that can be pre-fetched from a database; and

writing the out-of-order event message and the missing data to the database based on pre-fetching of the missing data.

7. The method of claim 1 , further comprising identifying the event message as the out-of-order event message based on a timestamp, wherein the timestamp comprises data indicating a time when the event message is sent from a client device.

8. The method of claim 1 , wherein the secondary queue is assigned a lower priority ranking for processing than the primary queue.

9. A system, comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, configure the system to perform operations comprising:

receiving, by the one or more processors, an event message in a plurality of event messages, the event message comprising a sequence number and associated data;

identifying the event message as an out-of-order event message based on the sequence number;

assigning a priority level to the out-of-order event message based on a plurality of priority rules; and

placing the out-of-order event message in a primary queue of messages based on the priority level assigned to the event message.

10. The system of claim 9 , wherein the plurality of priority rules comprises assigning the priority level based on a predetermined priority hierarchy corresponding to a type of the event message.

11. The system of claim 9 , wherein the plurality of priority rules comprises assigning the priority level based on a numerical order of the sequence number.

12. The system of claim 9 , wherein the instructions further configure the system to perform operations further comprising:

identifying the out-of-order event message that refers to incoming missing data that cannot be pre-fetched from a database;

placing the out-of-order event message in a secondary queue based on the out-of-order event message having been placed in the primary queue a threshold number of times;

receiving the missing data; and

writing, by the one or more processors, the out-of-order event message to the database based on the receiving of the missing data.

13. The system of claim 12 , wherein the out-of-order event messages comprises an entity identifier referring to a user absent from a conversation and a data content referring to the user present in the conversation.

14. The system of claim 9 , wherein the instructions further configure the system to perform operations further comprising

identifying the out-of-order event message that refers to incoming missing data that be pre-fetched from a database; and

writing the out-of-order event message and the missing data to the database based on pre-fetching of the missing data.

15. The system of claim 9 , wherein the instructions further configure the system to perform operations further comprising identifying the event message as the out-of-order event message based on a timestamp, wherein the timestamp comprises data indicating a time when the event message is sent from a client device.

16. The system of claim 9 , wherein the instructions further configure the system to perform operations further comprising:

receiving, via a user interface of an electronic device, a query of a plurality of a most recent event messages corresponding to an entity;

retrieving the plurality of the most recent event messages corresponding to the entity from a database;

reducing a plurality of the most recent event messages to fit in the user interface on the electronic device without user interactions; and

displaying the plurality of the most recent event messages corresponding to the entity based on an assigned priority level.

17. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

receiving an event message in a plurality of event messages, the event message comprising a sequence number and associated data;

identifying the event message as an out-of-order event message based on the sequence number;

assigning a priority level to the out-of-order event message based on a plurality of priority rules; and

placing the out-of-order event message in a primary queue of messages based on the priority level assigned to the event message.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions, when executed by the computer, cause the computer to perform further operations comprising:

identifying the out-of-order event message that refers to incoming missing data that cannot be pre-fetched from a database;

placing the out-of-order event message in a secondary queue based on the out-of-order event message having been placed in the primary queue a threshold number of times;

receiving the missing data; and

writing, by the one or more processors, the out-of-order event message to the database based on the receiving of the missing data.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the out-of-order event messages comprises an entity identifier referring to a user absent from a conversation and a data content referring to the user present in the conversation.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions, when executed by the computer, cause the computer to perform further operations comprising:

identifying the out-of-order event message that refers to incoming missing data that can be pre-fetched from a database; and

writing the out-of-order event message and the missing data to the database based on pre-fetching of the missing data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2022
From: BARON, BRADLEY; HOLLIS, BENJAMIN RALPH; SHRIVER, GAVIN; CARDWELL, PETER
To: SNAP INC.
Reel/Frame 061840/0120 →
Continuity (2)
Provisional Application 63003127 · Mar 31, 2020
Related Publication 20210306293A1 · Sep 30, 2021
Cited By (1)
US 12,695,718