The present invention relates to a system and method for acquiring recommended media items and other media items related thereto from public sources.
In recent years, there has been an enormous increase in the amount of digital media, such as music, available online. Services such as Apple's iTunes enable users to legally purchase and download music. Other services such as Napster and RealNetwork's Rhapsody provide access to millions of songs for a monthly subscription fee. As a result, music has become much more accessible to listeners worldwide. However, the increased accessibility of music has only heightened a long-standing problem for the music industry, which is namely the issue of linking audiophiles with new music that matches their listening preferences.
Many companies, technologies, and approaches have emerged to address the issue of music recommendation. Some companies have taken an analytical approach. They review various attributes of a song, such as melody, harmony, lyrics, orchestration, vocal character, and the like, and assign a rating to each attribute. The ratings for each attribute are then assembled to create a holistic classification for the song that is then used by a recommendation engine. The recommendation engine typically requires that the user first identify a song that he or she likes. The recommendation engine then suggests other songs with similar attributions. Companies using this type of approach include Pandora (http://www.pandora.com), MusicIP (http://www.musicip.com), and MongoMusic (purchased by Microsoft in 2000).
Other companies take a communal approach. They make recommendations based on the collective wisdom of a group of users with similar musical tastes. These solutions first profile the listening habits of a particular user and then search similar profiles of other users to determine recommendations. Companies using this technology include Last.fm (http://www.last.fm), betterPropaganda (http://www.betterpropaganda.com), eMusic (http://www.emusic.com), genielab (http://genielab.com/), upto11 (http://www.upto11.net/), Napster (http://www.napster.com), and iTunes (http://www.itunes.com).
Recently, there has been proposed a method whereby song recommendations from peer devices are shared. For example, U.S. application Ser. No. 11/484,130 titled “P2P Network for Providing Real Time Media Recommendations”, and incorporated herein in its entirety, discloses such a method. For example, each time a song is played by a music player of a first peer device, a recommendation engine provides a recommendation identifying the song to at least one other peer device via a P2P network. The media item recommendation does not include the song but rather includes information identifying the song. When the user of the at least one other peer device selects a media item recommendation, such as one forming a part of a playlist, the song associated with the recommendation is accessed and played.
One problem with these recommendation systems is that they often result in the recommendation of media items, such as songs, to which the user of a peer device does not have access, such as via a paid subscription service. It would therefore prove advantageous to provide a system and method for acquiring access to media items referenced in a media item recommendation from publicly available sources.
In accordance with an exemplary and non-limiting embodiment a first peer device includes a communication interface and a controller associated with the communication interface configured to receive a selection of a media item recommendation. The media item recommendation includes a recommended media item and media item metadata. In one exemplary embodiment, the media item recommendation originates at a second peer device. Once the media item recommendation is selected a search of one or more publicly accessible third party media content providers is executed utilizing the media item metadata based, at least in part, upon one or more search content preferences. The search results thusly obtained are then received and displayed.
In accordance with another exemplary and non-limiting embodiment a computer readable medium embodied in an article of manufacture is encoded with instructions for directing a processor of a first peer device to receive a selection of a media item recommendation. The media item recommendation includes a recommended media item and media item metadata. In an exemplary embodiment, the media item recommendation originates at a second peer device. Once the media item recommendation is selected a search of one or more publicly accessible third party media content providers is executed utilizing the media item metadata based, at least in part, upon one or more search content preferences. The processor is further directed to receive and display one or more search results associated with the executed search.
A method includes receiving a selection of a media item recommendation of a media item, the media item recommendation comprising media item metadata and originating at a second peer device. Next a search of one or more publicly accessible third party media content providers is executed utilizing the media item metadata based upon one or more search content preferences. Lastly, the one or more search results associated with the executed search are received and displayed.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
In accordance with an exemplary and non-limiting embodiment a first peer device includes a communication interface and a controller associated with the communication interface configured to receive a selection of a media item recommendation. The media item recommendation includes a recommended media item and media item metadata. In one exemplary embodiment, the media item recommendation originates at a second peer device. Once the media item recommendation is selected a search of one or more publicly accessible third party media content providers is executed utilizing the media item metadata based, at least in part, upon one or more search content preferences. The search results thusly obtained are then received and displayed.
In accordance with an exemplary embodiment there is provided a peer-to-peer (P2P) network for providing media item recommendations. The media item recommendations may include, but are not limited to, song recommendations and video recommendations. Peer devices provide recommendations identifying and recommending media items to other peer devices in the P2P network. A peer device having received one or more media item recommendations from another peer in the P2P network attempts to obtain and play the media item associated with the media item recommendation. If the selected media item is not stored locally by the peer device, the peer device submits a query to a third party media content provider. In one embodiment, the peer devices are portable devices forming the P2P network via local wireless communication. In another embodiment, the peer devices may be any type of device and form the P2P network via a Wide Area Network (WAN) such as the Internet.
As used herein and described more fully below, a “media item recommendation” is a formatted data construct including a reference to at least one media item and information and/or metadata associated with the media item including, but not limited to, recommender id, song title, artist, genre, album, and the like. Further, as used herein, “media item” refers broadly to any and all formatted media compositions, especially those searchable by and available from third-party sources, including, but not limited to, songs, videos, articles, photos and the like. When referring to a selection or other manipulation of a media item defined in and associated with a media item recommendation, a “media item recommendation” and the “media item” associated therewith may be used interchangeably.
In accordance with some exemplary and non-limiting embodiments described herein, a user of a peer device may engage in playing a media item recommendation, such as one included in a playlist and received from another peer device, without subscription to a media content provider by relying upon media items stored locally as well as by accessing media content freely available from a third party media content provider. This is accomplished through the creation of a query formatted using user selected metadata associated with a media item recommendation and the subsequent submission of the query to a third party media content provider selected by the user.
By allowing the user to establish the metadata to be used when forming the query, the system can be used to achieve a spectrum of results. For example, if a user establishes preferences which result in a search for media items matching the title, artist, album and genre of a selected media item recommendation, selection of any one of the returned search results is likely to result in the system functioning as a playlist facilitator whereby a version of each media item associated with a media item recommendation is played upon selection. Conversely, if a user establishes preferences which result in a search for media items matching, for example, only the artist, the system functions more as a recommendation system providing the user with selections of additional media items that are not necessarily the same as the selected media item recommendation but are nonetheless likely of interest to the user.
The following example highlights the utility of the system. For example, a user A operating an associated peer device receives a media item recommendation for a song from a user B operating an associated peer device. User A has configured a client application operating on peer device to automatically generate a search query using the “artist” of any selected media item and submit the query to YouTube.com. The client application determines that a local copy of the recommended media item is available and proceeds to begin playing the song. At approximately the same time, the search results from the query are displayed to user A. The search results include a video clip of a music video for the song and a segment of a movie scene where the song is played. User A pauses the playback of the song and watches both YouTube.com clips. In this manner, the system operates to find and play the recommended media item as well as identify and display related media items from a free third party media content provider. As used herein, “third party media content provider” refers to a publicly accessible third party provider of media content that does not require a fee, such as in the form of a subscription fee, to access media items and content.
In this embodiment, the peer devices 12, 14 are any computing devices capable of receiving inputs, performing computations upon the inputs and providing outputs to a user. Exemplary peer devices include, but are not limited to, personal computers, laptops, Personal Digital Assistants (PDAs), portable audio players, mobile telephones, or the like. Peer devices 12, 14 can include local wireless communication interfaces (
Peer device 12 includes a media item repository 22, a preferences repository 24, a client executable 26, and a client services repository 28. In general, a client executable 26, such as might be stored as software, hardware, or a combination of the two, may be executed on the peer device 12 to implement the exemplary embodiments described herein. As described more fully below, the client executable 26 proceeds to perform a search of publicly accessible third party media content providers 20 for media items that satisfy a search query formed, at least in part, from data included in a media item recommendation. The results of the query are subsequently displayed to a user of the peer device 12.
In accordance with some exemplary embodiments, a client services server 16 may be communicatively coupled to the one or more peer devices 12, 14, for example, via network 18. Client services server 16 may include a client services repository 28 for storing, for example, information related to destination specific query formats for searching third party media content providers 20 as well as links to locations of media items described more fully below.
In accordance with some exemplary and non-limiting embodiments, a third party media content provider 20 stores and provides upon request media content. Examples of third party media content providers 20 include, but are not limited to, YouTube.com, Hulu.com, and the like.
In the discussion that follows, the flowchart of
The more specific a user is when selecting the search content preferences, the more the system 10 operates as a content provider to acquire and output the recommended media items. For example, if the song title and the album on which the song appears are selected as the search content preferences 32, the resulting search query will return results comprised of search hits comprising some version of the particular song appearing in the song recommendation. Conversely, the less specific a user is when selecting the search content preferences, the broader the results returned from a search query. For example, if only “genre” is selected as the search content preferences 32, the resulting search query will likely return a broad array of search results related to each other solely on the basis of belonging to the same general genre.
Returning to
Continuing, the flowchart of
Browser component 44 may further include a search destination input 48. Search destination input 48 may default to a display of one or more current search destination preferences as may be retrieved from the user preferences repository 24. Search destination input 48 further allows a user to dynamically change the identity of external repositories of media content to be searched. Such changes may be entered for use in a current session related to the playback of a current playlist or may be saved for later in, for example, preferences repository 24.
With continuing reference to
Once selected, a search of one or more third party media content providing entities each comprising an indicated destination preference is executed using the media content metadata and based upon the one or more search content preferences (step 140). For example, with reference to
In an alternative exemplary embodiment, in addition to or in lieu of searching a third party media content provider 20, a search may be performed of a third party subscription entity. As used herein, “third party subscription entity” refers to a repository of media items that is not publicly available but rather requires payment of a subscription fee to gain access to media items stored thereupon.
In an exemplary embodiment, the search may be aided by reference to data stored in a client services repository 28 located at, for example, a peer device 12 or client services server 16. As different sources for media content react differently to differently formatted search requests, information related to a preferred manner of formatting search requests for specified sources may be collected, stored, and outputted as requested from a client services repository 28.
In an exemplary embodiment, a determination may next be made as to whether a location of the selected media item recommendation can be resolved locally (step 150). For example, a determination can be made whether or not the selected media item resides in or is otherwise stored in and retrievable from a memory device associated with the peer device such as internal memory, an attached memory device, such as media item repository 22, and the like.
In accordance with another exemplary embodiment, to “locally resolve”, may refer to the process of finding the location of an instance of the selected media item recommendation without recourse to searching an external repository of media content. In such an instance, locally resolving the location of an instance of the selected media item may involve accessing data from client services server 16. Client services server 16 may operate to investigate, or “crawl”, the Internet to discover instances of a performance of a media item in one or more forms of media. For example, the client services server 16 may determine that a music video of the song “Stuck With You” performed by “Huey Lewis and the News” resides at YouTube.com. In response, the client services server 16 may store, such as in client services repository 28, the URL link to the video corresponding to the media item “Stuck With You”. When queried, the client services server 16 provides one or more links to the media item corresponding to the selected media item recommendation. In this manner, the client services server 16 acts as an extension to media items stored locally at a peer device 12 such as in media item repository 22. While the link stored and provided as a service to a peer device 12 from the client services server 16 may reference an instance of a media item not stored at the peer device 12, it does provide direct access to the media item via the link.
As discussed above, the degree of generality associated with a selection of search content preferences determines if the system 10 functions to retrieve, on one hand, media items substantially related to the media item recommendation (i.e., same artist, title, album, etc.) or, on the other hand, to broadly retrieve additional media items generally related to the selected media item recommendation. In an exemplary embodiment, the system 10 functions, as a default, to play media item recommendations stored locally or freely available from a third-party or external repository of media content.
In the event that it is determined that the location of a desired media content recommendation can be resolved locally, the located media content item may be played at the peer device 12, such as via an output device of peer device 12 (step 160). For example, if the located media content item is a copy of the song in mp3 format, the song may be played via speakers forming a part of the peer device 12. If, for example, the located media content item is a music video, the music video may be played in the browser component 44.
Whether or not the media content item can be resolved and played locally at the peer device 12, the search results are displayed (step 170). With reference to the example of
With continued reference to
If the user desires to browse the search results 46, processing continues to enable browsing of the returned search results (step 190). With reference to
With continued reference to
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of provisional patent application Ser. No. 61/149,216, filed Feb. 2, 2009, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61149216 | Feb 2009 | US |