Patent ID: 11863600
Assignee: DROPBOX, INC.
Field: Audio-visual technology (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 16:
17. A computing system comprising:
one or more processors;
one or more non-transitory computer-readable media; and
one or more sequences of instructions stored in the one or more non-transitory computer-readable media which, when executed by the one or more processors, cause the computing system to:
stream video data to a plurality of client devices participating in a session, the video data representing a plurality of video frames;
record state information about the video data, the state information including:
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, the user interaction information identifying 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,
real-time cursor data indicating a position of an input cursor controlled within the graphical user interface at each of the client devices, and
annotations provided by client devices of the plurality of client devices participating in the session;

receive, from the first client device, the user interaction information, wherein the user interaction information is time-synchronized with the video data streamed during the session;
transmit, 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,
in response to receiving the user interaction information, transmit, to each client device of the plurality of client devices other than the first client device, the user interaction information,
wherein each client device in a synchronous mode is configured to display, in real time a visual representation of the user interaction information including the respective cursors represented by the real-time cursor data,
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 visual representation of the user interaction information of the one of the plurality of client devices, and
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 a graphical interface control.