# US 12,003,889 B1 · Collaborative virtual spaces

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

- Number: US 12,003,889 B1
- Document ID: US12003889B1
- Status: Granted
- Kind: B1
- Application number: 17/681,326
- Filed: 2022-02-25
- Granted: 2024-06-04
- Earliest claimed: 2022-02-25
- Assignees: RingCentral, Inc.
- Applicants: RingCentral, Inc.
- Inventors: Badri Rajasekar; Gustavo Garcia; Adam Ullman; Matthew Wilson
- Web page: https://patentgrep.com/patent/US12003889B1

## CPC

- H04N 7/157: {defining a virtual conference space and using avatars or agents (computer conference optimisation or adaptation H04L12/1827)}
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06Q 10/101: Collaborative creation, e.g. joint development of products or services
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems, methods, and computer-readable media are provided for rendering a shared virtual meeting environment during a video meeting session. The shared virtual meeting environment comprises a shared virtual space which is accessible to the meeting participants and includes video streams for each of the respective meeting participants. The video streams may be repositioned within the shared virtual space based on user interaction within the shared virtual space.

## Claims

### Claim 1

One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor, perform a method for providing a shared virtual meeting environment within a video meeting session, the method comprising:
generating a shared virtual space with a virtual object for collaborative editing during the video meeting session;
receiving a plurality of video streams, each video stream comprising a live video feed from a user of a plurality of users;
rendering the shared virtual space with each video stream of the plurality of video streams overlaid onto the shared virtual space in proximity to an initial action point associated with each respective user, wherein the initial action point is different than one or more locations at which users interact with the virtual object;
receiving a user interaction at a first position about the virtual object from a first user of the plurality of users, wherein the user interaction comprises edits being made to the virtual object;
determining, based on the user interaction, an updated action point for the first user, the updated action point corresponding to the first position about the virtual object;
responsive to the user interaction, repositioning a first video stream of the first user in proximity to the updated action point within the shared virtual space; and
presenting the edits that are made to the virtual object at the first position by the user interaction with the live video feed of the first video stream playing in proximity of the updated action point and other live video feeds associated with other video streams of the plurality of video streams playing at the initial action point associated with the user of each of the other video streams.

### Claim 2 (depends on 1)

The non-transitory computer-readable media of claim 1, wherein the shared virtual space comprises a plurality of interactable objects.

### Claim 3 (depends on 2)

The non-transitory computer-readable media of claim 2, wherein the plurality of interactable objects comprises a shared virtual whiteboard.

### Claim 4 (depends on 3)

The non-transitory computer-readable media of claim 3, wherein the plurality of interactable objects further comprises a randomizable object.

### Claim 5 (depends on 1)

The non-transitory computer-readable media of claim 1, wherein the method further comprises generating an interactive reaction comprising at least one image within the shared virtual space based on a user action.

### Claim 6 (depends on 1)

The non-transitory computer-readable media of claim 1, further comprising:
receiving a subsequent user interaction within the shared virtual space from the first user; and
responsive to the subsequent user interaction, repositioning the first video stream of the first user in proximity to a subsequent action point within the shared virtual space associated with the subsequent user interaction.

### Claim 7 (depends on 1)

The non-transitory computer-readable media of claim 1, wherein the shared virtual space further comprises a plurality of participant avatars, each participant avatar of the plurality of participant avatars corresponding to a respective user of the plurality of users, wherein each participant avatar is associated with a respective video stream of the plurality of video streams.

### Claim 8 (depends on 1)

The computer-readable media of claim 1, wherein the method further comprises:
receiving a second user interaction that a second user from the plurality of users has with the virtual object at a second position;
responsive to the second user interaction, repositioning a second video stream of the second user in proximity to a second action point within the shared virtual space corresponding to the second position; and
presenting edits that are made to the virtual object at the second position by the second user interaction with the live video feed of the second video stream playing in proximity of the second action point and with the live video feed of the first video stream playing in proximity of the updated action point and the edits that are made to the virtual object by the user interaction of the first user.

### Claim 9

A method for providing a shared virtual meeting environment within a video meeting session, the method comprising:
generating a shared virtual space with a virtual object for collaborative editing during the video meeting session;
receiving a plurality of video streams, each video stream comprising a live video feed from a user of a plurality of users;
rendering the shared virtual space with each video stream of the plurality of video streams overlaid onto the shared virtual space in proximity to an initial action point associated with each respective user, wherein the initial action point is different than one or more locations at which users interact with the virtual object;
receiving a user interaction at a first position about the virtual object from a first user of the plurality of users, wherein the user interaction comprises edits being made to the virtual object;
determining, based on the user interaction, an updated action point for the first user, the updated action point corresponding to the first position about the virtual object;
responsive to the user interaction, repositioning a first video stream of the first user in proximity to the updated action point within the shared virtual space; and
presenting the edits that are made to the virtual object at the first position by the user interaction with the live video feed of the first video stream playing in proximity of the updated action point and other live video feeds associated with other video streams of the plurality of video streams playing at the initial action point associated with the user of each of the other video streams.

### Claim 10 (depends on 9)

The method of claim 9, wherein the shared virtual space comprises a collaborative real-time editor, and wherein the user interaction is associated with a collaborative document within the collaborative real-time editor such that the updated action point is associated with a position within the collaborative document.

### Claim 11 (depends on 9)

The method of claim 9, wherein the shared virtual space comprises a plurality of interactable objects.

### Claim 12 (depends on 11)

The method of claim 11, wherein the user interaction from the first user is associated with an interactable object of the plurality of interactable objects such that the first video stream of the first user is repositioned in proximity to the interactable object.

### Claim 13 (depends on 9)

The method of claim 9, wherein an output of an audio stream of the first user associated with the first video stream is adjusted based at least in part on a relative position of the first video stream.

### Claim 14 (depends on 9)

The method of claim 9, further comprising:
receiving a second user interaction within the shared virtual space from a second user of the plurality of users; and
responsive to the second user interaction, repositioning a second video stream of the second user in proximity to a second action point within the shared virtual space associated with the second user interaction.

### Claim 15

A system for video meetings, the system comprising:
one or more data stores; and
at least one processor programmed to perform a method for providing a shared virtual meeting environment within a video meeting session, the method comprising:
generating a shared virtual space with a virtual object for collaborative editing during the video meeting session;
receiving a plurality of video streams, each video stream comprising a live video feed from a user of a plurality of users;
rendering the shared virtual space with each video stream of the plurality of video streams overlaid onto the shared virtual space in proximity to an initial action point associated with each respective user, wherein the initial action point is different than one or more locations at which users interact with the virtual object;
receiving a user interaction at a first position about the virtual object from a first user of the plurality of users, wherein the user interaction comprises edits being made to the virtual object;
determining, based on the user interaction, an updated action point for the first user, the updated action point corresponding to the first position about the virtual object;
responsive to the user interaction, repositioning a first video stream of the first user in proximity to the updated action point within the shared virtual space; and
presenting the edits that are made to the virtual object at the first position by the user interaction with the live video feed of the first video stream playing in proximity of the updated action point and other live video feeds associated with other video streams of the plurality of video streams playing at the initial action point associated with the user of each of the other video streams.

### Claim 16 (depends on 15)

The system of claim 15, the method further comprising:
receiving a subsequent user interaction within the shared virtual space from the first user; and
responsive to the subsequent user interaction, repositioning the first video stream of the first user in proximity to a subsequent action point within the shared virtual space associated with the subsequent user interaction.

### Claim 17 (depends on 15)

The system of claim 15, wherein the shared virtual space further comprises a plurality of participant avatars, each participant avatar of the plurality of participant avatars corresponding to a respective user of the plurality of users, wherein each participant avatar is associated with a respective video stream of the plurality of video streams.

### Claim 18 (depends on 15)

The system of claim 15, wherein the shared virtual space comprises a collaborative real-time editor, and wherein the user interaction is associated with a collaborative document within the collaborative real-time editor such that the respective initial action point is associated with a position within the collaborative document.

### Claim 19 (depends on 15)

The system of claim 15, wherein the shared virtual space comprises a plurality of interactable objects.

### Claim 20 (depends on 19)

The system of claim 19, the method further comprising:
receiving a subsequent user interaction with an interactable object of the plurality of interactable objects from the first user of the plurality of users; and
responsive to the subsequent user interaction, further repositioning the first video stream of the first user in proximity to the interactable object within the shared virtual space.
