Synchronized media experience
First Claim
Patent Images
1. A method comprising:
- identifying a group of two or more media entertainment client devices;
generating a group identity having no associated members;
receiving at least one of a group membership request to associate with the group identity, wherein the group membership request includes data indicating a timeline position and a media content identifier associated with media content presented by at least one of the media entertainment client devices;
determining a first media entertainment client device of the group which is furthest, in presenting of the media content, from a beginning of a timeline associated with the media content;
determining a second media entertainment client device of the group which is closest, in presenting of the media content, from the beginning of the timeline associated with the media content;
determining a third media entertainment client device of the group which is, in presenting of the media content, between the first media entertainment client device and the second media entertainment client device on the timeline associated with the media content;
calculating a time to synchronize the first and second media entertainment client devices on the timeline;
generating a first synchronization command being a pause command which directs the first media entertainment client device to pause presenting of the media content;
generating a second synchronization command being a fast-forward command which directs the second media entertainment client device to fast-forward presenting of the media content at a first rate to synchronize the first and second media entertainment client devices on the timeline, wherein the first rate is calculated by dividing a time difference between the first and second media entertainment client devices on the timeline by the time calculated to synchronize the first and second media entertainment client devices on the timeline;
generating a third synchronization command being a fast-forward command and a pause command which directs the third media entertainment client device to fast-forward presenting of the media content at a second rate and pause the presenting of the media content to synchronize the third media entertainment client device with the first and second media entertainment client devices on the timeline in the time calculated to synchronize the first and second media entertainment client devices on the timeline; and
communicating the first, second and third synchronization commands to the first, second and third media entertainment client devices, respectively, such that execution of the synchronization commands by the media entertainment client devices results in synchronized presentation of media content by each of the media entertainment client devices.
2 Assignments
0 Petitions
Accused Products
Abstract
A synchronized media experience is described. A media server identifies a group of two or more remote media entertainment systems through which user-controlled play of media content may be presented. The server generates and transmits one or more synchronization commands to the remote media entertainment systems to synchronize presentation of a particular media content through the two or more remote media entertainment systems. A control command entered by a user of one of the remote media entertainment systems may be communicated to each of the two or more remote media entertainment systems to enable synchronized, user controlled presentation of the particular media content.
-
Citations
18 Claims
-
1. A method comprising:
-
identifying a group of two or more media entertainment client devices; generating a group identity having no associated members; receiving at least one of a group membership request to associate with the group identity, wherein the group membership request includes data indicating a timeline position and a media content identifier associated with media content presented by at least one of the media entertainment client devices; determining a first media entertainment client device of the group which is furthest, in presenting of the media content, from a beginning of a timeline associated with the media content; determining a second media entertainment client device of the group which is closest, in presenting of the media content, from the beginning of the timeline associated with the media content; determining a third media entertainment client device of the group which is, in presenting of the media content, between the first media entertainment client device and the second media entertainment client device on the timeline associated with the media content; calculating a time to synchronize the first and second media entertainment client devices on the timeline; generating a first synchronization command being a pause command which directs the first media entertainment client device to pause presenting of the media content; generating a second synchronization command being a fast-forward command which directs the second media entertainment client device to fast-forward presenting of the media content at a first rate to synchronize the first and second media entertainment client devices on the timeline, wherein the first rate is calculated by dividing a time difference between the first and second media entertainment client devices on the timeline by the time calculated to synchronize the first and second media entertainment client devices on the timeline; generating a third synchronization command being a fast-forward command and a pause command which directs the third media entertainment client device to fast-forward presenting of the media content at a second rate and pause the presenting of the media content to synchronize the third media entertainment client device with the first and second media entertainment client devices on the timeline in the time calculated to synchronize the first and second media entertainment client devices on the timeline; and communicating the first, second and third synchronization commands to the first, second and third media entertainment client devices, respectively, such that execution of the synchronization commands by the media entertainment client devices results in synchronized presentation of media content by each of the media entertainment client devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 18)
-
-
9. A system comprising:
-
first, second and third media entertainment client devices, each configured to present a media content at a presentation rate that may be controlled by a user; and a media synchronization engine configured to; generate a group identity; receive a group membership request from each of the first, second and third media entertainment client devices, wherein the group membership request includes data indicating a timeline position on a timeline of the media content and a media content identifier associated with the media content, the media content being presented by at least one of the media entertainment client devices; calculating a time to synchronize the first, second and third media entertainment client devices on the timeline; and communicate a first synchronization command to the first media entertainment client device, a second synchronization command to the second media entertainment client device, and a third synchronization command to the third media entertainment client device resulting in synchronized presentation of the media content by the first, second and third media entertainment client devices, the first synchronization command, the second synchronization command, and the third synchronization command determined by identifying which of the first, second and third media entertainment client devices is displaying the media content furthest along the timeline of the media content and issuing a pause command to the media entertainment client device that is furthest along the timeline and a fast-forward command to the other media entertainment client devices. - View Dependent Claims (10, 11, 12, 13)
-
-
14. One or more computer-readable storage media comprising computer-readable instructions which, when executed, cause a computer system to perform acts comprising:
-
identifying a group of two or more remote client devices, each configured to present a media content at a play rate that may be controlled by a user; evaluating at least one data store to determine a point on a media timeline to synchronize the group of two or more remote client devices; synchronizing presentation of the media content by each of the two or more remote client devices; and managing a control command received from a remote client device, by performing acts comprising; determining a group structure, wherein the group structure includes rules governing which remote client device(s) are permitted to issue control commands, wherein the rules governing which remote client device(s) are permitted to issue controls include permitting the remote client device to issue control commands based on the number of remote client devices in the group according to; if the group includes N or less remote client devices, permitting each remote client device to issue control commands; and if the group includes greater than N remote client devices, permitting a subgroup of the remote client devices to issue control commands, wherein the subgroup includes N or less remote client devices; enforcing the group structure based on at least one rule from at least one data store, wherein enforce the group structure includes ignore at least one received control command from at least one remote client device and allow at least one received command control; and communicating the allowed at least one received command control to at least one remote client device. - View Dependent Claims (15, 16, 17)
-
Specification