US 11,863,600 B2
Techniques for efficient communication during a video collaboration session
Siya Yang, San Francisco, CA (US); Alan Rogers, San Francisco, CA (US); Daniel Wagner, San Francisco, CA (US); Irene Ma, San Francisco, CA (US); and Jason Stakelon, San Francisco, CA (US)
Assigned to Dropbox, Inc., San Francisco, CA (US)
Filed by Dropbox, Inc., San Francisco, CA (US)
Filed on Jun. 30, 2021, as Appl. No. 17/364,375.
Prior Publication US 2023/0007064 A1, Jan. 5, 2023
Int. Cl. H04L 65/401 (2022.01); G06F 3/04845 (2022.01); G06F 3/04812 (2022.01)
CPC H04L 65/4015 (2013.01) [G06F 3/04812 (2013.01); G06F 3/04845 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method performed by one or more computing devices, the method comprising:
streaming video data to a plurality of client devices participating in a session, the video data representing a plurality of video frames;
during the streaming, recording state information about the video data, the state information including:
real-time cursor data indicating a position of an input cursor controlled within a graphical user interface at each of the client devices,
drawing annotations provided by client devices of the plurality of client devices participating in the session; and
user interaction information reflecting an interaction of a user with a graphical user interface displayed at a first client device of the plurality of client devices, wherein the user interaction information identifies a particular action performed at the first client device or identifies a particular control in the graphical user interface displayed by the first client device
from each of the one or more client devices of the plurality of client devices, receiving the real-time cursor data, wherein the real-time cursor data is time-synchronized with the video data streamed during the session;
transmitting, in real time to each client device of the plurality of client devices, the real-time cursor data received from other client devices of the plurality of client devices,
wherein each client device in synchronous mode is configured to display, in real time, respective cursors representing each input cursor controlled at the other client devices at respective locations indicated in the real-time cursor data, and
wherein, upon one of the plurality of client devices changing from the synchronous mode to an asynchronous mode, ceasing to display, within the graphical user interface of each client device in the synchronous mode, a cursor representing an input cursor controlled at the one of the plurality of client devices; and
wherein each client device in a synchronous mode is configured to display, in real time, a visual representation of the user interaction information, wherein when the user interaction information identifies the particular control in the graphical user interface displayed by the first client device, the visual representation of the user interaction information comprises a visual highlight of the particular control.