System, method and computer program product for collaboration and synchronization of media content on a plurality of media players
A system, method and computer program product is provided which facilitates the collaborative selection and synchronous playing of digital media on a plurality of networked media players. Various embodiments of the invention provides for a plurality of media players in processing communications which enables individual users of the media players to form a collaborative group; whereby the collaborative group of users may jointly suggest, approve, reject, vote, or otherwise select the media item to be synchronously played upon their individual media players. In some embodiments of the present invention, at least one of the media players is assigned a role of designated media coordinator. Each of the plurality of media players includes a processor, a communications infrastructure coupled to the processor, a secondary memory coupled to the communications infrastructure having retrievably stored therein one or more media items playable by the processor, a transceiver coupled to the communications infrastructure, a main memory coupled to the processor and at least one collaboration program stored in at least a portion of the memory. The collaboration program having instructions executable by the processor to exchange parameters among the individual media players to enable the collaborative selection and synchronous playing selected media items.
1 . A media collaboration system comprising:
a plurality of media players in processing communications with one another, each of said plurality of media players including;
a processor;
a communications infrastructure coupled to said processor;
a secondary memory local to said media player and coupled to said communications infrastructure having retrievably stored therein a plurality of media items playable by said processor;
a main memory coupled to said processor; and,
at least one collaboration program stored in at least a portion of said main memory having instructions executable by said processor to;
send at least one parameter from one media player to at least another media player; retrieve from said secondary memory of at least said another media player, a selected media item from said plurality of media items in at least partial dependence on said at least one sent parameter; and,
synchronously play said selected media item in concert but separately on at least said one media player and said at least another media player.
2 . The system according to claim 1 wherein said at least one parameter includes a unique media identifier associated with said selected media item to be retrieved from said secondary memory.
3 . The system according to claim 1 wherein at least a portion of said plurality of media players are disposed in a portable form factor.
4 . The system according to claim 1 wherein said at least one parameter further includes synchronization information for synchronously playing said selected media item.
5 . The system according to claim 4 wherein said synchronization information includes at least one of; a play start time, a play delay time, and a play start signal.
6 . The system according to claim 1 wherein said at least one collaboration program further includes instructions executable by said processor to;
establish a hierarchy among at least a portion of said plurality of media players wherein at least one of said plurality of media players fulfils a transferable role of a designated media coordinator in which said designated media coordinator sends said at least one parameter to at least said another media player.
7 . The system according to claim 6 wherein said at least one collaboration program further includes instructions executable by said processor to;
determine said at least one parameter to be exchanged with at least said another media player in at least partial dependence on said plurality of media items locally stored in said secondary memory of said designated media coordinator.
8 . The system according to claim 1 wherein said at least one collaboration program further includes instructions executable by said processor to;
exchange individualized lists of available media item identifiers among said plurality of said media players; and,
generate a common list of media identifiers available to said plurality of media players, wherein said common list of media identifiers defines a select media group.
9 . The system according to claim 8 wherein access to said select media group is permissively granted in at least partial dependence on one of; a collaborative vote, a user authentication, an account registration and a payment of a fee.
10 . The system according to claim 9 wherein said vote is one of a majority vote, a weighted vote, a priority vote and a unanimous vote received by said designated media coordinator from at least a portion of said plurality of media players.
11 . The system according to claim 6 wherein transfer of said designated media coordinator role to another of said plurality of media players is dependent at least in part on one of; a collaborative vote, a predetermined transfer sequence, a predetermined time duration, a predetermined priority and a random selection.
12 . The system according to claim 1 wherein said at least one collaboration program further includes decisional instructions executable by said processor to perform at least one of; acceptance, rejection and collaborative vote upon a suggested media item received from at least another of said plurality of media players.
13 . The system according to claim 12 wherein said vote is one of; a majority vote, a weighted vote, a priority vote, and a unanimous vote.
14 . The system according to claim 1 wherein said at least one collaboration program further includes instructions executable by said processor to remotely retrieve said selected media item if not locally present in said secondary memory of at least said another media player.
15 . The system according to claim 14 wherein said at least one collaboration program further includes instructions executable by said processor to await a play start signal before synchronously playing said selected media item.
16 . The system according to claim 14 wherein said at least one collaboration program further includes instructions executable by said processor to;
advance to a synchronous point in time as those of said plurality of media players already playing said selected media item; and,
begin playing said selected media item from said synchronous point in time and thereafter.
17 . The system according to claim 1 wherein at least a portion of said processing communications is accomplished wirelessly over at least one of; a wireless network, a BlueTooth network, a cellular network and a satellite network.
18 . A media collaboration method comprising:
providing at least one collaboration program operatively loadable into a main memory of a plurality of media players;
providing in said at least one collaboration program, a first function adapted to send at least one parameter from one media player to at least another of said plurality of media players;
providing in said at least one collaboration program a second function adapted to retrieve from a local datastore associated with at least said another media player, a selected media item in at least partial dependence on said sent parameter; and,
providing in said at least one collaboration program a third function adapted to synchronously play said selected media item in concert but separately on at least said one media player and said at least another media player.
19 . The method according to claim 18 further providing in said at least one collaboration program, a fourth function adapted to allow a plurality of users in possession of said plurality of media players a collaborative decision-making ability.
20 . The method according to claim 19 wherein said collaborative decision-making ability includes at least one of; suggesting an alternative media item, accepting said selected media item, rejecting said selected media item and collaboratively voting on said selected media item.
21 . The method according to claim 20 wherein said collaborative decision-making ability further includes at least one of; accepting said suggested alternative media item, rejecting said suggested alternative media item and collaboratively voting on said suggested alternative media item.
22 . The method according to claim 19 wherein said collaborative decision-making ability includes one of; suggesting at least one of said plurality of media players assumes a role of media coordinator, accepting said role of media coordinator, rejecting said role of media coordinator and collaboratively voting on which of said plurality of media players assumes said role of media coordinator.
23 . The method according to 20 wherein said synchronous play of said selected media item is based at least in partial dependence on a result of said collaboratively voting.
24 . The method according to claim 19 further providing in said at least one collaboration program; a fifth function adapted to retrieve said selected media item from a media provider if said selected media item is not present in said local datastore.
25 . The method according to claim 24 wherein access to said media provider includes;
receiving a request from at least one user having an account with said media provider to retrieve said selected media item in at least partial dependence on said unique media identifier; and,
providing said selected media item to said requesting media player associated with said at least one user.
26 . The method according to claim 25 wherein access to said media provider further includes authenticating said at least one user before providing said selected media item.
27 . The method according to claim 25 further including charging said account.
28 . The method according to claim 20 wherein said collaborative decision-making ability further includes generating a result of said collaboratively voting to determine if said selected media item is to be played by said plurality of media players.
29 . A computer program product embodied in a tangible form comprising executable instructions for a processor associated with a media player to;
receive at least one parameter from a second processor;
retrieve from a secondary memory coupled to said processor a selected media item at least in partial dependence on said received at least one parameter;
load said retrieved selected media item into a main memory coupled to said processor; and,
synchronously play said retrieved selected media item in concert but separately with at least said second processor.
30 . The computer program product according to claim 29 further comprising executable instructions for said processor to retrieve said selected media item from a third processor if not present in said secondary memory.
31 . The computer program product according to claim 30 further comprising executable instructions for said processor to advance to a synchronous point in time as said second processor and begin playing said selected media item from said synchronous point in time and thereafter.
32 . The computer program product according to claim 30 further comprising executable instructions for said processor to permissibly accept said selected media item or suggest an alternative media item for synchronously playing with at least said second processor.
33 . The computer program product according to claim 32 wherein said accept is dependent at least in part on a vote received from at least said second processor.
34 . The computer program product according to claim 30 wherein said tangible form comprises at least one of; magnetic media, optical media or logical media.