The present disclosure relates to discovery of media content based on geographic location.
Systems for sharing and generating playlists are known. For example, Gracenote Playlist™ by Gracenote® of Emeryville, Calif., offers playlist generation technology for automatically generating digital music playlists that works in offline devices, including portable MP3 players, as well as desktop applications.
Gracenote Playlist Plus™ allows a user to generate a More Like This™ playlist by selecting one or more songs, albums, or artists as seeds. Gracenote Playlist then returns a mix of music that contains music from related artists and genres. This is accomplished by Gracenote Playlist Plus analyzing text data available in file tags, called metadata, and filenames of the music to link the music to an internal database of music information. Gracenote Playlist Plus uses Gracenote's proprietary metadata types, which include a genre system that has more than 1600 individual genre categories and associated relational data. The system lets Gracenote Playlist Plus find relationships between songs that may be missed by simpler systems. For example, a “Punk Pop” song may be more similar to a “Ska Revival” song than it might be to one belonging to another “Punk” sub-category, such as “Hardcore Punk.”
Last.fm Ltd. is a UK-based internet radio and music community website. Using a music recommendation system called “Audioscrobbler”, Last.fm™ builds a profile of each user's musical taste by recording details of all the songs the user listens to, either on streamed radio stations or on the user's own computer or music player. This information is transferred to Last.fm's database (“Scrobbled”) via a plugin installed into the user's music player. The profile data is displayed on the user's Last.fm profile page for others to see. The site offers numerous social networking features and can recommend and play artists similar to the user's favorites. Users can create custom radio stations and playlists from any of the audio tracks in Last.fm's music library. A user can embed a playlist in their profile page to which others can listen, but the playlist needs to have at least 15 streamable tracks, each from different artists.
Similarly, U.S. Pat. No. 7,035,871 entitled “Method and Apparatus for Intelligent and Automatic Preference Detection of Media Content” provides a system for listening to music online by creating a preference profile for a user. When the user signs up for the service and provides details reflecting his preferences and his play history, a preference profile is generated and stored in a preference database. The system analyzes the stored profiles in the database and learns from the patterns it detects. The system recommends music to the user with attributes similar to the user's play history.
U.S. Patent Application Publication No. 2006/0143236 entitled “Interactive Music Playlist Sharing System and Methods” describes a community media playlist sharing system, where system users upload media playlists in real-time, which are automatically converted to a standardized format and shared with other users of the community. A playlist search interface module browses the database of media playlists and returns similar playlists of system users based on similarity of one or more of the following inputs from a system user: media identification information, media category information, media relations information, user information, or matching a plurality of media items on respective playlists. Based on the results of the playlist search interface module, the system returns a list of recommended playlists to the user.
Although conventional systems for generating playlists perform for their intended purposes, conventional systems suffer disadvantages that may render the results overbroad for the user's tastes. One disadvantage is that although conventional systems may take into account the playlists of other users, conventional systems fail to analyze the playlists of a specific group of users, and fail to consider peer group influences. For example, the music that a particular teenager listens to may be highly influenced by the music listened to by a group of the teenager's peers, such as his or her friends. A further disadvantage is that conventional systems fail to take into account the fact that the music tastes of a user may be influenced by his or her geographic location when generating playlists.
The present disclosure relates to providing representative information for a geographic area of interest. In one embodiment, a media service tracks media interaction histories (e.g., play histories) for a number of users registered with the media service, where each media interaction history identifies media items interacted with by the corresponding user as well as the locations at which at least a subset of the media items were interacted with by the corresponding user. The media service receives a request from a requesting user for representative information for a geographic area of interest. In response to receiving the request, the media service determines representative information for the geographic area of interest based on at least a subset of the media interaction histories of the users and effects presentation of the representative information to the requesting user. In another embodiment, the geographic area of interest is divided into a number of sub-areas, and the representative information includes representative information for each sub-area of the geographic area of interest.
Those skilled in the art will appreciate the scope of the present disclosure 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 disclosure, and together with the description serve to explain the principles of the disclosure.
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.
The central server 20 includes a tunersphere function 26, which may be implemented in software, hardware, or a combination thereof. In general, the tunersphere function 26 includes a playback tracking function 28, a channel definition function 30, and a request processor 32. The playback tracking function 28 operates to track playback of media items by the users 16-1 through 16-N at the devices 14-1 through 14-N. Preferably, the playback tracking function 28 maintains a play history for each of the users 16-1 through 16-N. Using the user 16-1 as an example, the play history of the user 16-1 includes an entry for each media item played by the user 16-1. Each entry includes information identifying the corresponding media item played by the user 16-1 such as, for example, a Globally Unique Identifier (GUID) of the media item, a fingerprint of the media item, a title of the media item, or the like. In addition, for at least a portion of the media items played by the user 16-1, the corresponding entries in the play history of the user 16-1 include information identifying locations at which the media items were played by the user 16-1. The information identifying the locations at which the media items were played by the user 16-1 may be, for example, latitude and longitude coordinates, a street address, a zip code, an area code, or the like. Still further, for at least a portion of the media items played by the user, the corresponding entries in the play history of the user 16-1 may include time stamps identifying times at which the corresponding media items were played by the user 16-1. In one embodiment, a time stamp may indicate a date on which the corresponding media item was played by the user 16-1 and a time of day. For example, a time stamp may be Jul. 23, 2008 at 11:17 A.M. EST.
In order to track the play histories of the users 16-1 through 16-N, the playback tracking function 28 obtains the play histories of the users 16-1 through 16-N from the devices 14-1 through 14-N. More specifically, in one embodiment, the devices 14-1 through 14-N provide playback information to the playback tracking function 28 automatically in response to playback of media items. Using the device 14-1 as an example, when the device 14-1 plays a media item for the user 16-1, the device 14-1 may automatically provide playback information including information identifying the media item, a current location of the device 14-1 which is the location at which the media item is played, and a time stamp. The device 14-1 may automatically provide the playback information once playback of the media item has been initiated, after a threshold amount of the media item has been played, or at the completion of playback of the media item.
In another embodiment, the devices 14-1 through 14-N automatically provide playback information to the playback tracking function 28 in a batch type process. Using the device 14-1 as an example, the device 14-1 may periodically provide playback information to the playback tracking function 28 for a number of media items played by device 14-1 since the device 14-1 last provided playback information to the playback tracking function 28. In this embodiment, the playback information includes information identifying the media items played by the device 14-1 since playback information was last sent, locations at which the media items were played, and time stamps identifying times at which the media items were played.
In yet another embodiment, the playback tracking function 28 may request playback information from the devices 14-1 through 14-N periodically or as otherwise desired. Again, using the device 14-1 as an example, the playback tracking function 28 may request playback information from the device 14-1. In response, the device 14-1 returns playback information for a number of media items played by the device 14-1 since the playback tracking function 28 last requested playback information from the device 14-1. Alternatively, the request from the playback tracking function 28 may define a time period such that the response from the device 14-1 includes playback information for media items played by the device 14-1 during that time period. Alternatively, the device 14-1 may return its entire play history to the playback tracking function 28 in response to the request.
The channel definition function 30 enables the users 16-1 through 16-N to define media channels for discovering media items played in defined geographic areas of interest to the users 16-1 through 16-N. Using the user 16-1 as an example, the channel definition function 30 enables the user 16-1 to define a media channel by selecting or otherwise defining one or more geographic areas of interest to the user 16-1. In addition, the user 16-1 may define a desired time window, one or more user-based criteria, one or more content-based criteria, or the like.
The request processor 32 generally operates to process media requests from the devices 14-1 through 14-N of the users 16-1 through 16-N. Continuing the example above, after the user 16-1 has defined the media channel, the user 16-1 may initiate a media request. Alternatively, the device 14-1 may automatically generate and send the media request to the media service 12. In response, the request processor 32 identifies one or more media items satisfying the media channel definition and provides a response to the device 14-1 of the user 16-1. In one embodiment, the response is a streaming media channel including the media items identified by the request processor 32. In another embodiment, the response is a list of media recommendations recommending the identified media items to the user 16-1. A media recommendation may include, for example, information identifying the recommended media item, the recommended media item, a preview of the recommended media item, a reference (e.g., URL) to the recommended media item, a reference (e.g., URL) to a preview of the recommended media item, or the like.
The user account repository 22 includes a user account 34 for each of the users 16-1 through 16-N. Using the user 16-1 as an example, the user account 34 of the user 16-1 includes the play history of the user 16-1 as maintained by the playback tracking function 28. Note that if the user 16-1 has access to multiple devices 14-1, then a separate play history may be maintained for the user 16-1 for each of the multiple devices 14-1 or a single aggregate play history may be maintained for the user 16-1 for all of the multiple devices 14-1. In this embodiment, the user account 34 of the user 16-1 also includes a media channel definition for each of one or more media channels defined by the user 16-1. A media channel definition includes information defining one or more geographic areas of interest. In addition, the media channel definition may include a desired time window, one or more user-based criteria, one or more content-based criteria, or any combination thereof. However, in an alternative embodiment, the media channel definitions may be stored at the device 14-1 of the user 16-1 and provided to the media service 12 in association with corresponding media requests.
The user account 34 of the user 16-1 may also include user preferences of the user 16-1, an online status of the user 16-1, collection information for the user 16-1, a friends list of the user 16-1, a group list of the user 16-1, and a user profile of the user 16-1. The user preferences may be defined by the user at, for example, the device 14-1 of the user 16-1 and then uploaded to the central server 20. Alternatively, the user 16-1 may interact with the central server 20 via, for example, a web interface such as a web browser on the device 14-1 to define his user preferences at the central server 20. As discussed below, the user preferences of the user 16-1 may be used to order or sort lists of media items for the user 16-1 based on expected desirability. For instance, media items identified by the request processor 32 may be scored based on the user preferences of the user 16-1 to provide a sorted list of media items. The user preferences of the user may include, for example, a weight or priority assigned to each of a number of categories such as user, genre, decade of release, and location/availability and each of a number of possible attributes of each of the categories. For an exemplary process for scoring media items based on user preferences defined as category weights and attribute weights, the interested reader is directed to U.S. Patent Application Publication No. 2008/0016205 entitled “P2P Network For Providing Real Time Media Recommendations,” which is hereby incorporated herein by reference in its entirety.
The online status of the user 16-1 may be used to store information indicating whether the user 16-1 is currently online and logged into the media service 12. The collection information may include a record of media items in a media collection of the user 16-1 stored on the device 14-1. Note that in another embodiment, the user 16-1 may be associated with multiple devices 14-1 (e.g., home computer, work computer, portable media player, mobile smart phone, or the like), where each of the multiple devices 14-1 stores a different media collection of the user 16-1. As such, the collection information in the user account 34 of the user 16-1 may include a record of media items in each of the media collections of the user 16-1.
The friends list of the user 16-1 is a list of users with which the user 16-1 has a direct relationship in a contact list or buddy list, a list of users with which the user 16-1 has a direct or indirect relationship in a social network, or the like. The group list of the user 16-1 may define grouping of the users identified in the friends list of the user 16-1 (e.g., family, co-workers, friends, or the like).
The user profile of the user 16-1 may include demographic information describing the user 16-1 such as, for example, age, income level, gender, marital status, or the like. In addition, the user profile of the user 16-1 may include statistics about the media collection(s) of the user 16-1 such as, for example, an artist distribution, a genre distribution, and release year distribution. The artist distribution may include, for example, a number or percentage of media items in the media collection(s) of the user 16-1 performed by each of a number of artists. Likewise, the genre distribution may include, for example, a number or percentage of media items in the media collection(s) of the user 16-1 in each of a number of genres (e.g., music genres or video genres). The release year distribution may include, for example, a number or percentage of media items in the media collection(s) of the user 16-1 released in each of a number of years or range of years.
In this embodiment, the content repository 24 may include a number of media items known by the central server 20 and/or content descriptors for each of the number of media items known by the central server 20. The media items may be audio items such as songs, audio books, audio clips, or similar audio content; video items such as movies, television programs, music videos, video clips, or similar video content; or the like. The content descriptors may contain information identifying each media item known by the central server 20. For each media item, the content repository 24 may include one or more content descriptors such as, for example, a media fingerprint of the media item, a GUID of the media item, metadata for the media item, a reference (e.g., URL) to the media item in local or remote storage, or the like. Using a song as an example, the metadata for the song may include, for example, a title of the song, an artist of the song, an album on which the song was released, a date on which the song was released, a genre of the song, or the like.
Each of the devices 14-1 through 14-N may be, for example, a personal computer, a mobile smart phone having media playback capabilities, a portable media player having network capabilities, a gaming console having network and media playback capabilities, a set-top box, or the like. The device 14-1 includes a media player 36-1, a location determination function 38-1, and a content requestor 40-1, each of which may be implemented in software, hardware, or a combination thereof. The media player 36-1 operates to play media items from a media collection 42-1 of the user 16-1 stored locally at the device 14-1 or media items streamed to the device 14-1 from the media service 12.
Either the media player 36-1 or the content requestor 40-1 provide playback information to the playback tracking function 28 of the tunersphere function 26 identifying media items played by the user 16-1 and locations at which the media items were played. In addition, the playback information may include timestamps defining times at which the media items were played. In one embodiment, in response to playback of a media item by the media player 36-1, the media player 36-1 or the content requestor 40-1 automatically provides corresponding playback information to the media service 12. In another embodiment, the media player 36-1 or the content requestor 40-1 periodically provides playback information to the media service 12 for media items played by the media player 36-1 in the time period since playback information was last sent to the media service 12. As a final example, the playback tracking function 28 may periodically request playback information from the device 14-1.
The location determination function 38-1 generally operates to obtain the location of the device 14-1, where the location of the device 14-1 is then included in the playback information provided to the media service 12 as discussed above. In general, the location determination function 38-1 may be any software and/or hardware application enabled to determine or otherwise obtain the location of the device 14-1. As an example, the location determination function 38-1 may be a Global Positioning System (GPS) receiver. As another example, the device 14-1 may be a mobile telephone where mobile base station triangulation is utilized to determine the location of the device 14-1. The location determination function 38-1 may then obtain the location of the device 14-1 from the mobile telecommunications network periodically or as needed.
In this embodiment, the content requestor 40-1 interacts with the channel definition function 30 of the tunersphere function 26 to enable the user 16-1 to define one or more media channels. In addition, either automatically or when initiated by the user 16-1, the content requestor 40-1 issues a media request for a media channel to the tunersphere function 26 of the media service 12. The content requestor 40-1 may also operate to process responses received from the request processor 32 of the tunersphere function 26 in response to media requests. In this embodiment, the content requestor 40-1 may be implemented as, for example, a standard web browser having web access to the tunersphere function 26, a plug-in for a web browser, a stand-alone application, or the like.
It should be noted that in an alternative embodiment, some of the functionality of the tunersphere function 26 may be implemented on the devices 14-1 through 14-N. For example, the channel definition function 30 may alternatively be implemented at the device 14-1 as part of, for example, the content requestor 40-1. The media channel definitions may then be stored locally at the device 14-1 and provided to the media service 12 as part of corresponding media requests or in association with corresponding media requests. Alternatively, the media channel definitions may be uploaded to the central server 20 and stored in the user account 34 of the user 16-1 where media requests issued by the content requestor 40-1 may reference the corresponding media channel definition.
Like the device 14-1, the devices 14-2 through 14-N include media players 36-2 through 36-N, location determination functions 38-2 through 38-N, content requestors 40-2 through 40-N, and media collections 42-2 through 42-N, respectively. The media players 36-2 through 36-N, the location determination functions 38-2 through 38-N, the content requestors 40-2 through 40-N, and the media collections 42-2 through 42-N are substantially the same as the corresponding elements of the device 14-1. As such, the details regarding the media players 36-2 through 36-N, the location determination functions 38-2 through 38-N, the content requestors 40-2 through 40-N, and the media collections 42-2 through 42-N are not repeated.
In this example, via the device 14-1, the user 16-1 interacts with the channel definition function 30 of the tunersphere function 26 hosted by the central server 20 to define a media channel (step 102). Again, the user 16-1 generally defines the media channel by selecting or otherwise defining one or more geographic areas of interest for the media channel. In addition, the user 16-1 may define a time window of interest, one or more user-based criteria, one or more content-based criteria, or any combination thereof. The media channel definition is then stored by the central server 20 in the user account 34 of the user 16-1 (step 104).
Next, the content requestor 40-1 of the device 14-1 sends a media request for the media channel to the central server 20 (step 106). In response, the request processor 32 obtains the media channel definition from the user account 34 of the user 16-1 and processes the play histories of the other users 16-2 through 16-N, or some select subset thereof, to identify one or more media items that were played within the one or more geographic areas of interest for the media channel and that satisfy any additional criteria for the media channel (step 108). In general, the request processor 32 identifies the one or more media items based on the media channel definition which includes information defining one or more geographic areas of interest and, optionally, one or more of the following: a time window, one or more user-based criteria, and one or more content-based criteria. More specifically, in a first exemplary embodiment, the media channel is defined by one or more geographic areas of interest. As such, the request processor 32 may process the play histories of all of the other users 16-2 through 16-N to identify one or more media items that were played at locations within the one or more geographic areas of interest for the media channel.
In a second exemplary embodiment, the media channel definition includes information defining one or more geographic areas of interest and a time window. As such, the request processor 32 may process the play histories of the other users 16-2 through 16-N to identify one or more media items that were played at locations within the one or more geographic areas of interest for the media channel during the defined time window for the media channel. The time window may be relative to a current time. For example, the time window may be “within the last 30 days” or “within the last 1 hour.” The time window may alternatively be a static time window. For example, the static time window may be “the year 2008” or “June of 2008.”
In a third exemplary embodiment, the media channel definition includes information defining one or more geographic areas of interest and one or more user-based criteria. As such, the request processor 32 may process the play histories of at least a subset of the other users 16-2 through 16-N to identify one or more media items that were played at locations within the one or more geographic areas of interest for the media channel by users satisfying the one or more user-based criteria. The user-based criteria may include, for example, a friends list of the user 16-1, a group of friends of the user 16-1, one or more profile matching criteria, a social distance criterion, a status criterion, one or more keyword criteria, or the like. The friends list may be used by the request processor 32 such that the one or more identified media items are media items played at locations within the one or more geographic areas of interest for the media channel by other users in the friends list of the user 16-1. Similarly, the group of friends may be used by the request processor 32 such that the one or more identified media items are media items played at locations within the one or more geographic areas of interest for the media channel by other users in the group of friends of the user 16-1.
The profile matching criteria may be defined such that media items played by users having user profiles that match the user profile of the user 16-1 at least to a defined degree are selected. The profile matching criteria may, for example, define one or more user profile elements that must match or match at least to a defined degree, define a threshold number of user profile elements that must match or at least match to a defined degree before two user profiles are determined to be matching, or the like. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel by other users having user profiles that match the user profile of the user 16-1 at least to a defined degree.
The social distance criterion may define a maximum social distance (e.g., maximum degree of separation) such that media items played by other users within the maximum social network distance from the user 16-1 in a social network are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel by other users located within the maximum social distance from the user 16-1 in the social network.
The status criterion may be defined such that media items played by other users that are currently online are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel by other users that are currently online.
In one embodiment, users such as the users 16-1 through 16-N may be enabled to tag other users with keywords. As such, one or more keyword criteria may be defined such that media items played by users tagged with keywords that satisfy the keyword criteria are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel by users that have been tagged with keywords that satisfy the one or more keyword criteria.
In a fourth exemplary embodiment, the media channel definition includes information defining one or more geographic areas of interest and one or more content-based criteria. As such, the request processor 32 may process the play histories of at least a subset of the other users 16-2 through 16-N to identify one or more media items that were played at locations within the one or more geographic areas of interest for the media channel and that satisfy the one or more content-based criteria. The content-based criteria may include, for example, seed media item information, a performance criterion, a creator criterion, one or more metadata criteria, an age criterion, one or more keyword criteria, one or more feature criteria, a usage criterion, or the like.
The seed media item criteria may be information describing a seed media item. For example, if the seed media item is a seed song, the information describing the seed song may be metadata for the seed song such as an artist of the seed song, an album on which the seed song was released, a year of release of the seed song, a decade of release of the seed song, a genre of the seed song, one or more keywords appearing in the title and/or lyrics of the seed song, or the like. In addition or alternatively, the information describing the seed song may be one or more features of the seed song such as, for example, a tempo of the seed song, beats-per-minute of the seed song, or the like. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that match the information describing the seed media item at least to a defined degree.
The performance criterion may be defined such that the one or more media items identified by the request processor 32 having a live performance location (e.g., upcoming concert or live performance location) within a defined proximity of a current location of the user 16-1 are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that have upcoming live performance locations within the defined proximity of the user 16-1.
The creator criterion selects media items having artists or other persons that created the media items if the artists or other persons that created the media items are located within a defined proximity of a current location of the user 16-1. The creator of a media item is in proximity to the user 16-1 if the creator is within a defined geographic distance from the user 16-1.
The one or more metadata criteria may be defined such that media items having metadata that satisfies the metadata criteria are selected. For songs, the metadata criteria may define, for example, one or more desired music genres, one or more desired artists, one or more desired dates of release, one or more desired decades of release, one or more music genres that are not desired, one or more artists that are not desired, one or more dates of release that are not desired, one or more decades of release that are not desired, or the like. Likewise, similar metadata criteria may be defined for other types of audio and video media items. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that have metadata that satisfies the one or more metadata criteria.
The age criterion may be defined such that media items that have a time lapse since the media items were last played that matches the age criterion are selected. The age criterion may be a time window relative to the current time such as, for example, “last played within previous hour.” The age criterion may alternatively define a time-window relative to a static time such as, for example, “last played after Jul. 22, 2008.” As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that satisfy the age criterion.
In one embodiment, users such as the users 16-1 through 16-N may be enabled to tag media items with keywords. As such, one or more keyword criteria may be defined such that media items that have been tagged with keywords satisfying the keyword criteria are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that have been tagged with keywords that satisfy the one or more keyword criteria.
The one or more feature criteria may be defined such that media items having metadata that satisfies the feature criteria are selected. Using features of a song as an example, the feature criteria may define, for example, one or more desired tempos, one or more desired beats-per-minute values, one or more tempos that are not desired, one or more beats-per-minute values that are not desired, or the like. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that have metadata that satisfies the one or more feature criteria.
The usage criterion may be defined such that media items played more than a threshold number of times within the one or more geographic areas of interest or more than a threshold number of times by a particular user are selected. As such, the one or more media items identified by the request processor 32 are media items played at locations within the one or more geographic areas of interest for the media channel and that satisfy the usage criterion.
Once the one or more media items for the media channel are identified, the request processor 32 of the tunersphere function 26 hosted by the central server 20 sends a response to the media request to the device 14-1 of the user 16-1 (step 110). In one embodiment, the response is a streaming media channel including the one or more media items identified by the request processor 32. In another embodiment, the response is a list of media recommendations identifying the one or more media items identified by the request processor 32. Again, a media recommendation may include, for example, information identifying the recommended media item, the recommended media item, a preview of the recommended media item, a reference (e.g., URL) to the recommended media item, a reference (e.g., URL) to a preview of the recommended media item, or the like.
Note that, in one embodiment, once a media request has been issued, the request processor 32 may continually update the response. More specifically, as the play histories of the other users 16-2 through 16-N are updated, the request processor 32 may update the response provided to the device 14-1 of the user 16-1 to include any additional media items played by the other users 16-2 through 16-N that satisfy the requirements of the media channel. As an example, if the response provided by the request processor 32 is a streaming media channel, the streaming media channel may be continually or periodically updated to add media items to the media channel that have been played in the one or more geographic areas of interest for the media channel and that satisfy any additional criteria for the media channel. As another example, if the response provided by the request processor 32 is a list of media recommendations, the request processor 32 may continually or periodically update the list of media recommendations to include media recommendations for additional media items that have been played in the one or more geographic areas of interest for the media channel and that satisfy any additional criteria for the media channel.
Optionally, the request processor 32 may score the one or more media items identified for the media channel based on the user preferences of the requesting user, which in this example is the user 16-1 (step 206). In addition, as discussed below, the scores of the media items may further be a function of weights assigned to the one or more geographic areas of interest. The scores may then be used to prioritize the media items identified for the media channel when generating and sending the response to the device 14-1 of the user 16-1. For example, if the response is a streaming media channel, the media items may be provided in the streaming media channel in an order defined by the scores of the media items. As another example, if the response is a list of media recommendations, the scores may be provided in association with the media recommendations as an indication of an expected desirability of the media items to the user 16-1.
Optionally, the request processor 32 may score the one or more media items identified for the media channel based on the user preferences of the requesting user, which in this example is the user 16-1 (step 304). In addition, as discussed below, the scores of the media items may further be a function of weights assigned to the one or more geographic areas of interest. Again, the scores may then be used to prioritize the media items identified for the media channel when generating and sending the response to the device 14-1 of the user 16-1. For example, if the response is a streaming media channel, the media items may be provided in the streaming media channel in an order defined by the scores of the media items. As another example, if the response is a list of media recommendations, the scores may be provided in association with the media recommendations as an indication of an expected desirability of the media items to the user 16-1.
In addition to the geographic area selection tool 46, the GUI 44 includes criteria selection tools 48 through 54 enabling the user to select additional criteria for the media channel for each of the defined geographic areas. In this example, the criteria selection tool 48 enables the user to select one or more music genres to be filtered or removed when identifying media items for the media channel. So, for instance, when identifying media items for the media channel, songs from the Pop, Reggae, Folk, Country, Bluegrass, and Hair Metal genres that were played in the geographic area defined by cell A are not selected for the media channel. However, in other embodiment, the criteria selection tools 48 through 54 may enable the user to select other types of content-based criteria or user-based criteria and/or a time window for the media channel.
The GUI 44 may also enable the user to assign weights to each of the geographic areas for the media channel. In this example, slider bars 56 through 62 enable the user to assign weights to the geographic areas defined by cells A through D, respectively. In one embodiment, the weights assigned to the geographic areas as well as user preferences of the user may be used to score the media items identified by the request processor 32 for the media channel. The media items may then be prioritized based on their scores, media items having scores less than a threshold may be filtered, or the like. In another embodiment, the weights assigned to the geographic areas may be used to determine a number of media items selected for each of the geographic areas such that more media items are selected for geographic areas having higher weights.
A hand tool 74 enables the user to grab and rotate the map 69, or globe, of the Earth. A hand pointer tool 76 enables the user to select desired geographic areas by, for example, selecting corresponding hexagons overlaid onto the map 69, by drawing arbitrary shapes on the map 69, or the like. A pointer tool 78 enables the user to click and drag selections between the multiple sections of the GUI 64. A magnifier tool 80 enables the user to magnify the map 69 independently from zooming in or out of the map 69 using a zoom tool 81. A shopping cart tool 82 enables the user to select discovered media items for subsequent purchase. A notes tool 84 enables the user to attach comments to media items and/or media channels. A chat tool 86 enables the user to initiate a chat session with other users of the media service 12. A transmit tool 88 enables the user to enable or disable sharing of his play history. A log-in tool 90 enables the user to login to and logout of the media service 12. A trash tool 92 is a general purpose trash function that enables the user to discard media channels, selected geographic areas in a media channel, criteria defined for a media channel, or the like.
In this example, the GUI 64 includes a first section 94, which includes the map 69 of the Earth. The GUI 64 also includes a second section 96, which enables the user to define and access a number of media channels defined by the user. More specifically, in this example, the user is currently viewing a “Rome Alternative” media channel previously defined by the user. The user may select a forward button 98 or a reverse button 100 to browse through additional media channels. Once the user has browsed to a last or first media channel, the user may select the forward button 98 or the reverse button 100, respectively, to cause the creation of a new media channel.
In this example, the “Rome Alternative” media channel has a defined geographic area 102 and a number of criteria 104. While the criteria may include a time window, one or more user-based criteria, and/or one or more content-based criteria, in this example, the criteria 104 include a number of content-based criteria which are more specifically a number of music genres. Further, for each music genre, the user has defined a corresponding weight using slider bars 106 through 124. Note that in this example, rather than selecting which music genres to include or exclude as was done in the exemplary embodiment of
The GUI 64 also includes a third section 126, which is used to display a list 128 of the one or more media items identified by the request processor 32 of the tunersphere function 26 for the selected media channel. In addition, if scores are generated for the media items, the list 128 may also include the scores of the media items. As discussed above, in one embodiment, the response from the request processor 32 of the tunersphere function 26 is a streaming media channel. As such, the list 128 may include a list of media items included in the streaming media channel. The user may be enabled to skip forward or backward in the stream by selecting corresponding media items from the list 128. If the user desires to add one of the media items to his shopping cart, the user may drag the corresponding entry from the list 128 to the shopping cart tool 82. In another embodiment, the list 128 is a list of media recommendations provided for the media channel. The user may add desired media items from the list 128 to his shopping cart using the shopping cart tool 82.
With regard to weighting and scoring, in one embodiment, weights are assigned to the geographic areas of interest, user-based criteria, and content-based criteria for the media channel. As such, the request processor 32 may identify all media items played within the one or more geographic areas of interest during any defined time window. The identified media items may then be scored as a function of the weights assigned to the geographic areas of interest, the weights assigned to the user-based criteria, the weights assigned to the content-based criteria and, optionally, the user preferences of the user. The media items having scores less than a threshold may then be filtered.
Before proceeding, it should be noted that while the embodiments of
The media service 12 receives a map request from, in this example, the device 14-1 of the user 16-1, which is referred to as the requesting user 16-1 (step 402). The map request may be sent by, for example, the content requestor 40-1 automatically or in response to user input from the user 16-1. The map request is generally a request for representative information for a geographic area of interest. The geographic area of interest may be a specific geographic area of interest for which representative information is desired. Alternatively, the geographic area of interest may be a broad geographic area of interest that is to be sub-divided into sub-areas for purposes of determining representative information. Further, the geographic area of interest may be one of a number of predefined geographic areas of interest selected by the requesting user 16-1 or an arbitrary geographic area of interest selected by the requesting user 16-1. In addition to defining the geographic area of interest, the map request may define one or more time-based criteria (e.g., a time window of interest), one or more user-based criteria, one or more content-based criteria, or any combination thereof.
In response to the map request, the request processor 32 determines representative information for the one or more areas of interest based on at least a subset of the media interaction histories of the users 16-1 through 16-N (step 404). More specifically, in one embodiment, the geographic area of interest is a specific area of interest, and the request processor 32 processes the media interaction histories of the users 16-1 through 16-N, or some select subset thereof, to identify one or more media items that were interacted with by at least some of the users 16-1 through 16-N within the geographic areas of interest and, in some embodiments, satisfy any additional criteria for the map request (e.g., one or more time-based criteria, one or more user-based criteria, and/or one or more content-based criteria). The request processor 32 then determines representative information for the geographic area of interest based on the identified media items.
In one embodiment, the representative information for the geographic area of interest includes information that identifies:
The media item having the greatest increase in consumption in the geographic area of interest over the defined period of time may be determined by, for example, determining the number of times that a media item was consumed by the users 16-1 through 16-N within the geographic area of interest during a first time interval at the start of the defined time period and the number of times that the media item was consumed by the users 16-1 through 16-N within the geographic area of interest during a second time interval at the end of the defined time period. A difference in these two numbers (e.g., a percentage increase from the number for the first time interval to the number for the second time interval) is the increase in consumption for the media item. This process is repeated for other media items as well. Then, the media item having the greatest increase in consumption is identified. The media item having the greatest decrease in consumption in the geographic area of interest may be determined in the same manner. Likewise, the song, music album, media genre, and music artist having the greatest increase/decrease in consumption for the geographic area of interest may be determined using the same technique.
In addition or alternatively, the representative information for the geographic area of interest includes information that identifies:
The media recommender having the greatest increase in recommendation consumption in the geographic area of interest over the defined period of time may be determined by, for example, determining the number of times that media recommendations from a recommender were consumed by the users 16-1 through 16-N within the geographic area of interest during a first time interval at the start of the defined time period and the number of times that the media recommendations from the recommender were consumed by the users 16-1 through 16-N within the geographic area of interest during a second time interval at the end of the defined time period. A difference in these two numbers (e.g., a percentage increase from the number for the first time interval to the number for the second time interval) is the increase in recommendation consumption for the recommender. This process is repeated for other recommenders as well. Then, the recommender having the greatest increase in recommendation consumption is identified. The media recommender having the greatest decrease in recommendation consumption in the geographic area of interest may be determined in the same manner.
In addition or alternatively, the representative information for the geographic area of interest includes information that identifies:
The media item having the greatest increase in likes in the geographic area of interest over the defined period of time may be determined by, for example, determining the number of times that a media item was liked by the users 16-1 through 16-N within the geographic area of interest during a first time interval at the start of the defined time period and the number of times that the media item was liked by the users 16-1 through 16-N within the geographic area of interest during a second time interval at the end of the defined time period. A difference in these two numbers (e.g., a percentage increase from the number for the first time interval to the number for the second time interval) is the increase in likes for the media item. This process is repeated for other media items as well. Then, the media item having the greatest increase in likes is identified. The media item having the greatest decrease in likes in the geographic area of interest may be determined in the same manner. Likewise, the song, music album, media genre, and music artist having the greatest increase/decrease in likes for the geographic area of interest may be determined using the same technique.
In yet another embodiment, the representative information for the geographic area of interest includes information that identifies:
The media item having the greatest increase in downloads (or purchases) in the geographic area of interest over the defined period of time may be determined by, for example, determining the number of times that a media item was downloaded by the users 16-1 through 16-N within the geographic area of interest during a first time interval at the start of the defined time period and the number of times that the media item was downloaded by the users 16-1 through 16-N within the geographic area of interest during a second time interval at the end of the defined time period. A difference in these two numbers (e.g., a percentage increase from the number for the first time interval to the number for the second time interval) is the increase in downloads for the media item. This process is repeated for other media items as well. Then, the media item having the greatest increase in downloads is identified. The media item having the greatest decrease in downloads in the geographic area of interest may be determined in the same manner. Likewise, the song, music album, and media genre having the greatest increase/decrease in downloads (or purchases) for the geographic area of interest may be determined using the same technique.
In yet another embodiment, the representative information for the geographic area of interest includes information that identifies:
The media item having the greatest increase in identification in the geographic area of interest over the defined period of time may be determined by, for example, determining the number of times that a media item was identified by the users 16-1 through 16-N within the geographic area of interest during a first time interval at the start of the defined time period and the number of times that the media item was identified by the users 16-1 through 16-N within the geographic area of interest during a second time interval at the end of the defined time period. A difference in these two numbers (e.g., a percentage increase from the number for the first time interval to the number for the second time interval) is the increase in identifications for the media item. This process is repeated for other media items as well. Then, the media item having the greatest increase in identifications is identified. The media item having the greatest decrease in identifications in the geographic area of interest may be determined in the same manner.
In another embodiment, the geographic area of interest is a broad geographic area of interest, and the request processor 32 divides the geographic area of interest into a number of sub-areas. The sub-areas may be, for example, of a predefined shape and size (e.g., hexagons of predefined shape or size). As another example, the sub-areas may be a predefined shape but have a size that is relative to a size of the geographic area of interest (e.g., larger sub-areas for larger geographic area of interest). Notably, the sub-areas may be of different shapes and sizes (e.g., the sub-areas may correspond to country, state, city, or other governmental entity borders). For each sub-area, the request processor 32 processes the media interaction histories of the users 16-1 through 16-N, or some select subset thereof, to identify one or more media items that were interacted with within the sub-area and, in some embodiments, satisfy any additional criteria for the map request (e.g., one or more time-based criteria, one or more user-based criteria, and/or one or more content-based criteria). The request processor 32 then determines representative information for the sub-area based on the identified media items.
In one embodiment, for each sub-area of the geographic area of interest, the representative information for the sub-area includes information that identifies:
In addition or alternatively, the geographic area of interest is divided into a number of sub-areas, and the representative information includes, for each sub-area, information that identifies:
In addition or alternatively, the geographic area of interest is divided into a number of sub-areas, and the representative information includes, for each sub-area, information that identifies:
In addition or alternatively, the geographic area of interest is divided into a number of sub-areas, and the representative information includes, for each sub-area, information that identifies:
In addition or alternatively, the geographic area of interest is divided into a number of sub-areas, and the representative information includes, for each sub-area, information that identifies:
Once the representative information is determined, the request processor 32 effects display of the representative information (step 406). In one embodiment, the request processor 32 effects display of the representative information at the device 14-1 of the requesting user 16-1. More specifically, the request processor 32 sends the representative information to the device 14-1 of the requesting user 16-1. The device 14-1 then displays the representative information to the requesting user 16-1.
In this exemplary embodiment, the media service 12 receives a request to change or modify the geographic area of interest from the content requestor 40-1 of the user 16-1 (step 408). For example, the request may be a zoom request to either zoom in or zoom out on the geographic area of interest. As another example, the request may be a request to change the geographic area of interest to a new geographic area of interest. In response, the content requestor 40-1 changes or modifies the geographic area of interest (step 410), and then the process returns to step 404.
The GUI 134 may enable the user to select one of the sub-areas 138 to zoom in on that sub-area 138. In response to the selection of one of the sub-areas 138, a request to zoom in on that sub-area is sent to the media service 12. The media service 12 then determines representative information for each of a number of sub-areas of the selected sub-area. The GUI 134 is then updated to zoom in on the selected sub-area 138 to show its sub-areas and their representative information. The GUI 134 may also enable the user to rotate or otherwise manipulate the map display area 136. For instance, in this example, the map display area 136 includes a globe shaped object representing the spherical shape of the earth. The GUI 134 may enable the user to rotate the globe shaped object to view representative information for additional areas, which may be processed as sub-areas within the geographic area of interest or sub-areas within a new geographic area of interest. Still further, the GUI 134 may also enable the user to select the representative information for desired sub-area 138 to initiate playback, downloading, purchasing, or the like of one or more corresponding media items.
The GUI 140 may enable the user to select one of the sub-areas to zoom in on that sub-area. In response to the selection of one of the sub-areas, a request to zoom in on that sub-area is sent to the media service 12. The media service 12 then determines representative information for each of a number of sub-areas of the selected sub-area. The GUI 140 is then updated to zoom in on the selected sub-area to show its sub-areas and their representative information. The GUI 140 may also enable the user to manipulate the map display area 142. Still further, the GUI 140 may also enable the user to select the representative information for desired state/sub-area to initiate playback, downloading, purchasing, or the like of one or more corresponding media items.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application is a continuation of U.S. patent application Ser. No. 13/655,648, entitled TUNERSPHERE which was filed on Oct. 19, 2012, which is a continuation of U.S. patent application Ser. No. 13/228,688, entitled TUNERSPHERE which was filed on Sep. 9, 2011, which is a Continuation-in-Part (CIP) of U.S. patent application Ser. No. 12/192,682, entitled TUNERSPHERE which was filed on Aug. 15, 2008, now U.S. Pat. No. 8,117,193, which is a Continuation-in-Part (CIP) of U.S. patent application Ser. No. 11/963,050, entitled METHOD AND SYSTEM FOR GENERATING MEDIA RECOMMENDATIONS IN A DISTRIBUTED ENVIRONMENT BASED ON TAGGING PLAY HISTORY INFORMATION WITH LOCATION INFORMATION, which was filed on Dec. 21, 2007, now U.S. Pat. No. 8,060,525, all of which are hereby incorporated herein by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | 13655648 | Oct 2012 | US |
Child | 14069761 | US | |
Parent | 13228688 | Sep 2011 | US |
Child | 13655648 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12192682 | Aug 2008 | US |
Child | 13228688 | US | |
Parent | 11963050 | Dec 2007 | US |
Child | 12192682 | US |