Synchronized media playback using autonomous clients over standard Internet protocols
First Claim
1. A method of arranging synchronous display of a media broadcast, the media broadcast comprising a sequence of a plurality of media files, the method comprising:
- publishing, by a synchronization server, a listing of a plurality of available media broadcasts, wherein the plurality of available media broadcasts can be selected for play at one or more client devices;
maintaining, only for each of the plurality of available media broadcasts currently being played at at least one client device, a virtual playhead comprising an indication of a media file currently being played in the media broadcast and an indication of a point at which the media file is being played;
receiving, at the synchronization server, a request from a first client device to play a particular media broadcast;
determining, in response to receiving the request from the first client device, that at least a second client device is playing the particular media broadcast by determining that a virtual playhead for the particular media broadcast is being maintained; and
sending, from the synchronization server to the first client device, synchronization information comprising a location on one or more content servers of the media file indicated by the virtual playhead for the particular media broadcast and a point indicated by the virtual playhead for the particular media broadcast at which the media file is being played.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of achieving synchronous playback of media content over the internet, such as digital video and audio, when the media content is stored on a host that does not have synchronous broadcasting software installed. Users select media sources that are accessible from one or more content servers and create a broadcast playlist. A database maintains a virtual-time record of the broadcast. A server receives a client request for the broadcast, retrieves the virtual-time record from the database, and delivers it to the client. The client then accesses the remotely-stored media source and plays it in a media player, synchronously with all other clients receiving the broadcast.
-
Citations
27 Claims
-
1. A method of arranging synchronous display of a media broadcast, the media broadcast comprising a sequence of a plurality of media files, the method comprising:
-
publishing, by a synchronization server, a listing of a plurality of available media broadcasts, wherein the plurality of available media broadcasts can be selected for play at one or more client devices; maintaining, only for each of the plurality of available media broadcasts currently being played at at least one client device, a virtual playhead comprising an indication of a media file currently being played in the media broadcast and an indication of a point at which the media file is being played; receiving, at the synchronization server, a request from a first client device to play a particular media broadcast; determining, in response to receiving the request from the first client device, that at least a second client device is playing the particular media broadcast by determining that a virtual playhead for the particular media broadcast is being maintained; and sending, from the synchronization server to the first client device, synchronization information comprising a location on one or more content servers of the media file indicated by the virtual playhead for the particular media broadcast and a point indicated by the virtual playhead for the particular media broadcast at which the media file is being played. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A synchronization system for arranging synchronous display of a media broadcast, the media broadcast comprising a sequence of a plurality of media files, the synchronization system comprising:
-
a communication mechanism configured to communicate with a plurality of client devices; and a computer readable medium comprising instructions executable by the synchronization system, the instructions comprising; instructions to publish a listing of a plurality of available media broadcasts, wherein the plurality of available media broadcasts can be selected for play at one or more of the plurality of client devices; instructions to maintain, only for each of the plurality of available media broadcasts currently being played at at least one of the plurality of client devices, a virtual playhead comprising an indication of a media file currently being played in the media broadcast and an indication of a point at which the one of the plurality of media files is being played; instructions to receive, via the communication mechanism, a request from the a first client device to play the media broadcast; instructions to determine that at least one of the plurality of client devices is playing the media broadcast by determining that the virtual playhead is being maintained; and instructions to send, to the first client device via the communication mechanism, synchronization information comprising a location on one or more content servers of the media file indicated by the virtual playhead for the particular media broadcast and a point indicated by the virtual playhead for the particular media broadcast at which the media file is being played. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer readable medium comprising instructions to arrange synchronous display of a media broadcast, the media broadcast comprising a sequence of a plurality of media files, the instructions comprising:
-
instructions to publish a listing of a plurality of available media broadcasts, wherein the plurality of available media broadcasts can be selected for play at one or more client devices; instructions to maintain, only for each of the plurality of available media broadcasts currently being played at at least one client device, a virtual playhead comprising an indication of a media file currently being played in the media broadcast and an indication of a point at which the media file is being played; instructions to receive a request from a first client device to play a particular media broadcast; instructions to determine, in response to receiving the request from the first client device, that at least a second client device is playing the particular media broadcast by determining that a virtual playhead for the particular media broadcast is being maintained; and instructions to send, to the first client device, synchronization information comprising a location on one or more content servers of the media file indicated by the virtual playhead for the particular media broadcast and a point indicated by the virtual playhead for the particular media broadcast at which the media file is being played. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification