`a2) Patent Application Publication (0) Pub. No.: US 2008/0016205 Al
`
` Svendsen (43) Pub. Date: Jan. 17, 2008
`
`
`US 20080016205A1
`
`(54) P2P NETWORK FOR PROVIDING REAL
`TIME MEDIA RECOMMENDATIONS
`
`(52) US. C1. i ceececceceseecesenesnceceatereeenesveeeeneate 709/224
`
`(75)
`
`Inventor:
`
`uy Svendsen, Chapel Hill, NC
`
`Correspondence Address:
`CONCERT TECHNOLOGYAND WITHROW &
`TERRANOVA
`100 REGENCY FOREST DRIVE , SUITE 160
`CARY, NC 27518
`
`(73) Assignee:
`
`CONCERT TECHNOLOGY
`CORPORATION,Durham, NC
`(US)
`
`(21) Appl. No.:
`.
`Filed:
`
`(22)
`
`11/484,130
`
`Jul. 11, 2006
`\
`os
`,
`.
`Publication Classification
`
`(51)
`
`Int. Cl.
`GO6F 15/173
`
`(2006.01)
`
`(57)
`
`ABSTRACT
`
`A peer-to-peer (P2P) network for providing real time media
`recommendations is provided. The media recommendations
`may be song recommendations or video recommendations.
`Each time a media presentation is played bya peerdevice,
`the peer device provides a recommendation identifying the
`media presentation to other peer devices in the P2P network.
`A peer device having received recommendations from the
`other peer devices in the P2P network then programmati-
`cally, or automatically, selects a next media presentation to
`play from the media presentations recently played by the
`other peer devices and one or more locally stored media
`presentations. Ifthe selected media presentation is not stored
`locally by the peer device, the peer device may obtain the
`selected media presentation from a subscription based ser-
`vice enabling streaming or download ofthe selected media
`presentation, an e-commerceservice enabling purchase and
`downloadofthe selected media presentation, or another peer
`device.
`
`PEER DEVICE
`
`MUSIC PLAYER
`28
`
`
` PEER DEVICE
`MUSIC PLAYER
`22
`
`RECOMMENDATION ENGINE
`
`MUSIC COLLECTION
`
`
`
`
`30pe]
`
`
`
`[|mere
`
`
`
`MUSIC COLLECTION
`
`
`RECOMMENDATION ENGINE
`24
`
`MUSIC COLLECTION
`26
`
`PEER DEVICE
`
`MUSIC PLAYER
`3
`
`RECOMMENDATION ENGINE
`36
`
`APPLE 1110
`
`APPLE 1110
`
`1
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 1 of 13
`
`US 2008/0016205 Al
`
`oo
`
`Sl
`
`
`
`SADIAYASSISNW
`
`NOELdIHOSENsS
`
`ADIAAGYaad
`
`H3AAVIdOISNN
`
`ve
`
`
`
`
`
` 9ANIDNANOLLWONSWWO0SY
`
`ADIAAGYadd
`
`HAAV1dOISNW
`
`82
`
`
`
`JINIONANOILLWONSAWWOOsdY
`
`0€
`
`
`
`NOILOSATIOOSISNA
`
`ee
`
`SOIAAGYAsd
`
`YHAAV1dOISNW
`
`oe
`
`
`
`ANION]NOLWONSWNOOSY
`
`ve
`
`
`
`NOILOSTIOOOISNW
`
`8€
`
`bESila
`
`
`
` 9NOILLOATIOOSISNN
`
`2
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17,2008 Sheet 2 of 13
`
`US 2008/0016205 Al
`
`200
`
`202
`
`204
`
`206
`
`208
`
`210
`
`212
`
`ESTABLISH P2P NETWORK
`
`PLAY SONG
`
`SEND RECOMMENDATION FILE
`FOR THE SONG TO PEERS
`
`RECEIVE RECOMMENDATIONS
`FROM PEER
`wo
`vU
`
`FILTER RECOMMENDATIONS
`
`AUTOMATICALLY SELECT
`NEXT SONG TO PLAY
`
`OBTAIN SELECTED SONG
`
`FIG. 2
`
`3
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 3 of 13
`
`US 2008/0016205 Al
`
`SONOSAV1dOeC
`
`
`
`
`
`
`
` dlaNOILWGNAWNOOAYONOS‘90€AllsNOLIWANAWWOOsAYDSNOS“coe
`
`
`
`
`
`SNOLIWGNAWWOOAYHALA‘80€C
`
`
`
`AW1dOLSNOSLXAN
`
`
`
`
`
`
`
`£Sl
`
`
`LOATASATIVOLIVNNOLNY‘OLE
`
`
`G3ALOATIASNIVLEO“CLECSONOSGALOATASAV1d“PLECSONOS
`
`
`
`
`
`
`
`AldNOLLVONANWOOAYDNOS‘BLE
`
`
`
`
`
`
`
`dlaNOLIWONSANWWOOSYDNOS‘SLE
`
`
`
`
`
`
`
`
`
`DNOSAV'l1d‘O0EC
`
`4
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 4 of 13
`
`US 2008/0016205 Al
`
`OL
`
`ro
`
`
`
`SDIAYASOISNW
`
`gtOvNOILdIHOSAENS
`
`AXOHd
`
`YAAHAS
`
`iGk
`
`AOIAACWadd
`
`
`
`S3DIAIGYssd
`
`YAAVIdOISNIN
`
`ve
`
`
`
`HAAWIdOISNN
`
`1oe
`
`
`
`JINISNANOLLWONANWOO3YSNIDNANOLIWONSWANOO3SY
`
`
`
`
`
`oeve
`
`8
`
`
`NOILOATIONDISNW2
`SOIRHa3drd
`
`
`
`NOILOSTIOOSISNW
`
`YHaAVTdOISNN
`
`8c
`
`
`
`ANIDNANOILWONSWWOOSY
`
`10
`
`
`
`NOLLOATIONOISNW
`
`ee
`
`b‘Dld
`
`5
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 5 of 13
`
`US 2008/0016205 Al
`
`
`
`
`
`SONOSLXANLOSES
`
`
`
`SONOSGaL0351S
`
`AW1dOL
`
`
`
`NIVLEO‘9LP
`
`
`
`SONOSG3L94514S
`
`AW1d‘SLY
`
`SNOLLVONAWNOO3UY
`
`
`
`Yallld‘ely
`
`
`
`ATIVOLLVANNIOLNY‘FLY
`
`
`
`
`
`AlaNOLIWONAWANOOAYSONOSOLr
`
`
`
`
`
`31dNOLWONAWNWOOSYDSNOS‘80r
`
`SONOSAV1d‘90F
`
`
`
`31aNOLWONANWOOSYDNOS‘Ocr
`
`
`
`
`
`
`
`
`
`AldNOLLWONAWWOOAHDNOS‘ver
`
`
`
`ANdNOLLIVONANWOOAYDNOS‘cor
`
`
`
`
`
`S‘Did
`
`
`
`AllsNOLWONAWWOOSYDNOS‘9cr
`
`
`
`
`
`dtdNOLLVONANWOOSYDONOS‘FOP
`
`
`
`
`
`
`
`
`
`
`
`INSOOSHONOSAldNOLLWONANWNOOAYSNOS’c0r
`
`
`
`
`
`YaadAXOUdPEEPYaad
`
`
`
`Fo1IAzaYAAYNSA0IAgaASIAza
`
`
`
`
`
`SONOSAV1d‘O00rCickOvOLwe
`
`6
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17,2008 Sheet 6 of 13
`
`US 2008/0016205 Al
`
`OBTAIN USER PREFERENCES
`
`500
`
`SCORE LOCAL SONG(S) BASED
`ON USER PREFERENCES
`
`
`
`SCORE RECOMMENDATIONS
`BASED ON USER PREFERENCES
`
`
`
`
`
`
`
`
`SELECT NEXT SONG TO PLAY
`BASED ON SCORES
`
`FIG. 6
`
`7
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 7 of 13
`
`US 2008/0016205 Al
`
`LHOISM
`410dworsneIPWOILAEVHd1V
`41IdOu"dmors?|WOILAEVHd1V
`AWwsOuddmonsneIPWOILAEVHd1V
`
`AwsOu’dmorseIPWOILASVHdIV
`
`
`
`AmWsOddWOLSNDWOIIDOTONOYHD
`OV8VvYV
`94BZvL
`880698
`v8c808
`OZol89
`
`
`
`AdALVILEVTIIWAYLHOISM
`
`
`
`AdSJYNADLHDISM
`
`
`
`A@AGVOAGLHDIFAM
`
`a
`
`SSHON3AYAAAYdYASN
`
`AdSAIHNODIALVO
`
`
`
`AdSY3ASNLHDISAM
`
`Z‘Dla
`
`8
`
`
`
`Patent Application Publication
`
`Jan. 17,2008 Sheet 8 of 13
`
`US 2008/0016205 Al
`
`Lo
`
`CATEGORY WEIGHTING
`
`GENRE ff,
`DECADE_{~_
`USER
`——_{-
`AVAILABILITY ——_f—
`
`54
`
`56
`
`58
`
`52
`
`NO REPEAT FACTOR ft
`USER C —_f
`
`60
`
`92
`
`USER WEIGHTING
`
`USER A OF"
`USER B fs
`
`96
`
`94
`
`98
`
`FIG. 9
`
`9
`
`
`
`Patent Application Publication
`
`Jan. 17,2008 Sheet 9 of 13
`
`US 2008/0016205 Al
`
`“we
`
`GENRE WEIGHTING
`
`ALTERNATIVE ff|
`CLASSIC ROCK fo
`ARENA ROCK ny
`108
`|
`JAZZ ff
`NEWWAVE aAaa
`
`104
`
`106
`
`COUNTRY a
`
`102
`
`110
`
`PUNK OE
`DANCE _f
`
`114
`
`112
`
`116
`
`FIG. 10
`
`10
`
`10
`
`
`
`Patent Application Publication
`
`Jan. 17,2008 Sheet 10 of 13
`
`US 2008/0016205 Al
`
`DECADE WEIGHTING
`
`120
`
`1950S fs
`1960S (-
`1970s a
`
`122
`
`124
`
`an
`
`
`
`
`
`
`
`1990S Of
`
`2000s__f _
`
`
`
`
`fo
`
`1980S_—
`
`126
`
`128
`
`130
`
`FIG. 11
`
`AVAILABILITY WEIGHTING
`
`132
`
`SUBSCRIPTION NETWORK ff
`BUY/DOWNLOAD
`_—__(
`LOCAL —_
`FIND
`
`134
`
`136
`
`138
`
`140
`
`FIG. 12
`
`11
`
`11
`
`
`
`Patent Application Publication
`
`US 2008/0016205 Al
`
`
`
`
`
`HDNH-dasn
`
`zph
`
`
`
`SONOSLNSAYYND
`
`WAVLNAYyYend
`
`ee
`
`AyiqeyreaeSul}espeospsie
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`16:¢Sul]BU}sSoulJopudyy6nyS€8jeo0]€O:Zk:hSOGGELyeUM196NOAyBnyjnjyneeqauab21@%OoMjeU4o0JenAepeouepjayreqenZ9mMJomjeUuay}JoweeyAseb6=ziomeuuoduosqnsLeeSsOséLnepuedsenyausbh[11SSeyi=6Lfeo}«pS:=S0002eAyeUsaye=syeoIPeuMOUaAIHNOAsoze6LAyyunod=ysedAuuyol UONdUSsSaqns§Zr:0SOZELyooooodjUuBiuyBny=98peojumop/Anqne98[G90]2:75:02SOBELSAeUsE}eseqn}ou}KeyAes4PEMey!588mMlomMjeUUONdUOsSgns§9GipsQ0ddzzelsouofyesou3aymAemeawoo=UuawAeM
`
`
`
`
`
`
`
`
`
`
`
`
`es€8j200]1Z:Ze:GZSOSGL@AeMMOUOGQndje1aUeB
`
`
`
`LL:GE7ZtSOZEL4904uajeyueAAapou}YMBuluundyBnyUONdUOSqnSZ2E:0SO86LyundjoprAyjigq|}@Ajaqe.auebwa28[200]
`
`
`
`
`aQ9/yomMeUUONdUOSqNS€0:LSO86LjeyowsuoidioosNoAUIAO]
`
`
`
`
`
`
`
`
`
`
`
`
`
`SIABPSajILUyeumosuawAem7Z6yWomeuuonduosqnsGzipSOS6LBAeuleyeswepesaepdassAwulsouRpAseB6puy7:9SOS6Lzzel
`
`
`
`
`
`19peojumop/AngLLiQ§=SOZELyoosokjnoqepunoiAreB
`
`
`PgjB90|IzZSOZ6Lje}owuaplrewUd!S||IlySu}OFUNLAreb
`
`
`sgpeoqjumop/AngLS:GSOSG6lLSAneUIEYyeol]a}SsO9sIAjeuoseaush
`
`
`
`
`GSpeojumop/Ang61:9SO86ILyoo:AajsaidsiajaBoppunoyoy!w
`
`
`
`
`
`
`
`
`yiomjeuuoliduosqns/6:0so0dcAyunoopuepebnsalowBuiyjawosuawkem
`
`
`
`je00]1Z:Ze:GrSOZE6LyoouNwsoiseUOIIOLUSJBOMSu6ny
`
`
`
`
`
`El‘Old
`
`12
`
`12
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 12 of 13
`
`US 2008/0016205 Al
`
`
`
`HONH-wasSNn
`
`app
`
`
`+6pul/€&:9SO96LzzefSIABPSO]ILWyeuMosUelUAeM9jeso,}«Sstg:4SsSOL6L
`
`
`
`
`
`
`
`29ysomjouUOHduOsgnsZPr:0SO/6L49041ood1YBiu9yjjoesyArebB
`
`
`29peojumop/AnqLL:9SO/6Lyoo1sokynoqepunoiAsebB
`yeyeaw=WapreuUourSiIy84}0}UNIAse6B
`
`
`
`
`
`
`Q9/lomjeuuoNnduosqns¢€0:1SOS6ILjeyousuaidioosNOAUAC}INSeyiwW
`
`
`
`
`
`
`88YyompeuuUoHduOsqnNs9G:rso0dZdzzelsouolyeiou=3WyimAemeawoo=UaLuAeM
`
`
`62jeo0}SssvG:Z=$000249041onAepinjyneeqeueb
`
`
`
`
`zgfeOO]LL:GE:ZLSOZELyoougjeyUeAj!ABpBy}YMBujuuNLyBny
`
`
`
`
`
`
`€9jeoo|LE:SSOS86LeAeMMOUOIIQGNdjelousSSOUIBPUd]yBny
`
`
`
`GSpeojumop/Anq61:9SO86Lyoo:AssadsiajoBoppunoyeyiw
`
`
`
`
`
`Sopeojumop/AnqLS:G¢SO8GLSANeWeYeoe}SO0sIAjOuosiyeeuebh
`
`
`
`
`
`
`
`ziysOMoUUOHdUOSgnSLZ:ZE'SZSOBELaouepjeljeqnepuedsen}euab
`
`
`
`
`
`98je90|v2:7S:02SOSG|aAHeUseyeseqn}ou}KayAesy6ny
`
`
`
`
`
`€3[200]€O:Zk:bSOBELeAeuayesyjeoipesmeuanhNOAyeymMjabNOAyBny
`
`
`
`
`S6je00]LZ:ZE:SGrSOZ6LyooUywisoleeUOIOW?e1BeMsyBny
`
`
`
`18ylomjeauuonduosqnsZe:0SOgsé6lyundjoptAjigIIaAjaqoseueb
`
`
`
`
`
`yIOmjeuUONduosqns42:0AayunoopuejeinseiowBuiyyewosuaWAeM
`
`
`
`
`
`
`yiomyauuonduosqnsGzipSsO86lLeAneuseyesuwepeeaep_—sdvajsAwulaouepArebB
`
`
`
`
`
`peojumop/Angree=SOZBLAayunosyseoAuuyolBul]SU)4JeMayilw
`
`Ayjiqeyeaeowapesapyslpe
`
`
`
`SONOSLNAYHNS
`
`
`
`WNalyLNSaYdend
`
`lll
`
`S000¢
`
`bt‘Old
`
`13
`
`13
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 13 of 13
`
`US 2008/0016205 Al
`
`a
`
`
`
`dOVAYaLNIYASN
`
`Zot
`
`
`
`WALSASTOXULNOOD
`
`vst
`
`AYOWAN
`
`OSI
`
`YSAVIdCISA
`
`ee
`
`
`
`FOVIYALNIHASN
`
`est
`
`
`
`WALSASTOHLNOO
`
`vr
`
`AGOWAW
`
`orl
`
`YaAW1dOISNW
`
`ao
`
`
`
`LINNADSVYHOLS
`
`8st
`
`LINNADVYOLS
`
`art
`
`
`
`FOVIYALNINOLLVOINNWNOD
`
`
`
`FOVAYALNINOLLWOINNWAIOD
`
`oot
`
`9t‘Old
`
`Ost
`
`SLDl4
`
`
`
`ANIDN2NOLLWONAWWOOSY
`
`
`
`ANISN]ANOLWONSWNOOSY
`
`we
`
`ve
`
`14
`
`14
`
`
`
`
`
`US 2008/0016205 Al
`
`Jan. 17, 2008
`
`P2P NETWORK FOR PROVIDING REAL
`TIME MEDIA RECOMMENDATIONS
`
`FIELD OF THE INVENTION
`
`[0001] The present invention relates to media recommen-
`dations, such as music or video recommendations, and more
`specifically relates to a peer-to-peer (P2P) network for
`providing real time media recommendations.
`
`BACKGROUNDOF THE INVENTION
`
`there has been an enormous
`In recent years,
`[0002]
`increase in the amount of digital media, such as music,
`available online. Services such as Apple’s iTunes enable
`users to legally purchase and download music. Otherser-
`vices such as Yahoo! Music Unlimited and RealNetwork’s
`
`Rhapsody provide access to millions of songs for a monthly
`subscription fee. Asa result, music has become much more
`accessible to listeners worldwide. However, the increased
`accessibility of music has only heightened a long-standing
`problem for the music industry, which is namely the issue of
`linking audiophiles with new music that matches their
`listening preferences.
`technologies, and approaches
`[0003] Many companies,
`have emerged to address this issue of music recommenda-
`tion. Some companies have taken an analytical approach.
`They review various attributes of a song, such as melody,
`harmony, lyrics, orchestration, vocal character, and thelike,
`and assign a rating to each attribute. The ratings for each
`attribute are then assembled to create a holistic classification
`
`
`
`is a need for a music recommendation system and method
`that recommends music to a user based on the listening
`habits of a peer group.
`
`SUMMARYOF THE INVENTION
`
`invention provides a peer-to-peer
`[0006] The present
`(P2P) network for providing real time
`media recommenda-
`tions. The media recommendations may be song recommen-
`dations or video recommendations. Each time a media
`presentation is played by a peer device, the peer device
`provides a recommendation identifying the media presenta-
`tion to other peer devices in the P2P network. A peer device
`having received recommendations from the other peer
`devices in the P2P network then programmatically, or auto-
`matically, selects a next media presentationto play from the
`media presentations recently played by the other peer
`devices and one or morelocally stored media presentations.
`Ifthe selected media presentation is not stored locallyby the
`peer device, the peer device may obtain the selected media
`presentation from a subscription based service enabling
`streaming or download of the selected media presentation,
`an e-commerce service enabling purchase and download of
`the selected media presentation, or another peer device. In
`one embodiment,
`the peer devices are portable devices
`forming the P2P network via local wireless communication.
`In another embodiment, the peer devices may be any type of
`device and form the P2P network via a Wide Area Network
`
`(WAN)such as the Internet.
`[0007] 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 pre-
`ferred embodiments in association with the accompanying
`drawing figures.
`
`BRIEF DESCRIPTION OF THE DRAWING
`FIGURES
`
`for the song that is then used by a recommendation engine.
`The recommendation enginetypically requires that the user
`first identify a song that heorshe likes. The recommendation
`engine then suggests other songs with similar attributions.
`Companies using this type of approach include Pandora
`[0008] The accompanying drawing figures incorporated in
`
`(http:/Avww.pandora.com), SoundFlavor—(http:/Avww.
`and forming a part of this specification illustrate several
`soundflavor.com), MusicIP (http://www.musicip.com), and
`aspects of the invention, and together with the description
`MongoMusic (purchased by Microsoft in 2000).
`serve to explain the principles of the invention.
`[0004] Other companies take a communal approach. They
`[0009]
`FIG. 1 illustrates a system incorporating a peer-to-
`make recommendationsbased on the collective wisdom of a
`peer (P2P) network for real time media recommendations
`according to one embodimentof the present invention;
`[0010]
`FIG. 2 1s a flow chart illustrating the operation of
`the peer devices of FIG. 1 according to one embodiment of
`the present invention;
`[0011]
`FIG. 3 illustrates the operation of the system of
`FIG. 1 according to one embodimentof the present inven-
`tion;
`FIG. 4 illustrates a system incorporating a P2P
`[0012]
`network for real time media recommendations according to
`a second embodimentof the present invention;
`[0013]
`FIG. 5 illustrates the operation of the system of
`FIG. 4 according to one embodimentof the present inven-
`tion;
`FIG. 6 is a flow chart illustrating a method for
`[0014]
`automatically selecting media to play based on recommen-
`dations from peer devices and user preferences according to
`one embodiment of the present invention;
`[0015]
`FIG. 7 illustrates an exemplary graphical user
`interface (GUI) for configuring user preferences according
`to one embodiment of the present invention;
`
`group of users with similar musical tastes. These solutions
`first profile the listening habits of a particular user and then
`search similar profiles of other users to determine recom-
`mendations. Profiles are generally created in a variety of
`ways such as looking at a user’s complete collection, the
`playcounts of their songs, their favorite playlists, and the
`like. Companies using this technology include Last.fm
`(http://Awww.last.fm), Music Strands
`(http://www.music-
`strands.com), WebJay (http:/Mwww.webjay.org), Mercora
`(http:/Avww.mercora.com), betterPropaganda (http:/Avww.
`betterpropaganda.com), Loomia (http://www.loomia.com),
`eMusic (http://www.emusic.com), musicmatch(http://www.
`mmguide.musicmatch.com),
`genielab —_(http://genielab.
`com/), uptoll
`(http:/Awww.uptol1.net/), Napster
`(http://
`www.napster.com), and iTunes
`(http://www.itunes.com)
`with its celebrity playlists.
`[0005] The problem with these traditional recommenda-
`tion systemsis that they fail to consider peer influences. For
`example, the music that a particular teenagerlistens to may
`be highly influenced bythe musiclistened to by a group of
`the teenager’s peers, such ashis or her friends. As such,there
`
`15
`
`15
`
`
`
`US 2008/0016205 Al
`
`Jan. 17, 2008
`
`
`
`FIG. 8 illustrates an exemplary GUI forassigning
`[0016]
`weights to various categories of media content as part of
`configuring the user preferences according to one embodi-
`ment of the present invention;
`[0017]
`FIG. 9 illustrates an exemplary GUI for assigning
`weights to individual users within a user category as part of
`configuring the user preferences according to one embodi-
`ment of the present invention;
`[0018]
`FIG. 10 illustrates an exemplary GUI for assigning
`weights to individual genres from a genre category as part of
`configuring the user preferences according to one embodi-
`ment of the present invention;
`[0019]
`FIG. 11 illustrates an exemplary GUI for assigning
`weights to individual decades from a decade category as part
`of configuring the user preferences according to one
`embodiment of the present invention;
`[0020]
`FIG. 12 illustrates an exemplary GUI for assigning
`weights to individual availability types from an availability
`type category as part of configuring the user preferences
`according to one embodiment of the present invention;
`[0021]
`FIG. 13 illustrates an exemplary GUI displaying a
`playlist including both songs from a local music collection
`of a peer device and recommended songs from other peer
`devices, where the songs are sorted by a score determined
`based on user preferences according to one embodiment of
`the present invention;
`[0022]
`FIG. 14illustrates an exemplary GUI displaying a
`playlist including both songs from a local music collection
`of a peer device and recommended songs from other peer
`devices, where the songs are sorted by a both genre and
`score according to one embodimentofthe present invention;
`[0023]
`FIG. 15 is a block diagram ofa peer device of FIG.
`1 according to one embodimentofthe present invention; and
`[0024]
`FIG. 16 is a block diagram ofa peer device of FIG.
`4 according to one embodimentof the present invention.
`
`
`
`DETAILED DESCRIPTION OF THE ix
`
`
`
`PREFERRED EMBODIMENTS
`
`
`
`
`
`[0025] 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 prac-
`ticing 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 applicationsof these concepts not particularly
`addressed herein. It should be understood that these con-
`
`cepts and applicationsfall within the scopeofthe disclosure
`and the accompanying claims.
`[0026]
`FIG.1 illustrates a system 10 incorporating a P2P
`network for providing real
`time song recommendations
`according to one embodimentofthe present invention. Note
`that while the discussion herein focuses on song recommen-
`dations for clarity and ease of discussion, the present inven-
`tion is equally applicable to providing recommendations for
`other types of media presentations such as video presenta-
`tions, as will be apparent to one of ordinaryskill in the art
`upon reading this disclosure.Exemplary video presentations
`are movies, television programs, andthelike. In general, the
`system 10 includes a number of peer devices 12-16 which
`are optionally connected to a subscription music service 18
`via a network 20, which maybe a distributed public network
`suchas, but notlimited to, the Internet. Note that while three
`peer devices 12-16 are illustrated, the present invention may
`be used with any number of two or more peer devices.
`
`
`
`In this embodiment, the peer devices 12-16 are
`[0027]
`preferably portable devices such as, but not
`limited to,
`portable audio players, mobile telephones, Personal Digital
`Assistants (PDAs), or the like having audio playback capa-
`bilities. However, the peer devices 12-16 mayalternatively
`be stationary devices such as a personal computerorthelike.
`The peer devices 12-16 include local wireless communica-
`tion interfaces (FIG. 15) communicatively coupling the peer
`devices 12-16 to form a peer-to-peer (P2P) network. The
`wireless communication interfaces may provide wireless
`
`communication according to, for example, one ofthe suite
`
`
`
`
`of IEEE 802.11 standards, the Bluetooth standard, or the
`like.
`
`[0028] The peer device 12 includes a music player 22, a
`recommendation engine 24, and a music collection 26. The
`music player 22 may be implementedin software, hardware,
`or a combination of hardware and software. In general, the
`music player 22 operates to play songs from the music
`collection 26. The recommendation engine 24 may be imple-
`mented in software, hardware, or a combination of hardware
`and software. The recommendation engine 24 mayalterna-
`tively be incorporated into the music player 22. The music
`collection 26 includes any numberof songfiles stored in one
`or more digital storage units such as, for example, one or
`more hard-disc drives, one or more memory cards, internal
`Random-Access Memory (RAM), one or more associated
`external digital storage devices, or the like.
`[0029]
`In operation, each time a song is played by the
`music player 22, the recommendation engine 24 operates to
`provide a recommendation identifying the song to the other
`peer devices 14, 16 via the P2P network. The recommen-
`dation does not include the song. In one embodiment, the
`recommendation may be a recommendation file including
`information identifying the song. In addition, as discussed
`belowin detail, the recommendation engine 24 operatesto
`programmatically, or automatically, select a next song to be
`played by the music player 22 based on the recommenda-
`tions received from the other peer device 14, 16 identifying
`songs recently played by the other peer devices 14, 16 and
`user preferences associated with the user of the peer device
`12.
`
`
`
`[0030] Like the peer device 12, the peer device 14 includes
`a music player 28, a recommendation engine 30, and a music
`collection 32, and the peer device 16 includes a music player
`34, a recommendation engine 36, and a musiccollection 38.
`[0031] The subscription music service 18 may be a service
`hosted by a server connected to the network 20. Exemplary
`subscription based music services that may be modified to
`operate accordingto the present invention are Yahoo! Music
`Unlimited digital music service and RealNetwork’s Rhap-
`sodydigital music service.
`[0032]
`FIG. 2 illustrates the operation of the peer device
`12 according to one embodiment of the present invention.
`However, the following discussion is equallyapplicable to
`the other peer devices 14, 16. First, the peer devices 12-16
`cooperate to establish a P2P network (step 200). The P2P
`network maybeinitiated using, for example, an electronic or
`verbalinvitation. Invitations may be desirable when the user
`wishes to establish the P2P network with a particular group
`ofother users, such ashis or her friends. Notethat this may
`be beneficial when the user desires that the music he or she
`
`listens to be influenced only by the songslistened to by, for
`example, the user’s friends. Invitations may also be desir-
`able when the numberofpeer devices within a local wireless
`
`16
`
`16
`
`
`
`US 2008/0016205 Al
`
`Jan. 17, 2008
`
`
`
`coverage area of the peer device 12 is large. As another
`example, the peer device 12 may maintain a “buddylist”
`identifying friends of the user of the peer device 12, where
`the peer device 12 may automatically establish a P2P
`network with the peer devices of the users identified by the
`“buddy list’ when the peer devices are within a local
`wireless coverage area of the peer device 12.
`[0033] Alternatively, the peer device 12 may establish an
`ad-hoc P2P network with the other peer devices 14, 16 by
`detecting the other peer devices 14, 16 within the local
`wireless coverage area of the peer device 12 and automati-
`cally establishing the P2P network with at least a subset of
`he detected peer devices 14, 16. In order to control the
`umber of peer devices within the ad-hoc P2P network, the
`peer device 12 may compareuserprofiles of the users of the
`other peer devices 14, 16 with a user profile of the user of
`he peer device 12 and determine whetherto permit the other
`peer devices 14, 16 to enter the P2P network based on the
`similarities of the userprofiles.
`[0034] At some pointafter the P2P network is established,
`he peer device 12 plays a song (step 202). Initially, before
`any recommendations have been received from the other
`peer devices 14, 16, the song may be a song from the music
`collection 26 selected by the user of the peer device 12. Prior
`0, during, or after playback of the song, the recommenda-
`ion engine 24 sends a recommendation identifying the song
`o the other peer devices 14, 16 (step 204). The recommen-
`dation may include, but
`is not
`limited to,
`information
`identifying the song such as a Globally Unique Identifier
`GUID)for the song,title of the song, orthe like; a Uniform
`Resource Locator (URL) enabling other peer devices to
`obtain the song such as a URL enabling download or
`streaming ofthe song from the subscription music service 18
`or a URL enabling purchase and downloadofthe song from
`an e-commerce service; a URL enabling download or
`streaming of a preview of the song from the subscription
`music service 18 or a similar e-commerceservice; metadata
`describing the song such as ID3 tags including,for example,
`genre, the title of the song, the artist of the song, the album
`on which the song can be found, the date of release of the
`song or album,the lyrics, and the like.
`[0035] The recommendation mayalso include a list of
`recommenders including information identifying each user
`having previously recommended the song and a timestamp
`for each recommendation. For example, if the song was
`originally played at the peer device 14 and then played at the
`peer device 16 in response to a recommendation from the
`peer device 14,
`the list of recommenders may include
`informationidentifying the user of the peer device 14 orthe
`peer device 14 and a timestamp identifying a time at which
`the song wasplayed or recommendedby the peer device 14,
`and information identifying the userof the peer device 16 or
`the peer device 16 and a timestamp identifying a time at
`which the song was played or recommended by the peer
`device 16. Likewise, if the peer device 12 then selects the
`song for playback, information identifying the user of the
`peer device 12 or the peer device 12 and a corresponding
`timestamp maybe appendedto thelist of recommenders.
`[0036] The peer device 12, and more specifically the
`recommendation engine 24, also receives recommendations
`from the other peer devices 14, 16 (step 206). The recom-
`mendationsfrom the other peer devices 14, 16 identify songs
`played by the other peer devices 14, 16. Optionally, the
`recommendation engine 24 mayfilter the recommendations
`
`from the other peer devices 14, 16 based on, for example,
`user, genre, artist, title, album, lyrics, date ofrelease, or the
`like (step 208).
`[0037] The recommendation engine 24 then automatically
`selects a next song to play from the songsidentified by the
`recommendations received from the other peer devices 14,
`16, optionally songs identified by previously received rec-
`ommendations, and one or more songs from the music
`collection 26 based on user preferences (step 210). In one
`embodiment, the recommendation engine 24 considers only
`those songs identified by recommendationsreceived since a
`previous song selection. For example, if the song played in
`step 202 wasa songselected by the recommendation engine
`24 based on prior recommendations from the peer devices
`14, 16, the recommendation engine 24 may only consider
`the songs identified in new recommendationsreceived after
`the song wasselected for playback in step 202 and may not
`consider the songs identified in the prior recommendations.
`This may be beneficial if the complexity of the recommen-
`dation engine 24 is desired to be minimal such as when the
`peer device 12 is a mobile terminalorthe like having limited
`processing and memory capabilities. In another embodi-
`ment,
`the recommendation engine 24 may consider all
`previously received recommendations, where the recom-
`mendations may expire after a predetermined or userdefined
`period of time.
`[0038] As discussed below, the user preferences used to
`select the next song to play may include a weightorpriority
`assigned to each of a number of categories such as user,
`genre, decade of release, and availability. Generally, avail-
`ability identifies whether songs are stored locally in the
`music collection 26; available via the subscription music
`service 18; available for download, and optionally purchase,
`from an e-commerceservice or one ofthe other peer devices
`14, 16; or are not currently available where the user may
`search for the songs if desired. The user preferences may be
`stored locally at the peer device 12 or obtained from a
`central server via the network 20. If the peer device 12 is a
`portable device, the user preferences may be configured on
`an associated user system, such as a personal computer, and
`transferred to the peer device 12 during a synchronization
`process. Theuser preferences mayalternatively be automati-
`cally provided or suggested by the recommendation engine
`24 based on a playhistory of the peer device 12. In the
`preferred embodiment discussed below, the songs identified
`bythe recommendations from the other peer devices 14, 16
`and the songs from the music collection 26 are scored or
`ranked based on the user preferences. Then, based on the
`scores, the recommendation engine 24 selects the next song
`to play.
`[0039] Once the next song to play is selected, the peer
`device 12 obtainsthe selected song (step 212). Ifthe selected
`song is part of the music collection 26, the peer device 12
`obtains the selected song from the music collection 26. Ifthe
`selected song is not part of the music collection 26, the
`recommendation engine 24 obtains the selected song from
`the subscription music service 18, an e-commerceservice, or
`one of the other peer devices 14, 16. For example,
`the
`recommendation for the song may include a URL providing
`a link to a source from which the song maybe obtained, and
`the peer device 12 may obtain the selected song from the
`source identified in the recommendation for the song. Once
`obtained, the selected song is played andthe process repeats
`(steps 202-212).
`
`17
`
`17
`
`
`
`US 2008/0016205 Al
`
`Jan. 17, 2008
`
`
`
`FIG. 3 illustrates the operation of the peer devices
`[0040]
`12-16 to provide real time song recommendations according
`o one embodimentofthe present invention. The illustrated
`process is the same as discussed above with respect to FIG.
`2. As such, the details will not be repeated. In general, the
`peer devices 14, 16 play songs and, in response, provide
`song recommendations to the peer device 12 (steps 300-
`306). The peer device 12 mayoptionally filter the recom-
`nendations from the peer devices 14, 16 (step 308). The
`recommendation engine 24 of the peer device 12 then
`automatically selects the next song to play from the songs
`identified by the recommendations, optionally songs iden-
`ified by prior recommendations from the peer devices 14,
`16, and locally stored songs from the music collection 26
`based on user preferences of the user of the peer device 12
`step 310). The peer device 12 then obtains and plays the
`selected song (steps 312-314). Either prior to, during, or
`after playback of the selected song, the recommendation
`engine 24 of the peer device 12 provides a recommendation
`identifying the selected songto the other peer devices 14, 16
`(step 316-318).
`[0041]
`FIG. 4 illustrates the system 10' according to
`second embodimentof the present invention. In this embodi-
`ment, the peer devices 12'-16' form a P2P network via the
`network 20 and a proxy server 40. The peer devices 12'-16'
`maybe any device having a connection to the network 20
`and audio playback capabilities. For example,
`the peer
`devices 12'-16' may be personal computers, laptop comput-
`ers, mobile telephones, portable audio players, PDAs, orthe
`like having either a wired or wireless connection to the
`network 20. As discussed above with respect to the peer
`device 12, the peer device 12' includes music player 22', a
`recommendation engine 24', and a music collection 26’.
`Likewise, the peer device 14' includes a musicplayer 28', a
`recommendation engine 30', and a music collection 32', and
`the peer device 16' includes a music player 34’, a recom-
`mendation engine 36', and a music collection 38.
`[0042]
`FIG.5 illustrates the operation of the system 10' of
`FIG. 4. Prior to beginning the process, the peer devices
`12'-16' form a P2P network. Since the number of peer
`devices 12'-16' that may be connectedto the network 20 may
`be verylarge, the peer devices 12'-16' may implement some
`techniquefor identifying a desired group of peer devicesfor
`the P2P network. For example, the P2P network may be
`initiated using, for example, an electronic or verbal invita-
`tion. As another example, the peer device 12' may maintain
`a “buddylist” identifying friends of the user of the peer
`device 12', where the peer device 12' may automatically
`establish a P2P network with the peer devices of the users
`identified by the “buddy list” when the peer devices are
`connected to the network 20. Alternatively, the peer devices
`12'-16' may form an ad-hoc network wheretheparticipants
`for the ad-hoc network are selected based on similarities in
`user profiles.
`[0043]
`In this example, once the P2P network is estab-
`lished, the peer device 14' plays a song and, in response,
`provides a song recommendation identifying the song to the
`peer device 12' via the proxy server 40 (steps 400-404).
`While not illustrated for clarity, the peer device 14' also
`sends the recommendationforthe song to the peer device 16"
`via the proxy server 40. Thepeer device 16' al