IP Library Granted Patent US 8,583,671
Granted Patent B2
US 8,583,671 · App. 12/432,637 · Granted Nov 12, 2013

Mediaset generation system

Inventors: Francisco Martin (Corvallis, OR); Marc Torrens (Barcelona, ES); Rick Hangartner (Corvallis, OR); Guillermo Caudevilla-Laliena (Corvallis, OR); David del ser Bartolome (Corvallis, OR); Craig Rowley (San Jose, CA)
Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,583,671
App. No.
12/432,637
Granted
Nov 12, 2013
Kind
B2
Abstract

Disclosed are various embodiments of systems and methods for generating composite mediasets from mediasets, each comprising media items, associated with a plurality of users. In some embodiments, individual and/or group recommendations are provided for creating a group playlist by aggregating user taste data for a plurality of users in a group. In other embodiments, systems and methods are provided which allow for sharing and playing of a group playlist by users in a group, each of which has a media playback device. Each media item, such as a song, is played from one of the individual user devices for the benefit of all users in the vicinity at the time. Music thus can be “shared” without transferring files potentially in violation of copyrights.

Claims (31)

1. A system for building a composite playlist comprising:

a server;

a plurality of session managers, each of the plurality of session managers associated with at least one of a plurality of media devices to yield associated media devices, wherein each of the plurality of session managers is configured to manage a status of one or more of the associated media devices, and wherein the plurality of session managers are configured to verify eligibility of the associated media devices to participate in a session;

a playlist builder software component executable on the server configured for receiving user media item data from each of the plurality of media devices and for building a composite playlist of media data items from the user media item data;

a plurality of playlist managers, each of the plurality of playlist managers associated with one of the plurality of media devices, wherein each of the plurality of playlist managers is configured to communicate with the playlist builder software component to send the user media item data of a corresponding media device to the playlist builder software component, wherein the playlist builder software component is further defined to send the media data items identified on the composite playlist to the plurality of playlist managers, and wherein the user media item data for each of the plurality of media devices is analyzed by the playlist builder software component to generate a playlist for each of the plurality of media devices to yield a generated playlist representing a media taste of a corresponding user;

a recommender software component executable on the server, wherein the recommender software component is configured to access the playlist builder software component to generate a recommended mediaset responsive to the generated playlist for each of the plurality of media devices; and

an aggregator software component executable on the server, wherein the aggregator software component is configured to access the playlist builder to additively generate a composite recommended mediaset responsive to the recommended mediaset generated for each of the plurality of media devices by selectively adding media data items from a plurality of the recommended mediasets, wherein media data items are selected for inclusion in the composite recommended mediaset based on a utility function that maximizes the number of users with media taste reflected in the composite recommended mediaset.

2. The system of claim 1 , wherein the user media item data comprises metadata that identifies a playlist of playable media files.

3. The system of claim 1 , wherein each of the plurality of playlist managers is further configured to play the media data items identified on the composite playlist that are stored on at least one of the associated media devices.

4. The system of claim 1 , wherein each of the plurality of playlist managers is configured to stream media files to other media players participating in the session.

5. The system of claim 4 , wherein the system is configured such that each of the media data items listed in the composite playlist is stored on at least one of the plurality of media devices participating in the session, and wherein each of the media data items on the composite playlist is played at least substantially simultaneously on each of the media devices participating in the session by streaming of the stored media data item from the at least one of the plurality of media devices to each other one of the plurality of media devices participating in the session.

6. A computer-implemented method for building a composite playlist comprising:

defining, at a server, a plurality of session managers, each of the plurality of session managers associated with at least one of a plurality of media devices to yield associated media devices, wherein each of the plurality of session managers is configured to manage a status of one or more of the associated media devices, and wherein the plurality of session managers are configured to verify eligibility of the associated media devices to participate in a session;

receiving, via a playlist builder software component executable on the server, user media item data from each of the plurality of media devices and for building a composite playlist of media data items from the user media item data;

defining, at the server, a plurality of playlist managers, each of the plurality of playlist managers associated with one of the plurality of media devices, wherein each of the plurality of playlist managers is configured to communicate with the playlist builder software component to send the user media item data of a corresponding media device to the playlist builder software component, wherein the playlist builder software component is further defined to send the media data items identified on the composite playlist to the plurality of playlist managers, and wherein the user media item data for each of the plurality of media devices is analyzed by the playlist builder software component to generate a playlist for each of the plurality of media devices to yield a generated playlist representing a media taste of a corresponding user;

accessing, via a recommender software component executable on the server, the playlist builder software component to generate a recommended mediaset responsive to the generated playlist for each of the plurality of media devices; and

accessing, via an aggregator software component executable on the server, the playlist builder to additively generate a composite recommended mediaset responsive to the recommended mediaset generated for each of the plurality of media devices by selectively adding media data items from a plurality of the recommended mediasets, wherein media data items are selected for inclusion in the composite recommended mediaset based on a utility function that maximizes the number of users with media taste reflected in the composite recommended mediaset.

7. The computer-implemented method of claim 6 , wherein the user media item data comprises metadata that identifies a playlist of playable media files.

8. The computer-implemented method of claim 6 , wherein each of the plurality of playlist managers is further configured to play the media data items identified on the composite playlist that are stored on at least one of the associated media devices.

9. The computer-implemented method of claim 6 , wherein each of the plurality of playlist managers is configured to stream media files to other media players participating in the session.

10. The computer-implemented method of claim 9 , wherein each of the media data items listed in the composite playlist is stored on at least one of the plurality of media devices participating in the session, and wherein each of the media data items on the composite playlist is played at least substantially simultaneously on each of the media devices participating in the session by streaming of the stored media data item from the at least one of the plurality of media devices to each other one of the plurality of media devices participating in the session.

11. A non-transitory computer-readable medium, having stored therein on a plurality of instructions for causing a computing device to execute a method for building a composite playlist, the plurality of instructions comprising code sections for:

defining a plurality of session managers, each of the plurality of session managers associated with at least one of a plurality of media devices to yield associated media devices, wherein each of the plurality of session managers is configured to manage a status of one or more of the associated media devices, and wherein the plurality of session managers are configured to verify eligibility of the associated media devices to participate in a session;

providing a playlist builder software component configured for receiving user media item data from each of the plurality of media devices and for building a composite playlist of media data items from the user media item data;

defining, a plurality of playlist managers, each of the plurality of playlist managers associated with one of the plurality of media devices, wherein each of the plurality of playlist managers is configured to communicate with the playlist builder software component to send the user media item data of a corresponding media device to the playlist builder software component, wherein the playlist builder software component is further defined to send the media data items identified on the composite playlist to the plurality of playlist managers, and wherein the user media item data for each of the plurality of media devices is analyzed by the playlist builder software component to generate a playlist for each of the plurality of media devices to yield a generated playlist representing a media taste of a corresponding user;

providing a recommender software component, wherein the recommender software component is configured to access the playlist builder software component to generate a recommended mediaset responsive to the generated playlist for each of the plurality of media devices; and

providing an aggregator software component, wherein the aggregator software component is configured to access the playlist builder to additively generate a composite recommended mediaset responsive to the recommended mediaset generated for each of the plurality of media devices by selectively adding media data items from a plurality of the recommended mediasets, wherein media data items are selected for inclusion in the composite recommended mediaset based on a utility function that maximizes the number of users with media taste reflected in the composite recommended mediaset.

12. The non-transitory computer-readable medium of claim 11 , wherein the user media item data comprises metadata that identifies a playlist of playable media files.

13. The non-transitory computer-readable medium of claim 11 , wherein each of the plurality of playlist managers is further configured to play the media data items identified on the composite playlist that are stored on at least one of the associated media devices.

14. The non-transitory computer-readable medium of claim 11 , wherein each of the plurality of playlist managers is configured to stream media files to other media players participating in the session.

15. The non-transitory computer-readable medium of claim 14 , wherein each of the media data items listed in the composite playlist is stored on at least one of the plurality of media devices participating in the session, and wherein each of the media data items on the composite playlist is played at least substantially simultaneously on each of the media devices participating in the session by streaming of the stored media data item from the at least one of the plurality of media devices to each other one of the plurality of media devices participating in the session.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2011
From: COLWOOD TECHNOLOGY, LLC
To: APPLE INC.
Reel/Frame 027038/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2011
From: STRANDS, INC.
To: COLWOOD TECHNOLOGY, LLC
Reel/Frame 026577/0338 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 29, 2011
From: TORRENS, MARC
To: MUSICSTRANDS, INC.
Reel/Frame 026523/0128 →
CHANGE OF NAME Recorded Jun 29, 2011
From: MUSICSTRANDS, INC.
To: MYSTRANDS, INC.
Reel/Frame 026525/0116 →
CHANGE OF NAME Recorded Jun 29, 2011
From: MYSTRANDS, INC.
To: STRANDS LABS, INC.
Reel/Frame 026525/0144 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2011
From: STRANDS LABS, INC.
To: STRANDS, INC.
Reel/Frame 026522/0883 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DATE OF EXECUTION FOR DAVID DEL SER BARTOLOME SHOULD READ 11/17/2006 PREVIOUSLY RECORDED ON REEL 022616 FRAME 0804. ASSIGNOR(S) HEREBY CONFIRMS THE PREVIOUS ASSIGNMENT, AS CORRECTED. Recorded Jun 24, 2011
From: DEL SER BARTOLOME, DAVID
To: MUSICSTRANDS, INC.
Reel/Frame 026499/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2009
From: MARTIN, FRANCISCO; TORRENS, MARC; HANGARTNER, RICK; CAUDEVILLA-LALIENA, GUILLERMO; DEL SER BARTOLOME, DAVID; ROWLEY, CRAIG
To: MUSICSTRANDS, INC.
Reel/Frame 022616/0804 →
Continuity (6)
Division 11513495 · Aug 31, 2006
Continuation In Part 11346818 · Feb 3, 2006
Provisional Application 60772502 · Feb 10, 2006
Provisional Application 60774072 · Feb 15, 2006
Provisional Application 60796724 · May 1, 2006
Related Publication 20090210415A1 · Aug 20, 2009