Synchronizing video content among clients in a collaboration system

US11910048B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11910048-B2
Application numberUS-202117527157-A
CountryUS
Kind codeB2
Filing dateNov 15, 2021
Priority dateMar 9, 2020
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and techniques are provided for synchronizing playback of a video at a plurality of client-side nodes in a network including a server-side node and the plurality of client-side nodes. The system includes logic to receive a sync video message at the server from a first client-side node identifying a sync event time. The system includes logic to map the sync event time at the server to a sync frame identifier. The server sends a follower sync video message to a follower set of one or more other client-side nodes including the sync frame identifier. In response to the follower sync video message the one or more client-side nodes in the follower set can synchronize playing the video at a frame corresponding to the sync frame identifier.

First claim

Opening claim text (preview).

What is claimed is: 1. A method including: designating, at a server, a first client node as a leader node; receiving, from the leader node, designation of a video to be synchronously played at a plurality of client nodes; storing, at the server, an index table comprising sequential frame numbers and corresponding display time stamps for the video with each sequential frame number, of the sequential frame numbers, identifying a particular frame of the video; receiving, at the server and from the first client node, a sync video message identifying a sync video event including a sync event time, wherein playback of the video is to be synchronized to the sync event time at one or more other client nodes in a follower set; using, at the server, a mapping result prepared from the index table stored at the server, wherein the mapping result maps the sync event time to a sync frame identifier, the sync frame identifier including one sequential frame number for the video; and sending, from the server, a follower sync video message to the one or more other client nodes in the follower set, the follower sync video message including the sync frame identifier, such that, in response to receiving the follower sync video message, the one or more other client nodes in the follower set can synchronize playback of the video at a frame corresponding to the frame number included in the sync frame identifier. 2. The method of claim 1 , including: receiving, at the server, a sequence of sync video messages including the sync video message, the sequence of sync video messages identifying respective sync video events including respective sync event times; and sending, from the server and to the one or more other client nodes in the follower set, a sequence of follower sync video messages, including the sync video message. 3. The method of claim 1 , further including: executing an API at the server for the sync video message and the follower sync video message. 4. The method of claim 1 , further including: receiving, at the server, a load video message from the first client node in the plurality of client nodes identifying a load video event including an identifier of the video; and sending, from the server, a follower load video message to the one or more other client nodes in the follower set, the follower load video message including data identifying the video, in response to which the video can be downloaded at the one or more other client nodes. 5. The method of claim 4 , further including: receiving, at the server and from client nodes of the plurality of client nodes, acknowledgement messages after the sending of the follower load video message; and listing client nodes in the follower set of the one or more other client nodes in response to receipt of the acknowledgement messages within a pre-determined cut-off time interval. 6. The method of claim 4 , further including: composing the index table comprising sequential frame numbers and corresponding display time stamps for the video in response to the load video event, wherein the display time stamps are presentation time stamps and represent relative display times. 7. The method of claim 1 , further including: using a system configured for displaying views of a workspace on an interactive workspace display or an interactive display in a network including the server and the plurality of client nodes; and delivering, from the server to client nodes of the plurality of client nodes, at least part of a log of entries to identify events in the workspace, the events identified by the entries in the log being related to graphical targets having coordinates within the workspace including a graphical object representing the video, wherein an entry in the log, which identifies an event, comprises data specifying coordinates of a location within the workspace of the graphical target related to the event, wherein a target identifier of the graphical target related to the event is to be displayed on a display of a client node and the target identifier includes a link to the video. 8. The method of claim 1 , further including: receiving, at the server, a pause video message from the first client node identifying a pause video event including a pause event time to pause play of the video at the first client node; mapping, at the server, the pause event time to a pause frame identifier; and sending, from the server, a follower pause video message to the one or more other client nodes in the follower set including the pause frame identifier, in response to which the one or more other client nodes in the follower set can synchronize pausing the video at a frame corresponding to the pause frame identifier; receiving, at the server, a seek video message from the first client node identifying a seek video event including a seek event time to seek a frame in the video at the first client node; mapping, at the server, the seek event time to a seek frame identifier; and sending, from the server, a follower seek video message to the one or more other client nodes in the follower set including the seek frame identifier, in response to which the one or more other client nodes in the follower set can synchronize seeking the video at a frame corresponding to the seek frame identifier; receiving, at the server, a resume video message from the first client node identifying a resume video event including a resume event time to resume play of the video at the first client node; mapping, at the server, the resume event time to a resume frame identifier; and sending, from the server, a follower resume video message to the one or more other client nodes in the follower set including the resume frame identifier, in response to which the one or more other client nodes in the follower set can synchronize resuming play of the video at a frame corresponding to the resume frame identifier; receiving, at the server, an ask video message from an additional client node to enable synchronized playback of the video at the additional client node; and sending, from the server, a next follower sync video message in a sequence of follower sync video messages, in response to which the additional client node can synchronize playing the video at a frame corresponding to the sync frame identifier; receiving, at the server, a late video message from one of the client nodes in the follower set to synchronize playback of the video at the one of the client nodes in the follower set after the playback of the video has started on the first client node; and sending, from the server, a next follower sync video message in the sequence of follower sync video messages, in response to which the one of the client nodes in the follower set can synchronize playing the video at a frame corresponding to the sync frame identifier. 9. The method of claim 8 , including: changing the designated leader node for the video from the first client node to another client node in the follower set. 10. The method of claim 1 , further including: receiving, at the server, a stop video message from the first client node identifying a stop video event including a stop event time to stop play of the video at the first client node; mapping, at the server, the stop event time to a stop frame identifier; and sending, from the server, a follower stop video message to the one or more other client nodes in the follower set including the stop frame identifier, in response to which the one or more other client nodes in the follower set can synchronize stopping play of the video at a frame corresponding to the stop frame identifier. 11. A non-transitory computer readable storage medium impressed with computer progra

Assignees

Inventors

Classifications

  • Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen · CPC title

  • Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)} · CPC title

  • by decomposing the content in the time domain, e.g. in time segments · CPC title

  • Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805) · CPC title

  • directed to client · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11910048B2 cover?
Systems and techniques are provided for synchronizing playback of a video at a plurality of client-side nodes in a network including a server-side node and the plurality of client-side nodes. The system includes logic to receive a sync video message at the server from a first client-side node identifying a sync event time. The system includes logic to map the sync event time at the server to a …
Who is the assignee on this patent?
Haworth Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/4307. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 20 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).