IP Library › Granted Patent US 12,160,472
Granted Patent B2
US 12,160,472 · App. 18/375,454 · Granted Dec 3, 2024

Group activity session synchronization

Inventors: Adam Y. Syed (San Francisco, CA); Justin R. Etzine (San Jose, CA); Pierre J. De Filippis (Los Gatos, CA); Nicholas J. Circosta (Mountain View, CA); Ryan A. Williams (Morgan Hill, CA); David J. Browning (Fair Oaks, CA); Chieh Lu (Santa Clara, CA); Matthew C. Lucas (Soquel, CA); Bhaskar P. Sarma (Sunnyvale, CA); Jose A. Lozano Hinojosa (San Jose, CA); Sean Geiger (Austin, TX); David S. Evans (San Ramon, CA); Daniel B. Pollack (Cupertino, CA); Priya Shah (San Francisco, CA)
H04L67/1095H04L67/142
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 12,160,472
App. No.
18/375,454
Granted
Dec 3, 2024
Kind
B2
Abstract

The present disclosure generally relates to synchronizing copies of a data object.

Claims (66)

1. A method, comprising:

by a first electronic device:

joining an activity session associated with a data object; and

while joined to the activity session:

synchronizing, using a first data transfer channel, a first copy of the data object with a storage resource;

receiving an indication that a second electronic device has joined the activity session associated with the data object; and

subsequent to receiving the indication that the second electronic device has joined the activity session:

establishing a second data transfer channel separate from the first data transfer channel; and

synchronizing, using the first data transfer channel, the first copy of the data object with the storage resource;

synchronizing, using the second data transfer channel without using the first data channel, a second copy of the data object with the second electronic device while continuing to separately synchronize, using the first data transfer channel, the first copy of the data object with the storage resource.

2. The method of claim 1 , further comprising:

receiving an indication that the second electronic device is editing the data object, wherein establishing the second data transfer channel is performed in response to receiving the indication that the second electronic device is editing the data object.

3. The method of claim 2 , further comprising:

subsequent to receiving the indication that the second electronic device has joined the activity session, and prior to receiving the indication that the second electronic device is editing the data object, increasing a synchronization rate of synchronization using the first data transfer channel.

4. The method of claim 1 , further comprising:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established, decreasing a synchronization rate of synchronization using the first data transfer channel.

5. The method of claim 1 , further comprising:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established:

synchronizing, using the second data transfer channel, a third copy of the data object with the second electronic device at a first synchronization rate; and

synchronizing, using the first data transfer channel, a fourth copy of the data object with the storage resource at a second synchronization rate, wherein the first synchronization rate is different from the second synchronization rate.

6. The method of claim 1 , further comprising:

subsequent to establishing the second data transfer channel, and in accordance with a determination that no other electronic devices are active in the activity session, closing the second data transfer channel.

7. The method of claim 1 , wherein the storage resource is remote from the first electronic device and from the second electronic device.

8. The method of claim 1 , wherein synchronizing, using the second data transfer channel without using the first data channel, the second copy of data object with the second electronic device includes directly synchronizing the second copy of the data object with the second electronic device.

9. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first electronic device, the one or more programs includes instructions for:

joining an activity session associated with a data object; and

while joined to the activity session:

synchronizing, using a first data transfer channel, a first copy of the data object with a storage resource;

receiving an indication that a second electronic device has joined the activity session associated with the data object; and

subsequent to receiving the indication that the second electronic device has joined the activity session:

establishing a second data transfer channel separate from the first data transfer channel; and

synchronizing, using the second data transfer channel without using the first data channel, a second copy of the data object with the second electronic device while continuing to separately synchronize, using the first data transfer channel, the first copy of the data object with the storage resource.

10. The non-transitory computer-readable storage medium of claim 9 , the one or more programs includes instructions for:

receiving an indication that the second electronic device is editing the data object, wherein establishing the second data transfer channel is performed in response to receiving the indication that the second electronic device is editing the data object.

11. The non-transitory computer-readable storage medium of claim 10 , the one or more programs includes instructions for:

subsequent to receiving the indication that the second electronic device has joined the activity session, and prior to receiving the indication that the second electronic device is editing the data object, increasing a synchronization rate of synchronization using the first data transfer channel.

12. The non-transitory computer-readable storage medium of claim 9 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established, decreasing a synchronization rate of synchronization using the first data transfer channel.

13. The non-transitory computer-readable storage medium of claim 9 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established:

synchronizing, using the second data transfer channel, a third copy of the data object with the second electronic device at a first synchronization rate; and

synchronizing, using the first data transfer channel, a fourth copy of the data object with the storage resource at a second synchronization rate, wherein the first synchronization rate is different from the second synchronization rate.

14. The non-transitory computer-readable storage medium of claim 9 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and in accordance with a determination that no other electronic devices are active in the activity session, closing the second data transfer channel.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the storage resource is remote from the first electronic device and from the second electronic device.

16. A first electronic device, the first electronic device comprises one or more processors and memory storing one or more program configured to be executed by the one or more processors, the one or more programs includes instructions for:

joining an activity session associated with a data object; and

while joined to the activity session:

synchronizing, using a first data transfer channel, a first copy of the data object with a storage resource;

receiving an indication that a second electronic device has joined the activity session associated with the data object; and

subsequent to receiving the indication that the second electronic device has joined the activity session:

establishing a second data transfer channel separate from the first data transfer channel; and

synchronizing, using the second data transfer channel without using the first data channel, a second copy of the data object with the second electronic device while continuing to separately synchronize, using the first data transfer channel, the first copy of the data object with the storage resource.

17. The first electronic device of claim 16 , the one or more programs includes instructions for:

receiving an indication that the second electronic device is editing the data object, wherein establishing the second data transfer channel is performed in response to receiving the indication that the second electronic device is editing the data object.

18. The first electronic device of claim 17 , the one or more programs includes instructions for:

subsequent to receiving the indication that the second electronic device has joined the activity session, and prior to receiving the indication that the second electronic device is editing the data object, increasing a synchronization rate of synchronization using the first data transfer channel.

19. The first electronic device of claim 16 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established, decreasing a synchronization rate of synchronization using the first data transfer channel.

20. The first electronic device of claim 16 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and while the second data transfer channel is established:

synchronizing, using the second data transfer channel, a third copy of the data object with the second electronic device at a first synchronization rate; and

synchronizing, using the first data transfer channel, a fourth copy of the data object with the storage resource at a second synchronization rate, wherein the first synchronization rate is different from the second synchronization rate.

21. The first electronic device of claim 16 , the one or more programs includes instructions for:

subsequent to establishing the second data transfer channel, and in accordance with a determination that no other electronic devices are active in the activity session, closing the second data transfer channel.

22. The first electronic device of claim 16 , wherein the storage resource is remote from the first electronic device and from the second electronic device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2023
From: ETZINE, JUSTIN R.; DE FILIPPIS, PIERRE J.; CIRCOSTA, NICHOLAS J.; WILLIAMS, RYAN A.; BROWNING, DAVID J.; LU, CHIEH; LUCAS, MATTHEW C.; SARMA, BHASKAR P.; LOZANO HINOJOSA, JOSE A.; GEIGER, SEAN; SYED, ADAM Y.; EVANS, DAVID S.; SHAH, PRIYA; POLLACK, DANIEL B.
To: APPLE INC.
Reel/Frame 065590/0845 →
Continuity (2)
Provisional Application 63443011 · Feb 2, 2023
Related Publication 20240267427A1 · Aug 8, 2024