IP Library Patent Application 17885109
Patent Application
App. No. 17/885,109

TECHNIQUES FOR AVOIDING CONFLICTING USER ACTIONS DURING A VIDEO COLLABORATION SESSION

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 None
App. No.
17/885,109
Abstract

Techniques are disclosed for avoiding conflicting user actions while the users synchronously participate in collaborative video review based on joint state data for a video collaboration session. User actions may conflict, e.g., when a user submits a video playback instruction to change the current frame of the session while another user is performing a frame-specific action on the current frame. The video collaboration service freezes the current frame in joint state data based on detecting that a frame-specific action is being performed or is likely imminent. Detecting a freeze condition may be implicit or explicit. In order to unfreeze the current frame of the joint state data, no active freeze conditions may be in effect. Further, the freeze condition may be lifted implicitly or explicitly. A visual video freeze indication may be displayed by one or more client applications participating in the session while a freeze condition is active.

Claims (61)

1 . A computer-implemented method comprising:

concurrently streaming video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;

receiving, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;

detecting a freeze condition based on one or more annotation actions; and

based on the detected freeze condition, freezing the current frame value, in the joint state data, at the particular frame.

2 . The method of claim 1 , wherein said freezing the current frame value, in the joint state data, at the particular frame comprises causing video playback controls, displayed at one or more client devices of the plurality of client devices, to be disabled.

3 . The method of claim 1 , further comprising, after freezing the current frame value, in the joint state data, at the particular frame:

detecting a lift of the freeze condition based, at least in part, on one of:

receiving an instruction to lift the freeze condition,

receiving a terminating update from the particular client device, or

determining that a threshold amount of time has lapsed since detecting a context event that precipitated the freeze condition; and

after detecting a lift of the freeze condition, unfreezing the current frame value.

4 . The method of claim 3 , further comprising:

displaying by each client device of the one or more client devices a visual video freeze indication including a user identifier associated with the freeze condition.

5 . The method of claim 1 , further comprising:

receiving, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;

after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintaining the current frame value, in the joint state data, identifying the particular frame.

6 . The method of claim 1 , further comprising:

receiving, from the particular client device of the plurality of client devices, co-presence information describing the one or more annotation actions performed at the particular client device in a graphical user interface displayed by the particular client device.

7 . The method of claim 1 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions.

8 . The method of claim 1 , further comprising:

after freezing the current frame value, receiving an instruction to unfreeze the current frame value from, the instruction to unfreeze being associated with a session master identifier;

based on receiving the instruction to unfreeze, unfreezing the current frame value.

9 . The method of claim 8 , wherein: the freeze condition is a first freeze condition; and

detecting a second freeze condition precipitated by a client device of the plurality of client devices other than the particular client device;

wherein both the first freeze condition and the second freeze condition are active upon receiving the instruction to unfreeze the current frame value.

10 . A non-transitory computer-readable storage medium, the computer-readable storage medium comprising instructions that when executed by a computer, cause the computer to:

concurrently stream video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;

receive, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;

detect a freeze condition based on one or more annotation actions; and

based on the detected freeze condition, freeze the current frame value, in the joint state data, at the particular frame.

11 . The computer-readable storage medium of claim 10 , wherein said freezing the current frame value, in the joint state data, at the particular frame comprises cause video playback controls, displayed at one or more client devices of the plurality of client devices, to be disabled.

12 . The computer-readable storage medium of claim 10 , wherein the instructions further configure the computer to:

receive, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;

after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintain the current frame value, in the joint state data, identifying the particular frame.

13 . The computer-readable storage medium of claim 10 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions.

14 . The computer-readable storage medium of claim 10 , wherein the instructions further configure the computer to:

after freezing the current frame value, receive an instruction to unfreeze the current frame value, the instruction to unfreeze being associated with a session master identifier;

based on receiving the instruction to unfreeze, unfreeze the current frame value.

15 . The computer-readable storage medium of claim 14 , wherein: the freeze condition is a first freeze condition; and

detect a second freeze condition precipitated by a client device of the plurality of client devices other than the particular client device;

wherein both the first freeze condition and the second freeze condition are active upon receiving the instruction to unfreeze the current frame value.

16 . A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

concurrently stream video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;

receive, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;

detect a freeze condition based on one or more annotation actions; and

based on the detected freeze condition, freeze the current frame value, in the joint state data, at the particular frame.

17 . The computing apparatus of claim 16 , wherein the instructions further configure the apparatus to, after freezing the current frame value, in the joint state data, at the particular frame:

detect a lift of the freeze condition based, at least in part, on one of:

receive an instruction to lift the freeze condition,

receive a terminating update from the particular client device, or

determine that a threshold amount of time has lapsed since detecting a context event that precipitated the freeze condition; and

after detecting a lift of the freeze condition, unfreeze the current frame value.

18 . The computing apparatus of claim 17 , wherein the instructions further configure the apparatus to:

display by each client device of the one or more client devices a visual video freeze indication including a user identifier associated with the freeze condition.

19 . The computing apparatus of claim 16 , wherein the instructions further configure the apparatus to:

receive, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;

after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintain the current frame value, in the joint state data, identifying the particular frame.

20 . The computing apparatus of claim 16 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2022
From: YANG, SIYA; ROGERS, ALAN; WAGNER, DANIEL; MA, IRENE; STAKELON, JASON
To: DROPBOX, INC.
Reel/Frame 060772/0616 →