IP Library Granted Patent US 10,979,500
Granted Patent B1
US 10,979,500 · App. 16/237,282 · Granted Apr 13, 2021

Techniques for directive-based messaging synchronization

Inventors: Jason Curtis Jenks (Lynwood, WA); Joshua Scott Evenson (Brentwood, CA); Mohsen Agsen (Menlo Park, CA); Jeremy David Fein (New York, NY); Philippe Vincent Ajoux (San Mateo, CA)
Assignee: FACEBOOK, 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 10,979,500
App. No.
16/237,282
Granted
Apr 13, 2021
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 (37)

1. A computer-implemented method, comprising:

receiving a directive package at a messaging client on a client device, the directive package comprising 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 based on a translation of operations that are agnostic to the plurality of versions of the messaging client;

executing the plurality of executable directives of the directive package by a messaging-sync virtual machine to modify a local messaging database of the messaging client; and

refreshing a user interface of the messaging client using the modified local messaging database and in response to the modifying of the local messaging database.

2. 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.

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

4. The method of claim 1 , the directive package comprising a received message update.

5. The method of claim 4 , the received message update comprising a conditional local thread creation portion for a message thread associated with the received message update, further comprising:

determining whether the message thread is represented in the local messaging database; and

executing the conditional local thread creation portion where the message thread is not represented in the local messaging database.

6. The method of claim 5 , the local thread creation portion comprising a contact information bundle for the message thread, the contact information bundle comprising contact information for one or more participants in the message thread.

7. The method of claim 1 , the directive package comprising timing instructions for a next update request for the messaging client.

8. An apparatus, comprising:

a processor; and

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

receive a directive package at a messaging client on a client device, the directive package comprising 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 based on a translation of operations that are agnostic to the plurality of versions of the messaging client; and

execute the plurality of executable directives of the directive package by a messaging-sync virtual machine to modify a local messaging database of the messaging client; and

refresh a user interface of the messaging client using the modified local messaging database and in response to the modifying of the local messaging database.

9. The apparatus 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.

10. The apparatus of claim 9 , the messaging-database-sync-specific instruction set supporting conditional statements to modify the local messaging database, 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, the plurality of messaging-database-sync-specific instruction sets including the messaging-database-sync-specific instruction set.

11. The apparatus of claim 8 , the directive package comprising a received message update.

12. The apparatus of claim 11 , the received message update comprising a conditional local thread creation portion for a message thread associated with the received message update, memory storing instructions which when executed by the processor cause the processor to:

determine whether the message thread is represented in the local messaging database; and

execute the conditional local thread creation portion where the message thread is not represented in the local messaging database.

13. The apparatus of claim 12 , the local thread creation portion comprising a contact information bundle for the message thread, the contact information bundle comprising contact information for one or more participants in the message thread.

14. The apparatus of claim 8 , the directive package comprising timing instructions for a next update request for the messaging client.

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

receive a directive package at a messaging client on a client device, the directive package comprising 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 based on a translation of operations that are agnostic to the plurality of versions of the messaging client;

execute the plurality of executable directives of the directive package by 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.

16. The computer-readable storage medium 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.

17. The computer-readable storage medium of claim 16 , the messaging-database-sync-specific instruction set supporting conditional statements to modify the local messaging database, the plurality of messaging-database-sync-specific instruction sets including the messaging-database-sync-specific instruction set.

18. The computer-readable storage medium of claim 15 , the directive package comprising a received message update, the received message update comprising a conditional local thread creation portion for a message thread associated with the received message update, comprising further instructions that, when executed, cause a system to:

determine whether the message thread is represented in the local messaging database; and

execute the conditional local thread creation portion where the message thread is not represented in the local messaging database.

19. The computer-readable storage medium of claim 18 , the local thread creation portion comprising a contact information bundle for the message thread, the contact information bundle comprising contact information for one or more participants in the message thread.

20. The computer-readable storage medium of claim 15 , the directive package comprising timing instructions for a next update request for the messaging client.

Assignments (2)
CHANGE OF NAME Recorded May 3, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059849/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2020
From: JENKS, JASON CURTIS; EVENSON, JOSHUA SCOTT; AGSEN, MOHSEN; FEIN, JEREMY DAVID; AJOUX, PHILIPPE VINCENT
To: FACEBOOK, INC.
Reel/Frame 051525/0154 →
Cited By (1)
US 12,608,399