IP Library Granted Patent US 11,310,315
Granted Patent B1
US 11,310,315 · App. 17/226,227 · Granted Apr 19, 2022

Techniques for directive-based messaging synchronization

Inventors: Jason Curtis Jenks (Bellevue, WA); Joshua Scott Evenson (Redwood City, CA); Mohsen M Agsen (Honolulu, HI); Jeremy David Fein (New York, NY); Philippe Vincent Ajoux (Belmont, CA)
Assignee: META PLATFORMS, INC.
H04L67/1095G06F9/45558G06F16/2379G06F16/27H04L51/04H04L51/16H04L67/42G06F2009/45595
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,310,315
App. No.
17/226,227
Granted
Apr 19, 2022
Kind
B1
Abstract

Techniques for directive-based messaging synchronization are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device; and a local database synchronization component operative to execute the directive package with a messaging-sync virtual machine to modify a local messaging database of the messaging client; and refresh a user interface component of the messaging client in response to modifying the local messaging database of the messaging client. Other embodiments are described and claimed.

Claims (36)

1. A method, comprising:

receiving, by a messaging client executing on a client device, a plurality of executable directives defined by a messaging-database-sync-specific instruction set associated with a first version of a plurality of versions of the messaging client, the plurality of executable directives derived from operations that are agnostic to the plurality of versions of the messaging client; and

executing the plurality of executable directives by a messaging-sync virtual machine to modify a messaging database of the messaging client.

2. The method of claim 1 , wherein modifying the messaging database comprises one or more of: (i) adding a new message to the messaging database, (ii) removing a deleted message from the messaging database, (iii) storing a read receipt in the messaging database, and (iv) modifying an element stored in the messaging database.

3. The method of claim 1 , wherein executing the plurality of executable directives synchronizes the messaging database of the messaging client on the client device with a messaging database of another instance of the messaging client on a different device.

4. The method of claim 1 , wherein executing the plurality of executable directives to modify the messaging database comprises:

determining that a thread for a received message does not exist in the messaging database; and

creating the thread for the received message in the messaging database.

5. The method of claim 1 , each version of the messaging client associated with a respective messaging-database-sync-specific instruction set of a plurality of messaging-database-sync-specific instruction sets, each of the plurality of messaging-database-sync-specific instruction sets based on translations of the operations that are agnostic to the plurality of versions of the messaging client.

6. The method of claim 5 , the messaging-database-sync-specific instruction set supporting conditional statements to modify the messaging database, the plurality of messaging-database-sync-specific instruction sets including the messaging-database-sync-specific instruction set.

7. The method of claim 1 , further comprising:

modifying a graphical interface of the messaging client based on the modified messaging database.

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

receive, by a messaging client, a plurality of executable directives defined by a messaging-database-sync-specific instruction set associated with a first version of a plurality of versions of the messaging client, the plurality of executable directives derived from operations that are agnostic to the plurality of versions of the messaging client; and

execute the plurality of executable directives by a messaging-sync virtual machine to modify a messaging database of the messaging client.

9. The computer-readable storage medium of claim 8 , wherein modifying the messaging database comprises one or more of: (i) adding a new message to the messaging database, (ii) removing a deleted message from the messaging database, (iii) storing a read receipt in the messaging database, and (iv) modifying an element stored in the messaging database.

10. The computer-readable storage medium of claim 8 , wherein executing the plurality of executable directives synchronizes the messaging database of the messaging client on a device comprising the processor with a messaging database of another instance of the messaging client on a different device.

11. The computer-readable storage medium of claim 8 , wherein the instructions to execute the plurality of executable directives to modify the messaging database comprise instructions that when executed by the processor, cause the processor to:

determine that a thread for a received message does not exist in the messaging database; and

create the thread for the received message in the messaging database.

12. The computer-readable storage medium of claim 8 , each version of the messaging client associated with a respective messaging-database-sync-specific instruction set of a plurality of messaging-database-sync-specific instruction sets, each of the plurality of messaging-database-sync-specific instruction sets based on translations of the operations that are agnostic to the plurality of versions of the messaging client.

13. The computer-readable storage medium of claim 12 , wherein the messaging-database-sync-specific instruction set supports conditional statements to modify the messaging database, the plurality of messaging-database-sync-specific instruction sets including the messaging-database-sync-specific instruction set.

14. The computer-readable storage medium of claim 8 , comprising instructions that when executed by the processor, cause the processor to:

modify a graphical interface of the messaging client based on the modified messaging database.

15. An apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the processor to:

receive, by a messaging client executing on the processor, a plurality of executable directives defined by a messaging-database-sync-specific instruction set associated with a first version of a plurality of versions of the messaging client, the plurality of executable directives derived from operations that are agnostic to the plurality of versions of the messaging client; and

execute the plurality of executable directives by a messaging-sync virtual machine to modify a messaging database of the messaging client.

16. The apparatus of claim 15 , wherein modifying the messaging database comprises one or more of: (i) adding a new message to the messaging database, (ii) removing a deleted message from the messaging database, (iii) storing a read receipt in the messaging database, and (iv) modifying an element stored in the messaging database.

17. The apparatus of claim 15 , wherein executing the plurality of executable directives synchronizes the messaging database of the messaging client on the apparatus with a messaging database of another instance of the messaging client on a different device.

18. The apparatus of claim 15 , wherein the instructions to execute the plurality of executable directives to modify the messaging database comprise instructions that when executed by the processor, cause the processor to:

determine that a thread for a received message does not exist in the messaging database; and

create the thread for the received message in the messaging database.

19. The apparatus of claim 15 , each version of the messaging client associated with a respective messaging-database-sync-specific instruction set of a plurality of messaging-database-sync-specific instruction sets, each of the plurality of messaging-database-sync-specific instruction sets based on translations of the operations that are agnostic to the plurality of versions of the messaging client.

20. The apparatus of claim 19 , wherein the messaging-database-sync-specific instruction set supports conditional statements to modify the messaging database, the plurality of messaging-database-sync-specific instruction sets including the messaging-database-sync-specific instruction set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2024
From: JENKS, JASON CURTIS; EVENSON, JOSHUA SCOTT; AGSEN, MOHSEN M.; FEIN, JEREMY DAVID; AJOUX, PHILLIPPE VINCENT
To: FACEBOOK, INC.
Reel/Frame 067194/0868 →
CHANGE OF NAME Recorded Feb 9, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058981/0383 →
Continuity (1)
Continuation 16237282 · Dec 31, 2018