IP Library › Granted Patent US 12,407,662
Granted Patent B2
US 12,407,662 · App. 18/774,739 · Granted Sep 2, 2025

Encrypted shared state for electronic conferencing

Inventors: Daniel B. Pollack (Cupertino, CA); Jingyao Zhang (Sunnyvale, CA); Jose A. Lozano Hinojosa (San Jose, CA); Emad Omara (San Jose, CA); Yilmaz Can Cecen (Seattle, WA); Angus N. Burton (San Mateo, CA); Blerim Cici (San Jose, CA)
Assignee: Apple Inc.
H04L63/065H04L9/0861H04L9/16H04L63/0428
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,407,662
App. No.
18/774,739
Granted
Sep 2, 2025
Kind
B2
Abstract

Aspects of the subject technology provide for shared experience sessions within a group communications session such as a video call. The shared experience session may be, as one example, a co-watching session in which the participants in the call watch a video together while in the call. Encrypted shared state data may be exchanged between the participant devices, with which the participant devices can provide synchronized and coordinated output of shared experience data for the shared experience session of the group communications session.

Claims (65)

1. A method comprising:

joining, by a first participant device, an ongoing group communications session that includes a shared experience session, the ongoing group communications session including at least a second participant device;

obtaining a first encryption key for decrypting upcoming encrypted user communications data for the ongoing group communications session;

obtaining, by the first participant device, a second encryption key for the shared experience session;

obtaining encrypted shared state data for the shared experience session;

decrypting the encrypted shared state data using the second encryption key; and

providing, by the first participant device, the shared state data to an application running on the first participant device.

2. The method of claim 1 , wherein the shared state data provided to the application includes state information indicating a state of a streaming of media streaming data at the second participant device.

3. The method of claim 1 , wherein obtaining the second encryption key comprises:

receiving a topic for the shared experience session at the first participant device; and

deriving the second encryption key at the first participant device using the topic for the shared experience session.

4. The method of claim 1 , further comprising:

receiving, at the first participant device from a server associated with the ongoing group communications session, a nomination of the second participant device to provide prior shared state data for the shared experience session to the first participant device;

establishing, by first participant device, a secure peer-to-peer connection with the second participant device; and

obtaining the prior shared state data for the shared experience session from the second participant device over the secure peer-to-peer connection.

5. The method of claim 1 , further comprising:

receiving, by the first participant device from a server after obtaining the first encryption key, an identifier of a third encryption key; and

obtaining the third encryption key from the second participant device using the identifier of the third encryption key.

6. The method of claim 1 , further comprising;

decrypting, by the first participant device, the encrypted user communications data using the first encryption key; and

outputting, by the first participant device, user communications from a user of the second participant device using user communications data.

7. The method of claim 1 , further comprising:

receiving, at the first participant device after joining the ongoing group communications session, a notification to subscribe to the shared experience session.

8. The method of claim 7 , wherein the obtaining, by the first participant device, the second encryption key for the shared experience session comprises obtaining, by the first participant device by subscribing to the shared experience session, the second encryption key for the shared experience session.

9. The method of claim 7 , wherein the ongoing group communications session further includes a third participant device.

10. The method of claim 9 , further comprising:

receiving, by the first participant device from a server after obtaining the first encryption key, an identifier of a third encryption key; and

obtaining the third encryption key from the third participant device using the identifier of the third encryption key.

11. A device comprising:

a memory; and

at least one processor configured to:

relay, between at least a first participant device and a second participant device in a group communications session that includes a shared experience session, encrypted user communications data for the group communications session and encrypted shared state data for the shared experience session;

receive a request from a third participant device to join the shared experience session while the shared experience session is in progress;

select, from among at least the first participant device and the second participant device, the first participant device to provide prior shared state data for the shared experience session to the third participant device; and

provide a notification to the third participant device to obtain the prior shared state data from the first participant device.

12. The device of claim 11 , wherein the at least one processor is further configured to:

receive, from the first participant device and the second participant device, additional encrypted shared state data; and

provide additional encrypted shared state data to the third participant device following the request.

13. The device of claim 11 , wherein the at least one processor is further configured to:

store, key identifiers identifying one or more keys corresponding to the encrypted shared state data including an identifier for a current key corresponding to the encrypted shared state data;

determine that at least one of the first participant device, the second participant device, or the third participant device does not have the current key corresponding to the encrypted shared state data; and

provide the identifier for the current key corresponding to the encrypted shared state data to the at least one of the first participant device, the second participant device, or the third participant device that does not have the current key corresponding to the encrypted shared state data.

14. A non-transitory machine-readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to perform operations comprising:

joining, by a first participant device, an ongoing group communications session that includes a shared experience session, the ongoing group communications session including at least a second participant device;

obtaining a first encryption key for decrypting upcoming encrypted user communications data for the ongoing group communications session;

obtaining, by the first participant device, a second encryption key for the shared experience session;

obtaining encrypted shared state data for the shared experience session;

decrypting the encrypted shared state data using the second encryption key; and

providing, by the first participant device, the shared state data to an application running on the first participant device.

15. The non-transitory machine-readable medium of claim 14 , wherein the shared state data provided to the application includes state information indicating a state of a streaming of media streaming data at the second participant device.

16. The non-transitory machine-readable medium of claim 14 , wherein obtaining the second encryption key comprises:

receiving a topic for the shared experience session at the first participant device; and

deriving the second encryption key at the first participant device using the topic for the shared experience session.

17. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise:

receiving, at the first participant device from a server associated with the ongoing group communications session, a nomination of the second participant device to provide prior shared state data for the shared experience session to the first participant device;

establishing, by first participant device, a secure peer-to-peer connection with the second participant device; and

obtaining the prior shared state data for the shared experience session from the second participant device over the secure peer-to-peer connection.

18. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise:

receiving, by the first participant device from a server after obtaining the first encryption key, an identifier of a third encryption key; and

obtaining the third encryption key from the second participant device using the identifier of the third encryption key.

19. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise:

decrypting, by the first participant device, the encrypted user communications data using the first encryption key; and

outputting, by the first participant device, user communications from a user of the second participant device using user communications data.

20. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise:

receiving, at the first participant device after joining the ongoing group communications session, a notification to subscribe to the shared experience session.

Continuity (3)
Division 17707926 · Mar 29, 2022
Provisional Application 63189152 · May 15, 2021
Related Publication 20240372843A1 · Nov 7, 2024
References Cited (5)
US 11006077B1 · Truong · 2021 [cited by examiner]
US 20110072366A1 · Spencer · 2011 [cited by examiner]
US 20120084670A1 · Momchilov · 2012 [cited by examiner]
US 20170180486A1 · Mehta · 2017 [cited by examiner]
Ajaay, “How to Watch Movies on FaceTime: Step-by-step Guide,” Oct. 28, 2021, retrieved from https://nerdschalk.com/how-to-watch-movies-on-facetime-step-by-step-guide/. [cited by applicant]