Nothing Special   »   [go: up one dir, main page]

US20060242106A1 - Playlist compilation system and method - Google Patents

Playlist compilation system and method Download PDF

Info

Publication number
US20060242106A1
US20060242106A1 US11/112,441 US11244105A US2006242106A1 US 20060242106 A1 US20060242106 A1 US 20060242106A1 US 11244105 A US11244105 A US 11244105A US 2006242106 A1 US2006242106 A1 US 2006242106A1
Authority
US
United States
Prior art keywords
media data
data file
playlist
electronic device
client electronic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11/112,441
Other versions
US8516093B2 (en
Inventor
Bryna Bank
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US11/112,441 priority Critical patent/US8516093B2/en
Application filed by Individual filed Critical Individual
Assigned to REALNETWORKS, INC. reassignment REALNETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BANK, BRYNA L.
Publication of US20060242106A1 publication Critical patent/US20060242106A1/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: REALNETWORKS, INC.
Priority to US13/970,022 priority patent/US8909741B2/en
Publication of US8516093B2 publication Critical patent/US8516093B2/en
Application granted granted Critical
Priority to US14/535,938 priority patent/US9444864B2/en
Priority to US15/234,902 priority patent/US9813473B2/en
Priority to US15/352,377 priority patent/US9794315B2/en
Priority to US15/727,256 priority patent/US10116717B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Definitions

  • This disclosure relates to playlists and, more particularly, to playlists that include entries concerning both remote media data files and local media data files.
  • Media distribution systems (e.g., the RhapsodyTM service offered by RealNetworksTM of Seattle, Wash.) distribute media data files to a user's electronic device from a media server.
  • a media distribution system may distribute media data files by allowing a user to receive downloaded media data files and/or stream remote media data files.
  • Streaming is a technique of transferring data files such that the data file is processed as a steady and continuous stream of information as it is being received.
  • a client-side browser on a user's electronic device can start processing the data file before the entire data file is transmitted.
  • the streamed media data file may be in the form of audio, text, pictures, and/or video, examples of which include but are not limited to the streaming of music, radio broadcasts, movies, television/cable broadcasts, and sporting events, for example.
  • a playlist may be a group of tracks (examples of which include, but are not limited to, songs, videos, etc) that the media distribution system or media player will render in sequence, thus allowing the user to compile custom music compilations.
  • FIG. 1 is a diagrammatic view of a playlist compilation system and a media distribution system coupled to a distributed computing network;
  • FIG. 2 is a display screen rendered by the playlist compilation system of FIG. 1 ;
  • FIG. 3 is a display screen rendered by the playlist compilation system of FIG. 1 ;
  • FIG. 4 is a display screen rendered by the playlist compilation system of FIG. 1 ;
  • FIG. 5 is a flow chart of a process executed by the playlist compilation system of FIG. 1 ;
  • FIG. 6 is a display screen rendered by the playlist compilation system of FIG. 1 ;
  • FIG. 7 is a display screen rendered by the playlist compilation system of FIG. 1 ;
  • FIG. 8 is a flow chart of a process executed by the playlist compilation system of FIG. 1 ;
  • FIG. 9 is a flow chart of a process executed by the playlist compilation system of FIG. 1 .
  • a playlist compilation system 10 that allows a user (e.g., user 12 ) to compile one or more hybrid playlists that define the location of both remote media data files (examples of which include but are not limited to data streams that are streamed by media distribution system 14 ) and local media data files (examples of which include but are not limited to data files that are provided by media distribution system 14 or another source).
  • Examples of a remote media stream include: an audio media stream; a video media stream; and an audio/video media stream.
  • Examples of a local media data file include: an audio media data file; a video media data file; and an audio/video media data file.
  • Media distribution system 14 typically provides media streams and/or media data files to a plurality of users (e.g., users 12 , 16 , 18 , 20 , 22 , 24 , 26 ).
  • users 12 , 16 , 18 , 20 , 22 , 24 , 26 An example of such a media distribution system 14 is the RhapsodyTM service offered by RealNetworksTM of Seattle, Wash.
  • Media distribution system 14 is typically a server application that resides on and is executed by computer 28 (i.e., a server device) that is connected to network 30 (e.g., the Internet).
  • Computer 28 may be a web server running a network operating system, examples of which include but are not limited to Microsoft Windows 2000 ServerTM, Novell NetwareTM, or Redhat LinuxTM.
  • computer 28 also executes a web server application, examples of which include but are not limited to Microsoft IISTM, Novell WebserverTM, or Apache WebserverTM, that allows for HTTP (i.e., HyperText Transfer Protocol) access to computer 28 via network 30 .
  • Network 30 may be connected to one or more secondary networks (e.g., network 32 ), such as: a local area network; a wide area network; or an intranet, for example.
  • Storage device 34 may, by way of example, include but are not limited to a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).
  • Users 12 , 16 , 18 , 20 , 22 , 24 , 26 may access media distribution system 14 directly through network 30 or through secondary network 32 .
  • computer 28 i.e., the computer that executes media distribution system 14
  • network 30 may be connected to secondary network 32 , as illustrated with phantom link line 36 .
  • client electronic device 38 (examples of which include but are not limited to a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, or a dedicated network device, for example) that is connected to network 30 (or network 32 ) and executes a client application 40 (examples of which include but are not limited to Microsoft Internet ExplorerTM, Netscape NavigatorTM, RealRhapsodyTM, RealPlayerTM, or a specialized interface).
  • Client electronic device 40 may run an operating system, examples of which include but are not limited to Microsoft WindowsTM, or Redhat LinuxTM.
  • client electronic device 38 may include one or more local data drives (not shown), examples of which include, but are not limited to, a CDROM drive and a DVD drive.
  • Playlist compilation system 10 is typically a component of client application 40 (examples of which include but are not limited to an embedded feature of client application 40 , a software plug-in for client application 40 , or a stand-alone application called from within and controlled by client application 40 ).
  • the instruction sets and subroutines of client application 40 and playlist compilation system 10 which are typically stored on a storage device 42 coupled to client electronic device 38 , are executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic device 38 .
  • Storage device 42 may be, for example, a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).
  • An administrator 44 typically accesses and administers media distribution system 14 through a desktop application 46 (examples of which include but are not limited to Microsoft Internet ExplorerTM, Netscape NavigatorTM, or a specialized interface) running on an administrative computer 48 that is also connected to network 30 (or network 32 ).
  • a desktop application 46 (examples of which include but are not limited to Microsoft Internet ExplorerTM, Netscape NavigatorTM, or a specialized interface) running on an administrative computer 48 that is also connected to network 30 (or network 32 ).
  • Media distribution system 14 distributes media to users 12 , 16 , 18 , 20 , 22 , 24 , 26 , such that the media distributed may be in the form of remote media data streams and/or local media data files.
  • Examples of the types of media distributed by media distribution system 14 include: audio files (examples of which include but are not limited to music files, audio news broadcasts, and audio sports broadcasts, for example); video files (examples of which include but are not limited to video footage that does not include sound, for example); audio/video files (examples of which include but are not limited to a/v news broadcasts, a/v sports broadcasts, movies and movie clips, and music videos, for example); and multimedia content (examples of which include but are no t limited to interactive presentations and slideshows, for example).
  • media distribution system 14 is a music distribution system
  • user 12 may be allowed to download music files (examples of which include but are not limited to MP3 files or AAC files), such that copies of the music files are transferred from computer 28 to client electronic device 38 .
  • media distribution system 14 may only allow user 12 to receive a media data stream of a data file.
  • media distribution system 14 may allow user 12 to stream media data files and download media data files.
  • An example of such a media distribution system may include but is not limited to the RhapsodyTM service offered by RealNetworksTM of Seattle, Wash.
  • media distribution system 14 monitors the media streamed by the user in the form of a media history file 50 . Users may save this history file 50 (or portions thereof) as a playlist, such that a playlist is a list of tracks (examples of which include but are not limited to songs, videos, etc) that media distribution system 14 will play in sequence, thus allowing user 12 to assemble custom music compilations (in the form of multiple playlists).
  • a media history file 50 is maintained (by client application 40 ), which defines the media that had been streamed to user 12 . While media history file 50 is typically maintained locally (e.g., maintained on client electronic device 38 ), media history file 50 may alternatively/additionally be maintained remotely (e.g., maintained on computer 28 ) as a remote media history file 50 ′.
  • Client application 40 typically includes a user interface 102 (e.g., a web browser) for interfacing with media distribution system 14 and viewing welcome display screen 100 .
  • a history window 104 may be included that itemizes the information contained within media history file 50 .
  • history window 104 itemizes ten (10) remote media streams (e.g., “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”), thus indicating that user 12 had previously listened to those ten (10) remote media streams.
  • ten (10) remote media streams e.g., “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”
  • client application 40 allows user 12 to play local media data files.
  • a local media data file may be a purchased media data file (i.e., a file that was purchased by user 12 ), a tethered media data file (i.e., a file subscribed to by user 12 ), or a media data file extracted (i.e., ripped) from e.g., a music compact disc, for example.
  • These local media data files are stored locally e.g., on storage device 42 coupled to client electronic device 38 .
  • client electronic device 38 may be, but are not limited to, a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, or a dedicated network device.
  • user 12 may e.g., select the file(s) to be played using client application 40 . Accordingly, user 12 may select the dropdown “File” menu 106 using screen pointer 108 , which is controllable by a pointing device (e.g., a computer mouse, not shown). Selecting the “Open” command may result in client application 40 rendering file management window 110 , which allows user 12 to select local media data files for playback.
  • a pointing device e.g., a computer mouse
  • file management window 110 defines three (3) local media data files, namely: “Chantilly Lace” 112 ; “Great Balls of Fire” 114 ; and “Tutti Frutti” 116 , all of which are stored within the folder “My Music”. User 12 may select any (or all) of these files for playback on client application 40 .
  • media history file 50 is amended to include three additional entries, namely one for “Chantilly Lace”; one for “Great Balls of Fire”; and one for “Tutti Frutti”. Accordingly, as history window 104 itemizes the information contained within media history file 50 , history window 104 will include three additional entries (i.e., entries 150 , 152 , 154 ), which correspond to local media data file “Chantilly Lace” 112 ; local media data file “Great Balls of Fire” 114 ; and local media data file “Tutti Frutti” 116 .
  • playlist 52 may be saved the current media history file 50 (or a portion thereof) as a playlist 52 ( FIG. 1 ). While playlist 52 is typically maintained locally (e.g., maintained on client electronic device 38 ), playlist 52 may alternatively/additionally be maintained remotely (e.g., maintained on computer 28 ) as a remote playlist 52 ′.
  • user 12 may select the “save” button 200 (using screen pointer 108 ). Once the “save” button 200 is selected, a playlist naming window 202 is rendered (by playlist compilation system 10 ) that allows user 12 to specify a unique name for playlist 52 within the name field 204 of playlist naming window 202 .
  • playlist 52 is saved (i.e., as “50's Hits”) and defines the location of all of the songs itemized within history window 104 .
  • playlist compilation system 10 stores 300 a location for each remote media stream included within playlist 52 .
  • This location information may be stored on the one or more memory architectures (not shown) incorporated into client electronic device 38 or on storage device 42 coupled to client electronic device 38 , for example.
  • An example of such a stream location may include a uniform resource locator (e.g., www.musicshop.com ⁇ songs ⁇ jailhouse_rock.ram); a file transfer protocol address (e.g., ftp://musicshop.com ⁇ songs ⁇ jailhouse_rock.ram; and/or and an internet protocol address (e.g., 192.168.1.163 ⁇ songs ⁇ jailhouse_rock.ram).
  • playlist compilation system 10 stores 302 a location for each local media data file included within playlist 52 . This location information may be stored on the one or more memory architectures (not shown) incorporated into client electronic device 38 or on storage device 42 coupled to client electronic device 38 , for example.
  • playlist compilation system 10 compiles 304 playlist 52 , which is typically locally-stored 306 (e.g., playlist 52 on storage device 42 coupled to client electronic device 38 ). However, the playlist may be remotely-stored 308 (e.g., playlist 52 ′ on storage device 34 coupled to computer 28 ).
  • playlist 52 is compiled 304 and stored 306 (or 308 )
  • a link 350 to playlist 52 appears in directory window 352 .
  • User 12 may then select link 350 using screen pointer 108 .
  • the songs included within playlist 52 are itemized within a playlist window 354 (e.g., a web page) viewable via user interface 102 .
  • a playlist window 354 e.g., a web page
  • ten of these entries namely “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”
  • three of these entries namely “Tutti Frutti”; “Chantilly Lace”; and “Great Balls of Fire”
  • playlist window 354 includes hyperlinks that locate (i.e., provide addresses for) the streams/files associated with the individual entries itemized within playlist 52 .
  • This location information is stored within playlist 52 .
  • the following table correlates the track name of an entry in playlist 52 with an address for the stream/file associated with that track name: Track Name Address Jailhouse Rock www.musicshop.com ⁇ songs ⁇ jailhouse_rock.ram Surf City www.musicshop.com ⁇ songs ⁇ surf_city.ram Runaround Sue www.musicshop.com ⁇ songs ⁇ runaround_sue.ram The Wanderer www.musicshop.com ⁇ songs ⁇ the_wanderer.ram The Great www.musicshop.com ⁇ songs ⁇ the_great_pretender.ram Pretender Blueberry Hill www.musicshop.com ⁇ songs ⁇ blueberry_hill.ram I'm Walkin' www.musicshop.com ⁇ songs ⁇ im_walkin.ram Blue Christmas www.musicshop.com ⁇ songs ⁇ blue_christmas.
  • Playlist window 354 is typically tabular and may include a column 356 identifying a media type (i.e., remote media stream or local media data file, for example) for each entry within the playlist window 354 .
  • column 356 includes icons that identify the media type (e.g., icon 358 identifies a local media data file and icon 360 identifies a remote media stream).
  • user 12 may sort 310 ( FIG. 5 ) the playlist based upon media type. For example, if the local media data files and the remote media streams were intermingled within the playlist, user 12 may click on the “type” column heading 362 (via screen pointer 108 ) to sort the line items within the playlist based upon media type (resulting in the line items being ordered in the manner shown in playlist window 354 ). Additionally, if user 12 clicked on “type” column heading 362 a second time, the local media data file entries (i.e., entries 11 - 13 ) may be moved to the top of the list, resulting in the remote media stream entries (i.e., entries 1 - 10 ) being moved to the bottom of the list.
  • the local media data file entries i.e., entries 11 - 13
  • the remote media stream entries i.e., entries 1 - 10
  • playlist 52 is sorted in a manner that is agreeable with user 12
  • user 12 may select the “play” button 362 to render 312 ( FIG. 5 ) playlist 52 in its current form (i.e., the manner in which it is currently sorted).
  • client application 40 may processes each entry in playlist 52 to determine the location of the stream/file associated with that entry, so that the associated remote media stream/local media data file can be played. For example, concerning the first entry (i.e., Jailhouse Rock), being this is an entry that points toward a remote media stream (as opposed to a local media data file), client application 40 may first determine 314 if the media data file is available locally. If this media data file (i.e., Jailhouse Rock) is available locally (e.g., within c: ⁇ mymusic ⁇ ), client application 40 may locally obtain and render 316 the media data file, resulting in the playing of “Jailhouse Rock”. However, for this particular entry, the media data file is not available locally. Therefore, client application 40 may remotely obtain and render 318 the media data file from “www.musicshop.com ⁇ songs ⁇ jailhouse_rock.ram” (as specified above). This media data stream would typically be served by media distribution system 14 via computer 28 .
  • This media data stream would typically be served by media distribution system
  • client application 40 may verify that user 12 is a current subscriber to media distribution system 14 . Therefore, if user 12 is a current subscriber, client application 40 will grant 320 user 12 access to the “Jailhouse Rock” media data stream.
  • client application 40 determines that user 12 is not a current subscriber, user 12 may be e.g., denied access to the “Jailhouse Rock” media data stream, or given conditional/reduced access (examples of which include but are not limited to the user being allowed to use the service for a limited trial period, limited track duration or at a lower sound quality).
  • client application 40 When the “Jailhouse Rock” media data stream is completed, client application 40 would process 322 the next entry and obtain the media data stream for “Surf City” from “www.musicshop.com ⁇ songs ⁇ surf_city.ram” (as specified above). This media data stream would typically be served by media distribution system 14 via computer 28 . This process would continue until all of the remote media data streams and local media data files specified within playlist 52 were played (or the playback process was altered or cancelled), regardless of whether the entry refers to a remote media data stream or a local media data file.
  • client application 40 would process the entry for “Tutti Frutti” and play the appropriate local media data file (i.e., c: ⁇ my music ⁇ tutti_frutti.mp3), which is located on client electronic device 38 .
  • media distribution system 14 typically provides media data streams and/or media data files to a plurality of users (e.g., users 12 , 16 , 18 , 20 , 22 , 24 , 26 ).
  • metadata is associated with each remote media data stream provided by media distribution system 14 .
  • This metadata may include (but is not limited to) an artist identifier, an album identifier, a track identifier, an album cover image, and a music genre identifier, for example.
  • media distribution system 14 may compile and save this metadata (on a per-user basis) to track e.g., listening trends and musical preferences of individual users, for example.
  • a local media data file may be a purchased media data file (e.g., a file that was purchased by user 12 ), a tethered media data file (e.g., a file subscribed to by user 12 ), or a media data file extracted (i.e., ripped) from e.g., a music compact disc, for example.
  • a purchased media data file e.g., a file that was purchased by user 12
  • a tethered media data file e.g., a file subscribed to by user 12
  • a media data file extracted i.e., ripped
  • these local media data files would typically also include the metadata described above. Accordingly, when these purchased or tethered media data files are played by user 12 , the metadata concerning these purchased/tethered media data files may be transmitted 324 ( FIG. 5 ) to computer 28 , such that the metadata is compiled and saved (on a per user basis) to track e.g., listening trends and musical preferences, for example.
  • local media data files that were e.g., extracted from music compact discs
  • these data files may not include the above-described metadata.
  • local media data files i.e., files stored on client electronic device 38
  • client application 40 may to be played using client application 40 and added to playlists.
  • user 12 may be prompted to provide metadata concerning that local media data file.
  • playlist compilation system 10 may render a metadata entry form 400 that allows user 12 to enter metadata concerning each of the three local media data files.
  • Metadata entry form 400 includes five user-editable fields, namely an artist field 402 , an album field 404 , a track field 406 , an album cover image field 408 , and a music genre field 410 .
  • Album cover image field 408 may allow user 12 to define a drive, a path, and a filename for an album cover image.
  • Music genre field 410 may be a drop-down menu (operable via screen pointer 108 ) that allows user 12 to select a music genre from a number of predefined music genres (not shown).
  • the track field 406 may be populated with what playlist compilation system 10 suspects is the song title. As the first local media data file is named “tutti frutti”, track field 406 would typically be populated with the suspected name “tutti frutti”. User 12 may populate the remaining fields and select the save button 412 (using screen pointer 108 ) or alternatively select the cancel button 414 .
  • client application 40 may interface with a remote metadata database (not shown) served by e.g., media distribution system 14 or a third party (not shown).
  • This metadata database may define metadata for various tracks and albums.
  • An example of such a database is the CDDBTM database maintained by GracenoteTM of Emeryville, Calif. (www.gracenote.com).
  • the metadata database may be accessed by playlist compilation system 10 and a query may be structured that defines e.g., the total number of tracks included on the compact disc, the length of each track included on the compact disc, and the total length of the compact disc.
  • playlist compilation system 10 defines metadata for local media data files that were e.g., extracted from music compact discs. Therefore, when these local media data files are played (by client application 40 ), the metadata concerning these media data files may be transmitted 324 ( FIG. 5 ) to computer 28 , such that this metadata is compiled and saved (on a per-user basis) to track e.g., listening trends and musical preferences.
  • the metadata described above may be incorporated into playlist 52 .
  • this metadata may include (but is not limited to) an artist identifier, an album identifier, a track identifier, an album cover image, and a music genre identifier, for example.
  • the metadata may include a location identifier that defines the location of the media data file.
  • the metadata for “Tutti Frutti” may include: “Little Richard” (i.e., the artist identifier); “Specialty Records Greatest Hits” (i.e., the album identifier); “Tutti Frutti” (i.e., the track identifier); “home, oldies, 50's rock ‘n’ roll” (i.e., the music genre identifier); and “c: ⁇ my music ⁇ tutti_frutti.mp3” (i.e., the location identifier).
  • Computer 28 and media distribution system 14 may use the above-described metadata (transmitted 324 by client electronic device 38 to computer 28 ) to generate suggested playlists (not shown) that are based upon the listening habits and preferences of the user (or a group of users). For example and as discussed above, the music genre for “Tutti Frutti” is “home, oldies, 50's rock ‘n’ roll”. Accordingly, a person that likes “Tutti Frutti” is likely to enjoy other 50” artists, such as “Elvis Presley”, “Jan and Dean”, “Dion”, “The Platters”, “Fats Domino”, “The Coasters”and “Buddy Holly”, for example.
  • media distribution system 14 may generate suggested metadata 54 that defines one or more tracks, artists, and albums that a user (e.g., user 12 ) is likely to enjoy due to the user's listening history (or the listening history of a group of users).
  • Client electronic device 38 may receive 326 suggested metadata 54 from computer 28 and compile 304 a suggested playlist 56 for the user. This suggested playlist 56 may then be saved by the user on e.g., client electronic device 38 and/or computer 28 .
  • Playlists may be modified and entries may be added to (or removed from) a playlist.
  • a user e.g., user 12
  • a playlist grows large, it is foreseeable that a user (e.g., user 12 ) may inadvertently add the same track to a playlist multiple times.
  • playlist compilation system 10 monitors any additions and deletions being made to a playlist (e.g., playlist 52 ). Accordingly, when playlist compilation system 10 detects 450 that a playlist is being appended to define the location of a new media data file, a determination 452 is made concerning whether the playlist already includes an entry that locates a media data file that corresponds to the new media data file. For example, if user 12 wished to add “tutti frutti” to playlist 52 , playlist compilation system 10 would examine playlist 52 and determine 452 that playlist 52 already included an entry for “tutti frutti”.
  • playlist compilation system 10 makes determination 452 by comparing the metadata (e.g., artist identifiers, album identifiers, and track identifiers, for example) of the media data file associated with each current entry in playlist 52 to the metadata of the new media data file to be added to playlist 52 . Therefore, playlist compilation system 10 would typically allow user 12 to add multiple renditions of a single song (as performed by a single artist on multiple albums, or by multiple artists), as the metadata for each of these media data files would differ.
  • the metadata e.g., artist identifiers, album identifiers, and track identifiers, for example
  • playlist compilation system 10 determines 452 that playlist 52 does not include an entry (i.e., does not include metadata) that locates a media data file that corresponds to the new media data file to be added to playlist 52 , playlist compilation system 10 appends 454 playlist 52 to include an entry that defines the location of the new media data file. When appending 454 playlist 52 , playlist compilation system 10 may append playlist 52 to include metadata that locates the new media data file.
  • playlist compilation system 10 determines 452 that playlist 52 includes an entry (i.e., includes metadata) that locates a media data file that corresponds to the new media data file to be added to playlist 52 . If playlist compilation system 10 determines 456 which of the two media data files (i.e., the existing media data file currently located by playlist 52 or the new media data file to be located by playlist 52 ) has a higher priority.
  • media data files may be purchased media data files (e.g., a media data file that was purchased by user 12 and is currently owned by user 12 ); tethered media data files (e.g., a file that is useable by user 12 provided that e.g., user 12 continues to pay a monthly subscription fee), or remote media data files (e.g., remote media data streams that are not owned by user 12 ).
  • the priority of a media data file is based upon its file type. For example, a purchased media data file has the highest priority; a tethered media data file has a medium priority; and a remote media data file has the lowest priority.
  • playlist compilation system 10 may append playlist 52 to include metadata that locates the new media data file. Additionally, when removing 458 the entry that locates the corresponding media data file, playlist compilation system 10 may remove the metadata related to the corresponding media file.
  • playlist 52 is not modified by playlist compilation system 10 and the new entry is discarded 460 .
  • playlist compilation system 10 is described above as typically being a component of client application 40 , such that the instruction sets and subroutines of client application 40 and playlist compilation system 10 are typically stored on a storage device 42 coupled to client electronic device 38 , other configurations are possible.
  • playlist compilation system 10 ′ may be exclusively or partially executed by computer 28 (i.e., the computer that executes media distribution system 14 ). Accordingly and as discussed above, media history file 52 ′ may be stored remotely (e.g., on computer 28 ). Further and as discussed above, this history file may define both remote media data streams and local media data files. Therefore, since a history file (or a portion thereof) may be saved as a playlist and playlist(s) may be stored remotely (e.g., on computer 28 ), playlist compilation system 10 ′ may be a server application executed by computer 28 .
  • playlist compilation system 10 ′ may be a component of media distribution system 14 (e.g., an embedded feature of media distribution system 14 , a software plug-in for media distribution system 14 , or a stand-alone application called from within and controlled by media distribution system 14 , for example). Accordingly, the instruction sets and subroutines of playlist compilation system 10 ′, which may be stored on storage device 34 coupled to computer 28 , may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into computer 28 .
  • playlist compilation system 10 automatically synchronizes the locally-stored playlist(s) with the remotely-stored playlist(s) at the time the user (e.g., user 12 ) logs in to media distribution system 14 .
  • playlist entitled “50's Hits” which is either locally-stored 306 (e.g., on client electronic device 38 ) or remotely-stored 308 (e.g., on computer 28 ).
  • the playlist is typically automatically synchronized to the other storage location. For example, if playlist 52 is locally-stored 306 , the playlist will subsequently be automatically synchronized onto computer 28 . Alternatively, if playlist 52 is remotely-stored 308 , the playlist will subsequently be automatically synchronized onto client electronic device 38 .
  • This initial synchronization function typically occurs at (or very close to) the time that the playlist (e.g., playlist 52 ) is initially either locally-stored 306 (e.g., on client electronic device 38 ) or remotely-stored 308 (e.g., on computer 28 ).
  • the newly-created playlist typically has already been synchronized between the remote device (e.g., computer 28 ) and the local device (e.g., client electronic device 38 ).
  • user 12 may be authenticated 502 .
  • User 12 may log into a server in media distribution system 14 that includes the playlist or a special authentication server (not shown).
  • This authentication process may, for example, include the verification of a username/password, the verification of an active subscription (e.g. the subscription is current and/or been paid), the transmission of a cookie, and/or the use of encryption keys.
  • the locally-stored playlists may be compared 504 to the remotely-stored playlists to determine if either device (e.g., the remote device or the local device) contains any new playlists that are not present on the other device.
  • This playlist comparison process typically includes a version comparison process for comparing 506 the versions of common playlists (i.e., playlists that are present on both the remote device and the local device) to verify whether each device has the newest version of any common playlist.
  • this version comparison process may be made by e.g., comparing the time/date stamp of each playlist or the data within the playlist itself. Accordingly, the newest playlist would have the most-recent time/date stamp. Alternatively, each time a playlist is modified, a version number associated with that playlist may be incremented. Accordingly, the newest playlist would have the highest version number.
  • the local device and the remote device are synchronized 508 .
  • playlist 52 For example, assume that user 12 creates playlist 52 using a first client electronic device (e.g., client electronic device 38 ). As discussed above, prior to logging out of media distribution system 14 , synchronization occurs and playlist 52 is typically present on both the local device (e.g., client electronic device 38 ) and the remote device (e.g., computer 28 ). If user 12 subsequently logs in 500 and is authenticated 502 using a second client electronic device (not shown), when comparing 504 the playlists on the remote device (e.g., computer 28 ) to the playlists on the local device (e.g., the second client electronic device, not shown), it will be determined that playlist 52 is not present on the second client electronic device.
  • a first client electronic device e.g., client electronic device 38
  • the remote device e.g., computer 28
  • the two devices will be synchronized 508 and playlist 52 , or missing entries therein, will be copied from the remote device (e.g., computer 28 ) to the local device (e.g., the second client electronic device, not shown).
  • the local device e.g., the second client electronic device, not shown.
  • user 12 modifies playlist 52 by adding an additional song.
  • synchronization occurs and a copy of the modified playlist will be present on both the remote device (e.g., computer 28 ) and the local device (e.g., the second client electronic device, not shown).
  • the local device and the remote device may be synchronized 510 .
  • playlist 52 since user 12 modified playlist 52 using the second client electronic device (not shown), that modified version of playlist 52 may not be present on client electronic device 38 . However, the original “unmodified” version of playlist 52 may be present on client electronic device 38 . Accordingly, if user 12 subsequently logs in 500 and is authenticated 502 using client electronic device 38 , when comparing 504 the playlists on the remote device to the playlists on the local device, it may be determined that playlist 52 is a common playlist, as it is present on both the local and remote devices.
  • the version on the remote device e.g., computer 28
  • the version on client electronic device 38 may be newer than the version on client electronic device 38
  • user 12 used a second client electronic device (not shown) to modify playlist 52 .
  • the two devices may be synchronized 510 and the newer version of playlist 52 may be copied from the remote device (e.g., computer 28 ) to the local device (e.g., client electronic device 38 ).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Telephonic Communication Services (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A method, computer program product and client electronic device for storing, in a memory of a client electronic device, a location of at least one remote media data file available to stream from a server device. A location of at least one local media data file available on the client electronic device is stored in the memory of the client electronic device. A playlist is compiled that defines the location of the at least one remote media data file and the location of the at least one local media data file. The at least one local media data file and the at least one remote media data file in the playlist are rendered and metadata concerning the at least one local media data file rendered is transmitted to the server device.

Description

    TECHNICAL FIELD
  • This disclosure relates to playlists and, more particularly, to playlists that include entries concerning both remote media data files and local media data files.
  • BACKGROUND
  • Media distribution systems (e.g., the Rhapsody™ service offered by RealNetworks™ of Seattle, Wash.) distribute media data files to a user's electronic device from a media server. A media distribution system may distribute media data files by allowing a user to receive downloaded media data files and/or stream remote media data files.
  • Streaming is a technique of transferring data files such that the data file is processed as a steady and continuous stream of information as it is being received. When streaming data files, a client-side browser on a user's electronic device can start processing the data file before the entire data file is transmitted. The streamed media data file may be in the form of audio, text, pictures, and/or video, examples of which include but are not limited to the streaming of music, radio broadcasts, movies, television/cable broadcasts, and sporting events, for example.
  • Often, when a user streams media data files (examples of which include but are not limited to songs, videos, etc.) from a media server, the media distribution system keeps track of the media data files streamed (or to be streamed) to the user's electronic device in the form of a history file. Users may save this history file (or portions thereof) as a playlist. A playlist may be a group of tracks (examples of which include, but are not limited to, songs, videos, etc) that the media distribution system or media player will render in sequence, thus allowing the user to compile custom music compilations.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagrammatic view of a playlist compilation system and a media distribution system coupled to a distributed computing network;
  • FIG. 2 is a display screen rendered by the playlist compilation system of FIG. 1;
  • FIG. 3 is a display screen rendered by the playlist compilation system of FIG. 1;
  • FIG. 4 is a display screen rendered by the playlist compilation system of FIG. 1;
  • FIG. 5 is a flow chart of a process executed by the playlist compilation system of FIG. 1;
  • FIG. 6 is a display screen rendered by the playlist compilation system of FIG. 1;
  • FIG. 7 is a display screen rendered by the playlist compilation system of FIG. 1;
  • FIG. 8 is a flow chart of a process executed by the playlist compilation system of FIG. 1; and
  • FIG. 9 is a flow chart of a process executed by the playlist compilation system of FIG. 1.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Referring to FIG. 1, there is shown a playlist compilation system 10 that allows a user (e.g., user 12) to compile one or more hybrid playlists that define the location of both remote media data files (examples of which include but are not limited to data streams that are streamed by media distribution system 14) and local media data files (examples of which include but are not limited to data files that are provided by media distribution system 14 or another source). Examples of a remote media stream include: an audio media stream; a video media stream; and an audio/video media stream. Examples of a local media data file include: an audio media data file; a video media data file; and an audio/video media data file.
  • Media distribution system 14 typically provides media streams and/or media data files to a plurality of users (e.g., users 12, 16, 18, 20, 22, 24, 26). An example of such a media distribution system 14 is the Rhapsody™ service offered by RealNetworks™ of Seattle, Wash.
  • Media distribution system 14 is typically a server application that resides on and is executed by computer 28 (i.e., a server device) that is connected to network 30 (e.g., the Internet). Computer 28 may be a web server running a network operating system, examples of which include but are not limited to Microsoft Windows 2000 Server™, Novell Netware™, or Redhat Linux™.
  • Typically, computer 28 also executes a web server application, examples of which include but are not limited to Microsoft IIS™, Novell Webserver™, or Apache Webserver™, that allows for HTTP (i.e., HyperText Transfer Protocol) access to computer 28 via network 30. Network 30 may be connected to one or more secondary networks (e.g., network 32), such as: a local area network; a wide area network; or an intranet, for example.
  • The instruction sets and subroutines of media distribution system 14, which are typically stored on a storage device 34 coupled to computer 28, are executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into computer 28. Storage device 34 may, by way of example, include but are not limited to a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).
  • Users 12, 16, 18, 20, 22, 24, 26 may access media distribution system 14 directly through network 30 or through secondary network 32. Further, computer 28 (i.e., the computer that executes media distribution system 14) may be connected to network 30 through secondary network 32, as illustrated with phantom link line 36.
  • Users 12, 16, 18, 20, 22, 24, 26 typically access media distribution system 14 through a client electronic device 38 (examples of which include but are not limited to a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, or a dedicated network device, for example) that is connected to network 30 (or network 32) and executes a client application 40 (examples of which include but are not limited to Microsoft Internet Explorer™, Netscape Navigator™, RealRhapsody™, RealPlayer™, or a specialized interface). Client electronic device 40 may run an operating system, examples of which include but are not limited to Microsoft Windows™, or Redhat Linux™. Additionally, client electronic device 38 may include one or more local data drives (not shown), examples of which include, but are not limited to, a CDROM drive and a DVD drive.
  • Playlist compilation system 10 is typically a component of client application 40 (examples of which include but are not limited to an embedded feature of client application 40, a software plug-in for client application 40, or a stand-alone application called from within and controlled by client application 40). The instruction sets and subroutines of client application 40 and playlist compilation system 10, which are typically stored on a storage device 42 coupled to client electronic device 38, are executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic device 38. Storage device 42 may be, for example, a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).
  • An administrator 44 typically accesses and administers media distribution system 14 through a desktop application 46 (examples of which include but are not limited to Microsoft Internet Explorer™, Netscape Navigator™, or a specialized interface) running on an administrative computer 48 that is also connected to network 30 (or network 32).
  • Media distribution system 14 distributes media to users 12, 16, 18, 20, 22, 24, 26, such that the media distributed may be in the form of remote media data streams and/or local media data files. Examples of the types of media distributed by media distribution system 14 include: audio files (examples of which include but are not limited to music files, audio news broadcasts, and audio sports broadcasts, for example); video files (examples of which include but are not limited to video footage that does not include sound, for example); audio/video files (examples of which include but are not limited to a/v news broadcasts, a/v sports broadcasts, movies and movie clips, and music videos, for example); and multimedia content (examples of which include but are no t limited to interactive presentations and slideshows, for example).
  • For example, if media distribution system 14 is a music distribution system, user 12 may be allowed to download music files (examples of which include but are not limited to MP3 files or AAC files), such that copies of the music files are transferred from computer 28 to client electronic device 38. Alternatively, media distribution system 14 may only allow user 12 to receive a media data stream of a data file. As discussed above, when a file is streamed from e.g., computer 28 to client electronic device 38, a copy of the file is not retained on client electronic device 38. Further, media distribution system 14 may allow user 12 to stream media data files and download media data files. An example of such a media distribution system may include but is not limited to the Rhapsody™ service offered by RealNetworks™ of Seattle, Wash.
  • As discussed above, when a user (examples of which include but are not limited to user 12) streams media (examples of which include but are not limited to songs, videos, etc) from computer 28, media distribution system 14 monitors the media streamed by the user in the form of a media history file 50. Users may save this history file 50 (or portions thereof) as a playlist, such that a playlist is a list of tracks (examples of which include but are not limited to songs, videos, etc) that media distribution system 14 will play in sequence, thus allowing user 12 to assemble custom music compilations (in the form of multiple playlists).
  • Accordingly, when user 12 uses client application 40 to play media streams served by media distribution system 14, a media history file 50 is maintained (by client application 40), which defines the media that had been streamed to user 12. While media history file 50 is typically maintained locally (e.g., maintained on client electronic device 38), media history file 50 may alternatively/additionally be maintained remotely (e.g., maintained on computer 28) as a remote media history file 50′.
  • Referring also to FIG. 2, upon accessing media distribution system 14, user 12 may be presented with a welcome display screen 100. Client application 40 typically includes a user interface 102 (e.g., a web browser) for interfacing with media distribution system 14 and viewing welcome display screen 100. A history window 104 may be included that itemizes the information contained within media history file 50. In this example, history window 104 itemizes ten (10) remote media streams (e.g., “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”), thus indicating that user 12 had previously listened to those ten (10) remote media streams.
  • In addition to remote media streams (i.e., media streams received from a remote device e.g., computer 28), client application 40 allows user 12 to play local media data files. As discussed above, a local media data file may be a purchased media data file (i.e., a file that was purchased by user 12), a tethered media data file (i.e., a file subscribed to by user 12), or a media data file extracted (i.e., ripped) from e.g., a music compact disc, for example. These local media data files are stored locally e.g., on storage device 42 coupled to client electronic device 38. As discussed above, examples of client electronic device 38 may be, but are not limited to, a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, or a dedicated network device.
  • If user 12 wishes to play a local media data file (i.e., a file stored on client electronic device 38), user 12 may e.g., select the file(s) to be played using client application 40. Accordingly, user 12 may select the dropdown “File” menu 106 using screen pointer 108, which is controllable by a pointing device (e.g., a computer mouse, not shown). Selecting the “Open” command may result in client application 40 rendering file management window 110, which allows user 12 to select local media data files for playback.
  • In this example, file management window 110 defines three (3) local media data files, namely: “Chantilly Lace” 112; “Great Balls of Fire” 114; and “Tutti Frutti” 116, all of which are stored within the folder “My Music”. User 12 may select any (or all) of these files for playback on client application 40.
  • Referring also to FIG. 3 and assuming that user 12 selects all three local media data files for playback, media history file 50 is amended to include three additional entries, namely one for “Chantilly Lace”; one for “Great Balls of Fire”; and one for “Tutti Frutti”. Accordingly, as history window 104 itemizes the information contained within media history file 50, history window 104 will include three additional entries (i.e., entries 150, 152, 154), which correspond to local media data file “Chantilly Lace” 112; local media data file “Great Balls of Fire” 114; and local media data file “Tutti Frutti” 116.
  • Assuming that user 12 wishes to save this collection of music for future playback, user 12 may save the current media history file 50 (or a portion thereof) as a playlist 52 (FIG. 1). While playlist 52 is typically maintained locally (e.g., maintained on client electronic device 38), playlist 52 may alternatively/additionally be maintained remotely (e.g., maintained on computer 28) as a remote playlist 52′.
  • Referring also to FIG. 4, user 12 may select the “save” button 200 (using screen pointer 108). Once the “save” button 200 is selected, a playlist naming window 202 is rendered (by playlist compilation system 10) that allows user 12 to specify a unique name for playlist 52 within the name field 204 of playlist naming window 202.
  • Assuming that user 12 selects “50's Hits” as a playlist name, playlist 52 is saved (i.e., as “50's Hits”) and defines the location of all of the songs itemized within history window 104.
  • Referring also to FIG. 5, when user 12 chooses to save a playlist (i.e., in this example, playlist 52 named “50's Hits” that defines the location of ten (10) remote media streams and three (3) local media data files), playlist compilation system 10 stores 300 a location for each remote media stream included within playlist 52. This location information may be stored on the one or more memory architectures (not shown) incorporated into client electronic device 38 or on storage device 42 coupled to client electronic device 38, for example. An example of such a stream location may include a uniform resource locator (e.g., www.musicshop.com\songs\jailhouse_rock.ram); a file transfer protocol address (e.g., ftp://musicshop.com\songs\jailhouse_rock.ram; and/or and an internet protocol address (e.g., 192.168.1.163\songs\jailhouse_rock.ram). Additionally, playlist compilation system 10 stores 302 a location for each local media data file included within playlist 52. This location information may be stored on the one or more memory architectures (not shown) incorporated into client electronic device 38 or on storage device 42 coupled to client electronic device 38, for example. An example of such a file location may include a drive; a path; and/or a filename (e.g., c:\my music\chantilly_lace.mp3). Once the locations of each remote media stream and each local media data file are defined, playlist compilation system 10 compiles 304 playlist 52, which is typically locally-stored 306 (e.g., playlist 52 on storage device 42 coupled to client electronic device 38). However, the playlist may be remotely-stored 308 (e.g., playlist 52′ on storage device 34 coupled to computer 28).
  • Referring also to FIG. 6, once playlist 52 is compiled 304 and stored 306 (or 308), a link 350 to playlist 52 (e.g., “50's Hits”) appears in directory window 352. User 12 may then select link 350 using screen pointer 108.
  • Once selected, the songs included within playlist 52 (e.g., “50's Hits”) are itemized within a playlist window 354 (e.g., a web page) viewable via user interface 102. As discussed above, ten of these entries (namely “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”) define the location of remote media streams and three of these entries (namely “Tutti Frutti”; “Chantilly Lace”; and “Great Balls of Fire”) define the location of local media data files.
  • Typically, playlist window 354 includes hyperlinks that locate (i.e., provide addresses for) the streams/files associated with the individual entries itemized within playlist 52. This location information is stored within playlist 52. For example, the following table correlates the track name of an entry in playlist 52 with an address for the stream/file associated with that track name:
    Track Name Address
    Jailhouse Rock www.musicshop.com\songs\jailhouse_rock.ram
    Surf City www.musicshop.com\songs\surf_city.ram
    Runaround Sue www.musicshop.com\songs\runaround_sue.ram
    The Wanderer www.musicshop.com\songs\the_wanderer.ram
    The Great www.musicshop.com\songs\the_great_pretender.ram
    Pretender
    Blueberry Hill www.musicshop.com\songs\blueberry_hill.ram
    I'm Walkin' www.musicshop.com\songs\im_walkin.ram
    Blue Christmas www.musicshop.com\songs\blue_christmas.ram
    Yakety Yak www.musicshop.com\songs\yakety_yak.ram
    Peggy Sue www.musicshop.com\songs\peggy_sue.ram
    Tutti Frutti c:\my music\tutti_frutti.mp3
    Chantilly Lace c:\my music\chantilly_lace.mp3
    Great Balls of c:\my music\great_balls_of_fire.mp3
    Fire
  • As the first ten entries (namely “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”) identify remote media streams, the address provided for each entry points to a media stream available from e.g., media distribution system 14. Further, as the last three entries (namely “Tutti Frutti”; “Chantilly Lace”; and “Great Balls of Fire”) identify local media data files, the address provided for each entry points to a media data file available from e.g., client electronic device 38.
  • Playlist window 354 is typically tabular and may include a column 356 identifying a media type (i.e., remote media stream or local media data file, for example) for each entry within the playlist window 354. Typically, column 356 includes icons that identify the media type (e.g., icon 358 identifies a local media data file and icon 360 identifies a remote media stream).
  • Typically, user 12 may sort 310 (FIG. 5) the playlist based upon media type. For example, if the local media data files and the remote media streams were intermingled within the playlist, user 12 may click on the “type” column heading 362 (via screen pointer 108) to sort the line items within the playlist based upon media type (resulting in the line items being ordered in the manner shown in playlist window 354). Additionally, if user 12 clicked on “type” column heading 362 a second time, the local media data file entries (i.e., entries 11-13) may be moved to the top of the list, resulting in the remote media stream entries (i.e., entries 1-10) being moved to the bottom of the list.
  • Once playlist 52 is sorted in a manner that is agreeable with user 12, user 12 may select the “play” button 362 to render 312 (FIG. 5) playlist 52 in its current form (i.e., the manner in which it is currently sorted).
  • When processing playlist 52, client application 40 may processes each entry in playlist 52 to determine the location of the stream/file associated with that entry, so that the associated remote media stream/local media data file can be played. For example, concerning the first entry (i.e., Jailhouse Rock), being this is an entry that points toward a remote media stream (as opposed to a local media data file), client application 40 may first determine 314 if the media data file is available locally. If this media data file (i.e., Jailhouse Rock) is available locally (e.g., within c:\mymusic\), client application 40 may locally obtain and render 316 the media data file, resulting in the playing of “Jailhouse Rock”. However, for this particular entry, the media data file is not available locally. Therefore, client application 40 may remotely obtain and render 318 the media data file from “www.musicshop.com\songs\jailhouse_rock.ram” (as specified above). This media data stream would typically be served by media distribution system 14 via computer 28.
  • As media distribution system 14 is typically subscription-based, user 12 may be required to be a member of media distribution system 14 prior to being able to receive the “Jailhouse Rock” media data stream from computer 28. Accordingly, prior to granting user 12 access to the “Jailhouse Rock” media data stream, client application 40 may verify that user 12 is a current subscriber to media distribution system 14. Therefore, if user 12 is a current subscriber, client application 40 will grant 320 user 12 access to the “Jailhouse Rock” media data stream. However, if client application 40 determines that user 12 is not a current subscriber, user 12 may be e.g., denied access to the “Jailhouse Rock” media data stream, or given conditional/reduced access (examples of which include but are not limited to the user being allowed to use the service for a limited trial period, limited track duration or at a lower sound quality).
  • When the “Jailhouse Rock” media data stream is completed, client application 40 would process 322 the next entry and obtain the media data stream for “Surf City” from “www.musicshop.com\songs\surf_city.ram” (as specified above). This media data stream would typically be served by media distribution system 14 via computer 28. This process would continue until all of the remote media data streams and local media data files specified within playlist 52 were played (or the playback process was altered or cancelled), regardless of whether the entry refers to a remote media data stream or a local media data file. For example, when the “Peggy Sue” media data stream is completed, client application 40 would process the entry for “Tutti Frutti” and play the appropriate local media data file (i.e., c:\my music\tutti_frutti.mp3), which is located on client electronic device 38.
  • As discussed above, media distribution system 14 typically provides media data streams and/or media data files to a plurality of users (e.g., users 12, 16, 18, 20, 22, 24, 26). Typically, metadata is associated with each remote media data stream provided by media distribution system 14. This metadata may include (but is not limited to) an artist identifier, an album identifier, a track identifier, an album cover image, and a music genre identifier, for example.
  • Accordingly, whenever e.g., user 12 plays a remote media data stream, media distribution system 14 may compile and save this metadata (on a per-user basis) to track e.g., listening trends and musical preferences of individual users, for example.
  • As discussed above, a local media data file (as opposed to a remote media data stream) may be a purchased media data file (e.g., a file that was purchased by user 12), a tethered media data file (e.g., a file subscribed to by user 12), or a media data file extracted (i.e., ripped) from e.g., a music compact disc, for example.
  • If the purchased media data files and/or the tethered media data files were provided by media distribution system 14, these local media data files would typically also include the metadata described above. Accordingly, when these purchased or tethered media data files are played by user 12, the metadata concerning these purchased/tethered media data files may be transmitted 324 (FIG. 5) to computer 28, such that the metadata is compiled and saved (on a per user basis) to track e.g., listening trends and musical preferences, for example.
  • However, for local media data files that were e.g., extracted from music compact discs, these data files may not include the above-described metadata. As discussed above, local media data files (i.e., files stored on client electronic device 38) may to be played using client application 40 and added to playlists. Accordingly, whenever user 12 attempts to add a local media data file (that does not include metadata) to a playlist (e.g., playlist 52), user 12 may be prompted to provide metadata concerning that local media data file.
  • Referring also to FIG. 7 and continuing with the above stated example, if user 12 attempts to save a playlist (e.g., playlist 52) that includes three local media data files (namely “Tutti Frutti”; “Chantilly Lace”; and “Great Balls of Fire”), assuming that these three local media data files do not include metadata, playlist compilation system 10 may render a metadata entry form 400 that allows user 12 to enter metadata concerning each of the three local media data files.
  • In this example, metadata entry form 400 includes five user-editable fields, namely an artist field 402, an album field 404, a track field 406, an album cover image field 408, and a music genre field 410. Album cover image field 408 may allow user 12 to define a drive, a path, and a filename for an album cover image. Music genre field 410 may be a drop-down menu (operable via screen pointer 108) that allows user 12 to select a music genre from a number of predefined music genres (not shown).
  • Typically, if the title of the local media data file is descriptive of the track name, the track field 406 may be populated with what playlist compilation system 10 suspects is the song title. As the first local media data file is named “tutti frutti”, track field 406 would typically be populated with the suspected name “tutti frutti”. User 12 may populate the remaining fields and select the save button 412 (using screen pointer 108) or alternatively select the cancel button 414.
  • In order to further automate the metadata generation process, client application 40 may interface with a remote metadata database (not shown) served by e.g., media distribution system 14 or a third party (not shown). This metadata database may define metadata for various tracks and albums. An example of such a database is the CDDB™ database maintained by Gracenote™ of Emeryville, Calif. (www.gracenote.com). For example, if user 12 ripped each track from an entire compact disc, the metadata database may be accessed by playlist compilation system 10 and a query may be structured that defines e.g., the total number of tracks included on the compact disc, the length of each track included on the compact disc, and the total length of the compact disc. Assuming that a definitive result is produced by this query, the metadata for each track ripped from the compact disc would be produced. In the event that an indefinite result set (i.e., one that identifies multiple possible compact discs) is generated, user 12 may be prompted to select the appropriate compact disc from a list of possible matches (not shown).
  • Accordingly, playlist compilation system 10 defines metadata for local media data files that were e.g., extracted from music compact discs. Therefore, when these local media data files are played (by client application 40), the metadata concerning these media data files may be transmitted 324 (FIG. 5) to computer 28, such that this metadata is compiled and saved (on a per-user basis) to track e.g., listening trends and musical preferences.
  • The metadata described above may be incorporated into playlist 52. As described above, this metadata may include (but is not limited to) an artist identifier, an album identifier, a track identifier, an album cover image, and a music genre identifier, for example. Additionally, the metadata may include a location identifier that defines the location of the media data file. For example, the metadata for “Tutti Frutti” may include: “Little Richard” (i.e., the artist identifier); “Specialty Records Greatest Hits” (i.e., the album identifier); “Tutti Frutti” (i.e., the track identifier); “home, oldies, 50's rock ‘n’ roll” (i.e., the music genre identifier); and “c:\my music\tutti_frutti.mp3” (i.e., the location identifier).
  • Computer 28 and media distribution system 14 may use the above-described metadata (transmitted 324 by client electronic device 38 to computer 28) to generate suggested playlists (not shown) that are based upon the listening habits and preferences of the user (or a group of users). For example and as discussed above, the music genre for “Tutti Frutti” is “home, oldies, 50's rock ‘n’ roll”. Accordingly, a person that likes “Tutti Frutti” is likely to enjoy other 50” artists, such as “Elvis Presley”, “Jan and Dean”, “Dion”, “The Platters”, “Fats Domino”, “The Coasters”and “Buddy Holly”, for example.
  • Accordingly, media distribution system 14 may generate suggested metadata 54 that defines one or more tracks, artists, and albums that a user (e.g., user 12) is likely to enjoy due to the user's listening history (or the listening history of a group of users). Client electronic device 38 may receive 326 suggested metadata 54 from computer 28 and compile 304 a suggested playlist 56 for the user. This suggested playlist 56 may then be saved by the user on e.g., client electronic device 38 and/or computer 28.
  • Playlists may be modified and entries may be added to (or removed from) a playlist. Unfortunately, as a playlist grows large, it is foreseeable that a user (e.g., user 12) may inadvertently add the same track to a playlist multiple times.
  • Referring also to FIG. 8, playlist compilation system 10 monitors any additions and deletions being made to a playlist (e.g., playlist 52). Accordingly, when playlist compilation system 10 detects 450 that a playlist is being appended to define the location of a new media data file, a determination 452 is made concerning whether the playlist already includes an entry that locates a media data file that corresponds to the new media data file. For example, if user 12 wished to add “tutti frutti” to playlist 52, playlist compilation system 10 would examine playlist 52 and determine 452 that playlist 52 already included an entry for “tutti frutti”.
  • Typically, playlist compilation system 10 makes determination 452 by comparing the metadata (e.g., artist identifiers, album identifiers, and track identifiers, for example) of the media data file associated with each current entry in playlist 52 to the metadata of the new media data file to be added to playlist 52. Therefore, playlist compilation system 10 would typically allow user 12 to add multiple renditions of a single song (as performed by a single artist on multiple albums, or by multiple artists), as the metadata for each of these media data files would differ.
  • If playlist compilation system 10 determines 452 that playlist 52 does not include an entry (i.e., does not include metadata) that locates a media data file that corresponds to the new media data file to be added to playlist 52, playlist compilation system 10 appends 454 playlist 52 to include an entry that defines the location of the new media data file. When appending 454 playlist 52, playlist compilation system 10 may append playlist 52 to include metadata that locates the new media data file.
  • If playlist compilation system 10 determines 452 that playlist 52 includes an entry (i.e., includes metadata) that locates a media data file that corresponds to the new media data file to be added to playlist 52, playlist compilation system 10 determines 456 which of the two media data files (i.e., the existing media data file currently located by playlist 52 or the new media data file to be located by playlist 52) has a higher priority.
  • As discussed above, media data files may be purchased media data files (e.g., a media data file that was purchased by user 12 and is currently owned by user 12); tethered media data files (e.g., a file that is useable by user 12 provided that e.g., user 12 continues to pay a monthly subscription fee), or remote media data files (e.g., remote media data streams that are not owned by user 12). Typically, the priority of a media data file is based upon its file type. For example, a purchased media data file has the highest priority; a tethered media data file has a medium priority; and a remote media data file has the lowest priority.
  • Accordingly, when determining priority 456, the file type of each file (i.e., the existing media data file currently located by playlist 52 and the new media data file to be located by playlist 52) is examined. If the priority of the new media data file to be added to playlist 52 exceeds the priority of the corresponding media data file currently located by playlist 52, playlist 52 is modified by playlist compilation system 10 to: remove 458 the entry that locates the corresponding media data file; and add 454 an entry that defines the location of the new media data file. When appending 454 playlist 52, playlist compilation system 10 may append playlist 52 to include metadata that locates the new media data file. Additionally, when removing 458 the entry that locates the corresponding media data file, playlist compilation system 10 may remove the metadata related to the corresponding media file.
  • Alternatively, if the priority of the new media data file to be added to playlist 52 does not exceed the priority of the corresponding media data file currently located by playlist 52, playlist 52 is not modified by playlist compilation system 10 and the new entry is discarded 460.
  • While playlist compilation system 10 is described above as typically being a component of client application 40, such that the instruction sets and subroutines of client application 40 and playlist compilation system 10 are typically stored on a storage device 42 coupled to client electronic device 38, other configurations are possible.
  • For example, playlist compilation system 10′ may be exclusively or partially executed by computer 28 (i.e., the computer that executes media distribution system 14). Accordingly and as discussed above, media history file 52′ may be stored remotely (e.g., on computer 28). Further and as discussed above, this history file may define both remote media data streams and local media data files. Therefore, since a history file (or a portion thereof) may be saved as a playlist and playlist(s) may be stored remotely (e.g., on computer 28), playlist compilation system 10′ may be a server application executed by computer 28. Alternatively, playlist compilation system 10′ may be a component of media distribution system 14 (e.g., an embedded feature of media distribution system 14, a software plug-in for media distribution system 14, or a stand-alone application called from within and controlled by media distribution system 14, for example). Accordingly, the instruction sets and subroutines of playlist compilation system 10′, which may be stored on storage device 34 coupled to computer 28, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into computer 28.
  • As a copy of the same playlist may be stored locally (e.g., on client electronic device 38) and remotely (e.g., on computer 28), playlist compilation system 10 automatically synchronizes the locally-stored playlist(s) with the remotely-stored playlist(s) at the time the user (e.g., user 12) logs in to media distribution system 14.
  • For example and as discussed above, user 12 saves a playlist entitled “50's Hits”, which is either locally-stored 306 (e.g., on client electronic device 38) or remotely-stored 308 (e.g., on computer 28). Regardless of the location at which the playlist is stored, the playlist is typically automatically synchronized to the other storage location. For example, if playlist 52 is locally-stored 306, the playlist will subsequently be automatically synchronized onto computer 28. Alternatively, if playlist 52 is remotely-stored 308, the playlist will subsequently be automatically synchronized onto client electronic device 38. This initial synchronization function (between e.g., client electronic device 38 and computer 28) typically occurs at (or very close to) the time that the playlist (e.g., playlist 52) is initially either locally-stored 306 (e.g., on client electronic device 38) or remotely-stored 308 (e.g., on computer 28).
  • Accordingly, once user 12 creates playlist 52, by the time user 12 logs out of media distribution system 14, the newly-created playlist (e.g., playlist 52) typically has already been synchronized between the remote device (e.g., computer 28) and the local device (e.g., client electronic device 38).
  • Referring also to FIG. 9, whenever user 12 logs in 500 to media distribution system 14, user 12 may be authenticated 502. User 12 may log into a server in media distribution system 14 that includes the playlist or a special authentication server (not shown). This authentication process may, for example, include the verification of a username/password, the verification of an active subscription (e.g. the subscription is current and/or been paid), the transmission of a cookie, and/or the use of encryption keys. Once the user is authenticated 502, the locally-stored playlists may be compared 504 to the remotely-stored playlists to determine if either device (e.g., the remote device or the local device) contains any new playlists that are not present on the other device. This playlist comparison process typically includes a version comparison process for comparing 506 the versions of common playlists (i.e., playlists that are present on both the remote device and the local device) to verify whether each device has the newest version of any common playlist.
  • Typically, this version comparison process may be made by e.g., comparing the time/date stamp of each playlist or the data within the playlist itself. Accordingly, the newest playlist would have the most-recent time/date stamp. Alternatively, each time a playlist is modified, a version number associated with that playlist may be incremented. Accordingly, the newest playlist would have the highest version number.
  • When comparing 504 the locally-stored playlists to the remotely-stored playlists, in the event that one device (e.g., the remote device) contains a playlist that is not present on the other device (e.g., the local device), the local device and the remote device are synchronized 508.
  • For example, assume that user 12 creates playlist 52 using a first client electronic device (e.g., client electronic device 38). As discussed above, prior to logging out of media distribution system 14, synchronization occurs and playlist 52 is typically present on both the local device (e.g., client electronic device 38) and the remote device (e.g., computer 28). If user 12 subsequently logs in 500 and is authenticated 502 using a second client electronic device (not shown), when comparing 504 the playlists on the remote device (e.g., computer 28) to the playlists on the local device (e.g., the second client electronic device, not shown), it will be determined that playlist 52 is not present on the second client electronic device. Accordingly, the two devices will be synchronized 508 and playlist 52, or missing entries therein, will be copied from the remote device (e.g., computer 28) to the local device (e.g., the second client electronic device, not shown). Further, assume that user 12 modifies playlist 52 by adding an additional song. As discussed above, prior to logging out of media distribution system 14, synchronization occurs and a copy of the modified playlist will be present on both the remote device (e.g., computer 28) and the local device (e.g., the second client electronic device, not shown).
  • When comparing 506 the versions of common playlists, in the event that one device (e.g., the remote device) contains a newer version of a common playlist than that stored on the other device (e.g., the local device), the local device and the remote device may be synchronized 510.
  • Continuing with the above-stated example, since user 12 modified playlist 52 using the second client electronic device (not shown), that modified version of playlist 52 may not be present on client electronic device 38. However, the original “unmodified” version of playlist 52 may be present on client electronic device 38. Accordingly, if user 12 subsequently logs in 500 and is authenticated 502 using client electronic device 38, when comparing 504 the playlists on the remote device to the playlists on the local device, it may be determined that playlist 52 is a common playlist, as it is present on both the local and remote devices. However, when comparing 506 the versions of the common playlists (e.g., playlist 52), the version on the remote device (e.g., computer 28) may be newer than the version on client electronic device 38, as user 12 used a second client electronic device (not shown) to modify playlist 52. Accordingly, the two devices may be synchronized 510 and the newer version of playlist 52 may be copied from the remote device (e.g., computer 28) to the local device (e.g., client electronic device 38).
  • A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.

Claims (67)

1. A method comprising:
storing, in a memory of a client electronic device, a location of at least one remote media data file available to stream from a server device;
storing, in the memory of the client electronic device, a location of at least one local media data file available on the client electronic device;
compiling a playlist that defines the location of the at least one remote media data file and the location of the at least one local media data file;
rendering the at least one local media data file and the at least one remote media data file defined in the playlist; and
transmitting metadata to the server device concerning the at least one local media data file rendered.
2. The method of claim 1 wherein transmitting metadata to the server device concerning the at least one local media data file includes:
transmitting metadata to the server device to enable the server device to generate suggested metadata for a playlist based upon the at least one local media data file rendered.
3. The method of claim 2 further comprising:
receiving the suggested metadata from the server device; and
compiling a suggested playlist based upon the suggested metadata.
4. The method of claim 2 wherein transmitting metadata to the server device concerning the at least one local media data file further includes:
transmitting metadata related to the rendered local media data file from the client electronic device to the server device to enable the server device to determine user preferences based upon the at least one remote media data file rendered and to generate a playlist based upon the rendered remote media data file.
5. The method of claim 1 wherein storing, in a memory of a client electronic device, a location of at least one remote media data file includes:
defining at least one of a uniform resource locator, a file transfer protocol address, and an internet protocol address.
6. The method of claim 1 wherein storing, in the memory of the client electronic device, a location of at least one local media data includes:
defining at least one of a drive, a path, and a filename.
7. The method of claim 1 further comprising:
sorting the playlist in accordance with the location of the at least one remote media data file and the location of the at least one local media data file.
8. The method of claim 1 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
9. The method of claim 1 further comprising:
conditionally granting access to the at least one remote media data file based upon the existence of a media subscription.
10. The method of claim 1 wherein the metadata is chosen from the group consisting of: an artist identifier; an album identifier; a track identifier; an album cover image; and a music genre identifier.
11. The method of claim 1 further comprising:
authenticating a user of the client electronic device to establish that the user is a subscriber of a media distribution system.
12. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to:
store, in a memory of a client electronic device, a location of at least one remote media data file available to stream from a server device;
store, in the memory of the client electronic device, a location of at least one local media data file available on the client electronic device;
compile a playlist that defines the location of the at least one remote media data file and the location of the at least one local media data file;
render the at least one local media data file and the at least one remote media data file defined in the playlist; and
transmit metadata to the server device concerning the at least one local media data file rendered.
13. The computer program product of claim 12 wherein the instructions for transmitting metadata to the server device concerning the at least one local media data file include instructions for:
transmitting metadata to the server device to enable the server device to generate suggested metadata for a playlist based upon the at least one local media data file rendered.
14. The computer program product of claim 13 further comprising instructions for:
receiving the suggested metadata from the server device; and
compiling a suggested playlist based upon the suggested metadata.
15. The computer program product of claim 13 wherein the instructions for transmitting metadata to the server device concerning the at least one local media data file further include instructions for:
transmitting metadata related to the rendered local media data file from the client electronic device to the server device to enable the server device to determine user preferences based upon the at least one remote media data file rendered and to generate a playlist based upon the rendered remote media data file.
16. The computer program product of claim 12 wherein the instruction for storing, in a memory of a client electronic device, a location of at least one remote media data file include instructions for:
defining at least one of a uniform resource locator, a file transfer protocol address, and an internet protocol address.
17. The computer program product of claim 12 wherein the instructions for storing, in the memory of the client electronic device, a location of at least one local media data include instructions for:
defining at least one of a drive, a path, and a filename.
18. The computer program product of claim 12 further comprising instructions for:
sorting the playlist in accordance with the location of the at least one remote media data file and the location of the at least one local media data file.
19. The computer program product of claim 12 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
20. The computer program product of claim 12 further comprising instructions for:
conditionally granting access to the at least one remote media data file based upon the existence of a media subscription.
21. The computer program product of claim 12 wherein the metadata is chosen from the group consisting of: an artist identifier; an album identifier; a track identifier; an album cover image; and a music genre identifier.
22. A client electronic device, configured to receive media streams distributed from a server device, the client electronic device further configured to:
store, in a memory of the client electronic device, a location of at least one remote media data file available to stream from the server device;
store, in the memory of the client electronic device, a location of at least one local media data file available on the client electronic device;
compile a playlist that defines the location of the at least one remote media data file and the location of the at least one local media data file;
render the at least one local media data file and the at least one remote media data file defined in the playlist; and
transmit metadata to the server device concerning the at least one local media data file rendered.
23. The client electronic device of claim 22 wherein transmitting metadata to the server device concerning the at least one local media data file includes:
transmitting metadata to the server device to enable the server device to generate suggested metadata for a playlist based upon the at least one local media data file rendered.
24. The client electronic device of claim 23, wherein the client electronic device is further configured for:
receiving the suggested metadata from the server device; and
compiling a suggested playlist based upon the suggested metadata.
25. The client electronic device of claim 23 wherein transmitting metadata to the server device concerning the at least one local media data file further includes:
transmitting metadata related to the rendered local media data file from the client electronic device to the server device to enable the server device to determine user preferences based upon the at least one remote media data file rendered and to generate a playlist based upon the rendered remote media data file.
26. The client electronic device of claim 22 wherein storing, in a memory of a client electronic device, a location of at least one remote media data file includes:
defining at least one of a uniform resource locator, a file transfer protocol address, and an internet protocol address.
27. The client electronic device of claim 22 wherein storing, in the memory of the client electronic device, a location of at least one local media data includes:
defining at least one of a drive, a path, and a filename.
28. The client electronic device of claim 22, wherein the client electronic device is further configured for:
sorting the playlist in accordance with the location of the at least one remote media data file and the location of the at least one local media data file.
29. The client electronic device of claim 22 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
30. The client electronic device of claim 22, wherein the client electronic device is further configured for:
conditionally granting access to the at least one remote media data file based upon the existence of a media subscription.
31. The client electronic device of claim 22 wherein the metadata is chosen from the group consisting of: an artist identifier; an album identifier; a track identifier; an album cover image; and a music genre identifier.
32. A method comprising:
compiling a playlist that includes metadata related to a location of at least one media data file;
receiving an indication to append the playlist to include a location of a second media data file;
determining if the playlist includes metadata related to a location of a first media data file that corresponds to the second media data file to be appended to the playlist; and
if the playlist includes metadata related to the location of the first media data file and the first media data file corresponds to the second media data file:
determining the priority of the first media data file with respect to the priority of the second media data file; and
if the priority of the second media data file exceeds the priority of the first media data file, modifying the playlist to indicate the location of the second media data file and remove the location of the first media data file.
33. The method of claim 32 further comprising:
rendering the at least one media data file accordingly to the metadata included in the playlist, wherein the metadata defines the location of the at least one media data file.
34. The method of claim 32 wherein:
a purchased media data file has the highest priority, a tethered media data file has a medium priority, and a remote media data file has the lowest priority.
35. The method of claim 32 further comprising:
if the playlist fails to include metadata related to the location of the first media data file or the first media data file does not correspond to the second media data file, appending the playlist to include the location of the second media data file.
36. The method of claim 32 wherein the at least one media data file includes:
at least one remote media data file available to stream from a server device; and
at least one local media data file available on a client electronic device.
37. The method of claim 36 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
38. The method of claim 32 wherein the first media data file is a tethered media data file, and the second media data file is a purchased media data file that exceeds the priority of the tethered media data file.
39. The method of claim 32 wherein the first media data file is a remote media data file, and the second media data file is a tethered media data file that exceeds the priority of the remote media data file.
40. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to:
compile a playlist that includes metadata related to a location of at least one media data file;
receive an indication to append the playlist to include a location of a second media data file;
determine if the playlist includes metadata related to a location of a first media data file that corresponds to the second media data file to be appended to the playlist; and
if the playlist includes metadata related to the location of the first media data file and the first media data file corresponds to the second media data file:
determine the priority of the first media data file with respect to the priority of the second media data file; and
if the priority of the second media data file exceeds the priority of the first media data file, modify the playlist to indicate the location of the second media data file and remove the location of the first media data file.
41. The computer program product of claim 40 further comprising instruction for:
rendering the at least one media data file accordingly to the metadata included in the playlist, wherein the metadata defines the location of the at least one media data file.
42. The computer program product of claim 40 wherein:
a purchased media data file has the highest priority, a tethered media data file has a medium priority, and a remote media data file has the lowest priority.
43. The computer program product of claim 40 further comprising instructions for:
if the playlist fails to include metadata related to the location of the first media data file or the first media data file does not correspond to the second media data file, appending the playlist to include the location of the second media data file.
44. The computer program product of claim 40 wherein the at least one media data file includes:
at least one remote media data file available to stream from a server device; and
at least one local media data file available on a client electronic device.
45. The computer program product of claim 44 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
46. The computer program product of claim 40 wherein the first media data file is a tethered media data file, and the second media data file is a purchased media data file that exceeds the priority of the tethered media data file.
47. The computer program product of claim 40 wherein the first media data file is a remote media data file, and the second media data file is a tethered media data file that exceeds the priority of the remote media data file.
48. A client electronic device, configured to receive media streams distributed from a server device, the client electronic device further configured to:
compile a playlist that includes metadata related to a location of at least one media data file;
receive an indication to append the playlist to include a location of a second media data file;
determine if the playlist includes metadata related to a location of a first media data file that corresponds to the second media data file to be appended to the playlist; and
if the playlist includes metadata related to the location of the first media data file and the first media data file corresponds to the second media data file:
determine the priority of the first media data file with respect to the priority of the second media data file; and
if the priority of the second media data file exceeds the priority of the first media data file, modify the playlist to indicate the location of the second media data file and remove the location of the first media data file.
49. The client electronic device of claim 48, wherein the client electronic device is further configured for:
rendering the at least one media data file accordingly to the metadata included in the playlist, wherein the metadata defines the location of the at least one media data file.
50. The client electronic device of claim 48 wherein:
a purchased media data file has the highest priority, a tethered media data file has a medium priority, and a remote media data file has the lowest priority.
51. The client electronic device of claim 48, wherein the client electronic device is further configured for:
if the playlist fails to include metadata related to the location of the first media data file or the first media data file does not correspond to the second media data file, appending the playlist to include the location of the second media data file.
52. The client electronic device of claim 48 wherein the at least one media data file includes:
at least one remote media data file available to stream from the server device; and
at least one local media data file available on the client electronic device.
53. The client electronic device of claim 48 wherein the client electronic device is chosen from the group consisting of: a client computer, a personal digital assistant, a cellular telephone, a television, a cable box, an internet radio, and a dedicated network device.
54. The client electronic device of claim 48 wherein the first media data file is a tethered media data file, and the second media data file is a purchased media data file that exceeds the priority of the tethered media data file.
55. The client electronic device of claim 48 wherein the first media data file is a remote media data file, and the second media data file is a tethered media data file that exceeds the priority of the remote media data file.
56. A method comprising:
storing, in a memory of a client electronic device, a location of at least one remote media data file available to stream from a server device;
storing, in the memory of the client electronic device, at least one local media data file;
compiling a playlist that includes the location on the server device of the at least one remote media data file and a location on the client electronic device of the at least one local media data file;
receiving an indication to render the media data files in the playlist; and
in response to the indication to render, determining if a specific media data file is available for rendering from the memory of the client electronic device and, if the specific media data file is unavailable for rendering, rendering the remote media data file that corresponds to the specific media data file via a media data stream from the server device.
57. The method of claim 56 wherein storing, in a memory of a client electronic device, a location of at least one remote media data file includes defining at least one of a uniform resource locator, a file transfer protocol address, and an internet protocol address.
58. The method of claim 56 wherein storing, in the memory of the client electronic device, at least one local media data file includes defining at least one of a drive, a path, and a filename.
59. The method of claim 56 wherein storing, in the memory of the client electronic device, at least one local media data file includes:
downloading the at least one local media data file from the server device via a distributed computing network.
60. The method of claim 56 wherein storing, in the memory of the client electronic device, at least one local media data file includes:
ripping the at least one local media data file from a local drive coupled to the client electronic device.
61. A method comprising:
comparing at least one client-based playlist stored in a memory of a client electronic device to at least one server-based playlist stored in a memory of a server device and indicating whether the at least one client-based playlist and the at least one server-based playlist need to be synchronized; and
if synchronization is indicated, synchronizing the at least one client-based playlist and the at least one server-based playlist.
62. The method of claim 61 further comprising:
authenticating a user to establish that the user is a subscriber of a media distribution system.
63. The method of claim 61 wherein comparing includes:
comparing the at least one client-based playlist stored in the memory of the client electronic device to the at least one server-based playlist stored in the memory of the server device to determine if either device contains a new playlist that is not present on the other device.
64. The method of claim 61 wherein comparing includes:
comparing the at least one client-based playlist stored in the memory of the client electronic device to the at least one server-based playlist stored in the memory of the server device to verify that each device contains a common version of any playlist that is stored on both devices.
65. The method of claim 64 wherein the common version includes the newest version.
66. The method of claim 61 wherein synchronizing includes:
copying a client-based playlist stored in the memory of the client electronic device to the memory of the server device.
67. The method of claim 61 wherein synchronizing includes:
copying a server-based playlist stored in the memory of the server device to the memory of the client electronic device.
US11/112,441 2005-04-22 2005-04-22 Playlist compilation system and method Active 2030-07-20 US8516093B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US11/112,441 US8516093B2 (en) 2005-04-22 2005-04-22 Playlist compilation system and method
US13/970,022 US8909741B2 (en) 2005-04-22 2013-08-19 Playlist compilation system and method
US14/535,938 US9444864B2 (en) 2005-04-22 2014-11-07 Playlist compilation system and method
US15/234,902 US9813473B2 (en) 2005-04-22 2016-08-11 Playlist compilation system and method
US15/352,377 US9794315B2 (en) 2005-04-22 2016-11-15 Playlist compilation system and method
US15/727,256 US10116717B2 (en) 2005-04-22 2017-10-06 Playlist compilation system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/112,441 US8516093B2 (en) 2005-04-22 2005-04-22 Playlist compilation system and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/970,022 Continuation US8909741B2 (en) 2005-04-22 2013-08-19 Playlist compilation system and method

Publications (2)

Publication Number Publication Date
US20060242106A1 true US20060242106A1 (en) 2006-10-26
US8516093B2 US8516093B2 (en) 2013-08-20

Family

ID=37188259

Family Applications (6)

Application Number Title Priority Date Filing Date
US11/112,441 Active 2030-07-20 US8516093B2 (en) 2005-04-22 2005-04-22 Playlist compilation system and method
US13/970,022 Active US8909741B2 (en) 2005-04-22 2013-08-19 Playlist compilation system and method
US14/535,938 Expired - Fee Related US9444864B2 (en) 2005-04-22 2014-11-07 Playlist compilation system and method
US15/234,902 Active US9813473B2 (en) 2005-04-22 2016-08-11 Playlist compilation system and method
US15/352,377 Active US9794315B2 (en) 2005-04-22 2016-11-15 Playlist compilation system and method
US15/727,256 Active US10116717B2 (en) 2005-04-22 2017-10-06 Playlist compilation system and method

Family Applications After (5)

Application Number Title Priority Date Filing Date
US13/970,022 Active US8909741B2 (en) 2005-04-22 2013-08-19 Playlist compilation system and method
US14/535,938 Expired - Fee Related US9444864B2 (en) 2005-04-22 2014-11-07 Playlist compilation system and method
US15/234,902 Active US9813473B2 (en) 2005-04-22 2016-08-11 Playlist compilation system and method
US15/352,377 Active US9794315B2 (en) 2005-04-22 2016-11-15 Playlist compilation system and method
US15/727,256 Active US10116717B2 (en) 2005-04-22 2017-10-06 Playlist compilation system and method

Country Status (1)

Country Link
US (6) US8516093B2 (en)

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182139A1 (en) * 2002-03-22 2003-09-25 Microsoft Corporation Storage, retrieval, and display of contextual art with digital media files
US20060020609A1 (en) * 2002-10-16 2006-01-26 Microsoft Corporation Playlist structure for large playlists
US20060227632A1 (en) * 2005-03-17 2006-10-12 Sony Corporation Information processing system, information generating apparatus and method, information processing apparatus and method, and program
US20060270395A1 (en) * 2005-05-25 2006-11-30 Microsoft Corporation Personal shared playback
US20060288041A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Providing community-based media item ratings to users
US20070048713A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US20070048712A1 (en) * 2005-08-12 2007-03-01 Daniel Plastina Media player service library
US20070048714A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US20070083556A1 (en) * 2005-08-12 2007-04-12 Microsoft Corporation Like processing of owned and for-purchase media
US20070245378A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation User system providing previews to an associated portable media player
US20070244986A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation Central system providing previews of a user's media collection to a portable media player
US20070244856A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Media Search Scope Expansion
US20070299681A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Subscription management in a media sharing service
US20070300279A1 (en) * 2006-06-21 2007-12-27 Samsung Electronics Co., Ltd. Method of providing integrated file list and video apparatus using the same
US20070299886A1 (en) * 2006-06-22 2007-12-27 Microsoft Corporation Media difference files for compressed catalog files
US20080162147A1 (en) * 2006-12-29 2008-07-03 Harman International Industries, Inc. Command interface
US20080162665A1 (en) * 2007-01-03 2008-07-03 Damon Kali System and methods for synchronized media playback between electronic devices
US20090164032A1 (en) * 2007-12-24 2009-06-25 Sandisk Il Ltd. Mobile device and method for concurrently processing content according to multiple playlists
US20090183060A1 (en) * 2008-01-12 2009-07-16 David Heller Unified Media Presentation for Media Devices
US20090265416A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US20090265417A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Aggregating media collections to provide a primary list and sorted sub-lists
US20090265426A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US20090265418A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Pruning an aggregate media collection
US20100070490A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for enhanced smart playlists with aggregated media collections
US20100094833A1 (en) * 2008-10-15 2010-04-15 Concert Technology Corporation Caching and synching process for a media sharing system
US20100094834A1 (en) * 2008-10-15 2010-04-15 Concert Technology Corporation Bridging in a media sharing system
US20100114979A1 (en) * 2008-10-28 2010-05-06 Concert Technology Corporation System and method for correlating similar playlists in a media sharing network
US20120095962A1 (en) * 2008-10-14 2012-04-19 Goldman Jason D Aggregating Media Content From Multiple Clients To A Server
US20120254753A1 (en) * 2011-04-04 2012-10-04 Andrews Christopher C Automated system for combining and publishing network-based audio programming
US20120290916A1 (en) * 2011-05-09 2012-11-15 Parekh Neel B Unified file arrangements
US20120290648A1 (en) * 2011-05-09 2012-11-15 Sharkey Jeffrey A Dynamic Playlist for Mobile Computing Device
US20120290653A1 (en) * 2011-05-09 2012-11-15 Google, Inc. Dynamic playlist for mobile computing device
US8316081B2 (en) 2006-04-13 2012-11-20 Domingo Enterprises, Llc Portable media player enabled to obtain previews of a user's media collection
US20130013740A1 (en) * 2011-07-05 2013-01-10 Te-Chuan Liu Media Sharing Method and Non-transitory Machine Readable Media thereof
US20130065521A1 (en) * 2011-09-08 2013-03-14 Pantech Co., Ltd. Near field communication (nfc) terminal and method for data synchronization
US8468070B1 (en) * 2009-04-16 2013-06-18 Amazon Technologies, Inc. Local rendering in lieu of streaming
US20140297729A1 (en) * 2008-06-12 2014-10-02 Apple Inc. Network-assisted remote media listening
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US20140337374A1 (en) * 2012-06-26 2014-11-13 BHG Ventures, LLC Locating and sharing audio/visual content
US20150207839A1 (en) * 2005-03-24 2015-07-23 Sony Corporation Playlist sharing methods and apparatus
US9143889B2 (en) 2011-07-05 2015-09-22 Htc Corporation Method of establishing application-related communication between mobile electronic devices, mobile electronic device, non-transitory machine readable media thereof, and media sharing method
US20150286715A1 (en) * 2007-12-28 2015-10-08 Nokia Corporation Content management for packet-communicating devices
US20150304378A1 (en) * 2014-04-21 2015-10-22 Futurewei Technologies, Inc. System and Method for Servicing One or More User Equipments Through One or More Streams
US9191229B2 (en) 2009-02-02 2015-11-17 Eloy Technology, Llc Remote participation in a Local Area Network (LAN) based media aggregation network
US9208239B2 (en) 2010-09-29 2015-12-08 Eloy Technology, Llc Method and system for aggregating music in the cloud
US20150373069A1 (en) * 2014-06-20 2015-12-24 Blackfire Research Corporation Managing a common shared play queue on multiple devices
US20160048570A1 (en) * 2014-06-24 2016-02-18 Google Inc. Processing mutations for a remote database
US9361295B1 (en) 2006-11-16 2016-06-07 Christopher C. Andrews Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet
US20160335258A1 (en) 2006-10-24 2016-11-17 Slacker, Inc. Methods and systems for personalized rendering of digital media content
US20170041261A1 (en) * 2014-04-17 2017-02-09 S Wae Pty Ltd System and Method For Creating and Sharing Media Playlists
US20170264943A1 (en) * 2012-09-28 2017-09-14 Sonos, Inc. Audio Content Playback Management
US10296561B2 (en) 2006-11-16 2019-05-21 James Andrews Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet
US10412073B2 (en) * 2014-06-04 2019-09-10 Sonos, Inc. Cloud queue synchronization
US10614856B2 (en) * 2015-01-28 2020-04-07 Roku, Inc. Audio time synchronization using prioritized schedule
US10872116B1 (en) * 2019-09-24 2020-12-22 Timecode Archive Corp. Systems, devices, and methods for contextualizing media
US11188590B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playlist update corresponding to playback queue modification
US11188666B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playback device queue access levels
US11294544B2 (en) * 2012-06-29 2022-04-05 Spotify Ab Systems and methods for multi-context media control and playback
US11321046B2 (en) 2013-04-16 2022-05-03 Sonos, Inc. Playback transfer in a media playback system
US11347785B2 (en) 2005-08-05 2022-05-31 Intel Corporation System and method for automatically managing media content
US11514105B2 (en) 2013-05-29 2022-11-29 Sonos, Inc. Transferring playback from a mobile device to a playback device
US11743534B2 (en) 2011-12-30 2023-08-29 Sonos, Inc Systems and methods for networked music playback
US11783863B2 (en) 2004-12-02 2023-10-10 Maxell, Ltd. Editing method and recording and reproducing device
US11812091B2 (en) 2005-08-30 2023-11-07 Maxell, Ltd. Multimedia player displaying operation panel depending on contents
US11825174B2 (en) 2012-06-26 2023-11-21 Sonos, Inc. Remote playback queue
US11880553B2 (en) 2014-06-04 2024-01-23 Sonos, Inc. Continuous playback queue
US20240111802A1 (en) * 2013-12-19 2024-04-04 Gracenote, Inc. Station Library Creation for a Media Service
EP4373072A3 (en) * 2006-11-10 2024-09-11 Adeia Guides Inc. Automatical update of an episodes playlist of a tv series in an interactive program guide.
US12120395B2 (en) 2006-11-10 2024-10-15 Rovi Guides, Inc. Systems and methods for using playlists

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516093B2 (en) 2005-04-22 2013-08-20 Intel Corporation Playlist compilation system and method
US8285674B2 (en) * 2008-10-22 2012-10-09 Research In Motion Limited Method and apparatus for managing synchronization configuration files
US10057318B1 (en) * 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9720642B2 (en) 2014-06-04 2017-08-01 Sonos, Inc. Prioritizing media content requests
US9521212B2 (en) 2014-09-30 2016-12-13 Sonos, Inc. Service provider user accounts
FR3090928B1 (en) * 2018-12-21 2021-07-23 Amadeus Sas SYNCHRONIZED DATA MANAGEMENT SYSTEM AND PROCESS

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078383A1 (en) * 2002-10-16 2004-04-22 Microsoft Corporation Navigating media content via groups within a playlist
US20050138186A1 (en) * 1999-12-02 2005-06-23 Lambertus Hesselink Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6987221B2 (en) * 2002-05-30 2006-01-17 Microsoft Corporation Auto playlist generation with multiple seed songs
US7089309B2 (en) * 2001-03-21 2006-08-08 Theplatform For Media, Inc. Method and system for managing and distributing digital media
US7840691B1 (en) * 2000-09-07 2010-11-23 Zamora Radio, Llc Personal broadcast server system for providing a customized broadcast

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745902A (en) 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name formats
US5440334A (en) 1993-02-01 1995-08-08 Explore Technology, Inc. Broadcast video burst transmission cyclic distribution apparatus and method
WO1994027233A1 (en) 1993-05-10 1994-11-24 Taligent, Inc. Audio synchronization system
US5608171A (en) 1993-11-16 1997-03-04 Hunter; Robert M. Distributed, unattended wastewater monitoring system
US5481610A (en) 1994-02-28 1996-01-02 Ericsson Inc. Digital radio transceiver with encrypted key storage
JPH088851A (en) 1994-06-16 1996-01-12 Toshiba Corp Information distribution system and information distribution method
US5586264A (en) 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
JPH08263438A (en) 1994-11-23 1996-10-11 Xerox Corp Distribution and use control system of digital work and access control method to digital work
US5793980A (en) 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5708422A (en) 1995-05-31 1998-01-13 At&T Transaction authorization and alert system
US5857020A (en) 1995-12-04 1999-01-05 Northern Telecom Ltd. Timed availability of secured content provisioned on a storage medium
US5708709A (en) 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5926624A (en) 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
US5819160A (en) 1996-09-18 1998-10-06 At&T Corp Programmable radio subscription system for receiving selectively defined information
JP3450662B2 (en) 1997-08-14 2003-09-29 パイオニア株式会社 Information recording medium, reproducing apparatus and method thereof, and recording apparatus and method thereof
US6373948B1 (en) 1997-08-15 2002-04-16 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using program identifiers
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6009401A (en) 1998-04-06 1999-12-28 Preview Systems, Inc. Relicensing of electronically purchased software
US6219652B1 (en) 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US6484182B1 (en) 1998-06-12 2002-11-19 International Business Machines Corporation Method and apparatus for publishing part datasheets
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
AU1704900A (en) 1998-10-13 2000-05-01 Radiowave.Com, Inc. System and method for determining the audience of digital radio programmes broadcast through the internet
US7073063B2 (en) 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US6434621B1 (en) 1999-03-31 2002-08-13 Hannaway & Associates Apparatus and method of using the same for internet and intranet broadcast channel creation and management
US6920567B1 (en) 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6597961B1 (en) 1999-04-27 2003-07-22 Realnetworks, Inc. System and method for concealing errors in an audio transmission
US6522769B1 (en) 1999-05-19 2003-02-18 Digimarc Corporation Reconfiguring a watermark detector
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
WO2001048664A1 (en) 1999-12-27 2001-07-05 Pitchware, Inc. Method and apparatus for a cryptographically assisted commercial network system designed to facilitate purchase and licensing
US20010025256A1 (en) 2000-01-07 2001-09-27 Mike Oliphant System, method and apparatus for integrated access to electronic works
CA2403737C (en) 2000-03-21 2012-09-25 Ted R. Rittmaster System and process for distribution of information on a communication network
EP1297438A1 (en) 2000-04-28 2003-04-02 Live365, Inc. System and method for reducing the resources required to deliver streaming media
US20010039614A1 (en) 2000-05-08 2001-11-08 Isogon Corporation Authorization system for license certificate management
US20020049717A1 (en) 2000-05-10 2002-04-25 Routtenberg Michael D. Digital content distribution system and method
US6865600B1 (en) 2000-05-19 2005-03-08 Napster, Inc. System and method for selecting internet media channels
TW569130B (en) 2000-05-29 2004-01-01 Sony Corp Data providing device and method, data processing device and method and program storage media
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7107462B2 (en) 2000-06-16 2006-09-12 Irdeto Access B.V. Method and system to store and distribute encryption keys
US7228427B2 (en) 2000-06-16 2007-06-05 Entriq Inc. Method and system to securely distribute content via a network
US6662231B1 (en) 2000-06-30 2003-12-09 Sei Information Technology Method and system for subscriber-based audio service over a communication network
US6853728B1 (en) 2000-07-21 2005-02-08 The Directv Group, Inc. Video on demand pay per view services with unmodified conditional access functionality
US20020013784A1 (en) 2000-07-31 2002-01-31 Swanson Raymond H. Audio data transmission system and method of operation thereof
US7010689B1 (en) 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
US6915425B2 (en) 2000-12-13 2005-07-05 Aladdin Knowledge Systems, Ltd. System for permitting off-line playback of digital content, and for managing content rights
US7150045B2 (en) 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
AU2002247173A1 (en) 2001-02-20 2002-09-04 Caron S. Ellis Enhanced radio systems and methods
US20020157034A1 (en) 2001-02-21 2002-10-24 Koninklijke Philips Electronics N.V. Data streaming system substituting local content for unicasts
US7406436B1 (en) 2001-03-22 2008-07-29 Richard Reisman Method and apparatus for collecting, aggregating and providing post-sale market data for an item
JP2002325221A (en) 2001-04-25 2002-11-08 Matsushita Electric Ind Co Ltd Information recording medium and device for recording and reproducing information on the information recording medium
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7203966B2 (en) 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
US7249107B2 (en) 2001-07-20 2007-07-24 Microsoft Corporation Redistribution of rights-managed content
GB2378274A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Distributing electronic content
US7080049B2 (en) 2001-09-21 2006-07-18 Paymentone Corporation Method and system for processing a transaction
GB2405718B (en) 2001-10-22 2006-03-29 Apple Computer Portable media player with media information database
US20030167318A1 (en) 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
WO2003038704A1 (en) 2001-10-31 2003-05-08 Matsushita Electric Industrial Co., Ltd. Content information transferring device and content information receiving device
US7020635B2 (en) 2001-11-21 2006-03-28 Line 6, Inc System and method of secure electronic commerce transactions including tracking and recording the distribution and usage of assets
US6865555B2 (en) 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US7096203B2 (en) 2001-12-14 2006-08-22 Duet General Partnership Method and apparatus for dynamic renewability of content
US7853495B2 (en) 2001-12-28 2010-12-14 Access Co., Ltd. Usage period management system for applications
US6941324B2 (en) 2002-03-21 2005-09-06 Microsoft Corporation Methods and systems for processing playlists
US7899915B2 (en) 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US8117328B2 (en) 2002-06-25 2012-02-14 Microsoft Corporation System and method for automatically recovering from failed network connections in streaming media scenarios
US7353402B2 (en) 2002-06-28 2008-04-01 Microsoft Corporation Obtaining a signed rights label (SRL) for digital content and obtaining a digital license corresponding to the content based on the SRL in a digital rights management system
AU2003275185A1 (en) 2002-09-16 2004-04-30 Yahoo ! Inc. On-line software rental
US7069347B1 (en) 2002-09-27 2006-06-27 Cypress Semiconductor Corporation Device and method for adapting speed of a USB device based on available power
JP4660073B2 (en) 2002-10-18 2011-03-30 株式会社東芝 ENCRYPTION RECORDING DEVICE, REPRODUCTION DEVICE, AND PROGRAM
US7328243B2 (en) 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US20040139312A1 (en) 2003-01-14 2004-07-15 General Instrument Corporation Categorization of host security levels based on functionality implemented inside secure hardware
JP2004258141A (en) 2003-02-24 2004-09-16 Fujitsu Ltd Arithmetic unit for multiple length arithmetic of montgomery multiplication residues
US7318236B2 (en) 2003-02-27 2008-01-08 Microsoft Corporation Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
US7310729B2 (en) 2003-03-12 2007-12-18 Limelight Networks, Inc. Digital rights management license delivery system and method
US20050114374A1 (en) 2003-04-04 2005-05-26 Juszkiewicz Henry E. User interface for a combination compact disc recorder and player system
US20050203959A1 (en) 2003-04-25 2005-09-15 Apple Computer, Inc. Network-based purchase and distribution of digital media items
US20050022019A1 (en) 2003-07-05 2005-01-27 General Instrument Corporation Enforcement of playback count in secure hardware for presentation of digital productions
US20050010531A1 (en) 2003-07-09 2005-01-13 Kushalnagar Nandakishore R. System and method for distributing digital rights management digital content in a controlled network ensuring digital rights
US7090128B2 (en) 2003-09-08 2006-08-15 Systems And Software Enterprises, Inc. Mobile electronic newsstand
US7685646B1 (en) 2003-09-10 2010-03-23 Realnetworks, Inc. System and method for distributing protected audio content on optical media
JP2005135513A (en) 2003-10-30 2005-05-26 Fujitsu Ltd Information recording medium and information recording/reproducing device
US8738537B2 (en) 2003-11-21 2014-05-27 Intel Corporation System and method for relicensing content
US20060259429A1 (en) 2003-11-21 2006-11-16 Hug Joshua D System and method for enabling an action
US20060259436A1 (en) 2003-11-21 2006-11-16 Hug Joshua D System and method for relicensing content
US20060265329A1 (en) 2003-11-21 2006-11-23 Realnetworks System and method for automatically transferring dynamically changing content
US8185475B2 (en) 2003-11-21 2012-05-22 Hug Joshua D System and method for obtaining and sharing media content
US8996420B2 (en) 2003-11-21 2015-03-31 Intel Corporation System and method for caching data
US7882034B2 (en) 2003-11-21 2011-02-01 Realnetworks, Inc. Digital rights management for content rendering on playback devices
US7515873B2 (en) 2003-12-04 2009-04-07 International Business Machines Corporation Responding to recipient rated wirelessly broadcast electronic works
US7395244B1 (en) 2004-06-23 2008-07-01 Symantec Corporation Criticality classification system and method
US7706637B2 (en) 2004-10-25 2010-04-27 Apple Inc. Host configured for interoperation with coupled portable media player device
US7711586B2 (en) 2005-02-24 2010-05-04 Rearden Corporation Method and system for unused ticket management
US8516093B2 (en) 2005-04-22 2013-08-20 Intel Corporation Playlist compilation system and method
US7587502B2 (en) 2005-05-13 2009-09-08 Yahoo! Inc. Enabling rent/buy redirection in invitation to an online service
EP1941658A4 (en) 2005-10-20 2009-01-21 Viigo Inc Managing content to constrained devices
JP2010190594A (en) 2009-02-16 2010-09-02 Hitachi Ltd Navigation apparatus and electronic instrument equipped with navigation function

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138186A1 (en) * 1999-12-02 2005-06-23 Lambertus Hesselink Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7840691B1 (en) * 2000-09-07 2010-11-23 Zamora Radio, Llc Personal broadcast server system for providing a customized broadcast
US7089309B2 (en) * 2001-03-21 2006-08-08 Theplatform For Media, Inc. Method and system for managing and distributing digital media
US6987221B2 (en) * 2002-05-30 2006-01-17 Microsoft Corporation Auto playlist generation with multiple seed songs
US20040078383A1 (en) * 2002-10-16 2004-04-22 Microsoft Corporation Navigating media content via groups within a playlist
US7043477B2 (en) * 2002-10-16 2006-05-09 Microsoft Corporation Navigating media content via groups within a playlist

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182139A1 (en) * 2002-03-22 2003-09-25 Microsoft Corporation Storage, retrieval, and display of contextual art with digital media files
US20060020609A1 (en) * 2002-10-16 2006-01-26 Microsoft Corporation Playlist structure for large playlists
US8886685B2 (en) 2002-10-16 2014-11-11 Microsoft Corporation Navigating media content by groups
US7991803B2 (en) 2002-10-16 2011-08-02 Microsoft Corporation Navigating media content by groups
US20100114986A1 (en) * 2002-10-16 2010-05-06 Microsoft Corporation Navigating media content by groups
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US11929101B2 (en) 2004-12-02 2024-03-12 Maxell, Ltd. Editing method and recording and reproducing device
US11783863B2 (en) 2004-12-02 2023-10-10 Maxell, Ltd. Editing method and recording and reproducing device
US7925970B2 (en) * 2005-03-17 2011-04-12 Sony Corporation Information processing system that manages stored content using playlists
US20060227632A1 (en) * 2005-03-17 2006-10-12 Sony Corporation Information processing system, information generating apparatus and method, information processing apparatus and method, and program
US20150207839A1 (en) * 2005-03-24 2015-07-23 Sony Corporation Playlist sharing methods and apparatus
US7516078B2 (en) * 2005-05-25 2009-04-07 Microsoft Corporation Personal shared playback
US20060270395A1 (en) * 2005-05-25 2006-11-30 Microsoft Corporation Personal shared playback
US20060288041A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Providing community-based media item ratings to users
US7890513B2 (en) 2005-06-20 2011-02-15 Microsoft Corporation Providing community-based media item ratings to users
US11347785B2 (en) 2005-08-05 2022-05-31 Intel Corporation System and method for automatically managing media content
US11544313B2 (en) * 2005-08-05 2023-01-03 Intel Corporation System and method for transferring playlists
US20070083556A1 (en) * 2005-08-12 2007-04-12 Microsoft Corporation Like processing of owned and for-purchase media
US8140601B2 (en) 2005-08-12 2012-03-20 Microsoft Coporation Like processing of owned and for-purchase media
US7831605B2 (en) * 2005-08-12 2010-11-09 Microsoft Corporation Media player service library
US20070048713A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US20070048712A1 (en) * 2005-08-12 2007-03-01 Daniel Plastina Media player service library
US20070048714A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US11812091B2 (en) 2005-08-30 2023-11-07 Maxell, Ltd. Multimedia player displaying operation panel depending on contents
US11924502B2 (en) 2005-08-30 2024-03-05 Maxell, Ltd. Multimedia player displaying operation panel depending on contents
US11974008B2 (en) 2005-08-30 2024-04-30 Maxell, Ltd. Multimedia player displaying operation panel depending on contents
US11974007B2 (en) 2005-08-30 2024-04-30 Maxell, Ltd. Multimedia player displaying operation panel depending on contents
US7603434B2 (en) * 2006-04-13 2009-10-13 Domingo Enterprises, Llc Central system providing previews of a user's media collection to a portable media player
US20070245378A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation User system providing previews to an associated portable media player
US20070244986A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation Central system providing previews of a user's media collection to a portable media player
US8316081B2 (en) 2006-04-13 2012-11-20 Domingo Enterprises, Llc Portable media player enabled to obtain previews of a user's media collection
US20070244856A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Media Search Scope Expansion
US20070300279A1 (en) * 2006-06-21 2007-12-27 Samsung Electronics Co., Ltd. Method of providing integrated file list and video apparatus using the same
US20070299886A1 (en) * 2006-06-22 2007-12-27 Microsoft Corporation Media difference files for compressed catalog files
US7636728B2 (en) 2006-06-22 2009-12-22 Microsoft Corporation Media difference files for compressed catalog files
US20070299681A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Subscription management in a media sharing service
US7792756B2 (en) 2006-06-27 2010-09-07 Microsoft Corporation Subscription management in a media sharing service
US20160335258A1 (en) 2006-10-24 2016-11-17 Slacker, Inc. Methods and systems for personalized rendering of digital media content
US10657168B2 (en) 2006-10-24 2020-05-19 Slacker, Inc. Methods and systems for personalized rendering of digital media content
EP4373072A3 (en) * 2006-11-10 2024-09-11 Adeia Guides Inc. Automatical update of an episodes playlist of a tv series in an interactive program guide.
US12120395B2 (en) 2006-11-10 2024-10-15 Rovi Guides, Inc. Systems and methods for using playlists
EP4376401A3 (en) * 2006-11-10 2024-09-11 Adeia Guides Inc. Automatical update of an episodes playlist of a tv series in an interactive program guide.
US10296561B2 (en) 2006-11-16 2019-05-21 James Andrews Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet
US9361295B1 (en) 2006-11-16 2016-06-07 Christopher C. Andrews Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet
US20080162147A1 (en) * 2006-12-29 2008-07-03 Harman International Industries, Inc. Command interface
US9865240B2 (en) * 2006-12-29 2018-01-09 Harman International Industries, Incorporated Command interface for generating personalized audio content
US20080162665A1 (en) * 2007-01-03 2008-07-03 Damon Kali System and methods for synchronized media playback between electronic devices
US7827479B2 (en) * 2007-01-03 2010-11-02 Kali Damon K I System and methods for synchronized media playback between electronic devices
US20090164032A1 (en) * 2007-12-24 2009-06-25 Sandisk Il Ltd. Mobile device and method for concurrently processing content according to multiple playlists
US9703784B2 (en) * 2007-12-24 2017-07-11 Sandisk Il Ltd. Mobile device and method for concurrently processing content according to multiple playlists
US9690852B2 (en) * 2007-12-28 2017-06-27 Nokia Corporation Content management for packet-communicating devices
US20150286715A1 (en) * 2007-12-28 2015-10-08 Nokia Corporation Content management for packet-communicating devices
US20090183060A1 (en) * 2008-01-12 2009-07-16 David Heller Unified Media Presentation for Media Devices
US8484311B2 (en) 2008-04-17 2013-07-09 Eloy Technology, Llc Pruning an aggregate media collection
US8224899B2 (en) 2008-04-17 2012-07-17 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US8285810B2 (en) 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US8874650B2 (en) 2008-04-17 2014-10-28 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US9396196B2 (en) 2008-04-17 2016-07-19 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US20090265416A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US20090265417A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Aggregating media collections to provide a primary list and sorted sub-lists
US20090265426A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US20090265418A1 (en) * 2008-04-17 2009-10-22 Eloy Technology, Llc Pruning an aggregate media collection
US20140297729A1 (en) * 2008-06-12 2014-10-02 Apple Inc. Network-assisted remote media listening
US11943279B2 (en) 2008-06-12 2024-03-26 Apple Inc. Network-assisted remote media listening
US10547665B2 (en) * 2008-06-12 2020-01-28 Apple Inc. Network-assisted remote media listening
US11153368B2 (en) 2008-06-12 2021-10-19 Apple Inc. Network-assisted remote media listening
US20100070490A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for enhanced smart playlists with aggregated media collections
US20120095962A1 (en) * 2008-10-14 2012-04-19 Goldman Jason D Aggregating Media Content From Multiple Clients To A Server
US20100094833A1 (en) * 2008-10-15 2010-04-15 Concert Technology Corporation Caching and synching process for a media sharing system
US20100094834A1 (en) * 2008-10-15 2010-04-15 Concert Technology Corporation Bridging in a media sharing system
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US8484227B2 (en) 2008-10-15 2013-07-09 Eloy Technology, Llc Caching and synching process for a media sharing system
US20100114979A1 (en) * 2008-10-28 2010-05-06 Concert Technology Corporation System and method for correlating similar playlists in a media sharing network
US9191229B2 (en) 2009-02-02 2015-11-17 Eloy Technology, Llc Remote participation in a Local Area Network (LAN) based media aggregation network
US9755885B1 (en) * 2009-04-16 2017-09-05 Amazon Technologies, Inc. Local rendering in lieu of streaming
US8468070B1 (en) * 2009-04-16 2013-06-18 Amazon Technologies, Inc. Local rendering in lieu of streaming
US9208239B2 (en) 2010-09-29 2015-12-08 Eloy Technology, Llc Method and system for aggregating music in the cloud
US10270831B2 (en) * 2011-04-04 2019-04-23 Soundlink, Inc. Automated system for combining and publishing network-based audio programming
US20120254753A1 (en) * 2011-04-04 2012-10-04 Andrews Christopher C Automated system for combining and publishing network-based audio programming
US9380410B2 (en) 2011-04-04 2016-06-28 Soundlink, Inc. Audio commenting and publishing system
US9973560B2 (en) 2011-04-04 2018-05-15 Soundlink, Inc. Location-based network radio production and distribution system
US20120290648A1 (en) * 2011-05-09 2012-11-15 Sharkey Jeffrey A Dynamic Playlist for Mobile Computing Device
US8346867B2 (en) * 2011-05-09 2013-01-01 Google Inc. Dynamic playlist for mobile computing device
US20140019596A1 (en) * 2011-05-09 2014-01-16 Google Inc. Dynamic Playlist for Mobile Computing Device
US8661151B2 (en) * 2011-05-09 2014-02-25 Google Inc. Dynamic playlist for mobile computing device
US9288254B2 (en) * 2011-05-09 2016-03-15 Google Inc. Dynamic playlist for mobile computing device
US20120290653A1 (en) * 2011-05-09 2012-11-15 Google, Inc. Dynamic playlist for mobile computing device
US20120290916A1 (en) * 2011-05-09 2012-11-15 Parekh Neel B Unified file arrangements
US9143889B2 (en) 2011-07-05 2015-09-22 Htc Corporation Method of establishing application-related communication between mobile electronic devices, mobile electronic device, non-transitory machine readable media thereof, and media sharing method
US20130013740A1 (en) * 2011-07-05 2013-01-10 Te-Chuan Liu Media Sharing Method and Non-transitory Machine Readable Media thereof
US20130065521A1 (en) * 2011-09-08 2013-03-14 Pantech Co., Ltd. Near field communication (nfc) terminal and method for data synchronization
US11743534B2 (en) 2011-12-30 2023-08-29 Sonos, Inc Systems and methods for networked music playback
US12047635B2 (en) 2011-12-30 2024-07-23 Sonos, Inc. Systems and methods for networked music playback
US12052461B2 (en) 2011-12-30 2024-07-30 Sonos, Inc. Systems and methods for networked media playback
US11825174B2 (en) 2012-06-26 2023-11-21 Sonos, Inc. Remote playback queue
US20140337374A1 (en) * 2012-06-26 2014-11-13 BHG Ventures, LLC Locating and sharing audio/visual content
US11294544B2 (en) * 2012-06-29 2022-04-05 Spotify Ab Systems and methods for multi-context media control and playback
US20220276755A1 (en) * 2012-06-29 2022-09-01 Spotify Ab Systems and methods for multi-context media control and playback
US20170264943A1 (en) * 2012-09-28 2017-09-14 Sonos, Inc. Audio Content Playback Management
US10412445B2 (en) * 2012-09-28 2019-09-10 Sonos, Inc. Audio content playback management
US11310557B2 (en) 2012-09-28 2022-04-19 Sonos, Inc. Audio content playback management
US11188666B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playback device queue access levels
US12039071B2 (en) 2013-04-16 2024-07-16 Sonos, Inc. Playback device queue access levels
US11321046B2 (en) 2013-04-16 2022-05-03 Sonos, Inc. Playback transfer in a media playback system
US11727134B2 (en) 2013-04-16 2023-08-15 Sonos, Inc. Playback device queue access levels
US11899712B2 (en) 2013-04-16 2024-02-13 Sonos, Inc. Playback queue collaboration and notification
US11775251B2 (en) 2013-04-16 2023-10-03 Sonos, Inc. Playback transfer in a media playback system
US11188590B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playlist update corresponding to playback queue modification
US11514105B2 (en) 2013-05-29 2022-11-29 Sonos, Inc. Transferring playback from a mobile device to a playback device
US11687586B2 (en) 2013-05-29 2023-06-27 Sonos, Inc. Transferring playback from a mobile device to a playback device
US20240111802A1 (en) * 2013-12-19 2024-04-04 Gracenote, Inc. Station Library Creation for a Media Service
US10484316B2 (en) * 2014-04-17 2019-11-19 S Wave Pty Ltd System and method for creating and sharing media playlists
US20170041261A1 (en) * 2014-04-17 2017-02-09 S Wae Pty Ltd System and Method For Creating and Sharing Media Playlists
US20150304378A1 (en) * 2014-04-21 2015-10-22 Futurewei Technologies, Inc. System and Method for Servicing One or More User Equipments Through One or More Streams
US9769228B2 (en) * 2014-04-21 2017-09-19 Futurewei Technologies, Inc. System and method for servicing one or more user equipments through one or more streams
US11880553B2 (en) 2014-06-04 2024-01-23 Sonos, Inc. Continuous playback queue
US11831627B2 (en) 2014-06-04 2023-11-28 Sonos, Inc. Cloud queue access control
US10666634B2 (en) 2014-06-04 2020-05-26 Sonos, Inc. Cloud queue access control
US10587602B2 (en) 2014-06-04 2020-03-10 Sonos, Inc. Cloud queue synchronization
US10462119B2 (en) * 2014-06-04 2019-10-29 Sonos, Inc. Cloud queue synchronization
US10412073B2 (en) * 2014-06-04 2019-09-10 Sonos, Inc. Cloud queue synchronization
US20150373069A1 (en) * 2014-06-20 2015-12-24 Blackfire Research Corporation Managing a common shared play queue on multiple devices
US20160048570A1 (en) * 2014-06-24 2016-02-18 Google Inc. Processing mutations for a remote database
US11455291B2 (en) * 2014-06-24 2022-09-27 Google Llc Processing mutations for a remote database
US11922976B2 (en) 2015-01-28 2024-03-05 Roku, Inc. Audio time synchronization using prioritized schedule
US11437075B2 (en) 2015-01-28 2022-09-06 Roku, Inc. Audio time synchronization using prioritized schedule
US10614856B2 (en) * 2015-01-28 2020-04-07 Roku, Inc. Audio time synchronization using prioritized schedule
US10872116B1 (en) * 2019-09-24 2020-12-22 Timecode Archive Corp. Systems, devices, and methods for contextualizing media

Also Published As

Publication number Publication date
US9794315B2 (en) 2017-10-17
US10116717B2 (en) 2018-10-30
US9813473B2 (en) 2017-11-07
US20170063951A1 (en) 2017-03-02
US20150195319A1 (en) 2015-07-09
US20170034236A1 (en) 2017-02-02
US8909741B2 (en) 2014-12-09
US20140181265A1 (en) 2014-06-26
US8516093B2 (en) 2013-08-20
US9444864B2 (en) 2016-09-13
US20180063211A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
US10116717B2 (en) Playlist compilation system and method
US10860611B2 (en) Method for sharing and searching playlists
US9754309B2 (en) Internet radio and broadcast via crowdsourcing apparatus and system
US8914389B2 (en) Information processing device, information processing method, and program
JP5070324B2 (en) Apparatus and method for selecting a music channel
KR101318015B1 (en) System and method for playlist generation based on similarity data
US20150074090A1 (en) Historical Media Recommendation Service
US20040261040A1 (en) Method and apparatus for media access control
US20150066999A1 (en) Information processing device, information processing method, and program
US20040019497A1 (en) Method and system for providing listener-requested music over a network
US7617296B2 (en) Data compilation system and method
US10423943B2 (en) Graph-based music recommendation and dynamic media work micro-licensing systems and methods
KR20070086579A (en) Recording and playback of video clips based on audio selections
CA2587271A1 (en) System for rapid delivery of digital content via the internet
US20050123887A1 (en) System and method for providing karaoke service using set-top box
US20220188062A1 (en) Skip behavior analyzer
KR20050068543A (en) Method for streaming music data using peer to peer communication

Legal Events

Date Code Title Description
AS Assignment

Owner name: REALNETWORKS, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BANK, BRYNA L.;REEL/FRAME:015976/0158

Effective date: 20050421

AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:REALNETWORKS, INC.;REEL/FRAME:028752/0734

Effective date: 20120419

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8