# Patent

## Title
System and method for processing a received media item recommendation message comprising recommender presence information

## Abstract

A system and method for processing a received media item recommendation message is disclosed. A recipient receives the media item recommendation message which includes a media item identifier of a media item and presence information of a recommender of the media item in association with the media item identifier. The presence information may be in the form of metadata. The recipient may render the presence information and/or store or download the presence information to a media item playlist, to another device, or to a storage medium for subsequent rendering. The media item recommendation message also may include a media item annotation. The media item annotation may also be in the form of metadata and may be rendered and/or stored or downloaded to a media item playlist, to another device, or to a storage medium for subsequent rendering.

## Background
RELATED APPLICATIONS
The present application is related to commonly assigned U.S. patent applications Ser. No. 11/757,079, filed Jun. 1, 2007, entitled “SYSTEM AND METHOD FOR PROPAGATING A MEDIA ITEM RECOMMENDATION MESSAGE COMPRISING RECOMMENDER PRESENCE INFORMATION”; Ser. No. 11/757,083, filed Jun. 1, 2007, entitled “SYSTEM AND METHOD OF GENERATING A MEDIA ITEM RECOMMENDATION MESSAGE WITH RECOMMENDER PRESENCE INFORMATION”; and Ser. No. 11/757,097, filed Jun. 1, 2007, entitled “ENHANCED MEDIA ITEM PLAYLIST COMPRISING PRESENCE INFORMATION,” which are hereby incorporated herein in their entirety.
FIELD OF THE INVENTION
The present invention relates to a system and method for processing a received media item recommendation message comprising recommender presence information and, optionally, a media item annotation.
BACKGROUND OF THE INVENTION
In recent years, there has been an enormous increase in the amount of digital media available online. Services, such as Apple's iTunes® for example, enable users to legally purchase and download music. Other services, such as Yahoo!® Music Unlimited and RealNetwork's Rhapsody®, provide access to millions of songs for a monthly subscription fee. YouTube® provides users access to video media. As a result, media items have become much more accessible to consumers worldwide. Due to the large amount of the accessible digital media, recommendation technologies are emerging as an important enabler to assist users in identifying and navigating large databases of available media. Recommendations are useful to help users identify and select media items of interest for usage and/or play.
Recommendations may be programmatically-generated by a company based on the user's predefined preferences and/or profiles. Recommendations also may be provided by other users. Particularly, the users may be peers on a social network. The social network provides for the exchange of media item recommendations among the users. As such, the user on the social network may be both a recommender user of media items to other users and a recipient user of media item recommendations from other users. In this manner, the user may receive a media item recommendation from another user and transmit a media item recommendation to other users.
Typically, the users on the social network have some type of relationship. For example, the users may be friends, acquaintances, or members of a defined group or community. Because of these relationships, the users may have similar traits, profiles, likes and dislikes, and/or media item preferences. Therefore, the social networks provide an opportunity to develop and strengthen the interaction between the users not only with respect to the media items, but also with respect to the users personally. The development and strengthening of the user interaction promotes the continued use of the social network for media item recommendations and the acquisition and playing of the media items recommended.
Promoting the use of the social network could be better accomplished if the media item recommendation included additional information of the recommender incorporated into the media item recommendation. The additional information may provide personal information of the recommender and/or information about the recipient, the media item, or the artist. In addition, if the recipient had the flexibility to display the personal information at the times and on the devices as desired by the recipient, it would increase the recipient's enjoyment, education, and entertainment.
However, current media item recommendation applications do not allow the recommender to include personal information in a media item recommendation or the recipient to display the personal information at times and on devices as desired by the recipient. Accordingly, a need exists for a media item recommendation system and method that allows a recipient to receive a media item recommendation that includes personal information and to display the personal information at times and on devices as desired.
SUMMARY OF THE INVENTION
The present invention is a system and method for processing a received media item recommendation message. A recipient receives the media item recommendation message which includes a media item identifier of a media item and presence information of a recommender of the media item in association with the media item identifier. The presence information may be in the form of metadata. The recipient may render the presence information and/or store or download the presence information to a media item playlist, to another device, or to a storage medium for subsequent rendering. The media item recommendation message also may include a media item annotation. The media item annotation may also be in the form of metadata and may be rendered and/or stored or downloaded to a media item playlist, to another device, or to a storage medium for subsequent rendering.
The media item identifier may be any unique identifier for that media item and, in addition to identifying the media item, may be used to access the media item for rendering. The presence information of the recommender may be any recommender-specific information, for example a unique identifier and/or a unique, novel, and/or creative tag presentation in audio, visual, and/or textual format, which signifies and associates with the recommender. The media item annotation may be any additional information which the recommender desires to incorporate into the media item recommendation message. The media item annotation may be personal messages and/or may be media item-related. The media item annotation may be in audio, visual, and/or textual format, and may be, for example, a personal message or picture, a critical review of the media item, and/or an image of the artist.
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.



BRIEF DESCRIPTION OF THE 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.
FIG. 1 illustrates a user-server media item recommendation system, wherein media item recommendation messages including a recommender's presence information are transmitted to a central/proxy server and propagated on among recipients;
FIG. 2 is a flow chart illustrating the process of a user for registering with a media item recommendation client application and attaching presence information to a log-in instruction to the media item recommendation system according to one embodiment of the present invention;
FIG. 3 is a block diagram illustrating components of an exemplary media item recommendation message according to one embodiment of the present invention;
FIG. 4 is the media item recommendation message in which an exemplary media item identifier, presence information, and media item annotation are illustrated.
FIG. 5 is a flow chart illustrating the process for providing and transmitting the media item recommendation message when a media item recommendation is made, wherein the media item recommendation message comprises a media item identifier, a recommender's presence information, and a media item annotation according to one embodiment of the present invention;
FIG. 6 is a block diagram illustrating components of an exemplary media item playlist including the presence information and the media item annotation as a result of a received media item recommendation message according to one embodiment of the present invention;
FIG. 7 is a flow chart illustrating the process for receiving the media item recommendation message, wherein a media item, the recommender's presence information, and/or the media item annotation are rendered and/or stored according to one embodiment of the present invention;
FIG. 8 is a block diagram illustrating components of an exemplary user account in a central/proxy server according to one embodiment of the present invention;
FIG. 9 is a block diagram illustrating components of an exemplary recommendation database in the central/proxy server according to one embodiment of the present invention;
FIG. 10 is a flow chart illustrating the process for the central/proxy server to receive the log in instructions and the media item recommendation from a recommender, and transmit a log-in notice and the media item recommendation message to a recipient according to one embodiment of the present invention;
FIG. 11 is the user-server system of FIG. 1 further illustrating in more detail the transmission of the presence information and the propagation of the media item recommendation message among the user devices of the media item recommendation system according to one embodiment of the present invention;
FIGS. 12A, 12B, and 12C illustrate exemplary communication flow diagrams between the central/proxy server and the user devices, wherein the media item recommendation message is propagated among the user devices of the media item recommendation system according to one embodiment of the present invention;
FIG. 13 is the media item recommendation message of FIG. 4 with additional detail illustrating an exemplary media item identifier, presence information of two recommenders, and a media item annotation.
FIG. 14 illustrates an exemplary graphical user interface (GUI) for providing presence information preferences according to one embodiment of the present invention;
FIG. 15 illustrates an exemplary GUI for providing the media item annotation information according to one embodiment of the present invention;
FIG. 16 is a block diagram illustrating more detail regarding the components of the presence information according to one embodiment of the present invention;
FIG. 17 is a block diagram illustrating components of an exemplary media item player according to one embodiment of the present invention;
FIG. 18 illustrates an exemplary communication flow diagram between the central/proxy server and the user devices, wherein metadata of a currently playing media item on the recipient user device is compared to metadata of announcement tracks incorporated in the recommender presence information to determine a best fit announcement track according to one embodiment of the present invention;
FIG. 19 is a block diagram illustrating more detail regarding components on the central/proxy server of FIGS. 1 and 11 according to one embodiment of the present invention; and
FIG. 20 is a block diagram illustrating more detail regarding components on the user device of FIGS. 1 and 11 according to one embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
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 present application is related to commonly assigned U.S. patent applications Ser. No. 11/757,079, filed Jun. 1, 2007, entitled “SYSTEM AND METHOD FOR PROPAGATING A MEDIA ITEM RECOMMENDATION MESSAGE COMPRISING RECOMMENDER PRESENCE INFORMATION”; Ser. No. 11/757,083, filed Jun. 1, 2007, entitled “SYSTEM AND METHOD OF GENERATING A MEDIA ITEM RECOMMENDATION MESSAGE WITH RECOMMENDER PRESENCE INFORMATION”; and Ser. No. 11/757,097, filed Jun. 1, 2007, entitled “ENHANCED MEDIA ITEM PLAYLIST COMPRISING PRESENCE INFORMATION,” which are hereby incorporated herein in their entirety.
The present invention is a system and method for processing a received media item recommendation message. The recipient receives the media item recommendation message which includes a media item identifier of a media item and presence information of a recommender of the media item in association with the media item identifier. The presence information may be in the form of metadata. The recipient may render the presence information and/or store or download the presence information to a media item playlist, to another device, or to a storage medium for subsequent rendering. The media item recommendation message also may include a media item annotation. The media item annotation may also be in the form of metadata and may be rendered and/or stored or downloaded to a media item playlist, to another device, or to a storage medium for subsequent rendering.
The media item identifier may be any unique identifier for that media item and, in addition to identifying the media item, may be used to access the media item for rendering. The presence information of the recommender may be any recommender-specific information, for example a unique identifier and/or a unique, novel, and/or creative tag presentation in audio, visual, and/or textual format, which signifies and associates with the recommender. The media item annotation may be any additional information which the recommender desires to incorporate into the media item recommendation message. The media item annotation may be personal messages and/or may be media item-related. The media item annotation may be in audio, visual, and/or textual format, and may be, for example, a personal message or picture, a critical review of the media item, and/or an image of the artist.
The user on the media item recommendation system may be the recommender and/or the recipient. For purposes of the present invention, when describing a user that is transmitting a media item recommendation message, the term “recommender” will be used, and when describing a user that is receiving a media item recommendation message, the term “recipient” will be used. Additionally, when the terms “transmit” and “send,” and variations thereof, are used herein, it should be understood that those terms refer to the same action and, therefore, have the same meaning.
FIG. 1 illustrates an exemplary media item recommendation system 10 for providing and propagating media item recommendation messages. Before discussing how the media item recommendation system 10 provides and propagates media item recommendation messages incorporating presence information that are received and processed, a brief overview of the media item recommendation system 10 follows first. In this example, the media item recommendation system 10 has a central/proxy server 12 that manages the flow of information and services provided to users of the media item recommendation system 10. The central/proxy server 12 may be comprised of a database of user accounts 14 and a recommendation database 16. The user accounts 14 contains a record of accounts for each user known to the central/proxy server 12 and information concerning aspects of the user's activities on the media item recommendation system 10. The information in the user accounts 14 may include user profiles, preferences, play histories, and other information about the user and the user's media collections. The recommendation database 16 stores a record of the media item recommendation messages that are provided on the media item recommendation system 10. The central/proxy server 12 is also able to communicate with other devices and systems over a network 18. The network 18 may be any private network or distributed public network such as, but not limited to, the Internet.
In this example, the central/proxy server 12 operates in a user-server relationship with users. However, it should be noted that the present invention may be implemented in a peer-to-peer configuration where features of the central/proxy server 12 are provided by a “super” peer device. The central/proxy server 12, in whatever form provided, provides media-based services to the user. Note that the central/proxy server 12 also may be implemented as a number of servers operating in a collaborative fashion. An example of a media item recommendation system that may be implemented in a user-server or peer-to-peer configuration is described in co-pending U.S. patent application Ser. No. 11/484,130, entitled “P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS,” filed Jul. 11, 2006, which is incorporated herein by reference in its entirety.
The media item recommendation system 10 also includes a number of user devices 20A-20N which may communicate with the central/proxy server 12 and each other via the network 18. Also note that while three user devices 20A, 20B, 20N are illustrated, the present invention may be used with any number of two or more user devices 20. The user devices 20 may be any type of computing device that is capable of performing communications over the network 18 to reach the central/proxy server 12 and other user devices 20. Each of the user devices 20 may also include a user interface which may include components such as a display, speakers, a user input device, and the like. Examples of user devices 20 include, but are not limited to, home computers; computers at work; laptop computers; wireless portable media player (PMP) devices; hand-held computer devices, such as personal digital assistants (PDA) with remote communication capabilities; and the like.
Each user who desires to access and receive the services of the central/proxy server 12 first establishes a user account 14 with the central/proxy server 12. This allows the user device 20 to receive and download a media item recommendation client application 22, which provides a customized software interface to the central/proxy server 12. After the media item recommendation client application 22 is downloaded onto a user device 20, the media item recommendation client application 22 executes on the user device 20.
The user device 20 may also contain a recommendation engine 24. The recommendation engine 24 is a program, algorithm, or control mechanism that handles sending and/or receiving media item recommendation messages over the network 18. The recommendation engine 24 may also score media items based on user preferences for the different media categories, for example, user, genre, artist, title, album, lyrics, date of release, or the like, and then filter recommendations from the other user devices 20 based on such preferences.
The user device 20 also typically contains a media item playlist 26 and a media item player 28. The media item playlist 26 may include information concerning media items and/or media item recommendation messages, including, for example, the titles of media items and/or the media item recommendation messages, the artists, the score, and other information concerning the media items. The media item player 28 allows the user to use or play back any media item desired. Examples of media item players 28 include but are not limited to Apple® iTunes®, Apple® iPOD®, and the like. The media items selected for use and/or play include those stored locally at the user device 20 in a user's media item collection 30, and/or any media item accessed from the central/proxy server 12, another user device 20, subscription service(s) 32, and/or any other system accessible by or coupled to the network 18.
In accordance with one embodiment of the present invention, presence information 34 may be provided by the user to the media item recommendation system 10. Initially, the user, using the user device 20, develops and provides the presence information 34. The presence information 34 may be any personal, unique, novel, and/or creative tag presentation, or other identifying information of the user. The user device 20 stores the presence information 34 and transmits the presence information 34 to the central/proxy server 12 whenever the user device 20 logs in to the media item recommendation system 10 by attaching the presence information 34 to the log in instruction. The central/proxy server 12 receives the presence information 34, and transmits the presence information 34 to other user devices 20 that are also logged in to the media item recommendation system 10. Additionally, the central/proxy server 12 may store the presence information 34 in the user account 14.
FIG. 1 shows the presence information 34A being transmitted from the user device 20A to the central/proxy server 12 and to the user devices 20B and 20N. Alternatively, the log in instruction with the presence information 34A may be transmitted directly from the user device 20A to the user devices 20B and 20N. Although for purposes of ease of explanation of the present invention, FIG. 1 shows the presence information 34A being transmitted from the user device 20A and received by the user devices 20B and 20N, it is understood that the user devices 20B, 20N similarly may transmit the presence information 34B, 34N, respectively, and user device 20A may receive the presence information 34B, 34N.
The user device 20, and in particular the recommendation engine 24, generates a media item recommendation message 36 and transmits the media item recommendation message 36 to the central/proxy server 12. The media item recommendation message 36 includes a media item identifier 38 (FIG. 3), the presence information 34, and, optionally, a media item annotation 40 (FIG. 3). The central/proxy server 12 records the media item recommendation message 36 in the recommendation database 16. The central/proxy server 12 transmits the media item recommendation message 36 to the other user devices 20. Alternatively, the media item recommendation message 36 may be transmitted directly to the other user devices 20.
The user device 20 can be both a recommender of the media item recommendation message 36 and a recipient of the media item recommendation message 36. In other words, a user device 20 may act as a recommender by generating and transmitting a media item recommendation message 36, and a recipient by receiving a media item recommendation message 36 generated by the recommender.
Although for purposes of ease of explanation of the present invention, FIG. 1 shows the user device 20A as the recommender transmitting the media item recommendation message 36A, and the user devices 20B, 20N are the recipients of media item recommendation message 36A, the user devices 20B, 20N may also be recommenders and transmit the media item recommendation messages 36B, 36N, respectively.
FIG. 2 illustrates a process for the user device 20 to register with the media item recommendation client application 22 via the central/proxy server 12 and to log in to the media item recommendation system 10. This allows a user to access and to begin executing the media item recommendation client application 22. The process begins with the user device 20 registering with the central/proxy server 12 (step 200). The user device 20 may send profile and/or additional information with the registration. The user device 20 then receives the media item recommendation client application 22 from the central/proxy server 12 and downloads the media item recommendation client application 22 (step 202). Using the user device 20, the user develops presence information 34 which may be recorded in the user device 20 (step 204).
When the user desires to log in to the media item recommendation system 10, the user device 20 attaches the presence information 34 recorded by the user device 20 to a log in instruction (step 206). The user device 20 logs in to the media item recommendation system 10 by sending the log in instruction with the presence information 34 to the central/proxy server 12 (step 208). Alternatively, the user device 20 may send the log in instruction directly to the other user devices 20 on the media item recommendation system 10. The user device 20 may also receive the presence information 34 of other user devices 20 logged in to the media item recommendation system 10 (step 210). The user device 20 receives the presence information 34 of the other user devices 20 as part of a log-in notice transmitted from the central/proxy server 12 or directly from the other user devices 20.
FIG. 3 is a block diagram of the components of the media item (1) recommendation message 36A generated and transmitted by the user device 20A according to one embodiment of the present invention. FIG. 3 provides a description of the structure of the media item recommendation message 36 which may be propagated on the media item recommendation system 10 according to one embodiment of the present invention. The media item (1) recommendation message 36A includes the media item (1) identifier 38, which is used by the media item recommendation system 10 to identify the specific media item being recommended. For purposes of discussing the present invention, the media item identifier 38 is shown in FIG. 3 as “(1)” but may be any type or form of unique identifier. For example, the media item (1) identifier 38 may utilize an alphanumeric format or progression comprising and/or referring to a known fingerprint and/or Globally Unique Identifier (GUID) of the media item.
The media item (1) recommendation message 36A includes the presence information 34A and a media item (1) annotation 40A. As discussed above, the presence information 34A may be any personal, unique, novel, and/or creative tag presentation or other information the recommender desires to include with the media item recommendation message and may comprise an audio component 42A, an image component 44A, and a text component 46A. The audio component 42A may be any type of audio content, or audio tag line, whether originally developed by the recommender and provided to the user device 20A or imported by the recommender into the user device 20A from the media item recommendation system 10 or an external source. The image component 44A may be any still or graphic image, for example, a picture of the recommender. The text component 46A may be any textual message, or text tag line that the recommender desires to include in the media item (1) recommendation message 36A. The recommender for example, may provide personal information as to his or her preferences or profile as the text component 46A. The above examples of the presence information 34A should in no manner be understood as limiting the particular type of message and/or content of the presence information 34.
Similarly, the media item annotation 40A may comprise an audio component 48A, an image component 50A, and/or a text component 52A. The media item annotation 40A may contain the same type of information as the presence information 34A and may be directed more towards other personal information or content, the media item, and/or the artist. For example, the audio component 48A may be a summary portion of the recommender's favorite song and/or the media item being recommended; the image component 50A may be a picture of the recipient, friends, the artist or an album cover and/or CD jewel case insert; and the text component 52A may be a personal message, album liner notes, inserts from a CD jewel case, published reviews or other commentaries pertaining to the media item, the artist and/or other similar media items or works of the artist. The above examples of media item annotations 40A should in no manner be understood as limiting the particular type of message and/or content of the media item annotation 40.
The media item (1) recommendation message 36A also may be implemented in Extensible Markup Language (XML). The presence information 34A and the media item annotation 40A may be in metadata form. The metadata may be embedded in the XML message as data payload or, alternatively, may be pointed to by a Uniform Resource Locator (URL). Additionally, the URL may be in the form of a hyperlink to the central/proxy server 12, for example.
FIG. 4 shows the media item recommendation message 36 in which the media item identifier 38, the presence information 34, and the media item annotation 40 are illustrated with exemplary information. FIG. 4 is provided to show an example of the type of information which may be included in the media item recommendation message 36. The media item identifier 38 shows the artist of the recommended media item, “Avril Lavigne,” and the title of the media item, “Girlfriend.” As discussed above, the media item identifier 38 may be any type of unique identifier to identify the media item.
The presence information 34 includes the audio component 42 in the form of a summary or snippet of the song “Bust A Move.” A picture of the recommender is incorporated in the presence information 34 as the image component 44. A quote provided by the recommender is incorporated as the text component 46 of the presence information 34. FIG. 4 shows how the recommender may include presence information 34 in audio, image, and textual format to provide unique, novel, and distinctive identification tags of the recommender.
The media item annotation 40 incorporates a voice recording of the recommender as the audio component 48. The voice recording provides an introductory salutation to the recipient and to introduce the image component 50. A picture of the recipient with her friends taken at an event is incorporated as the image component 50. The text component 52 provides a textual description of the image component 50. FIG. 4 shows how the recommender may include the media item annotation 40 in audio, image, and textual format to convey an additional personal message to the recipient. As such, the media item annotation 40 may be any additional information or message.
FIG. 5 is a flow chart illustrating the process for generating and transmitting the media item recommendation message 36 according to one embodiment of the present invention. This allows a description as to how the user device 20 automatically generates and transmits a media item recommendation message 36 for a media item after the user device 20 plays the media item. The user utilizing user device 20 selects a media item to play from the media item playlist 26, the media item collection 30, the subscription service(s) 32 and/or another external source (step 300). The user device 20 plays the media item selected (step 302) and the user, utilizing the user device 20, may then record the media item annotation 40 (step 304). As discussed above, the media item annotation 40 may comprise the audio component 48, the image component 50 and/or the text component 52. Additionally, the media item annotation 40 may be original content developed by the user or may be content the user imports into the media item recommendation message 36 utilizing the user device 20, or a combination of both original and imported content.
The media item recommendation client application 22 may cause the user device 20 to automatically generate the media item recommendation message 36 when certain actions occur (step 306). One such action may be the playing of the media item on the user device 20. In such a case, the user device 20 generates the media item recommendation message 36 by including the media item identifier 38 and incorporating the presence information 34. Optionally, the user device 20 may also include the media item annotation 40 such that the media item recommendation message 36 comprises the media item identifier 38, the presence information 34 of the recommender, and the media item annotation 40, if developed and included by the recommender. The presence information 34 and, optionally, the media item annotation 40 are included in the media item recommendation message 36 in association with the media item identifier 38. In other words, the media item recommendation message 36 provides a structure for associating the presence information 34 and the media item annotation 40 with the media item identifier 38. In this manner, the presence information 34 and/or the media item annotation 40 are renderable and storable, individually, and/or in association with the media item identifier 38, and, therefore, the media item. The user device 20 then transmits the media item recommendation message 36 addressed to the recipients by sending the media item recommendation message 36 to the central/proxy server 12 or directly to the user devices 20 of the recipients of the media item recommendation message 36 (step 308). Although not shown in FIG. 5, the present invention allows the user to select the media item, for example from the media item playlist 26, record a new and/or include existing presence information 34 and/or media item annotation 40 as the user desires, and transmit a media item recommendation message 36 without having to play the media item.
FIG. 6 is a block diagram illustrating the components of an exemplary media item playlist 26 according to one embodiment of the present invention. FIG. 6 provides a reference for the discussion of the manner in which the media item identifier 38 and the presence information 34 and media item annotation 40 are stored on a media item playlist 26. The media item playlist 26 may store the media item identifier 38 for each media item recommendation message 36 and/or for each media item in the media item collection 30. Also, the media item may be stored on the media item playlist 26. Additionally, the media item playlist 26 may store the recommender's presence information 34 and media item annotation 40 for each of the media item recommendation messages 36 received by the user device 20.
The recommender's presence information 34, the media item annotation 40, and the media item may be organized on the media item playlist 26 in such a manner that the presence information 34, the media item annotation 40, and/or the media item are associated with the media item identifier 38. As such, the media item playlist 26 provides an “enhanced” playlist. The user may select when and how to render the media item, the presence information 34, and the media item recommendation 40. The user may render, and, therefore, play the media item, display the presence information 34, and display the media item annotation 40, by selecting the media item identifier. Alternatively, the user may display the presence information 34, or display the media item annotation 40 by individually selecting the presence information 34 or the media item annotation 40, respectively. The media item playlist 26 also may be transferred to a storage medium, for example, a CD, and/or transferred to a separate portable device, for example, an MP3 player and/or a cell phone. For purposes of describing the present invention, FIG. 6 shows three media item identifiers 38 designated as (1), (2), and (M), along with the associated media items. It should be understood that the present invention should not be limited to any specific quantity of media item identifiers 38 and, therefore, media items. The designation (M) is meant to describe and convey an unlimited quantity of media item identifiers 38 and media items.
FIG. 7 is a flow chart illustrating the process for receiving a media item recommendation message 36 at the user device 20 of the recipient. This allows a description of how the user device 20 processes the media item recommendation message 36, including receiving, rendering, playing, and/or storing the presence information 34, the media item annotation 40, and the media item. The user device 20 receives the media item recommendation message 36 from the user device 20 of the recommender (step 400). Upon receiving the media item recommendation message 36, the user device 20 processes the media item recommendation message 36. The user device 20 processes the media item recommendation message 36 by playing the presence information 34 (step 402). By playing the presence information 34, the recipient may be made aware of the receipt of the media item recommendation message 36 and, if desired, may contact the recommender, for example, to discuss or inquire about the media item being recommended.
The recipient may elect to process the media item recommendation message 36 by rendering the media item that is the subject of the media item recommendation message 36, which may also render the media item annotation 40 (step 404). Rendering the media item causes the media item player 28 in the user device 20 of the recipient to play the media item and may cause the user device 20 to play the media item annotation 40 (step 406). Additionally, the user device 20 may render, and, therefore, play the presence information 34. To play the media item, the user device 20 may access the media item from the media item collection 30. If the media item is not in the media item collection 30, the user device 20 may access it from the central/proxy server 12, if the media item is stored in the central/proxy server 12. If the media item is not stored in the media item collection 30 or in the central/proxy server 12, the user device 20 may elect to acquire the media item from the subscription service 32 or another external source.
Alternatively, instead of rendering the media item upon receipt of the media item recommendation message 36, the recipient may elect to process the media item recommendation message 36 by storing the media item recommendation message on the media item playlist 26 for rendering later. In such a case, the media item identifier 38 is stored on the media item playlist 26 (step 408). The user device 20 of the recipient downloads the recommender's presence information 34 and the media item annotation 40 to the media item playlist 26 in such a manner as the recommender's presence information 34 and the media item annotation 40 may be associated with the media item identifier 38, and, thereby, the media item (step 410).
When the recipient desires to play the media item, the recipient selects the media item from the media item playlist 26. The user device 20 renders the media item, and the recommender's presence information 34 and the media item annotation 40, that were stored on the media item playlist 26 (step 412). The media item player 28 in the user device 20 plays the recommender's presence information 34, the media item annotation 40 and the media item (step 414).
When the media item recommendation message 36 is received and/or when the media item is rendered the audio 42 (FIG. 3) of the presence information 34 and the audio 48 (FIG. 3) of the media item annotation 40 may be played before, during, also referred to as “on top of,” or in place or instead of the audio of the recommended media item or the media item currently being played by the user device 20 of the recipient.
As discussed above with respect to FIG. 5, the media item recommendation client application 22 may cause the user device 20 to generate and transmit a media item recommendation message 36 when a media item is played by the user device 20. As such, whether the recipient elects to render the media item upon receipt of the media item recommendation message 36 or to store the media item recommendation message in the media item playlist 26 for rendering later, the media recommendation message 36 is generated when the media item is played. In this case, the media item recommendation message 36 is generated by the user device 20 of the recipient. The recipient may retain the recommender's presence information 34 of, and the media item annotation 40 developed by, the previous recommender. Alternatively, the recipient, who now becomes the recommender, may adapt the previous recommender's presence information 34 and/or media item annotation 40. The recipient may adapt the recommender's presence information 34 by including the recommender's presence information 34 unmodified, including the recommender's presence information 34 as modified by the recipient, including the recipient's presence information 34 with the recommender's presence information 34 unmodified, replacing the recommender's presence information 34 with the recipient's presence information 34, and/or including the recommender's presence information 34 as modified by the recipient with the recipient's presence information 34. Similarly, the recipient may adapt the recommender's media item annotation 40 by including the recommender's media item annotation 40 unmodified, including the recommender's media item annotation 40 as modified by the recipient, including the recipient's media item annotation 40 with the recommender's media item annotation 40 unmodified, replacing the recommender's media item annotation 40 with the recipient's media item annotation 40, and/or including the recommender's media item annotation 40 as modified by the recipient with the recipient's media item annotation 40. In such a manner, the media item recommendation message 36 may be propagated to and among the users of the media item recommendation system 10.
Additionally, the recipient may elect to transfer the media item, the presence information 34 and/or the media item annotation 40 to a different physical storage media such as, for example, a CD. Optionally, the recipient may elect to download the media item and/or the media item playlist 26 with the presence information 34 and/or the media item annotation 40 to a separate portable device such as, for example, an MP3 player or a cell phone.
FIG. 8 is a block diagram illustrating the components of an exemplary user account 14 in the central/proxy server 12 according to one embodiment of the present invention. FIG. 8 provides an overview of the structure of the user account 14, the information recorded therein, and a reference for describing the interaction between the central/proxy server 12 and the user devices 20. FIG. 8 shows the user account 14A, but should be understood that the user account 14A may be typical for all users subscribed to the media item recommendation client application 22. In one embodiment of the present invention, the user account 14A may be stored on the central/proxy server 12. The user account 14A may store a record of certain information concerning the user, the user's media item collection, and the user's activities involving media items.
The user account 14A may have a record as to whether that user device 20A is able to communicate with the media item recommendation system 10 by on-line status 54A. The central/proxy server 12 may refer to the on-line status 54A to determine if the log-in notice with the presence information 34 and/or the media item recommendation message 36 may be transmitted to the user device 20A. The user account 14A may also record the presence information 34A and the media item annotation 40A transmitted by the user device 20A.
The user account 14A may also contain a friends list 56A and group list 58A. The friends list 56A is a list of the other users registered on the media item recommendation system 10 from whom the user desires to receive media item recommendation messages 36. The user may not want to receive media item recommendation messages 36 from all of the subscribers to the media item recommendation client application 22. The group list 58A may be used by the user to group the friends recorded in the friends list 56A into different groups to further control the transmission and receipt of the media item recommendation message 36 from another user. For example, although user ‘B’ and user ‘C’ may be on the friends list 56A, they may be in two separate groups in the group list 58A. The user may desire to receive the media item recommendation message 36 from a friend in a certain group only if it is a certain genre, for example.
The user account 14A also records the user's play history 60A. The user's play history 60A is a time-stamped record of each media item played by the user. The user account 14A also may contain information regarding the user's particular media preferences 62A. The user's media preferences 62A may relate to the different likes and dislikes of the user based on certain identified media categories. The media categories, for example, may be genre, artist, date of release of the media item, and other information. Also, the user account 14A may have a record of the user's media item collection 30A, profile 64A information provided by the user, and any subscriptions 66A the user may have with subscription service(s) 32. Additionally, the preferences 62A, media item collection 30A, play history 60A, and other information provided by the user at the time of registering with the media item recommendation client application 22 may be used to further develop and update the profile 64A of the user. Additionally, the profile 64A may include a statistical compilation of the aforementioned information.
FIG. 9 is a block diagram illustrating the components of an exemplary recommendation database 16 in the central/proxy server 12 according to one embodiment of the present invention. FIG. 9 provides an overview of the structure of the recommendation database 16, the information recorded therein, and a reference for describing the interaction between the central/proxy server 12 and the user devices 20. The recommendation database 16 may store and keep a record of the media item recommendation messages 36 provided on the media item recommendation system 10. In FIG. 9, a record of the media item (1) recommendation message 36A is shown. The identity of the recommender may be recorded by designating the user device 20A from which the central/proxy server 12 received the media item (1) recommendation message 36A. The media item (1) identifier 38 is recorded. A running total 70 of the media item recommendation messages 36A for the media item (1) is recorded, as is a total 72A of media item (1) recommendation messages 36A for the recommender.
Additionally, the recommender's presence information 34A and the media item annotation 40A for the media item (1) recommendation message 36A may be recorded and stored. The media item score 76 also may be recorded. The media item score 76 may be based on the number of media item recommendation messages 36 for the media item (1) adjusted appropriately for multiple recommendations from the same recommender as may be recorded by the total 72A for the recommender. The recommendation database 16 may also record the total number 74 of recipients that received the media item (1) recommendation message.
FIG. 10 is a flow chart illustrating the process for the central/proxy server 12 to receive the log in instructions and the media item recommendation message 36 from a recommender, and to transmit a log-in notice and the media item recommendation message 36 to the recipient according to one embodiment of the present invention. The central/proxy server 12 receives information from the user device 20, registers the user for the media item recommendation client application 22, and establishes the user account 14 for the user (steps 500, 502). The profile 64 and other information received by the central/proxy server 12 may be stored in the user account 14 (step 504). When the user logs in to the media item recommendation system 10, the central/proxy server 12 receives the log in instruction including the presence information 34 from the user device 20 (step 506). The central/proxy server 12 stores the presence information 34 in the user account 14 and generates the log-in notice attaching the presence information 34 (step 508). The central/proxy server 12 refers to the on-line status 54 of the user accounts 14 to determine which of the other user devices 20 of the media item recommendation client application 22 are logged in to the media item recommendation system 10. The central/proxy server 12 sends the log-in notice with the attached presence information 34 to the other user devices 20 that are logged in (step 510).
The central/proxy server 12 may receive the media item recommendation message 36 from the user device 20 of the logged in user (step 512). The central/proxy server 12 may store and keep a record of the media item recommendation message 36 in the recommendation database 16 (step 514). Storing the media item recommendation message 36 includes storing the presence information 34 and/or the media item annotation 40. Alternatively, the presence information 34 and/or the media item annotation 40 may be stored separately from the media item recommendation message 36. The central/proxy server 12 reviews the friends list 56 and group list 58 of the user accounts 14 to determine to which recipient user(s) to transmit the media item recommendation message 36 (step 516). The central/proxy server 12 transmits the media item recommendation message 36 to the appropriate user devices 20 of the recipients (step 518) and records the transmission in the recommendation database 16 (step 520).
FIG. 11 is the user-server media item recommendation system 10 of FIG. 1 further illustrating in more detail the provisioning and propagation of the media item recommendation message 36 among the user devices 20 of the media item recommendation system 10 according to one embodiment of the present invention. FIG. 11 shows the user devices 20A, 20B, 20N and provides a reference for the discussion of FIGS. 12A, 12B and 12C. The presence information 34A, 34B, 34N and the media item (1) recommendation message 36A, 36B, 36N are transmitted and received according to one embodiment of the present invention, the process of which is described in detail with respect to FIGS. 12A, 12B and 12C, below.
FIGS. 12A, 12B, and 12C illustrate an exemplary communication flow diagram between the central/proxy server 12 and the user devices 20A, 20B, 20N. FIGS. 12A, 12B, and 12C describe and discuss how the media item (1) recommendation message 36 is propagated among the users of the media item recommendation system 10. Referring to FIG. 12A, the user device 20A generates the media item (1) recommendation message 36A (step 600) and transmits the media item (1) recommendation message 36A to the central/proxy server 12 (step 602). The central/proxy server 12 receives the media item (1) recommendation message 36A, stores the media item (1) recommendation message 36A in the recommendation database 16 (step 604) and reviews the friends list 56 and the group lists 58 in the user accounts 14 to determine to which user devices 20 to transmit the media item (1) recommendation message 36A (step 606). The central/proxy server 12 determines that the user devices 20B, 20N may appropriately receive the media item (1) recommendation message 36A and sends the media item (1) recommendation message 36A to the user device 20B (step 608) and the user device 20N (step 610).
The user devices 20B, 20N play the presence information 34A included in the media item (1) recommendation message 36A (steps 612 and 614). The user of the user device 20N elects to not play the media item but, instead to store the media item (1) recommendation on the media item playlist 26N for rendering at a subsequent time. The user device 20N stores the media item (1) identifier 38 on the media item playlist 26N and downloads the presence information 34A and the media item annotation 40A, if present, to the media item playlist 26N to store the presence information 34A and the media item annotation 40A on the media item playlist 26N (step 616). The user of the user device 20B elects to play the media item (1) and the user device 20B renders the media item (1) and the media item annotation 40A, if present (step 618). The presence information 34A may also be rendered when the user device 20B renders the media item (1). The media item player 28B plays the media item (1), and may play the presence information 34A and the media item annotation 40A (not shown). Optionally, the user of the user device 20B may elect not to play the presence information 34A and/or the media item annotation 40A when rendering the media item (1).
Referring to FIG. 12B, the user of the user device 20B decides to record a media item (1) annotation 40B for the media item (1) to include with, modify or replace the media item (1) annotation 40A transmitted with the media item (1) recommendation message 36A (step 620). Because the user device 20B played the media item (1), the user device 20B automatically generates the media item (1) recommendation message 36B, including the media item (1) identifier 38, the presence information 34B, and the media item (1) annotation 40B (step 622). As such, the media item (1) recommendation message 36B may include the presence information 34 and/or media item annotation 40 of one or more of a plurality of recommenders. The user of the user device 20B may adapt the presence information 34A by replacing the presence information 34A with the presence information 34B, or incorporating the presence information 34B with the presence information 34A, modified or unmodified, into the media item (1) recommendation message 36B. Alternatively, the user of the user device 20B may elect to not include the presence information 34B in the media item (1) recommendation message 36B. In such a case, the user of the user device 20B may elect to retain as received or modify the presence information 34A in the media item (1) recommendation message 36B.
The user device 20B transmits the media item (1) recommendation message 36B to the central/proxy server 12 (step 624). The central/proxy server 12 receives the media item (1) recommendation message 36A, stores the media item (1) recommendation message 36B in the recommendation database 16 (step 626) and reviews the friends list 56 and the group list 58 in the user accounts 14 to determine to which of the user devices 20 to transmit the media item (1) recommendation message 36B (step 628). The central/proxy server 12 determines that the user devices 20A, 20N may appropriately receive the media item (1) recommendation message 36B and sends the media item (1) recommendation message 36B to the user device 20A (step 630) and the user device 20N (step 632).
The user devices 20A, 20N play the presence information 34B included in the media item (1) recommendation message 36B (steps 634 and 636). Because the user of the user device 20A was the initial recommender of the media item (1), the user of the user device 20A elects to not play the media item (1) but instead stores the media item (1) recommendation on the media item playlist 26A for rendering at a subsequent time. The user device 20A stores the media item (1) identifier 38 on the media item playlist 26A and downloads the presence information 34B and the media item annotation 40B, if present, to the media item playlist 26A (step 638).
The media item (1) recommendation message 36B is a subsequent recommendation of the media item (1) received by the user of the user device 20N. As such, the media item (1) identifier 38 is already stored on the media item playlist 26N. The user device 20N updates the media item playlist 26N. The update to the media item playlist 26N may include an update of the score for media item (1) based on the subsequent recommendation. The user device 20N also downloads the presence information 34B and the media item (1) annotation 40B to the media item playlist 26N to store the presence information 34B and the media item annotation 40B on the media item playlist 26N (step 640). The user of the user device 20N may decide to play the media item (1). The user device 20N renders the media item (1) and the media item (1) annotation 40B from the media item playlist 26N (step 642). Optionally, when rendering the media item (1), the user of user device 20N may elect to also render the presence information 34A, the presence information 34B, and/or the media item (1) annotation 40A, which may continue to be stored on the media item playlist 26N. In addition, the user of the user device 20N may render and/or play the presence information 34A, the presence information 34B, the media item annotation 40A, and/or the media item annotation 40B on the user device 20N without rendering the media item (1).
Referring to FIG. 12C, the user of the user device 20N decides to record the media item (1) annotation 40N for the media item (1) to include with, modify or replace one or both of the media item (1) annotations 40A, 40B transmitted with the media item (1) recommendation messages 36A, 36B (step 644). Because the user device 20N played the media item (1), the user device 20N automatically generates the media item (1) recommendation message 36N, includes the media item (1) identifier 38, and may include the presence information 34N and the media item (1) annotation 40N (step 646). As such, the media item (1) recommendation message 36B may include the presence information 34 and/or media item annotation 40 of one or more of a plurality of recommenders.
The user of the user device 20N may adapt the presence information 34A and/or the presence information 34B by replacing the presence information 34A and/or the presence information 34B with the presence information 34N, and/or incorporating the presence information 34N with presence information 34A and/or the presence information 34 B into the media item (1) recommendation message 36N. Alternatively, the user of the user device 20N may elect to not include the presence information 34N in the media item (1) recommendation message 36N. In any such case, the user of the user device 20N may elect to retain as received or modify the presence information 34A and/or presence information 34B in the media item (1) recommendation message 36N.
The user device 20N transmits the media item (1) recommendation message 36N to the central/proxy server 12 (step 648). The central/proxy server 12 receives the media item (1) recommendation message 36N, stores the media item (1) recommendation message 36N in the recommendation database 16 (step 650) and reviews the friends list 56 and the group list 58 in the user accounts 14 to determine to which of the user devices 20 to transmit the media item (1) recommendation message 36N (step 652). The central/proxy server 12 determines that the user devices 20A, 20B may appropriately receive the media item (1) recommendation message 36N and sends the media item (1) recommendation message 36N to the user device 20A (step 654) and the user device 20B (step 656).
The user devices 20A, 20B play the presence information 34N included in the media item (1) recommendation message 36N (steps 658 and 660). Because the media item (1) recommendation message 36N is a subsequent recommendation of the media item (1) received by the users of the user devices 20A, 20B, the media item (1) identifier 38 is already stored on the media item playlists 26A, 26B. The user devices 20A, 20B update the media item playlists 26A, 26B. The update to the media item playlists 26A, 26B may include an update of the score for the media item (1) based on the subsequent recommendations. The user devices 20A, 20B download the presence information 34N and the media item annotation 40N, if present, to the media item playlists 26A, 26B to store the presence information 34N and the media item annotation 40N on the media item playlists 26A, 26B (steps 662 and 664).
Instead of playing the media item (1), the user of the user device 20A elects to store the media item (1) to a storage medium, for example, by burning a CD of the media item (1) with the media item (1) annotation 40N (step 666). Optionally, the user of the user device 20A may elect to burn the CD of the media item (1) and include the media item (1) annotation 40A and/or 40B, or any combination of the media item (1) annotations 40A, 40B, 40N. The presence information 34A, 34B, 34C may also be burned to the CD with the media item (1). As such, the user of the user device 20A may transfer all or a portion of the media item playlist 26A to a storage medium such as a CD. The user of the user device 20A may play the media item (1), the presence information 34, and the media item (1) annotations 40 at any time by playing the CD.
The user of the user device 20B may elect to download the media item (1), the presence information 34N, and the media item (1) annotation 40N to a separate portable device for playing at a subsequent time (step 668). Optionally, the user of the user device 20B also may elect to download the presence information 34A, 34B and the media item (1) annotation 40A and/or 40B, or any combination thereof. Also, the user of the user device 20B may download to the separate portable device all or a portion of the media item playlist 26B. The user of the user device 20B may play the media item (1), any of the presence information 34, and the media item (1) annotations 40 without having to be connected to the media item recommendation system 10.
FIG. 13 shows the media item recommendation message 36 of FIG. 4 with additional detail. FIG. 13 is provided to show an example of the type of information which may be included in the media item recommendation message 36 as the media item recommendation message 36 is propagated on the media item recommendation system 10 (FIG. 11). FIG. 13 shows the media item (1) recommendation message 36B of the user of the user device 20B (FIG. 11). The media item (1) recommendation message 36B includes the media item identifier 38, and includes the presence information 34B with the audio component 42B, the image component 44B, and the text component 46B. Additionally, the media item (1) recommendation message 36B includes the media item annotation 40B with the audio component 48B, the image component 50B, and the text component 52B.
The media item (1) recommendation message 36B also includes presence information 34A. The incorporation of presence information 34A in the media item (1) recommendation message 36B indicates that the media item (1) recommendation message 36 was previously sent from the user device 20A (FIG. 11). The user of user device 20B has decided to adapt the presence information 34 by retaining the presence information 34A, unmodified, and incorporating the presence information 34B in the media item (1) recommendation message 36B. The recipient of the media item (1) recommendation message 36B will then receive the presence information 34A of the user of user device 20A and the presence information 34B of the user of user device 20B. In this manner, the media item (1) recommendation message 36 may be propagated.
Additionally, the presence information 34A is shown as an exemplary URL instead of one or more of the audio component 42A, image component 44A, and text component 46A being embedded in the media item (1) recommendation message 36B. The presence information 34A in the media item (1) recommendation message 36B includes a unique identifier in the form of “presinfo34A,” which is included in the URL. A user identifier in the form of “usera” is also included in the URL. The URL may be used to access the presence information 34A in the user account for the user of the user device 20A in the central/proxy server 12. Additionally, the URL may be in the form of a hyperlink. Although not shown in FIG. 13, the media item annotation 40 may also include the media item annotation 40A of the user of user device 20A. The URL and the identifiers included in the presence information 34A are for explanatory purposes only. Accordingly, the present invention should not be understood to be limited to any particular type of form of URL and/or identifiers.
FIG. 14 illustrates an exemplary graphical user interface (GUI) 78 on the user device 20. The GUI 78 is a presence information preferences setting screen allowing the user of the user device 20 to provide presence information preferences. The GUI 78 comprises an insert presence information section 80. Using the GUI 78, the user of the user device 20 may provide directions as to when to insert the presence information 34 in the outgoing media item recommendation messages. The insert preference information section 80 may include selectors in the form of radio buttons 82, 84, 86 to allow the user of the user device 20 to select when to include the user's presence information 34 in a media item recommendation message 36. The user of the user device 20 may direct that the user's presence information 34 be inserted “Always” 82, “Only When Media Item Recommendation Message Does Not Already Contain Previous Recommender's Presence Information” 84, or “Never” 86.
The GUI 78 also comprises a render presence information section 88 to allow the user of the user device 20 to provide direction as to when to render the presence information of others. Selectors in the form of radio buttons 90, 92, 94, and 96 allow the user of the user device 20 to select when the user device 20 may render the presence information 34. The user of the user device 20 may direct that the presence information 34 of others be rendered “When Friends Log In” 90, “When Friends Log Out” 92, “When Media Item Recommendation Message Is Received From Friend” 94, or “When Rendering Media Item From Media Item Playlist” 96.
The GUI 78 may also comprise a presence information setting section 98 to allow the user to set the components of the presence information 34. The GUI 78 may include selectors which may comprise an audio component selector 100, an image component selector 102, and a text component selector 104. The user's presence information 34 may be set using the audio component selector 100, the image component selector 102, and the text component selector 104. The audio component selector 100 allows the user of the user device 20 to provide original audio content and/or import audio from an external source. The image component selector 102 allows the user of the user device 20 to provide any still image or graphic such as, for example, a picture of the user. The text component selector 104 allows the user of the user device 20 to provide any textual message such as, for example a personal greeting.
FIG. 15 illustrates an exemplary GUI 106 on the user device 20. The GUI 106 is an annotation information setting screen allowing the user of the user device 20 to provide direction as to when to render the media item annotation 40 and include the media item annotation 40 in a media item recommendation message 36. The user of the user device 20 may elect to “Render Annotation Information” by actuating selector 108. The user of the user device 20, using radio buttons 112, 114 and 116, may direct when the media item annotation 40 is rendered 110. The user of the user device 20 may direct that the media item annotation 40 be rendered “Prior To Playing Media Item” 112, “Over the Beginning Of Media Item” 114, or “Never” 116.
The GUI 106 also allows the user of the user device 20 to direct that the user's presence information 34 be included in place of the media item annotation 40 when no media item annotation 40 is included with the media item recommendation message 36 by actuating selector 120.
The GUI 106 may also include an annotation setting section 120 to allow the user of the user device 20 to set the components of the media item annotation 40. The GUI 106 may include selectors which may comprise an audio component selector 122, an image component selector 124, and a text component selector 126. The media item annotation 40 may be set using the audio component selector 122, the image component selector 124, and the text component selector 126. The audio component selector 122 allows the user of the user device 20 to provide audio content such as, for example, a portion of the media item. The image component selector 124 allows the user of the user device 20 to provide any still image or graphic such as, for example, a picture of the artist. The text component selector 126 allows the user of the user device 20 to provide any textual message such as, for example, critical reviews of the media item.
FIG. 16 is a block diagram illustrating more detail of the components of the presence information 34 in the user device 20 according to one embodiment of the present invention. This allows a reference for describing in more detail the structure and processing of the presence information 34 and the interaction with the media item player 28 of another user device 20. While FIG. 16 shows the user device 20A and the presence information 34A, it should be understood that FIG. 16 may apply to the other user devices 20, and, therefore, the present invention should not be limited to user device 20A.
The audio component 42A of the presence information 34A may contain one or more announcement tracks 128 (1), 128 (2), and 128 (M). Although for purposes of discussing the present invention, FIG. 16 shows three announcement tracks 128A, the present invention may not be limited to three announcement tracks 128A. The announcement tracks 128A may each have different musical backgrounds stored and associated with the announcement tracks 128A as metadata 130A. The announcement track 128A (1) may have the metadata 130A (1), the announcement track 128A (2) may have the metadata 130A (2), and the announcement track 128A (M) may have the metadata 130A (M). When the announcement track 128A is played by the user device 20 of the recipient, the musical background associated with the announcement track 128A may also play.
Each announcement track 128A may have different characteristics associated with it. The presence information 34A, therefore, may have different characteristics. These characteristics may be, for example, tempo, genre, artist, and album. The characteristics may be set by the user of the user device 20A and/or may be programmatically determined from the users profile including his or her media item collection 30 and play history.
FIG. 17 is a block diagram illustrating components of an exemplary media item player 28 in the user device 20 according to one embodiment of the present invention. FIG. 17 provides a reference for describing the interaction between a media item player 28B of the user device 20B and the presence information 34A structure of the user device 20B. While FIG. 17 shows the user device 20B and the media item player 28B, it should be understood that FIG. 17 may apply to the other user devices 20, and, therefore, the present invention should not be limited to user device 20B. FIG. 17 shows the media item player 28B currently playing the media item 132. The currently playing media item 132 may have audio 134 which may be represented by associated metadata 136. The user device 20B may also include a media item analysis system 138B, which may analyze and compare the metadata of different media items.
The comparison performed by the media item analysis system 138B may include measuring and matching the characteristics of the media items. The media item analysis system 138B may be a program, algorithm, or control mechanism that analyzes and compares the characteristics. In addition to analyzing and comparing the characteristics, the media item analysis system 138B may include the ability to adjust the tempo or beats per minute (BPM) of the media item 132 by applying beat matching techniques. Beat matching techniques provide the ability to modify the media item using certain techniques including, but not limited to, time-stretching effects and alignment so that the announcement track 128A and media item play together in a more seamless fashion.
FIG. 18 illustrates an exemplary communication flow diagram between the central/proxy server 12 and the user devices 20A, 20B according to one embodiment of the present invention. The user device 20A generates the media item recommendation message 36A (step 700) and transmits the media item recommendation message 36A to the central/proxy server 12 (step 702). The central/proxy server 12 transmits the media item recommendation message 36A to the user device 12B (step 704).
Using the media item analysis system 138B, the user device 20B compares the metadata 136 of the currently playing media item 132 on the user device 20B with the metadata 130A of the announcement tracks 128A included in the presence information 34A (step 706). Based on the comparison, the user device 20B selects the “best fit” announcement track 128A (step 708). The user device 20B plays the “best fit” announcement track 128A from the presence information 34A (step 710).
If one of the announcement tracks 128A of the presence information 34A does not identically match the currently playing media item 132 on the user device 20B, the media item analysis system 138B may adjust the tempo of the announcement track 128A that is the closest match to the currently playing media item 132 using beat-matching techniques. In this manner, the BPM of the announcement track 128A is adjusted to match the BPM of the currently playing media item 132.
FIG. 19 is a block diagram illustrating more detail regarding the exemplary components that may be provided by central/proxy server 12 of FIGS. 1 and 10 to perform the present invention. In general, the central/proxy server 12 may be processor or microprocessor-based and also include a control system 140 having associated memory 142. The recommendation database 16 is at least partially implemented in software and stored in the memory 142. The central/proxy server 12 also includes a storage unit 144 operating to store the user accounts 14. The storage unit 144 may also store the recommendation database 16. The storage unit 144 may be any number of digital storage devices such as, for example, one or more hard-disc drives, one or more memory cards, Random Access Memory (RAM), one or more external digital storage devices, or the like. The user accounts 14 may alternately be stored in the memory 142. A communication interface 146 may include a network interface allowing the central/proxy server 12 to be communicably coupled to the network 18 (FIGS. 1 and 10).
FIG. 20 is a block diagram illustrating more detail regarding the exemplary components that may be provided within the user device 20 of FIGS. 1 and 10 to provide the present invention. In general, the user device 20 may be processor or microprocessor-based and also include a user interface 148, which may include components such as a display, speakers, a user input device, and the like. The user device 20 also includes a control system 150 having associated memory 152. In this example, the recommendation engine 24 and the media item player 28 are at least partially implemented in software and stored in the memory 152. The media item recommendation client application 22 (FIGS. 1 and 10) may also be stored in the memory 152. The user device 20 also includes a storage unit 154 operating to store the media item playlist 26 and the media item collection 30 (FIGS. 1 and 10). The storage unit 154 may be any number of digital storage devices such as, for example, one or more hard-disc drives, one or more memory cards, RAM, one or more external digital storage devices, or the like. The media item playlist 26 and the media item collection 30 may alternatively be stored in the memory 152. The user device 20 also includes a communication interface 156. The communication interface 156 may include a network interface communicatively coupling the user device 20 to the network 18 (FIGS. 1 and 10).
The functionality of the present invention can be embodied in any computer-readable medium for use by or in connection with a computer-related system or method. In the context of the present invention, a computer-readable medium is an electronic, magnetic, optical, semiconductor, or other device or means that can transmit, contain, or store a computer program, instructions or data for use by or in connection with a computer-related system or method.
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.

## Claims

1. A method of generating a media item recommendation message via a computing device, comprising the steps of:
including, via the computing device, a media item identifier of a media item in a media item recommendation message, wherein the media item is audio or video; and
including presence information of a recommender of the media item in the media item recommendation message, the presence information comprising a plurality of announcement tracks each having associated metadata of the announcement track and the media item recommendation message being constructed such that at least one of the plurality of announcement tracks is selected and played when the media item is played back at a user device receiving the recommendation message, wherein the at least one of the plurality of announcement tracks is selected using a best fit analysis based on comparing the associated metadata of the announcement track and metadata of the media item played back at the user device.

2. The method of claim 1, wherein the generating of the media item recommendation message is triggered by a playing of the media item.

3. The method of claim 1, wherein the generating of the media item recommendation message is triggered in response to receiving user input from the computing device.

4. The method of claim 1, further comprising including annotation information in the media item recommendation message, wherein the annotation information is obtained from a previously received media item recommendation message.

5. The method of claim 1, further comprising including annotation information in the media item recommendation message, wherein the annotation information is obtained as user input from the computing device.

6. The method of claim 1, wherein including the presence information comprises appending the presence information to a previously received media item recommendation message from another recommender of the media item.

7. The method of claim 1, further comprising including annotation information in the media item recommendation message, wherein including the annotation information comprises appending the annotation information to a previously received media item recommendation message.

8. The method of claim 1 wherein the recommender is associated with the computing device.

9. The method of claim 1, wherein the at least one of the plurality of announcement tracks are identified with the recommender such that playing the at least one of the plurality of announcement tracks announces that the recommender recommended the media item.

10. The method of claim 1, wherein each of the plurality of announcement tracks includes metadata describing at least one musical characteristic of the plurality of announcement tracks.

11. The method of claim 1, wherein the recommender includes a current recommender, and the presence information includes presence information of the current recommender.

12. The method of claim 11, wherein the recommender further includes a previous recommender of the media item to the current recommender in a previously received media item recommendation message by the current recommender, and the presence information further includes presence information of the previous recommender.

13. The method of claim 1, wherein the recommender is a previous recommender of the media item to a current recommender in a previously received media item recommendation message by the current recommender, and the presence information includes presence information of the previous recommender.

14. A non-transitory computer-readable medium storing instructions for generating a media item recommendation message by instructing a computing device to:
include a media item identifier of a media item in a media item recommendation message, wherein the media item is audio or video; and
include presence information of a recommender of the media item in the media item recommendation message, the presence information comprising a plurality of announcement tracks each having associated metadata of the announcement track and the media item recommendation message being constructed such that at least one of the plurality of announcement tracks is selected and played when the media item is played back at a user device receiving the recommendation message, wherein the at least one of the plurality of announcement tracks is selected using a best fit analysis based on comparing the associated metadata of the announcement track and metadata of the media item played back at the user device.

15. The non-transitory computer-readable medium of claim 14, wherein the generating of the media item recommendation message is triggered by a playing of the media item.

16. The non-transitory computer-readable medium of claim 14, wherein the generating of the media item recommendation message is triggered in response to receiving user input from the computing device.

17. The non-transitory computer-readable medium of claim 14, further instructing the computing device to include annotation information in the media item recommendation message, wherein the annotation information is obtained from a previously received media item recommendation message.

18. The non-transitory computer-readable medium of claim 14, further instructing the computing device to include annotation information in the media item recommendation message, wherein the annotation information is obtained as user input from the computing device.

19. The non-transitory computer-readable medium of claim 14, wherein including the presence information further comprises instructing the computing device to append the presence information to a previously received media item recommendation message from another recommender of the media item.

20. The non-transitory computer-readable medium of claim 14, further instructing the computing device to include annotation information in the media item recommendation message, wherein including the annotation information further comprises instructing the computing device to append the annotation information to a previously received media item recommendation message.

21. The non-transitory computer-readable medium of claim 14 wherein the recommender is associated with the computing device.

22. The non-transitory computer-readable medium of claim 14, wherein the plurality of announcement tracks are identified with the recommender such that playing the at least one of the plurality of announcement tracks announces that the recommender recommended the media item.

23. The non-transitory computer-readable medium of claim 14, wherein each of the plurality of announcement tracks includes metadata describing at least one musical characteristic of the plurality of announcement tracks.

24. The non-transitory computer-readable medium of claim 14, wherein the recommender includes a current recommender, and the presence information includes presence information of the current recommender.

25. The non-transitory computer-readable medium of claim 24, wherein the recommender further includes a previous recommender of the media item to the current recommender in a previously received media item recommendation message by the current recommender, and the presence information further includes presence information of the previous recommender.

26. The non-transitory computer-readable medium of claim 14, wherein the recommender is a previous recommender of the media item to a current recommender in a previously received media item recommendation message by the current recommender, and the presence information includes presence information of the previous recommender.