IP Library › Granted Patent US 11,190,586
Granted Patent B2
US 11,190,586 · App. 16/925,244 · Granted Nov 30, 2021

Cloud storage and synchronization of messages

Inventors: Kevin J. Lindeman (Morgan Hill, CA); Roberto Garcia (Santa Clara, CA); Gokul Thirumalai (Mountain View, CA); Alexandre A. Aybes (San Francisco, CA); Bhaskar P. Sarma (Santa Clara, CA); Ori Herrnstadt (Los Altos Hills, CA); Raghav V. Pisolkar (Santa Clara, CA); Michael D. Ford (Menlo Park, CA); Robert Y. Loh (Sunnyvale, CA)
Assignee: Apple Inc.
H04L67/1095G06F11/1458H04L51/02H04L67/1097
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,190,586
App. No.
16/925,244
Granted
Nov 30, 2021
Kind
B2
Abstract

A messaging system uses a cloud storage backup system for messages and a temporary storage for messages that are not deliverable to offline devices at the time that the messages are sent by one or more messaging servers. The messages are backed up through a synchronization process that transfers a batch of a plurality of messages rather than a single message or an entire database of messages. A conversation state can be synchronized first before synchronizing messages through the transfer of one or more batches of messages.

Claims (34)

1. A method comprising:

retrieving, by a first device from a temporary storage, a first set of messages for the first device in a set of devices that use a messaging account, the first set of messages having been identified as undeliverable to the first device at a time that the first set of messages was sent; and

transferring data, as part of a synchronization process, between the first device and an archival storage storing a second set of messages in the messaging account, the second set of messages providing a single backup copy of messages for each of the set of devices that uses the messaging account, wherein the transferring of the data comprises:

transferring first data as part of a batch synchronization process for the second set of messages, the batch synchronization process being repeated after a first interval of time, and

transferring second data as part of a conversation synchronization process for a conversation state corresponding to the second set of messages, the conversation synchronization process being repeated after a second interval of time that is different than the first interval of time.

2. The method of claim 1 , wherein at least one of the second set of messages stored at the archival storage was previously undeliverable to the first device and stored at the temporary storage.

3. The method of claim 2 , wherein transferring the data comprises retrieving at least one of the second set of messages by the first device from the archival storage.

4. The method of claim 2 , wherein transferring the data comprises providing at least one of the second set of messages from the first device to the archival storage.

5. The method of claim 1 , wherein the first set of messages and the second set of messages are associated with a messaging service, and wherein the conversation state corresponds to a conversation between a user of the first device and another user of another device that uses the messaging service.

6. The method of claim 1 , wherein each message in the first and second sets of messages is identified by a record identifier that is unique relative to all other messages in the messaging account and is the same across each of the set of devices that uses the messaging account.

7. The method of claim 1 , wherein the archival storage provides a truth zone storage backup for all devices in the set of devices that use the messaging account.

8. A non-transitory machine readable medium storing executable instructions which when executed by a data processing system cause the data processing system to perform a method comprising:

retrieving, by a first device from a temporary storage, a first set of messages for the first device in a set of devices that use a messaging account, the first set of messages having been identified as undeliverable to the first device at a time that the first set of messages was sent; and

transferring data, as part of a synchronization process, between the first device and an archival storage storing a second set of messages in the messaging account, the second set of messages providing a single backup copy of messages for each of the set of devices that uses the messaging account, wherein the transferring of the data comprises:

transferring first data as part of a batch synchronization process for the second set of messages, the batch synchronization process being repeated after a first interval of time, and

transferring second data as part of a conversation synchronization process for a conversation state corresponding to the second set of messages, the conversation synchronization process being repeated after a second interval of time that is different than the first interval of time.

9. The non-transitory machine readable medium of claim 8 , wherein at least one of the second set of messages stored at the archival storage was previously undeliverable to the first device and stored at the temporary storage.

10. The non-transitory machine readable medium of claim 9 , wherein transferring the data comprises retrieving at least one of the second set of messages by the first device from the archival storage.

11. The non-transitory machine readable medium of claim 9 , wherein transferring the data comprises providing at least one of the second set of messages from the first device to the archival storage.

12. The non-transitory machine readable medium of claim 8 , wherein the first set of messages and the second set of messages are associated with a messaging service, and wherein the conversation state corresponds to a conversation between a user of the first device and another user of another device that uses the messaging service.

13. The non-transitory machine readable medium of claim 8 , wherein each message in the first and second sets of messages is identified by a record identifier that is unique relative to all other messages in the messaging account and is the same across each of the set of devices that uses the messaging account.

14. The non-transitory machine readable medium of claim 8 , wherein the archival storage provides a truth zone storage backup for all of the devices in the set of devices that use the messaging account.

15. A device comprising:

a memory; and

at least one processor configured to:

retrieve, from a temporary storage, a first set of messages for the device, the device being a first device in a set of devices that use a messaging account, the first set of messages having been identified as undeliverable to the first device at a time that the first set of messages was sent; and

transfer data, as part of a synchronization process, between the first device and an archival storage storing a second set of messages in the messaging account, the second set of messages providing a single backup copy of messages for each of the set of devices that uses the messaging account, wherein the at least one processor is configured to transfer the data by:

transferring first data as part of a batch synchronization process for the second set of messages, the batch synchronization process being repeated after a first interval of time, and

transferring second data as part of a conversation synchronization process for a conversation state corresponding to the second set of messages, the conversation synchronization process being repeated after a second interval of time that is different than the first interval of time.

16. The device of claim 15 , wherein at least one of the second set of messages stored at the archival storage was previously undeliverable to the first device and stored at the temporary storage.

17. The device of claim 16 , wherein the at least one processor is configured to transfer the data, in part, by retrieving at least one of the second set of messages from the archival storage.

18. The device of claim 16 , wherein the at least one processor is configured to transfer the data, in part, by providing at least one of the second set of messages from the first device to the archival storage.

19. The device of claim 15 , wherein the first set of messages and the second set of messages are associated with a messaging service, and wherein the conversation state corresponds to a conversation between a user of the first device and another user of another device that uses the messaging service.

20. The device of claim 15 , wherein each message in the first and second sets of messages is identified by a record identifier that is unique relative to all other messages in the messaging account and is the same across each of the set of devices that uses the messaging account.

Continuity (5)
Continuation 15902495 · Feb 22, 2018
Provisional Application 62466325 · Mar 2, 2017
Provisional Application 62514938 · Jun 4, 2017
Provisional Application 62514919 · Jun 4, 2017
Related Publication 20200344295A1 · Oct 29, 2020