# US 9,521,170 B2 · Participation queue system and method for online video conferencing

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

- Number: US 9,521,170 B2
- Document ID: US9521170B2
- Status: Granted
- Kind: B2
- Application number: 14/675,708
- Filed: 2015-03-31
- Published: 2015-10-22
- Granted: 2016-12-13
- Earliest claimed: 2014-04-22
- Assignees: Minerva Project, Inc.
- Applicants: Minerva Project, Inc.
- Inventors: Ari Bader-Natal; Brian Fields; Matthew Michael Regan; Jonathan Scott Katzman; Stephen Kosslyn; Brandon Tilley; Gene Hallman
- Web page: https://patentgrep.com/patent/US9521170B2

## CPC

- H04L 65/1096: Supplementary features, e.g. call forwarding or call holding (systems providing special services or facilities to telephony subscribers H04M3/42)
- H04L 12/1813: {for computer conferences, e.g. chat rooms (instant messaging H04L51/04; protocols for multimedia communication H04L65/1101; arrangements for multi-party communication H04L65/403; telephonic conference arrangements H04M3/56; television conference systems H04N7/15)}
- 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 65/1069: Session establishment or de-establishment
- H04L 65/1093: by adding participants; by removing participants
- 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)
- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04N 7/15: Conference systems
- H04N 7/157: {defining a virtual conference space and using avatars or agents (computer conference optimisation or adaptation H04L12/1827)}
- H04L 12/1827: {Network arrangements for conference optimisation or adaptation}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A virtual conferencing system is described for implementing a speaker queue. For example, one embodiment of the virtual conferencing system comprises: a plurality of clients, each of the clients comprising state management logic to maintain a current state of a virtual conference; a virtual conferencing service to establish audio and/or video connections between the plurality of clients during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client to ensure that the current state of the virtual conference is consistent on each client; wherein the current state on each client includes a speaker queue comprising an ordered set of participants to be designated as current speakers during the virtual conference, wherein participants are added to the speaker queue in response to input provided by the participants indicating a desire to be a current speaker, wherein one or more participants towards the top of the speaker queue are designated to be current speakers, wherein participants are initially added to the bottom of the speaker queue and are moved towards the top of the speaker queue as other participants are removed from the top of the speaker queue; a virtual conferencing graphical user interface (GUI) to display a video stream of one or more current speakers within one or more current speaker regions, the virtual conferencing GUI further providing a visual representation of the speaker queue to each of the participants, the visual representation comprising an ordered representation of each of the participants in the speaker queue.

## Claims

### Claim 1

A virtual conferencing system comprising:
a plurality of clients, each of the clients comprising state management logic to maintain a current state of a virtual conference;
a virtual conferencing service to establish audio and/or video connections between the plurality of clients during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client to ensure that the current state of the virtual conference is consistent on each client;
wherein the current state on each client includes a speaker queue comprising an ordered set of participants to be designated as current speakers during the virtual conference, wherein participants are added to the speaker queue in response to input provided by the participants indicating a desire to be a current speaker, wherein one or more participants towards the top of the speaker queue are designated to be current speakers, wherein participants are initially added to the bottom of the speaker queue and are moved towards the top of the speaker queue as other participants are removed from the top of the speaker queue;
a virtual conferencing graphical user interface (GUI) to display a video stream of one or more current speakers within one or more current speaker regions, the virtual conferencing GUI further providing a visual representation of the speaker queue to each of the participants, the visual representation comprising an ordered representation of each of the participants in the speaker queue.

### Claim 2 (depends on 1)

The system as in claim 1 wherein a participant indicates a desire to be a current speaker by selecting and holding down a designated key on a keyboard on the participant's client or by selecting a specified graphical element within the virtual conference GUI.

### Claim 3 (depends on 1)

The system as in claim 1 wherein the current speaker regions comprise one or more regions which are centrally positioned within the GUI and occupy a larger area on the GUI than video streams non-speaker regions.

### Claim 4 (depends on 1)

The system as in claim 1 wherein the representation of each of the participants in the speaker queue comprises a picture of each of the participants, an avatar associated with each of the participants, or a video feed of each of the participants in the speaker queue.

### Claim 5 (depends on 1)

The system as in claim 1 wherein the state management logic is configured to speculatively add a requesting participant to the speaker queue on the participant's client and then to synchronize the addition of the participant to the speaker queue with other clients through the state synchronization service.

### Claim 6 (depends on 1)

The system as in claim 1 wherein the virtual conferencing GUI further comprises one or more thumbnail video streams displayed of participants who are not a current speaker outside of or adjacent to the current speaker regions.

### Claim 7 (depends on 1)

The system as in claim 1 wherein at least one of the participants is designated as a default speaker, wherein a representation of the default speaker is not removed from the speaker queue.

### Claim 8 (depends on 7)

The system as in claim 7 wherein the representation of the default speaker is automatically positioned at the bottom of the speaker queue if there are other participants in the speaker queue and moves to the top of the speaker queue when there are no other participants in the speaker queue.

### Claim 9 (depends on 8)

The system as in claim 8 wherein, in response to input from the default speaker, the representation of the default speaker is moved to the top of the speaker queue ahead of all other participants, thereby causing video of the default speaker to be displayed in one of the current speaker regions of the virtual conferencing GUI.

### Claim 10 (depends on 9)

The system as in claim 9 wherein the default speaker comprises a professor, teacher, or other moderator in charge of the virtual conference.

### Claim 11 (depends on 1)

The system as in claim 1 further comprising:
at least one timer on the clients and/or on the virtual conferencing service to set a time limit for the one or more current speakers, wherein upon expiration of the timer, the one or more current speakers are automatically removed from the speaker queue.

### Claim 12 (depends on 1)

The system as in claim 1 wherein the state synchronization service on the virtual conferencing service implements a publish-subscribe mechanism to ensure that the current state on each of the clients is consistent, wherein the state management logic on each client publishes changes to its state to the state synchronization service and subscribes to receive state updates published by all other clients, including updates to the speaker queue.

### Claim 13

A method comprising:
establishing audio and/or video connections between a plurality of clients with a virtual conferencing service, the virtual conferencing service including a state synchronization service communicatively coupled to the state management logic on each client to ensure that the current state of the virtual conference is consistent on each client;
forming a speaker queue comprising an ordered set of participants to be designated as current speakers during the virtual conference, wherein the current state on each client indicates a current configuration of the speaker queue, wherein participants are added to the speaker queue in response to input provided by the participants indicating a desire to be a current speaker, wherein one or more participants towards the top of the speaker queue are designated to be current speakers,
wherein participants are initially added to the bottom of the speaker queue and are moved towards the top of the speaker queue as other participants are removed from the top of the speaker queue;
displaying a virtual conferencing graphical user interface (GUI) on each client, the virtual conferencing GUI to display a video stream of one or more current speakers within one or more current speaker regions, the virtual conferencing GUI further providing a visual representation of the speaker queue to each of the participants, the visual representation comprising an ordered representation of each of the participants in the speaker queue.

### Claim 14 (depends on 13)

The method as in claim 13 wherein a participant indicates a desire to be a current speaker by selecting and holding down a designated key on a keyboard on the participant's client or by selecting a specified graphical element within the virtual conference GUI.

### Claim 15 (depends on 13)

The method as in claim 13 wherein the current speaker regions comprise one or more regions which are centrally positioned within the GUI and occupy a larger area on the GUI than video streams non-speaker regions.

### Claim 16 (depends on 13)

The method as in claim 13 wherein the representation of each of the participants in the speaker queue comprises a picture of each of the participants, an avatar associated with each of the participants, or a video feed of each of the participants in the speaker queue.

### Claim 17 (depends on 13)

The method as in claim 13 wherein the state management logic is configured to speculatively add a requesting participant to the speaker queue on the participant's client and then to synchronize the addition of the participant to the speaker queue with other clients through the state synchronization service.

### Claim 18 (depends on 13)

The method as in claim 13 wherein the virtual conferencing GUI further comprises one or more thumbnail video streams of participants who are not a current speaker displayed outside of or adjacent to the current speaker regions.

### Claim 19 (depends on 13)

The method as in claim 13 wherein at least one of the participants is designated as a default speaker, wherein a representation of the default speaker is not removed from the speaker queue.

### Claim 20 (depends on 19)

The method as in claim 19 wherein the representation of the default speaker is automatically positioned at the bottom of the speaker queue if there are other participants in the speaker queue and moves to the top of the speaker queue when there are no other participants in the speaker queue.

### Claim 21 (depends on 20)

The method as in claim 20 wherein, in response to input from the default speaker, the representation of the default speaker is moved to the top of the speaker queue ahead of all other participants, thereby causing video of the default speaker to be displayed in one of the current speaker regions of the virtual conferencing GUI.

### Claim 22 (depends on 21)

The method as in claim 21 wherein the default speaker comprises a professor, teacher, or other moderator in charge of the virtual conference.

### Claim 23 (depends on 13)

The method as in claim 13 further comprising:
at least one timer on the clients and/or on the virtual conferencing service to set a time limit for the one or more current speakers, wherein upon expiration of the timer, the one or more current speakers are automatically removed from the speaker queue.

### Claim 24 (depends on 13)

The method as in claim 13 wherein the state synchronization service on the virtual conferencing service implements a publish-subscribe mechanism to ensure that the current state on each of the clients is consistent, wherein the state management logic on each client publishes changes to its state to the state synchronization service and subscribes to receive state updates published by all other clients, including updates to the speaker queue.
