IP Library Granted Patent US 11,405,343
Granted Patent B2
US 11,405,343 · App. 15/858,607 · Granted Aug 2, 2022

Techniques for extensible message indexing

Inventors: Winston Felix Popowicz Handte (New York, NY); Sonjeev Jahagirdar (New York, NY); Zardosht Kasheff (New York, NY); John Reed Riley (New York, NY)
Assignee: META PLATFORMS, INC.
H04L51/16H04L51/04H04L51/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 11,405,343
App. No.
15/858,607
Granted
Aug 2, 2022
Kind
B2
Abstract

Techniques for extensible message indexing are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive an incoming message from a client device; identify a sending client service for the incoming message at the client front-end component; determine a service identifier index value for the sending client service at the client front-end component; and store the incoming message in a message queue using the service identifier index value. Other embodiments are described and claimed.

Claims (50)

1. A computer-implemented method, comprising:

receiving an incoming message from a client device, the incoming message identifying a sending client service;

determining a service identifier index value based on the sending client service;

storing the incoming message in a message queue using at least a first index value of a thread type index, the service identifier index value being assigned as the first index value;

sending the incoming message to a subscribing service based on the service identifier index value from the thread type index; and

assigning an additional service identifier index value as a second index value of the thread type index for supporting an additional client service different from the sending client service associated with the service identifier index value, the second index value being different from the first index value, and

wherein the first and second index values are associated with a same index of a database, the same index being the thread type index, and

wherein the first and second index values act or operate as indices for the sending client service and the additional client service, respectively, without adding a separate index for each of the sending client service and the additional client service to the database.

2. The method of claim 1 , the sending client service comprising a messaging-based commerce service.

3. The method of claim 1 ,

wherein the additional client service is supported without adding an additional index to a message store.

4. The method of claim 1 , the message queue operative to deliver the incoming message to a subscribing service based on the subscribing service being associated with the service identifier index value.

5. The method of claim 1 , further comprising:

storing the incoming message in a message store using the service identifier index value as a thread type for a thread type index of the message store.

6. The method of claim 5 , further comprising:

receiving a message retrieval request from the client device, the message retrieval request identifying the service identifier index value as the thread type for the thread type index; and

retrieving a plurality of messages based on using the service identifier index value with the thread type index; and

returning the plurality of messages in response to the message retrieval request.

7. An apparatus, comprising:

at least one processor operable to execute stored instructions that, when executed, causes the at least one processor to:

receive an incoming message from a client device, the incoming message identifying a sending client service;

determine a service identifier index value based on the sending client service;

store the incoming message in a message queue using at least a first index value of a thread type index, the service identifier index value being assigned as the first index value;

send the incoming message to a subscribing service based on the service identifier index value from the thread type index; and

assign an additional service identifier index value as a second index value of the thread type index for supporting an additional client service different from the sending client service associated with the service identifier index value, the second index value being different from the first index value, and

wherein the first and second index values are associated with a same index of a database, the same index being the thread type index, and

wherein the first and second index values act or operate as indices for the sending client service and the additional client service, respectively, without adding a separate index for each of the sending client service and the additional client service to the database.

8. The apparatus of claim 7 , the sending client service comprising a messaging-based commerce service.

9. The apparatus of claim 7 , the message queue operative to deliver the incoming message to a subscribing service based on the subscribing service being associated with the service identifier index value.

10. The apparatus of claim 7 , further comprising wherein the at least one processor is further caused to:

store the incoming message in a message store using the service identifier index value as a thread type for a thread type index of the message store.

11. The apparatus of claim 7 , wherein the at least one processor is further caused to:

receive a message retrieval request from the client device, the message retrieval request identifying the service identifier index value as the thread type for the thread type index; and retrieve a plurality of messages based on using the service identifier index value with the thread type index; and return the plurality of messages in response to the message retrieval request.

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

receive an incoming message from a client device, the incoming message identifying a sending client service;

determine a service identifier index value based on the sending client service;

store the incoming message in a message queue using at least a first index value of a thread type index, the service identifier index value being assigned as the first index value;

send the incoming message to a subscribing service based on the service identifier index value from the thread type index; and

assign an additional service identifier index value as a second index value of the thread type index for supporting an additional client service different from the sending client service associated with the service identifier index value, the second index value being different from the first index value, and

wherein the first and second index values are associated with a same index of a database, the same index being the thread type index, and

wherein the first and second index values act or operate as indices for the sending client service and the additional client service, respectively, without adding a separate index for each of the sending client service and the additional client service to the database.

13. The at least one non-transitory computer-readable storage medium of claim 12 , the sending client service comprising a messaging-based commerce service.

14. The at least one non-transitory computer-readable storage medium of claim 12 , wherein the additional client service is supported without adding an additional index to a message store.

15. The at least one non-transitory computer-readable storage medium of claim 12 , the message queue operative to deliver the incoming message to a subscribing service based on the subscribing service being associated with the service identifier index value.

16. The at least one non-transitory computer-readable storage medium of claim 12 , comprising further instructions that, when executed, cause a system to:

store the incoming message in a message store using the service identifier index value as a thread type for a thread type index of the message store.

17. The at least one non-transitory computer-readable storage medium of claim 12 , comprising further instructions that, when executed, cause a system to:

receive a message retrieval request from the client device, the message retrieval request identifying the service identifier index value as the thread type for the thread type index; and

retrieve a plurality of messages based on using the service identifier index value with the thread type index; and

return the plurality of messages in response to the message retrieval request.

Assignments (2)
CHANGE OF NAME Recorded Feb 9, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058981/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2018
From: HANDTE, WINSTON FELIX POPOWICZ; JAHAGIRDAR, SONJEEV; KASHEFF, ZARDOSHT; RILEY, JOHN REED
To: FACEBOOK, INC.
Reel/Frame 044724/0554 →
Continuity (1)
Related Publication 20190207892A1 · Jul 4, 2019