IP Library Granted Patent US 10,642,877
Granted Patent B2
US 10,642,877 · App. 15/858,587 · Granted May 5, 2020

Techniques for consistent reads in a split message store

Inventors: Winston Felix Popowicz Handte (New York, NY); Christopher John Bray (Mountain View, CA)
Assignee: FACEBOOK, INC.
G06F16/38G06F16/31H04L49/90H04L51/00H04L51/34
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,642,877
App. No.
15/858,587
Granted
May 5, 2020
Kind
B2
Abstract

Techniques for consistent reads in a split message store are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive a messaging client update request from a messaging client on a client device; and provide a message metadata set and a message body set to the messaging client on the client device in response to the messaging client update request; and a message cache component of the messaging system operative to retrieve the message metadata set from a metadata store of the messaging system, the message metadata set associated with a metadata set most-recent sequence identifier for the message metadata set; and retrieve the message body set from a message store of the messaging system, wherein retrieving the message body set from the message store comprises providing the metadata set most-recent sequence identifier for the message metadata set to the message store. Other embodiments are described and claimed.

Claims (46)

1. A computer-implemented method, comprising:

receiving a messaging client update request at a messaging system from a messaging client on a client device;

retrieving a message metadata set from a metadata store of the messaging system, the message metadata set associated with a metadata set most-recent sequence identifier for the message metadata set;

providing the metadata set most-recent sequence identifier for the message metadata set to the message store;

retrieving a message body set from a message store of the messaging system, wherein the message store is operative to self-update by retrieving from a message queue the message body set when a message store most-recent sequence identifier is less than the metadata set most-recent sequence identifier; and

providing the message metadata set and the message body set to the messaging client on the client device, the metadata set most-recent sequence identifier matching the message store most recent sequence identifier.

2. The method of claim 1 , comprising:

combining the message metadata set and message body set into a message set; and

providing the message metadata set and message body set to the messaging client on the client device as the message set.

3. The method of claim 1 , further comprising:

providing the message metadata set and message body set to the messaging client on the client device with a messaging client update request sequence identifier set to the metadata set most-recent sequence identifier.

4. The method of claim 1 , wherein the message store is operative to provide the message body set at a messaging recency based on the metadata set most-recent sequence identifier.

5. The method of claim 1 , the metadata store located on a first storage device system, the message store located on a second storage device system, the first storage device system distinct from the second storage device system.

6. The method of claim 5 , the first storage device system comprising a higher-speed storage device system than the second storage device system.

7. The method of claim 1 , the messaging client on the client device operative to ignore one or more messages that are represented in the message body set but not represented in the message metadata set.

8. An apparatus, comprising:

a client front-end component of a messaging system operative to:

receive a messaging client update request from a messaging client on a client device;

provide a message metadata set and a message body set to the messaging client on the client device in response to the messaging client update request, a metadata set most-recent sequence identifier matching a message store most recent sequence identifier; and

provide the metadata set most-recent sequence identifier for the message metadata set to the message store; and

a message cache component of the messaging system operative to:

retrieve the message metadata set from a metadata store of the messaging system, the message metadata set associated with a metadata set most-recent sequence identifier for the message metadata set; and

retrieve the message body set from a message store of the messaging system, wherein the message store is operative to self-update by retrieving from a message queue the message body set when a message store most-recent sequence identifier is less than the metadata set most-recent sequence identifier.

9. The apparatus of claim 8 , further comprising:

the message cache component operative to combine the message metadata set and message body set into a message set; and

the client front-end component operative to provide the message metadata set and message body set to the messaging client on the client device as the message set.

10. The apparatus of claim 8 , further comprising:

the client front-end component operative to provide the message metadata set and message body set to the messaging client on the client device with a messaging client update request sequence identifier set to the metadata set most-recent sequence identifier.

11. The apparatus of claim 8 , wherein the message store is operative to provide the message body set at a messaging recency based on the metadata set most-recent sequence identifier.

12. The apparatus of claim 8 , the metadata store located on a first storage device system, the message store located on a second storage device system, the first storage device system distinct from the second storage device system.

13. The apparatus of claim 12 , the first storage device system comprising a higher-speed storage device system than the second storage device system.

14. The apparatus of claim 8 , the messaging client on the client device operative to ignore one or more messages that are represented in the message body set but not represented in the message metadata set.

15. At least one computer-readable storage medium comprising instructions that, when executed, cause a system to:

receive a messaging client update request at a messaging system from a messaging client on a client device;

retrieve a message metadata set from a metadata store of the messaging system, the message metadata set associated with a metadata set most-recent sequence identifier for the message metadata set;

provide the metadata set most most-recent sequence identifier for the message metadata set to the message store;

retrieve a message body set from a message store of the messaging system, wherein the message store is operative to self-update by retrieving from a message queue the message body sent when a message store most-recent sequence identifier is less than the metadata set most-recent sequence identifier; and

provide the message metadata set and the message body set to the messaging client on the client device, the metadata set most-recent sequence identifier matching the message store most recent sequence identifier.

16. The computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

combine the message metadata set and message body set into a message set; and

provide the message metadata set and message body set to the messaging client on the client device as the message set.

17. The computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

provide the message metadata set and message body set to the messaging client on the client device with a messaging client update request sequence identifier set to the metadata set most-recent sequence identifier.

18. The computer-readable storage medium of claim 15 , wherein the message store is operative to provide the message body set at a messaging recency based on the metadata set most-recent sequence identifier.

19. The computer-readable storage medium of claim 15 , the metadata store located on a first storage device system, the message store located on a second storage device system, the first storage device system distinct from the second storage device system, the first storage device system comprising a higher-speed storage device system than the second storage device system.

20. The computer-readable storage medium of claim 15 , the messaging client on the client device operative to ignore one or more messages that are represented in the message body set but not represented in the message metadata set.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2020
From: HANDTE, WINSTON FELIX POPOWICZ; BRAY, CHRISTOPHER JOHN
To: FACEBOOK, INC.
Reel/Frame 051737/0430 →
Continuity (1)
Related Publication 20190205466A1 · Jul 4, 2019