# US 12,010,155 B2 · Operating system level management of group communication sessions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,155 B2
- Document ID: US12010155B2
- Status: Granted
- Kind: B2
- Application number: 17/224,077
- Filed: 2021-04-06
- Published: 2022-03-24
- Granted: 2024-06-11
- Earliest claimed: 2020-09-24
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Geoffrey Stahl; Jeffrey S. Norris; Timothy R. Oriol; Joel N. Kerr; Srinivas Vedula; Bruno Sommer
- Web page: https://patentgrep.com/patent/US12010155B2

## CPC

- H04L 65/401: wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L 65/4015: {where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- H04L 12/1822: {Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission}
- H04L 63/0861: {using biometrical features, e.g. fingerprint, retina-scan (cryptographic mechanisms or cryptographic arrangements for entity authentication using biological data H04L9/3231)}
- H04L 63/102: {Entity profiles}
- H04L 65/1069: Session establishment or de-establishment
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04N 7/155: {involving storage of or access to video conference sessions (tracking arrangements for later retrieval of a computer conference content or participants activities H04L12/1831)}
- H04N 7/157: {defining a virtual conference space and using avatars or agents (computer conference optimisation or adaptation H04L12/1827)}
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 2463/101: applying security measures for digital rights management
- H04N 21/443: OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/816: {involving special video data, e.g 3D video}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A device for providing operating system managed group communication sessions may include a memory and at least one processor. The at least one processor may be configured to receive, by an operating system level process executing on a device and from an application process executing on a device, a request to initiate a group session between a user associated with the device and another user. The at least one processor may be further configured to identify, by the operating system level process, another device associated with the other user. The at least one processor may be further configured to initiate, by the operating system level process, the group session with the user via the other device. The at least one processor may be further configured to manage, by the operating system level process, the group session.

## Claims

### Claim 1

A method, comprising:
receiving, by an operating system level process executing on a device and from an application process executing on a device, a request to initiate a group session between a user associated with the device and another user;
identifying, by the operating system level process, another device associated with the other user;
initiating, by the operating system level process, the group session between the user and the other user via the other device, wherein initiating the group session between the user and the other user via the other device comprises, by the operating system level process:
determining a host environment in which to display the group session at the device and the other device; and
initiating the group session within the host environment by displaying the host environment at the device;
receiving, by the operating system level process and from the application process, application content; and
managing, by the operating system level process, the group session at least in part by displaying the received application content within the host environment.

### Claim 2 (depends on 1)

The method of claim 1, wherein the host environment comprises at least one of a physical environment of the user, another physical environment of the other user, a virtual environment, or a hybrid environment comprising the physical environment of the user and the other physical environment of the other user.

### Claim 3 (depends on 2)

The method of claim 2, wherein the host environment comprises the physical environment of the user, and initiating the group session within the host environment comprises:
receiving a video stream of the physical environment of the user; and
providing, to the other device, information for generating a reconstruction of the physical environment of the user, the information being generated based at least in part on the video stream.

### Claim 4 (depends on 3)

The method of claim 3, wherein managing, by the operating system level process, the group session based at least in part on the received application content further comprises:
displaying, by the application process, at least a portion of the video stream of the physical environment of the user and at least a portion of the received application content.

### Claim 5 (depends on 3)

The method of claim 3, wherein the information for generating the reconstruction of the physical environment of the user includes information corresponding to a portion of the physical environment that is not included in the video stream.

### Claim 6 (depends on 3)

The method of claim 3, further comprising:
preventing the application process from accessing the video stream or the information for generating the reconstruction of the physical environment of the user.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
authenticating that an avatar of the user of the device corresponds to the user; and
providing, to the other device, the avatar of the user for display in the group session.

### Claim 8 (depends on 7)

The method of claim 7, wherein authenticating that the avatar of the user of the device corresponds to the user further comprises:
verifying that one or more virtual attributes of the avatar conform with one or more physical attributes of the user.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
storing a recording of the group session;
after the group session has ended, replaying the recording of the group session for the user responsive to a request therefor;
receiving user input for an annotation to a portion of the recording of the group session during the replaying of the recording of the group session; and
storing the annotation in association with the portion of the recording of the group session.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
after storing the annotation, replaying the recording of the group session to the user responsive to another request therefor, wherein the annotation is displayed in conjunction with displaying the portion of the recording.

### Claim 11 (depends on 1)

The method of claim 1, wherein the device comprises a head mountable system and the other device comprises a handheld mobile device or a tablet device.

### Claim 12 (depends on 1)

The method of claim 1, wherein an application corresponding to the application process is not installed on the other device when the request to initiate the group session is received and initiating, by the operating system level process, the group session between the user and the other user via the other device further comprises:
causing, by the operating system level process, the other device to download and install at least a portion of the application.

### Claim 13 (depends on 12)

The method of claim 12, wherein the group session is initiated prior to the other device having downloaded and installed the at least the portion of the application and managing, by the operating system level process, the group session based at least in part on the received application content comprises:
providing, to the other device, a non-interactive version of the received application content.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
after the other device has downloaded and installed the at least the portion of the application, transitioning from providing, to the other device, the non-interactive version of the received application content to providing, to the other device an interactive version of the received application content.

### Claim 15 (depends on 14)

The method of claim 14, wherein the non-interactive version of the received application content comprises two-dimensional content and the interactive version of the received application content comprises three-dimensional content.

### Claim 16 (depends on 1)

The method of claim 1, further comprising:
receiving, by the operating system level process and from another application process, another application content; and
managing, by the operating system level process, the group session based at least in part on the application content received from the application process and the other application content received from the other application process.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
receiving, by the operating system level process executing on the device and from the application process executing on the device, another request to add an additional user to the group session; and
adding, by the operating system level process, the additional user to the group session via an additional device of the additional user.

### Claim 18 (depends on 1)

The method of claim 1, wherein managing, by the operating system level process, the group session based at least in part on the received application content comprises:
receiving a request from the user to leave the group session; and
handing off, by the operating system level process, the group session to at least one of another operating system level process of the other device or an additional operating system level process of an additional device.

### Claim 19 (depends on 1)

The method of claim 1, wherein the application content corresponds to content protected by digital rights management, and managing, by the operating system level process, the group session based at least in part on the received application content comprises:
providing, by the operating system level process and to the other device, a network identifier for retrieving the content from a content server; and
facilitating providing, by the operating system level process and to the other device, a key for accessing the retrieved content.

### Claim 20 (depends on 19)

The method of claim 19, wherein managing, by the operating system level process, the group session based at least in part on the received application content further comprises:
synchronizing, by the operating system level process, playback of the content on the device and the other device.

### Claim 21 (depends on 1)

The method of claim 1, wherein managing, by the operating system level process, the group session based at least in part on the received application content further comprises:
controlling, by the operating system level process, at least one of interaction, modification, or reproduction by the other user with respect to the group session.

### Claim 22

A device comprising:
a memory; and
at least one processor configured to:
receive, by an operating system level process executing on the device and from an application process executing on the device, a request to initiate a group session between a user associated with the device and another user;
identify, by the operating system level process, another device associated with the other user;
initiate, by the operating system level process, the group session with the user via the other device at least in part by:
determining a host environment in which to display the group session at the device and the other device; and
initiating the group session within the host environment by displaying the host environment at the device; and
manage, by the operating system level process, the group session at least in part by displaying application content, received from the application process, within the host environment.

### Claim 23

A non-transitory machine readable medium comprising code that, when executed by one or more processors, causes the one or more processors to perform operations comprising:
receiving, by an operating system level process executing on a device and from an application process executing on the device, a request to initiate a group session between a user associated with the device and another user;
identifying, by the operating system level process, another device associated with the other user;
initiating, by the operating system level process, the group session between the user and the other user via the other device at least in part by:
determining a host environment in which to display the group session at the device and the other device; and
initiating the group session within the host environment by displaying the host environment at the device; and
managing, by the operating system level process, the group session at least in part by displaying application content, received from the application process, within the host environment.

### Claim 24 (depends on 23)

The non-transitory machine readable medium of claim 23, wherein the operations further comprise:
receiving, by the operating system level process and from another application process, other application content; and
managing, by the operating system level process, the group session based at least in part on the application content received from the application process and the other application content received from the other application process.
