`(12) Patent Application Publication (10) Pub. No.: US 2008/0016205 A1
`
` Svendsen (43) Pub. Date: Jan. 17, 2008
`
`
`US 20080016205A1
`
`(54) P2P NETWORK FOR PROVIDING REAL
`TIME MEDIA RECOMMENDATIONS
`
`(52) US. Cl.
`
`....................................................... 709/224
`
`(75)
`
`Inventor:
`
`$15? Svendsen, Chapel Hill, NC
`
`Correspondence Address:
`CONCERT TECHNOLOGY AND WITHROW &
`TERRANOVA
`100 REGENCY FOREST DRIVE , SUITE 160
`CARY, NC 27518
`
`(73) Assignee:
`
`CONCERT TECHNOLOGY
`CORPORATION, Durham, NC
`(US)
`
`(21) APP1~ N0-3
`.
`Ffled:
`
`(22)
`
`11/484s130
`
`Jul. 11’ 2006
`_
`_
`_
`_
`Publication Class1ficatlon
`
`(51)
`
`Int. Cl,
`G06F 15/173
`
`(2006.01)
`
`ABSTRACT
`(57)
`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 by a peer device.
`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 of the selected media
`presentation, an e—commerce service enabling purchase and
`download Of the selected media presentation, or another peer
`device.
`
`-
`
`18
`
`SUBSCRIPTION
`MUSIC SERVICE
`
`20
`
`PEER DEVICE
`
`MUSIC PLAYER
`@
`
`
`
`
`
`
`
`
`
`MUSIC COLLECTION
`go
`
`
`
`MUSIC COLLECTION
`9.8.
`
`Bose Exhibit 1110
`Bose Exhibit 1110
`Bose v. Koss
`Bose v. Koss
`
`RECOMMENDAT
`PEER DEVICE
`.
`30 ION ENGINE
`PEER DEVICE
`
`
`MUSIC PLAYER : M
`I
`PLAYER
`
`
`
`RECOMMENDATION ENGINE
`a
`
`RECOMMENDATION ENGINE
`&
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 1 of 13
`
`US 2008/0016205 A1
`
`2\
`
`mr
`
`ZOPQEmeDm
`
`
`
`m_0_>mww053$.
`
`
`
`w0_>m_QEmma
`
`
`
` mmmbjn.9mg:
`
`
`
`m0_>m_n_Emin—
`
`
`
`mm><._n_9mg:
`
`mm:
`
`
`
`mzazmZOrEQZMEEOOmm
`
`%
`
`
`
` wZO_._.Om3._OO053$.
`
`
`
`m0_>m_n_Emma
`
`
`
` Nmm><._n_owns.
`
`
`
` %wZBZm.ZOF<DZm2§OOmI
`
`
`
`ZO_.rOm_n_J_OO
`
`Mm
`
`053.).
`F.GE
`
`
`
` mmzézmzoEoszzoomE
`
`
`
`20.55.600522
`
`mm
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 2 0f 13
`
`US 2008/0016205 A1
`
`200
`
`202
`
`204
`
`206
`
`208
`
`210
`
`212
`
`ESTABLISH P2P NETWORK
`
`PLAY SONG
`
`SEND RECOMMENDATION FILE
`FOR THE SONG TO PEERS
`
`RECEIVE RECOMMENDATIONS
`FROM PEERS
`
`FILTER RECOMMENDATIONS
`
`AUTOMATICALLY SELECT
`NEXT SONG TO PLAY
`
`OBTAIN SELECTED SONG
`
`FIG. 2
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 3 0f13
`
`US 2008/0016205 A1
`
`
`
`020w><._n_.vom‘
`
`m.GE
`
`
`
`
`
`Emmamum—n.Emma
`
`
`
`
`
`mO_>m_Qm0_>mn_m0_>mn_
`
`flINIFfl
`
`
`
`wZO_._.<OZm=>_S_OOm_IEm.._.l:n_
`
`
`
`
`
`
` m:__n_ZO_._.<n_2w_>_5_00m_mOzowdomm...__n_ZO_._.<DZm=>_EOOm_EGZOmNom
`.mom‘
`
`
`
`OZOm><._n_.oom‘
`
`
`
`><._n_0...020mFXmZ
`
`
`Fowl—mm>44<O_._.<_>_O.r3<.0PM
`
`
`
`
`Z_<._.m0.Nwm‘
`
`
`
`020wDwkowumm><._n_
`
`.Vwm‘ 020wDMFOm—u—mm
`
`
`m_.:n_ZO_._I<DZm_S=>_OOm_IGZOwam
`
`
`.w:=u_ZO_._.<n_Zm_>_§Oomm"020de
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 4 of 13
`
`US 2008/0016205 A1
`
`e\
`
`ZO_._.n:mOmmDm
`
`
`
`MOSEMWO_wD_>_
`
`mrOw.
`
`>XOIn—
`
`mm>mmm
`
`_N_.
`
`
`
`m0_>wn_Emma
`
`
`
`
`
`m0_>m_0Emma
`
`
`
`mm><._n_0522
`
`Mud
`
`
`
` Mmmzjn.053.2
`
`
`
`m2_02wZOF<DZMEEOOMEm2_02m_ZOF<DZM§§OUME
`
`
`
`
`
`blm.vlm
`
`Wm
`
`an.“El
`
`
`
`mm><._a053.2
`
`b|m
`
`
`
`mzazwzo_._.<n_zm_>_s_oowm
`
`blm
`
`
`
`20.55.600622
`
`.Nlm
`
`
`2955400053.20
`
`M_>mo«man.ad
`
`
`
`ZO_._.0m.jOO0_w3_>.
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`1mJ
`
`0
`
`M
`
`US 2008/0016205 A1
`
`
`
`
`
`m..__n_ZO_._.<n_Zm=>=>_OOm_EOZOdeV
`
`mmzoEozszoomm
`
`
`
`7,5.5.“..m?
`
`
`
`85.20.2292.Ev
`
`
`
`
`
`55mm4..2250.03m><._n_OFSozomEmz
`
`5ozow855mm
`
`
`
`020wOMFOm—meB>5;.wE
`
`
`
`
`
`w.__n_ZO_F<DZw_>=>_OOm_mOZOdev
`
`
`
`m:_n_ZO_._.<DZm_S=>_OOMEGZOW.VNV
`
`
`
`m3.“—ZO_._.<n_2w_2_>_OOm_E620m.NNV
`
`
`
`
`
`m.:=n_ZO_._.<DZm_S_§OOm_¢OZOwdov
`
`
`
`020m><n_n_.mov
`
`m.GE
`
`
`
`
`
`m_.:u_ZOF<QZM§§OOME020m.QNV
`
`m_:=n_20.<Z5:).mm2.vov
`
`
`
`
`
`
`
`m_.=n_.—.Dm—000OmZO_._.<DZNEEOOm=n_GZOwNOV
`
`
`
`mmmm>x0maEmma.«.me
`
`
`
`
`
`
`
`mo_>momm>mwmmo_>m_owo_>wo
`
`
`
`
`
`.OOV‘NIF%.13air
`
`020m><n_n_
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 6 0f 13
`
`US 2008/0016205 A1
`
`500
`
`OBTAIN USER PREFERENCES
`
`
`
`
`
`SCORE RECOMMENDATIONS
`BASED ON USER PREFERENCES
`
`
`
`SCORE LOCAL SONG(S) BASED
`ON USER PREFERENCES
`
`
`
`
`
`SELECT NEXT SONG TO PLAY
`BASED ON SCORES
`
`FIG. 6
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 7 0f13
`
`US 2008/0016205 A1
`
`PIO_m_>>
`
`
`win—0mmEOFwDOI.<O.OOI_OZOIIO
`win—Omn—_>_O._.w30.%|_<O_._.m_m_<In3<
`
`wiszmn.ZOHmDOR|_<O_.rm_m<In_4<
`
`m|__n_Omn_20Fm30%:_<O_._.mm<Inj<
`
`win—OWEEOthnvk...<O_.rmm<In3<
`
`owm?E»
`Vmmmow
`wkmxuVh
`mmom0w
`ONNRmm
`
`k.GE
`
`
`
`>m>.E|:m<|__<><._.Imu_m_>>
`
`
`
`
`
`>m.m0<0m0FIG_m_>>
`
`
`
`
`
`>m_MIZm—G._.Imu_m_>>
`
`g\
`
`
`
`mmOZmW—mummmEMWD
`
`>mww_m_00m._.<0
`
`
`
`
`
`>m_mmmmDFIG_m_>>
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 8 0f 13
`
`US 2008/0016205 A1
`
`/50
`
`CATEGORY WEIGHTING
`
`GENRE
`
`DECADE
`
`USER
`
`AVAILABILITY
`
`NO REPEAT FACTOR
`
`52
`I—-——L—-I
`54
`I——L——I
`56
`l-————L——I
`58
`I—-—‘C-———I
`60
`l-——————L—-I
`
`REVERT
`
`SUGGEST FROM PROFILE
`
`FIG. 8
`
`92
`
`USER WEIGHTING
`
`USER B
`
`94
`USER A E____C__I
`96
`I-—————L———I
`98
`
`I—————L———I
`
`USER C
`
`FIG. 9
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 9 0f 13
`
`US 2008/0016205 A1
`
`/100
`
`GENRE WEIGHTING
`
`ALTERNATIVE
`
`>-—————C——1
`
`102
`
`CLASSIC ROCK
`
`>———L———1
`
`104
`
`ARENA ROCK
`
`H—L—H
`
`106
`
`1—L————1
`
`JAZZ
`
`NEW‘WAVE
`
`PUNK
`
`DANCE
`
`COUNTRY
`
`108
`,
`F—L—l
`
`i———-Li
`
`110
`
`1———L1
`
`112
`
`114
`
`l-———C————|
`
`116
`
`FIG. 10
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 10 0f 13
`
`US 2008/0016205 A1
`
`DECADE WEIGHTING
`
`/118
`
`19505
`
`120
`
`L—L———I
`
`19605 Pg
`
`122
`
`
`
`
`
`
`
`
`
`
`
`19705
`
`19805
`
`19905
`
`20008
`
`
`
`
`
`124
`
`I—%
`
`I—————LI
`
`126
`
`l——————L¢
`
`128
`
`F—L—i
`
`130
`
`FIG. 11
`
`AVAILABILITY WEIGHTING
`
`/ 132
`
`SUBSCRIPTION NETWORK i—-Li
`
`134
`
`I—L———-1
`
`BUY/DOWNLOAD
`
`LOCAL
`
`FIND
`
`136
`
`i——-—£——4
`
`H—L-I
`
`138
`
`140
`
`FIG. 12
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 11 of 13
`
`US 2008/0016205 A1
`
`
`
`2:56.33m6:oumomumEmmEta
`
`.HHH.
`
`N3\\\
`
`IGDIUEmma.020m.erEm—DO
`x559.cozatomnsmmmuowowmrxcza.092.5:9».399.60
`
`
`
`
`xhoEwccozatomnsmmo;wommwREE805.com30>:_>0_ER3::
`
`
`
`x858coitomnsmmméwowmrm>=wEw=mmEmnmmama39mE:E8ch3mm
`
`
`
`
`x835:cozatomnzm5mmwowmr8:36:3smucmam0::wcwm
`
`
`E035:cozqzomnzmNvuomow?x08ooon£9:9:,6tam:2mm
`
`
`x536:cozqzownsmomuvmooomNEW..88..5E0:9:5:5>m>>mmEoocmE>m>>
`
`
`
`
`
`
`x536:53:08.3nmuowooomNbcsooBantamsm90EmEEmEOmcmE>m>>
`
`
`
`
`
`
`umo_:>>o_u\>:ormnmwok:Nhlczdd230>5520::9:£959E:
`
`
`Umo_§>o_u\>:n—rmmonmrx02m9»SonmucsohEma
`
`umo_caou\>:nBumwowmrm>=wEm=m0:930m_>_mc0w=mvmemo
`
`
`
`
`
`umoEEouSBmtomowmrx09>285m_>_mwon6:30:9:8
`
`:82monmtvmommwm>=wEwtm236930:$2030>RESEm30>can:
`
`
`
`:82Fwnmmnmmmowmrm>m>>26:0:23Bacon305029:95
`
`
`
`:82menmvmow?x09cmfi:cm>=>%9:2E5@553can:
`
`:82rwnmmnmvwonmrx095:50me8:025603m59E
`
`
`
`:82vwnvmnomwowmr$28593$23m55:>9,can;
`
`
`
`.82Enmooomx09N:>m_u32:58mcmm
`
`:82FNKwow?:39::meEco:2::059E:3mm
`
`
`Us:“mumwoomrNNEm_>mnmm=E8E5ow5:395
`
`
`
`
`5.3mu_<FZMIEDO
`
`ms.G~l
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 12 of 13
`
`US 2008/0016205 A1
`
`ICDIHIme
`
`031\\«
`
`OZOmFZMEEDO
`
`23m4<FZmEIDO
`
`HH—
`
`
`
`3:50:900E:0000000::0m$.00
`
`
`
`
`
`
`
`0.52:0::23000030mmuv00mm:02559.00:8000>00000.0>8:.00:00
`
`
`
`
`
`
`
`
`
`
`
`mm_moo_$000:wok:0.09:90::ms:50055:59:52:03:
`
`
`
`
`
`
`
`
`
`mm000.:300\>:nmto00mm:0.00:5.00::0.200000:30:0x.E
`
`
`
`
`
`
`
`
`
`mm€050::020000030mo;00mm::0me0:06:0830>:.>0.:zm0V:E
`
`
`
`
`
`
`
`
`
`u:.GE
`
`
`
`:0.82Run003:.08.:a2::9:9E::00
`
`
`
`
`
`mm.000.qum0000:020330:0:03065:000005005::02:
`
`
`
`
`
`
`
`
`
`
`
`mm.000.ENva003:0.00:::E00:00:0:0E000030:03:
`
`
`
`
`
`
`
`
`
`
`
`mm.000.moumfiv0000.,0>=0E0:00.00.00:30:02m30>“0:2,:0030>:03:
`
`
`
`
`
`
`
`
`
`00.08.«06050000902552.0$0.29:>0::00:95
`
`
`
`
`
`
`
`
`
`mm000.:E00E3anm0000:02059.00:0:000m.>.0:00:00:00
`
`
`
`
`
`
`
`an.000.vamooomv.00:N:>003:500:0:0”w
`
`
`
`no{0200::000000030anomow?0.00:0000E9:05:0:00:300
`
`
`
`
`
`
`
`no000.:300\>:n.Fto003:0.00:00>50:00:30:200
`
`
`
`000::.550000..NEW.0300m0:E“0:2,00:0E>0>>
`
`
`
`
`
`
`
`000:050::0300000300mg»mooomNN0_00:9.:05:0E5.3>0300E00:0E>0>>
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fm{0250::0_E:000:0Name.00mexcza.00.2:0_.0>.000:0:00
`
`
`
`
`
`
`
`
`
`
`
`N:0.52:0::ozatomnzmqummumm0000:00:0000:0030:300::0:00
`
`
`
`
`
`
`
`
`
`
`
`000.:300\>:nanm003.,3:580:000>:::0_0::0.:‘:0300...:
`
`
`
`
`
`
`
`
`
`
`
`{050::000000050.56mooom3:5500:0:00300:06mEEmEom:0E>0>>
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jan. 17, 2008 Sheet 13 of 13
`
`US 2008/0016205 A1
`
`
`
`m0<n.mm....2.mmm3
`
`Main
`
`
`
`_>_m_._.w>wJON—H200
`
`fl
`
`>IO_>_m=>_
`
`wmw
`
`
`
`mmzfin.063.2
`
`.mlm
`
`
`
`mofimmfiz.mmm3
`
`MmIF
`
`a.555305200
`
`>m0§m=2
`
`we;
`
`
`
` Nmm><..n.053.).
`
`
`
`m2_02m.20.F<n.2m2.200mm
`
`alm
`
`
`
` mmZ_®Zm_ZOrEDZMEEOOmE
`
`:23mo<m05
`
`Mair
`
`%:23m0<m0hw
`
`
`
`m0<uEmF2.20.20.232.200
`
`
`
`mo<mmmh2.20.20.232.200
`
`81F
`
`bu.UP-s
`
`qua
`
`ms.UE
`
`
`
`
`
`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.
`
`BACKGROUND OF 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. Other ser-
`vices such as Yahoo! Music Unlimited and RealNetwork’s
`
`Rhapsody provide access to millions of songs for a monthly
`subscription fee. As a result, music has become much more
`accessible to listeners worldwide. However, the increased
`accessibility of music has only heightened a long-standing
`problem for the music industry, which is namely the issue of
`linking audiophiles with new music that matches their
`listening preferences.
`teclmologies, 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 the like,
`and assign a rating to each attribute. The ratings for each
`attribute are then assembled to create a holistic classification
`
`for the song that is then used by a recommendation engine.
`The recommendation engine typically requires that the user
`first identify a song that he or she likes. The recommendation
`engine then suggests other songs with similar attributions.
`Companies using this type of approach include Pandora
`(http://www.pandora.com),
`SoundFlavor
`(http://www.
`soundfiavorcom), MusicIP (http://www.musicip.com), and
`MongoMusic (purchased by Microsoft in 2000).
`[0004] Other companies take a communal approach. They
`make recommendations based on the collective wisdom of a
`
`group of users with similar musical tastes. These solutions
`first profile the listening habits of a particular user and then
`search similar profiles of other users to determine 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://www.last.fm), Music Strands
`(http://www.music-
`strands.c0m), WebJay (http://www.webjay.org), Mercora
`(http://www.mercora.com), betterPropaganda (http://www.
`betterpropaganda.com), Loomia (http://www.loomia.com),
`eMusic (http://www.emusic.com), musicmatch (http://www.
`mmguide.musicmatch.com),
`genielab
`(httpz/l’genielab.
`com/), uptoll
`(http://www.upt011.net/), Napster
`(http://
`www.napster.com), and iTunes
`(http://www.itunes.com)
`with its celebrity playlists.
`[0005] The problem with these traditional recommenda-
`tion systems is that they fail to consider peer influences. For
`example, the music that a particular teenager listens to may
`be highly influenced by the music listened to by a group of
`the teenager’s peers, such as his or her friends. As such, there
`
`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.
`
`SUMMARY OF THE INVENTION
`
`invention provides a peer-to-peer
`[0006] The present
`(P2P) network for providing real time
`edia recommenda-
`tions. The media recommendations may be song reconnnen-
`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 presentation to play from the
`media presentations recently played by the other peer
`devices and one or more locally stored media presentations.
`If the selected media presentation is not stored locally by 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
`
`[0008] 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.
`[0009]
`FIG. 1 illustrates a system incorporating a peer-to-
`peer (P2P) network for real time media recommendations
`according to one embodiment of the present invention;
`[0010]
`FIG. 2 is 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 embodiment of the present inven-
`tion;
`FIG. 4 illustrates a system incorporating a P2P
`[0012]
`network for real time media recommendations according to
`a second embodiment of the present invention;
`[0013]
`FIG. 5 illustrates the operation of the system of
`FIG. 4 according to one embodiment of the present inven-
`tion;
`FIG. 6 is a flow chart illustrating a method for
`[0014]
`automatically selecting media to play based on reconnnen-
`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;
`
`
`
`US 2008/0016205 Al
`
`Jan. 17, 2008
`
`FIG. 8 illustrates an exemplary GUI for assigning
`[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 GU 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 GU for assigning
`weights to individual decades from a decade category as part
`of configuring the user preferences aCCO‘ding to one
`embodiment of the present invention;
`[0020]
`FIG. 12 illustrates an exemplary GU 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 GLI 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. 14 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 both genre and
`score according to one embodiment of the present invention;
`[0023]
`FIG. 15 is a block diagram of a peer device of FIG.
`1 according to one embodiment of the present invention; and
`[0024]
`FIG. 16 is a block diagram of a peer device of FIG.
`4 according to one embodiment of the present invention.
`
`
`
`DETAII E D D E SCRIPTION OF THE
`
`
`
`PR E F E RRED E MBODIMENTS
`
`
`
`
`
`
`
`
`[0025] The embodiments set forth below represent the
`necessary infonnat'on 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 acco npanying drawing figures, those skilled
`in the art will unde‘stand the concepts of the invention and
`will recognize applications of these concepts not particularly
`addressed herein. It should be understood that these con-
`
`cepts and applications fall within the scope of the disclosure
`and the accompanying claims.
`[0026]
`FIG. 1 illustrates a system 10 incorporating a P2P
`network for providing real
`time song reconnnendations
`according to one embodiment of the 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 ordinary skill in the art
`upon reading this disclosure. Exemplary video presentations
`are movies, television programs, and the like. In general, the
`system 10 includes a numbe‘ of peer devices 12-16 which
`are optionally connected to a subscription music service 18
`via a network 20, which may 3e a distributed public network
`such as, but not limited 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 may alternatively
`be stationary devices such as a personal computer or the like.
`The peer devices 12-16 include local wireless comimmica-
`tion interfaces (FIG. 15) comrnunicatively 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 of the suite
`
`
`
`
`of IE 4 4 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 implemented in 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 may altema-
`tively be incorporated into the music player 22. The music
`collection 26 includes any number of song files 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 reconnnen-
`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
`below in detail, the recommendation engine 24 operates to
`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 music collection 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 according to the present invention are Yahoo! Music
`Unlimited digital music service and RealNetwok’s Rhap-
`sody digital 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 equally applicable to
`the other peer devices 14, 16. First, the peer devices 12-16
`cooperate to establish a P2P network (step 200). The P2P
`network may be initiated using, for example, an electronic or
`verbal invitation. Invitations may be desirable when the user
`wishes to establish the P2P network with a particular group
`of other users, such as his or her friends. Note that this may
`be beneficial when the user desires that the music he or she
`
`
`
`listens to be influenced only by the songs listened to by, for
`example, the user’s friends. Invitations may also be desir-
`able when the ntunber of peer devices within a local wireless
`
`
`
`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 “buddy list”
`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] Altematively, 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
`oeer device 12 may compare user profiles of the users of the
`other peer devices 14, 16 with a user profile of the user of
`he peer device 12 and determine whether to permit the other
`oeer devices 14, 16 to enter the P2P network based on the
`similarities of the user profiles.
`[0034] At some point after the P2P network is established,
`he peer device 12 plays a song (step 202). Initially, before
`any recommendations have been received from the other
`oeer 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
`0 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, or the like; a Uniform
`Resource Locator (URL) enabling other peer devices to
`obtain the song such as a URL enabling download or
`streaming of the song from the subscription music service 18
`or a URL enabling purchase and download of the 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-commerce service; 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 may also 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
`information identifying the user of the peer device 14 or the
`peer device 14 and a timestamp identifying a time at which
`the song was played or recommended by the peer device 14,
`and information identifying the user of 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 may be appended to the list of recommenders.
`[0036] The peer device 12, and more specifically the
`recommendation engine 24, also receives reconnnendations
`from the other peer devices 14, 16 (step 206). The recom-
`mendations from the other peer devices 14, 16 identify songs
`played by the other peer devices 14, 16. Optionally, the
`recommendation engine 24 may filter the reconnnendations
`
`from the other peer devices 14, 16 based on, for example,
`user, genre, artist, title, album, lyrics, date of release, or the
`like (step 208).
`[0037] The recommendation engine 24 then automatically
`selects a next song to play from the songs identified 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 recommendations received since a
`previous song selection. For example, if the song played in
`step 202 was a song selected 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 recommendations received after
`the song was selected 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 reconnnen-
`dation engine 24 is desired to be minimal such as when the
`peer device 12 is a mobile terminal or the like having limited
`processing and memory capabilities. In another embodi-
`ment,
`the recommendation engine 24 may consider all
`previously received reconnnendations, where the recom-
`mendations may expire after a predetermined or user defined
`period of time.
`[0038] As discussed below, the user preferences used to
`select the next song to play may include a weight or priority
`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—commerce service or one of the 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. The user preferences may alternatively be automati-
`cally provided or suggested by the recommendation engine
`24 based on a play history of the peer device 12. In the
`preferred embodiment discussed below, the songs identified
`by the 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 obtains the selected song (step 212). If the 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—commerce service, 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 may be 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 and the process repeats
`(steps 202-212).
`
`
`
`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
`0 one embodiment of the present invention. The illustrated
`orocess is the same as discussed above with respect to FIG.
`2. As such, the details will not be repeated. In general, the
`oeer devices 14, 16 play songs and, in response, provide
`song recommendations to the peer device 12 (steps 300-
`306). The peer device 12 may optionally filter the recom-
`nendations from the peer devices 14, 16 (step 308). The
`‘ecommendation 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
`3ased 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 song to the other peer devices 14, 16
`(step 316-318).
`[0041]
`FIG. 4 illustrates the system 10' according to
`second embodiment of 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'
`may be any device having a comiection 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, or the
`like having either a wired or wireless cormection 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 music player 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 connected to the network 20 may
`be very large, the peer devices 12'-16' may implement some
`technique for identifying a desired group of peer devices for
`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 “buddy list” 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. Altematively, the peer devices
`12'-16' may form an ad-hoc network where the participants
`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 identif