US009269107B2

(12) United States Patent (10) Patent No.: US 9.269,107 B2 Boulter et al. (45) Date of Patent: Feb. 23, 2016

(54) INTERNET RADIO AND BROADCAST (2013.01); G06N 5/02 (2013.01); G06O20/123 METHOD PERSONALIZED BY D. (2013.01); H04H 60/46 (2013.01); (71) Applicant: Pandora Media, Inc., Oakland, CA (Continued) (US) (58) Field of Classification Search (72) Inventors: Jeffrey R. Boulter, Los Angeles, CA CPC ... H04L 65/4076; H04H 60/46; H04H 60/82; (US); Todd M. Beaupre, Los Angeles, HO4H22O1/13 CA (US) See application file for complete search history. (73) Assignee: Pandora Media, Inc., Oakland, CA (56) References Cited (US) U.S. PATENT DOCUMENTS (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 5,410,344 A 4/1995 Graves et al. U.S.C. 154(b) by 0 days. 5,675,743 A 10/1997 Mavity (21) Appl. No.: 14/578,015 (Continued) (22) Filed: Dec. 19, 2014 FOREIGN PATENT DOCUMENTS Prior Publication Data (65) WO WO97O2537 1, 1997 US 2015/O106451 A1 Apr. 16, 2015 OTHER PUBLICATIONS Related U.S. Application Data European Extended Search Report in EPO application 11 190849.7 (63) Continuation of application No. 14/195.434, filed on mailed Apr. 4, 2014. Mar. 3, 2014, which is a continuation of application (Continued) No. 12/765,525, filed on Apr. 22, 2010, now Pat. No. 8,700,795, which is a continuation-in-part of Primary Examiner — Jeong S Park application No. 09/709,234, filedon Nov. 9, 2000, now (74) Attorney, Agent, or Firm — Beyer Law Group LLP Pat. No. 7,711,838. (57) ABSTRACT (60) Provisional application No. 60/164,846, filed on Nov. 10, 1999. Data streams are generally selected according to user prefer ences and transmitted to the user in general alignment with (51) Int. C. expressed preferences of the user. Such data streams may be G06F 15/16 (2006.01) music, including music videos. Users may indicate their gen G06O 30/06 (2012.01) eral or specific preferences with regards to song, artists, or (Continued) albums. Any other aspects or factors that might affect the (52) U.S. C. user's preferences can be taken into account. A playlist is CPC ...... G06O 30/0641 (2013.01); G06F 3/0482 created that combines all of these factors. The playlist then (2013.01); G06F 3/04817 (2013.01); G06F serves as the basis for feeding the data streams to the user. 3/04842 (2013.01); G06F 3/04847 (2013.01); Each user is able to express his or her own preferences and G06F 17/2235 (2013.01); G06F 17/30053 receive music corresponding to those preferences on an on (2013.01); G06F 17/30752 (2013.01); G06F going basis. 17/30761 (2013.01); G06F 17/30772 (2013.01); G06F 17/30867 (2013.01); G06F 17/30902 28 Claims, 37 Drawing Sheets

20s 220 222 Sasa (9 al () - a t-O - (- OLAUNCHastco ?ix HOME a TCH is STEN INTERACT READ a No MYLAUNCH music that listens to you" 223 Personalizing LAUNCHcast STATIONMANAGER MySTATIONSTATIONSRATEMUSICFEEDBACK HELP cussian)|224 asjordan's STATION Who's Listening aver 228 LAY YOUR STATION FANS HitsMarc Ad 227 Meries Fadel Tears. For Fear E.minature cosa Corlettes 688 Moder Rock 228 Crazy Seal 1930's an as minature Ad coo34 Invisible Sun i The Police 210|S" JE Woidsong & AD 6) Rotten Applei Alice in Chains LAUNCHast Ad PLAY > KrawMasons 230 232 234 - PLAY () Aquiminii Outkast

LAUNCHcast Top 10 Movember 8 RATINs TITLE ARTIST Statis 1 Intergaletic The Beasty Boys Moods 3: 1 special Garbage US 9.269,107 B2 Page 2

(51) Int. Cl. (56) References Cited G06F 7/30 (2006.01) U.S. PATENT DOCUMENTS H04H 60/46 (2008.01) M H04H 60/66 (2008.01) 5,734,720 A 3/1998 Salaganicoff 5,931.901 A 8, 1999 Wolfe et al. H4N2L/443 (2011.01) 5,963,916 A 10/1999 Kaplan H4N2L/45 (2011.01) 6,088,455 A 7/2000 Logan et al. 6,118,450 A 9, 2000 Proehlet al. H4N2L/454 (2011.01) 6, 192,340 B1 2/2001 Abecassis H4N2L/466 (2011.01) 6,226,672 B1* 5/2001 DeMartin ...... GO9B 7,04 369/30.08 H4N2L/475 (2011.01) 6,248,946 B1 6/2001 Dwek H4N2L/482 (2011.01) 6,314,094 B1 1 1/2001 Boys 6,370,513 B1 4/2002 Kolawa H4N2L/6 (2011.01) 6,434,621 B1* 8/2002 Pezzillo ...... HO4N 7/17318 H4N2L/8 (2011.01) 348/E7.071 6,438,579 B1* 8/2002 Hosken ...... GO6F 17,30867 G06N 5/02 (2006.01) 707,999.OO2 H04L 29/08 (2006.01) 6,498,955 B1* 12/2002 McCarthy ...... GOSB 13,0265 TOOf1 G06F 3/0482 (2013.01) 6,546.421 B1 * 4/2003 Wynblatt ...... GO6F 17,30867 G06F 3/0484 (2013.01) 707/E17.109 6,581,103 B1* 6/2003 Dengler ...... HO4L 29/06 G06F 3/048. I (2013.01) TO7 (999-001 G06F 7/22 (2006.01) 6,587,127 B1 * 7/2003 Leeke ...... G06Q 20/123 71.5/733 G06O20/12 (2012.01) 6,662,231 B1 12/2003 Drosset et al. HO4H 6O/82 (2008.01) 7,711,838 B1* 5/2010 Boulter ...... GO6F 17,30761 TO9,231 HO4L 29/06 (2006.01) 8,700,795 B2 * 4/2014 Boulter ...... GO6F 17,30761 TO9,231 HO4H2O/82 (2008.01) 2008/0285.552 A1 11/2008 Abdulla et al. HO4H 60/06 (2008.01) 2015/0106727 A1 4/2015 Boulter et al. HO4N 2 1/462 (2011.01) OTHER PUBLICATIONS (52) U.S. Cl. Office Action in U.S. Appl. No. 14/578,047, dated Mar. 12, 2015. CPC ...... H04H 60/66 (2013.01); H04L 65/4084 Office Action in U.S. Appl. No. 14/577,957, dated Mar. 6, 2015. (2013.01); H04L 67/02 (2013.01), H04L 67/10 Office Action in U.S. Appl. No. 14578.057, dated Mar. 4, 2015. (2013.0).(2013.01), H0416722(2013-0). H04N2 1/443 (2013.01). H04L H04N6742 officeESSENEENESS Action in Us Apl. No. 14/577974, datedMar. 17, 2015. 21/454 (2013.01); H04N 2 1/4532 (2013.01); Office Action in U.S. Appl. No. 14/195.434, dated Jun. 25, 2015. H04N 2 1/4668 (2013.01); H04N21/4756 Office Action in U.S. Appl. No. 14/578,041, dated Jul. 31, 2015. (2013.01); H04N21/.4825 (2013.01); H04N Office Action in U.S. Appl. No. 14/578,047, dated Jul. 28, 2015. Office Action in U.S. Appl. No. 14/578,076, dated Jul. 15, 2015. 2L/62in NS, Hety2.8E%. Office Action in U.S. Appl. No. 14/578,076, dated Jul. 23, 2015. ( .01): Office Action in U.S. Appl. No. 14/577,957, dated Jul. 15, 2015. (2013.01). H04H 60/06 (2013.01). H04H 60/82 Office Action in U.S. Appl. No. 14/578.057, dated Jul 15, 2015. (2013.01); H04L 65/4076 (2013.01); H04N 21/4622 (2013.01) * cited by examiner U.S. Patent US 9.269,107 B2

Diff

U.S. Patent Feb. 23, 2016 Sheet 2 of 37 US 9.269,107 B2

s,uepJOISe CATEDCETHSOORTÕTSIEDOTICED

U.S. Patent Feb. 23, 2016 Sheet 5 Of 37 US 9.269,107 B2

205

S20 V 69 al Q -Dari Q - (- HitsMancN FANS 8 Memories Fade / Tears For Fear HitsMan Corlette1i.e : G Corlette 1 (W) Genre Crazy | Seal Modern Rock 1980's minature (W) Invisible Sun / The Police Voidsong & Rotten Apple? Alice in Chains KravMason (W) Aquiminil Outkast STATION MANAGER

Y LAUNCHcast Top 10 November 8 CD CC D RATING TITLE ARTIST Z Genres 1 Intergalctic CC The Beasty Boys s Stations 1 Special Garbage 2 3 Out Of My Head Fastball O MOOd's H 4. Smells Like Teen Spirit Nirvana < H Options EE CO Share O 6 Elderly Woman Behind The Counter.... Pearl Jam 7 Daughter Pearl Jam 8 Sweetest Thing U2 9 Been Caught Stealing Jane's Addiction 10 Where The Streets Have No Name U2

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

FIG. 3 U.S. Patent Feb. 23, 2016 Sheet 6 of 37 US 9.269,107 B2

06O…)

ZZZ

DDDDDDDDDDD OZZ 0||#7 SEEVNWWNOIIVIS][Ang][SØNOSINEOE, ?Se9HONOVIDI U.S. Patent Feb. 23, 2016 Sheet 7 of 37 US 9.269,107 B2

220

Terrapin Station {a} asjordan's LAUNCHCast Station Terrapin Station {a} 530 Grateful Dead 525 The Arista YearS (1996(

520

510 512 HitsMan COrlette1 minature Average Rating 60 U.S. Patent Feb. 23, 2016 Sheet 8 Of 37 US 9.269,107 B2

220

Terrapin Station {a} asjordan's LAUNCHCast Station Terrapin Station {a} Grateful Dead The Arista Years (1996) ODI b) IX I ()DDDDDDDDDD You have not rated this album RATE IT

FANS HitsMan COrlette 1 minature Average Rating 60

RECENT SONGS STATION MANAGER () LAUNCH.Cast

F.G. 6 U.S. Patent Feb. 23, 2016 Sheet 9 Of 37 US 9.269,107 B2

Mama Said Knock You Out X asjordan's LAUNCHCast Station 5\lama Said KnOCk You Out LL COOl J 710 All World (1996)

FANS Angie5 COrlette 1

Average Rating 60

RECENT SONGS STATION MANAGER

AD "" LAUNCH.Cast

FIG. 7 U.S. Patent Feb. 23, 2016 Sheet 10 Of 37 US 9.269,107 B2

Pretty Good Year? Tori Amo. asjordan's LAUNCHCast Station y Pretty Good Year TOri AmOS Under the Pink (1994) 805 O Why this song was played You rated this artist

FANS Samatha COrlette 1

Average Rating 53

RECENT SONGS STATION MANAGER AD "" LAUNCH.Cast

FIG. 8 U.S. Patent Feb. 23, 2016 Sheet 11 of 37 US 9.269,107 B2

LAUNCHcast - Microsoft. X asjordan's LAUNCHCast Station Updating

OO }} X ()DDDDDDDDDD RATE IT

RECENT SONGS STATION MANAGER (a LAUNCH.Cast FIG. 9 U.S. Patent Feb. 23, 2016 Sheet 12 Of 37 US 9.269,107 B2

205 Y20 N 69 al Q -Dari Q - (- LAUNCH ARTISTSEARCH IGO) aa. DiscOver New Music November 8, 1999 HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH

music that listens to you" LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP asjordan's STATION Who's Listening NOW PLAYING there are 22 members listening She Has Funny Cars badluckroy QP AC Mama Said KnOCKYOU Out I LL COOJ PLAY YOUR STATION jnaut QP LAUNCHCast Guilty Gravity Kills O she Has Funny Cars O, Januare a techno girl (WP Ad Cant BackDown Toad The Wet Sprocket Msinformation(WP Creep Radiohead p Ad Kin Rock richard99 Q We Will ROCKYOUI Queen MORE RESULTS PLAY (D) STATION MANAGER

5.SDJs Ratings f;(ARPI I 2 o 1 Intergalctic The Beasty Boys S Genres E 2 E 1 Special Garbage O Stations S 3 Out Of My Head Fastball Mood's 3 4 Smells Like Teen Spirit Nirvana Y FIG. 10 U.S. Patent Feb. 23, 2016 Sheet 13 Of 37 US 9.269,107 B2

S20 N 69 al Q - X - i. Q - his The Prodigy Experience Bad Businessman | Squirrel Nut Zippers PLAY YOUR STATION LAUNCHCast Every Morning ) Goldleader & Sugar Ray (Rock) Wonderwal / Oasis 14:59 (1999

Recommended by fans of jnaut () The Beatles y RATE IT S Time After Time? Cindi Lauper badluckboyg Ad Modern Rock Something So Right? Annie Lennox 1980's U M RECENTSGS STATIONRAMACER OrDahl (W) SA Brothers Rag-Wynton Marsalis PLAY Gd) Seplet? Wynton Marsalis STATION MANAGER E Y LAUNCHcast Top 10 November 8 CD D J S CC RATING TITLE ARTIST 2 Genres CC 1 Intergalctic The Beasty Boys s Stations 1 Special Garbage 2. 3 Out Of My Head Fastball O MOOds C H 4. Smells Like Teen Spirit Nirvana

LAUNCHCast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AOOut Launch Launch On CD-ROM Feedback Help (GM) FIG. 11

U.S. Patent Feb. 23, 2016 Sheet 17 Of 37 US 9.269,107 B2

asjordan's LAUNCHcast Station Page Microsoft Internet Explorer File Edit View Go Bookmarks Tools Help Y20 V 69 al Q - a -i- Q ?t ?' ARTISTSEARCH 4th ANICH Vy November 8, 1999 HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH Music that listens to you LAUNCHCast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP asjordan's Highest-rated Songs Now Showing #1-10 Title Artist Watermark Enya Jefferson Airplane Today Jefferson Airplane Somebody To Love Jefferson Airplane She Has Funny Cars Jefferson Airplane Embryonic Journey Jefferson Airplane Wish You Were Here Pink Floyd It's The End Of The World ASWe R.E.M Know it (And I Feel Fine) So Central Rain (I'm Sorry) R.E.M. Losing My Religion R.E.M.

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

SOOnSOrs AbOut Launch Launch On CD-ROM Feedback Help (GM) w

FIG. 15 U.S. Patent Feb. 23, 2016 Sheet 18 Of 37 US 9.269,107 B2

LAUNCH DisCOver New Music Microsoft Internet Explorer File Edit View Go Bookmarks Tools Help

LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP You can improve your station by liking other DJs that share your music tastes and SupSCribing to them by using the checkboxes below. This will allow those members to influence your station with their ratings of artists, albums, and songs that you haven't rated. Featured DJs Station Picked By LAUNCH Toad The Wet The Meters, R.E.M. Radiohead, Sprocket, Garbage, Commadors, Grant Sinead O'Connor, Counting CrOWS, Ne Green, Frank The Werve Radical, more Sinatra, more Pipe, more

asjordan's DJs DJSYOU Have SubSCribed TO Member Name G Online n = Subscribed Use the SubSCribe buttons to SubSCribe to Other DJs Stations Popular DJs DJs With The MOSt SubSCriberSTOTheir LAUNCHCast Station Member Name Q Online n/ = Subscribed HitsMan Q D PLAY Gd) 180 SubSCribers Toad The Wet Sprocket, Garbage, COunting CrOWS, New Radical, Colony (ROCk), more boulter D 145 SubSCriberS Pet Shop Boys, Sting, Sarah McLaughlan, Ben Folds Five, Garbage, more gmoney411 Q 119 SubScribers 311, Dave Matthews Band, UB40, Kid Rock, Red Hot Chili Peppers, more ratcage2 109 SubSCriberS U.S. Patent Feb. 23, 2016 Sheet 19 Of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View Go Bookmarks Tools Help |Yap V 69 QQ Ya Yi asjordan's DJs DJs YOU Have Subscribed TO Member Name GP Online R7 = Subscribed Use the SubSCribe buttons to SubSCribe to Other DJs stations

Popular DJs DJs WithThe Most SubSCriberSTOTheir LAUNCHCast Station Member Name Q Online R7 = SubSCribed HitsMan Q 180 SubSCriberS Toad The Wet Sprocket, Garbage, Counting Crows, New Radical, Colony (Rock), more bOulter 145 SubSCriberS Pet Shop Boys, Sting, Sarah McLaughlan, Ben Folds Five, Garbage, more gmoney411 Q D 119 SubSCriberS 311, Dave Matthews Band, UB40, Kid Rock, Red Hot Chili Peppers, more ratcage2 109 SubSCriberS U2. Dave Matthew Band, Lemonheads, R.E.M., Santana, mOre launchthis 99 SubSCriberS Rush. The Verve Pipe, The Police. The Smiths, U2, more

DJ SEARCH Find a DJ named Go LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AbOut Launch Launch On CD-ROM Feedback Help GM

FIG. 17 U.S. Patent Feb. 23, 2016 Sheet 20 Of 37 US 9.269,107 B2

LAUNCH DisCOver New Music Microsoft Internet Explorer File Edit View Go Tools Help Y2N 69 al Q. al-Hi-Q - i. BOOKmarks LAUINVU.S. LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP By Selecting the local stations you like to listento, LAUNCHCast can perSonalize yOur music by playing more of whats ordinarily played on those stations. Click on a radio stations call letters to see what they are currently playing Check the radio stations around zip To add more radio Stations, enter a code 90293 that you like and press Zip Code to find stations in that area the 'Save' button when you're done. LOS ANGELES (U.S. Only) KACD 103.1 Find Radio Stations SES 104.3 (City - Zip Code LOOkup) KISS 100.3 KIIS 103.7 KIKF KICK FM KJLH Rhythm 102.3 KKBT 92.3 The Beat KLOS 95.5 KLYYY107 KOST 103.5 KPWR 105.9 KROQ 108.7 KSCA 101.9 KYSR Star 98.7 KZLA 93.9 SAN BERNADINO-RIVER KCAL 96 Rock KCAL FM KCXX 103.9 KFRGK-Frog KGG|99 ONE

FIG. 18 U.S. Patent Feb. 23, 2016 Sheet 21 Of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View Go Tools Help S20 N 69 al Q - a - E - Q - (- LOS ANGELES KACD 103.1 Find Radio Stations D SS 104.3 (City - Zip COde LOOkup) KISS 100.3 KIIS 103.7 KIKF KICKFM KJLH Rhythm 102.3 KKBT 92.3 The Beat KLOS 95.5 KLYYY107 KOST 103.5 KPWR 105.9 KROQ 108.7 KSCA 101.9 KYSR Star 98.7 KZLA 93.9 SAN BERNADINO-RIVER KCAL 96 Rock KCAL FM KCXX 103.9 KFRGK-Frog KGG|99 ONE Save

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AbOut Launch Launch On CD-ROM Feedback Help Ge.

FIG. 19 U.S. Patent Feb. 23, 2016 Sheet 22 Of 37 US 9.269,107 B2

LAUNCH DisCOver New Music Microsoft Internet Explorer File Edit View Go Tools Help Y20 V 69 al Q a E. Q - (-) LAU NCH ARTISTSEARCH (GO) DiscOver New Music November 8, 1999 HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH LAUNCHCast LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP What type of Internet Connection do you have? AUDIO CONNECTION TYPE QUALITY 64 kb/s O Office Or School LAN, Cable modem, DSL ISDN Stere0 32 kb/s O 56K modem Stereo 16 kb/s O 28.8 Or 33.6 mOdem Mono How much new music would you like to discover? O Want to disCOVer a lot of music O O O Wantamix of music Verated highly and music haven'trated O O O want to listen to mostly music I've rated

FIG. 20 U.S. Patent Feb. 23, 2016 Sheet 23 Of 37 US 9.269,107 B2

LAUNCH DisCOver New Music Microsoft Internet Explorer File Edit View Go Tools Help Y20 V 69 a Q a E. Q is CONNECTION TYPE QPR O Office Or School LAN, Cable modem, DSL ISDN 64Stereo kbis O 56K modem S. O 28.8 Or 33.6 modem ass How much new music would you like to discover? O Want to disCOver a lot of music O O G) wantamix of music I've rated highly and music haven'trated O O O want to listen to mostly music I've rated Do you want to hear music with explicit lyrics? DYes, play music that COntains explicitlyrics

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AbOut Launch Launch On CD-ROM Feedback Help (GM)

O v

FIG 21 U.S. Patent Feb. 23, 2016 Sheet 24 of 37 US 9.269,107 B2

LAUNCH DiscOver New Music Microsoft Internet Explorer File Edit View GO Tools Help YZ2 \ 69 al Q - x -i- Q the LAU NCH ARTISTSEARCH G) 4tha Discover New Music November 8, 1999 HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH LAUNCHCast LAUNCHcast STATION MANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP MOOdsallow you to Create 'Sub-Stations" of yOur LAUNCHcast Station. These moods can have SOme Oral Of the radio Stations, genres, and DJs you've Selected to perSonalize yOur Station, My moods (You have not Created any moods yet) CREATEAMOOD

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AOOut Launch Launch On CD-ROM Feedback Help Ga W

FIG. 22 U.S. Patent Feb. 23, 2016 Sheet 25 Of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View GO Tools Help Y9 V 62 al () v. My Ei LAU NCH ARTISTSEARCH GO DiscOVer New Music November 8, 1999 HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH LAUNCHCast LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP MOOd Name Choose a name for thismOOdlike"MeNow", "Friday Afternoon", or "Jazz and Blues". Regular Mood Genres Select which Genre you want to hear music from in thismOOd.

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AbOut Launch Launch On CD-ROM Feedback Help GM

F.G. 23 U.S. Patent Feb. 23, 2016 Sheet 26 of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View Go Tools Help Y20 V (9 al Q a E. Q - 9 LAUNCHCast LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP Tell the personalized DJ Which kinds of music you usually listen to and that information will be used to play Similar music On your personalized LAUNCHcast station. POP/ROCK REGGAE Generation Pop-Rock General reggae Mainstream ROCK Roots Modern ROCk Dub Heavy Metal Ragga-Dancehall Classic ROCK Ska Industrial Rock WORLD Progressive Rock General WOrld Gothic Rock Celtic African Indie Rock Middle Eastern Adult Contemporary Top 40 Carribean Surf SOUth Pacific Hardcore-Punk Asian BLUES New Age General Blues General new age Modern Blues FOLK Classic Blues O General folk JAZZ Modem Generation JaZZ Traditional Mainstream Jazz GOSPEL Smooth Jazz O General gospel Fusion Contemporary Christian Big Band SINGER-SONGWRITERS Swing General singer-songwriters Latin JaZZ ORIGINAL CAST RECORDER LOunge General original cast recording

FIG. 24 U.S. Patent Feb. 23, 2016 Sheet 27 Of 37 US 9.269,107 B2

LAUNCH DisCOver New Music Microsoft Internet Explorer File Edit View Go Tools Help YZ2 \ 69 al Q - a -i- O - (- DLOunge COMEDY SPOKEN WORD Adult Jazz General Comedy-spokenword COUNTRY General Country CHILDREN'S Traditional COuntry D General children's Modern Country CHRISTMAS O Alt Country General Christmas D Bluegrass EASYLISTENING OCajun O General easy listening URBAN GENERAL General urban General general O Rap INSTRUMENTAL Hip-Hop General instrumental Traditional R&B SOUND EFFECTS SOUNDTRACKS O General sound effects General Soundtracks Original SCOres Pop Soundtracks ELECTRONIC DANCE General electronic dance Ambient House And Garage Techno Drums N Bass TripHop

LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AOOut Launch Launch On CD-ROM Feedback Help (GM)

FIG. 25 U.S. Patent Feb. 23, 2016 Sheet 28 Of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View Go Tools Help Y20 N 69 a G) - X - i. Q - (- LAUNCHCast LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP asjord al 's asjordan's station LAUNCHCast station Q PLAY Gd) asjordan'has rated 86 songs, 59 artists, and 31 albums level enthusiast 1 member has listened to asjordan's station asjordan is Currently listening to Doll Parts. (acoustic version) Hole Ask For it (EP) asjordan's Highest Rated Songs Title Artist Rating Watermark Enya 100 Wooden Ships Jefferson Airplane 100 Today Jefferson Airplane 100 Somebody To Love Jefferson Airplane 100 She Has Funny Cars Jefferson Airplane 100 Embryonic Journey Jefferson Airplane 100 Wish You Were Here Pink Floyd 1OO It's The End Of The World As We Know it (And I Feel Fine) R.E.M. 100 So Central Rain (I'm Sorry) R.E.M. 100 Losing My Religion R.E.M. 100

asjordan's DJs asjordan's Subscribers asjordan's Radio-Stations (None) (None) (None) (edit) Total: 0 (edit)

FIG. 26 U.S. Patent Feb. 23, 2016 Sheet 29 Of 37 US 9.269,107 B2

LAUNCH Discover New Music Microsoft Internet Explorer File Edit View GO Tools Help Y20 V 69 al Q - a -i- O - (- asjordan is Currently listening to Doll Parts. (acoustic version) Hole Ask For it (EP) asjordan's Highest Rated Songs Title Artist Rating Watermark Enya 100 Wooden Ships Jefferson Airplane 100 Today Jefferson Airplane 100 Somebody To Love Jefferson Airplane 100 She Has Funny Cars Jefferson Airplane 100 Embryonic Journey Jefferson Airplane 100 Wish You Were Here Pink Floyd 100 It's The End Of The World As We Know it (And I Feel Fine) R.E.M. 100 So Central Rain (I'm Sorry) R.E.M. 100 LOsing My Religion R.E.M. 100

asjordan's DJs asjordan's Subscribers asjordan's Radio-Stations (None) (None) (None) (edit) Total: 0 (edit) DJ SEARCH Find a DJ named Go LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors About Launch Launch On CD-ROM Feedback Help Ge.

FIG. 27 U.S. Patent US 9.269,107 B2

ise0HONmwiDj U.S. Patent Feb. 23, 2016 Sheet 31 Of 37 US 9.269,107 B2

?SBOHONNWT dTEHMOWGOREJOISNINBIWHSNOIIVISNOIIVISÁNH3OWNWWNOIIVIS1880HONñWT

|96euaay U.S. Patent Feb. 23, 2016 Sheet 32 Of 37 US 9.269,107 B2

5)NOSILNEHOE,

U.S. Patent Feb. 23, 2016 Sheet 33 Of 37 US 9.269,107 B2

asjordan's LAUNCHcast Station Page Microsoft Internet Explorer File Edit View Go Bookmarks Tools Help Y20 V 69 al Q - Da - E - Q - (- LAU NCH ARTISTSEARCH GO) Discover New Music November 8, 1999 f HOME o WATCH o LISTEN o INTERACT o READ o WIN o MYLAUNCH LAUNCHCast LAUNCHcast STATIONMANAGER MySTATION STATIONS RATE MUSIC FEEDBACK HELP Monday, November 8, 1999 Compiled daily from all LAUNCHcast stations TW = THIS WEK LW = ASTWEEK NET PLAYS = number of plays over 14 day period NET TW LW TITLE BIGGEST MOVE ARTIST is RATE IT 1 31 Intergalactic Beastie Boys 73 (GEO) 1 2 Special Garbage 73 (EO.) 3 1 Out Of My Head Fastball 71 4 3 Smells Like Teen Spirit Nirvana (Punk) 70 E33 5 7 Song 2 Blur 67 6 6 Elderly Woman Behind The Counter. Pearl Jam 66 6 4 Daughter Pearl Jam 66 8 9 Sweetest Thing - (The Single Mix) U2 65 9 5 Been Caught Stealing Jane's Addiction 64 10 36 Where the Streets Have No Name U2 62 GEO ...) NEXTX LAUNCHcast STATIONMANAGER MySTATION DJs TOP 100 FEEDBACK HELP

Sponsors AbOut Launch Launch On CD-ROM Feedback Help

FIG. 31 U.S. Patent Feb. 23, 2016 Sheet 34 of 37 US 9.269,107 B2

Audio Video' window expansion (Contains basic player functionality) (displays video when in video mode)

"When video is off in a community channel. chat takes up entire right pane" Users WindoW Chat window expansion (v2.5) (who's listening to this) (type and view chat)

FIG. 32 U.S. Patent Feb. 23, 2016 Sheet 35. Of 37 US 9.269,107 B2

Old Rating Text

The Best Great like that It'S OK Not mything Pretty Bad Hate it

FIG. 33 U.S. Patent Feb. 23, 2016 Sheet 36 of 37 US 9.269,107 B2

Album Artist Neither Weight Matrix Exists Exists Exists Album->song ratin 9 30 0 O Artist->song rating 0 20 O MyDJs avgrating 15 15 .220 O BDS Playlist->song rating 15 15 .220 O Venue->artist->song rating 05 .05 .05O5 NetP recommendation rating 101 O Community average rating .05O5 Last Played 2 O Total 1.0 .09 .08

Album- Artist MyDJs BDS Community Last >Song >Song Avg DiZZ Knee Land Building A O |O 569 1612 562 Mystery 75 o (55.1) U.S. Patent Feb. 23, 2016 Sheet 37 Of 37 US 9.269,107 B2

FIG. 35

Weight matrix: Album- Artist- MyDJs BDS Community Last

E"Land lo o 0.20 020 005 |005 |005 020 Eystery 103 o 0.15 O15 005 |005 |005 |o 25 Army o 0.2 0.15 0.15 005 |005 |005 |0.25 FIG. 36

Score matrix:

Album- Artist- MyDJs BDS Community Last

DiZZ Knee 13.68 2.85 3.06 11.24 Land MysteryBuilding A 22.5 8.63 5 3.26 2.76 5.78 Army O 130 1849 s 237 264 |250 FIG. 37 US 9,269,107 B2 1. 2 INTERNET RADIO AND BROADCAST system and method. The present invention provides means by METHOD PERSONALIZED BY D. which users may individually rate or indicate music, music Videos, or other recorded media that they enjoy hearing from CROSS-REFERENCES TO RELATED a vast musical or other database. Additionally, Such users may APPLICATIONS also indicate the exclusion of music/media that is to their This application is a Continuation of prior, U.S. application distaste. In so doing, the user interaction is limited to that Ser. No. 14/195,434, filed on Mar. 3, 2014, which is a con decision-making role that is necessary for the user to establish tinuation of U.S. patent application Ser. No. 12/765,525, now his or her preferences. The Internet radio of the present inven U.S. Pat. No. 8,700,795, filed Apr. 22, 2010, which is a tion and its method take care of the rest, providing the end Continuation of U.S. patent application Ser. No. 09/709,234, 10 user a media or radio channel tailored to his or her own filed Nov. 9, 2000, now U.S. Pat. No. 7,711,838, which claims musical tastes. In this way, the present invention can be said to the benefit of U.S. Provisional Patent Application No. 60/164, “microcast' or “narrowcast the content of personalized 846 filed Nov. 10, 1999, the contents of each of which are Songlists to individual listening stations or users. As the incorporated herein by reference. 15 broadcast uses Internet protocol, each data packet of each BACKGROUND OF THE INVENTION data stream has its own individual address, namely, the end user's data stream player. As the present invention is scalable, 1. Field of the Invention thousands, eventens or hundreds of thousands of listeners can This invention relates to Internet media data streams and be handled by the present invention. With the advance of the like, and more particularly to a copyright-compliant data-transmission technology, tens or hundreds of millions of audio/video/radio broadcast system over the Internet where users may be served by, or given access to, a system incorpo each individual user is able to set his or her preferences rating the present invention, including the delivery of user regarding works played so as to influence the frequency Such preferred data streams by wireless communication links. works are broadcast to the user. 2. Description of the Related Art Mention is made herein of the present invention with The rise of the Internet has provided many different chan 25 respect to music broadcast to provide a personalized Internet, nels through which media can be presented to users. RealNet or data stream, radio. Note should be taken that use of the term works RealMedia, Apple QuickTime, and Windows Media “radio” “music, and the like includes any recorded datas all provide players through which live or previously-recorded tream content, including music videos and the like. data streams can be displayed, played hack, or broadcast to At the core of the present invention is the playlist generator. the individual user. Both audio and video are generally avail 30 It is the generated Songlist that is associated with the user's able through these programs and provide a higher and more account and indicates to the system which song is to be played attractive degree of interactivity with the Internet. next. Once a song has been selected, it is then streamed as data Regular radio broadcasts arc based upon a central indi out to the individual’s computer (uniquely identified by Inter vidual or station broadcasting Songs, or other audio informa tion, electromagnetically. Different radio stations are sepa 35 net protocol). As the central server of the system can handle a rated by their different carrier frequencies. Amplitude large number of users at any one time, it becomes possible to modulation (AM) and frequency modulation (FM) provide serve each user with his or her own individual data stream. In two means by which radio broadcast can be effected by a this case, the data stream comprises audio and/or video infor transmitter to a receiver. If an individual wants to affect the mation and serves to establish a situation similar to each user Songs that are played by the radio station, he or she may write, 40 having his or her own individual radio station that he or she call, fax, e-mail, or otherwise transmit their preferences to the programs. The list can be created in advance and stored, or radio station. generated, in real time when needed. Collaborative filtering However, one person’s preferred music may not be as techniques may be used in constructing the playlist. appreciated by another individual. Music can be very per Other applications for the present method may also exist Sonal, often affecting a person at an emotional level. When the 45 when similar circumstances are present where a large data radio station broadcasts a song or other audio signal, all base of information is available that is subject to individual receivers tuned to the carrier frequency pick up the broadcast preferences. In a broad sense, the present invention provides and either enjoy or Suffer the broadcast equally. means by which individual Subsets of an all-encompassing It would be much more advantageous to allow each indi data space may be defined, modified, and preserved, Subject vidual to influence their own set of Song playlists. Currently, 50 to a variety of influences and allowing some serendipitous, or this is not achievable by wireless broadcast means. However, random, events to occur. unique data stream addressing available through Internet data processing might provide means by which an Internet radio OBJECTS OF THE INVENTION could be advantageously affected. Other Internet broadcast ing processes are known, but generally follow the known 55 It is an object of the present invention to provide individu radio station format of broadcasting a single song, or data alized data stream programming according to an individuals stream, to all users tuned to the station or channel. In compli preference. ance with the Digital Millennium Copyright Act (DMCA), Such a radio would have to comply with statutory regulations It is yet another object of the present invention to provide regarding the broadcast of songs and would generally have to 60 an Internet-based radio or music playing system that is biased avoid the role of an “on-demand” system, as this might be in according to each user's preferences. violation of statutory regulation. It is yet another object of the present invention to provide a means by which song playlists may be generated for Such an SUMMARY OF THE INVENTION Internet radio. 65 It is an object of the present invention to provide copyright The present invention provides a copyright-compliant, compliant media streams for Internet and other networked broad-based, individually-tailored Internet media broadcast systems broadcast US 9,269,107 B2 3 4 These and other objects and advantages of the present FIG. 23 shows the data window displayed when a mood is invention will be apparent from a review of the following to be created by selecting the “Create a Mood' link shown in specification and accompanying drawings. FIG. 22 in accordance with an embodiment of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS FIGS. 24 and 25 show the data window display when the “Genres’ hyperlink of FIG. 14 is selected in accordance with FIG. 1A is a schematic view of the system architecture used an embodiment of the present invention. to achieve one embodiment of the present invention. FIGS. 26 and 27 show the data window displayed when the FIG. 1B is a screen shot showing a computer desktop with “MySTATION’ link is selected as show at the top of FIG. 26 the audio player and user homepage in accordance with an 10 in accordance with an embodiment of the present invention. embodiment of the present invention. FIGS. 28-30 show the present invention window displays FIG. 1C is a screen shot showing a computer desktop with as background to a “whisper” or instant messaging, function the video player and user homepage in accordance with an enabling users to send messages to one another across the embodiment of the present invention. LAUNCHcast system in accordance with an embodiment of FIG. 2 shows an initial desktop with two browser windows 15 the present invention. arising from an embodiment of the present invention. FIG.31 shows an initial data window display upon select FIG. 3 is a continuation of a larger window in FIG. 2 in ing the “TOP 100” link shown above and below the list of accordance with an embodiment of the present invention. songs in FIG. 31 in accordance with an embodiment of the FIG. 4 shows the smaller player window and the larger data present invention. window used in an embodiment of the present invention. FIG. 32 shows an expandable window for video display FIG. 5 is the smaller player window of FIGS. 2-4 with the and chat in accordance with an embodiment of the present artist highlighted. invention. FIG. 6 is the player window with the album highlighted in FIG. 33 shows additional examples of a song ratings accordance with an embodiment of the present invention. scheme in accordance with an embodiment of the present FIG. 7 shows the player window with the song highlighted 25 invention. and the tool tip indicating "Skip for now’ in accordance with FIG. 34 shows an example of a weight matrix in accor an embodiment of the present invention. dance with an embodiment of the present invention. FIG. 8 is the player window with the tool tip indicating the FIG. 35 shows an example of a user profile matrix in reason why the Song is being played in accordance with an accordance with an embodiment of the present invention. embodiment of the present invention. 30 FIG. 36 shows a weight matrix in accordance with an FIG.9 is the player window showing to the viewer that it is embodiment of the present invention. "Updating its broadcast in accordance with an embodiment FIG. 37 shows a score matrix in accordance with an of the present invention. embodiment of the present invention. FIG. 10 is a close up view of the initial LAUNCHcast window of FIG. 2. 35 BRIEF DESCRIPTION OF THE APPENDICES FIG. 11 shows the bottom half of a second and different initial LAUNCHcast screen similar to that in FIG. 10 in The following appendices are incorporated herein by this accordance with an embodiment of the present invention. reference thereto from U.S. Pat. No. 7,711,838. FIG. 12 shows the player window with its “RECENT Appendix 1 is an excerpted text listing of a playlist gener SONGS tool tip, as well as the data window displayed in 40 ated in conformance with the present invention. response to selecting the recent song's hyperlink in accor Appendix 2 is a source code listing for one embodiment of dance with an embodiment of the present invention. the present invention. FIG. 13 shows a Windows 98 desktop with the smaller player and larger data windows. The “BUY tool tip is dis Description of the Preferred Embodiment(S) played, as well as the data window corresponding to the BUY 45 hyperlink in accordance with an embodiment of the present The detailed description set forth below in connection with invention. the appended drawings is intended as a description of pres FIG. 14 shows the desktop of the player and data windows ently-preferred embodiments of the invention and is not with the player window showing the “STATION MAN intended to represent the only forms in which the present AGER' tool tip, as well as the data window corresponding to 50 invention may be constructed and/or utilized. The description the STATION MANAGER hyperlink in the player window in sets forth the functions and the sequence of steps for con accordance with an embodiment of the present invention. structing and operating the invention in connection with the FIG. 15 is the data window show for selecting the “YOUR illustrated embodiments. However, it is to be understood that RATINGS hyperlink in FIG. 14 in accordance with an the same or equivalent functions and sequences may be embodiment of the present invention. 55 accomplished by different embodiments that are also FIGS. 16 and 17 show the data window display when intended to be encompassed within the spirit and scope of the selecting the “DJs' hyperlink of FIG. 14 in accordance with invention. an embodiment of the present invention. As mentioned above, use of the term “radio,” “music, and FIGS. 18 and 19 show the data window for selecting the the like includes any recorded datastream content, including "Radio Stations' link of FIG. 14 in accordance with an 60 music, videos, recorded sports events and concerts, and the embodiment of the present invention. like. FIGS. 20 and 21 show the data windows displayed when In FIG. 1A, the general structure of the present system is the “Options' hyperlink is selected in FIG. 14 in accordance shown where the LAUNCHcast Player provides user feed with an embodiment of the present invention. back and indication of Song preference through Java Servlets FIG. 22 is the data window display when the “Moods’ 65 and JavaScript code. In one embodiment, a Windows Media hyperlink of FIG. 14 is selected in accordance with an Player may provide the interface allowing the audio and/or embodiment of the present invention. video broadcast to take place at the user's computer. Other US 9,269,107 B2 5 6 media players now known or developed in the future may also database 160 and updated by the servlets as set forth in the Suffice and operate to good advantage. Mentioned use of the present invention, including the user code set forth in Appen Windows Media Player system is to be considered as indicat dix 2. ing any appropriately functioning media player. Song or In FIG. 1B, the player, or playback, window 102 is shown video information is available through both the player and the and is highly interactive with several embedded hyperlinks. accompanying data window. In the upper right-hand corner of the playback window 102, Referring now to FIG. 1A, the architecture and system the indication of “asjordan' is made. By clicking on this link, structure of the Internet radio and broadcast method of the more information about the current station may be given present invention is shown in schematic form. The system 100 and/or the ability to change such station. The user's page 140 is generally focused upon the player 102. The player 102 is 10 may be activated and shown upon clicking the username link. the component that the user sees and is ultimately the arbiter In the right center of the playback window, a “RATE IT' of the media datastream service provided by the present window indicator that is the rating tool 106 is given, allowing invention. As shown in FIG. 1, the player 102 has a song the individual to rate the current “SONG.' the “ARTIST information section 104, a rating tool 106, and a player 108. performing the current Song, and/or an ALBUM containing For this last component, the player 108 is indicated as being 15 the song. Below the “RATE IT indicator, hyperlinks to a Windows Media Player. However, other media players can “RECENT SONGS.” “BUY and “STATION MANAGER also be used to good advantage in order to achieve the present are present allowing the user to travel to those destinations invention. and either learn more information, purchase or review pur Through its components, the player 102 is linked or asso chasing information about the current album being played, as ciated to a number of other sources of information and pro well as access the station manager for the present invention. grams, including Java or other servlets. The present invention, Below the Song information window 104, icons arc given when implemented in Software, may be so implemented using for Play/Pause. Skip This Song. Skip This Song and Never Java-family of computer program languages. A servlet is Java Play It Again (“Delete'), and a Volume control. The question programming that runs as a part of a network service, such as mark (“?) shown below the “Song Information area win an HTTP server, in response to requests from clients. In this 25 dow is a hyperlink to a Help file for the playback window 102 case, the client can be considered to be the player 102 while and the Internet Radio system of the present invention. These the HTTP server can be the servers for the database 160 and icons are also shown in the other playback window FIGS., the media content library 180. such as that for the video playback user interface/client 102 At a center of the present invention is the player 108. The shown in FIG. 1C. player 108 allows the content to be broadcast to the individual 30 FIGS. 1B and 1C show a desktop display of the system 100 user and serves as means by which the user can enjoy Such inaction from the user's point of view. A tool lip may be given content. In addition to being linked to the media database 180, when the cursor hovers over the song title. The same may be the player 108 is also in communication with a media gateway similarly true for the artist and the album currently playing. servlet 120 and a playlist generator servlet 122. As discussed Note should be taken that just as the song rating indicator is in more detail below, these two servlets provide the player the 35 highlighted and active in the middle right section of the play ability to play streaming media in conformance with the back window, the Song title is highlighted in the upperportion present invention. of the playback window. The rating tool 106 is coupled to the database 160 via a Additionally, the left and center middle portion of the play rating accepter servlet 130 and a ratings cache servlet 132. As back window provides information regarding fans who have indicated in FIG.1, the rating accepter servlet 130 and ratings 40 strong positive feelings about the present song, artist, and/or cache servlet 132 are also in communication with one album, as well as an average rating for all users or Some Subset another, as set forth in more detail below. of users on the system. The song information component 104 of the player 102 FIGS. 1B and 1C show small balloons on the right-hand may provide links to other information available through the side of the central dark area across from the "Fans.” These database 160 or otherwise. For example, the song information 45 balloons may have a letter 'W' inside of them to indicate tool 104 may provide links to other user pages 140, a station another listener is currently online and can be engaged via the manager 142, provided home pages of various artists 144, as instant messaging (“whisper) function. FIGS. 1B and 1C well as links to album pages 146 of such artists or otherwise. also show graphic information that may be used for advertis Additionally, a central homepage 148 may be present that ing or other hyperlinks. In generating the playlist of the allows travel or linking to any or all of available pages or 50 present invention, the user can be informed as to why a services. particular song was picked. Note should be taken that the database 160 is not necessar For other links and presentation of information in the ily the home for the media library 180. In fact, according to player 102, a tool tip may be presented when the cursor hovers present technology, it may be more advantageous to provide over an area. A tool tip is a small window providing Succinct Some means by which high-speed access can be provided to 55 information about the item under the cursor when the cursor the media library 180. By separating the database 160 from hovers over that item. the media library 180 faster and better service may be pro When the system 100 is updating and obtaining a new data vided to users so they may enjoy the content of datastream stream from the system for the user, a display may be given to better. Certain infrastructures may allow for offsite residence the user to indicate ongoing activity of the playback system. of the media contained in the media library 180. Pointers or 60 Such visual activity in the form of animation assures the other indicators to Such information in an indexed or other listener/viewer that the short span of silence, or “dead air.” form can thereby provide the link necessary to deliver the following a song is only temporary and that a new song will preferred or indicated content by the user from the media Soon play. Generally, in order to promote interactivity and to library 180 to that same user. take advantage of the new media that the Internet provides, As shown in FIG. 1A, the database 160 may hold a variety 65 the windows shown in the FIGS. 2 and 3 contain ample of types of information, including: user data 162, playlists internal hyperlinks that lead to web pages providing informa 164, and song data 166. Such information is stored by the tion regarding music, artists 144, and/or their works 146, web US 9,269,107 B2 7 8 pages regarding other users of the system (as DJs or other bandwidth: if the bandwidth is not already specified in the wise) 140, and/or web pages regarding the user's control of generator parameters, it is read from Stored data. Currently, the system (preferences, etc.) 142. bandwidth options include 28.8, 56, and T1/LAN. The default The default paradigm for the user interface/player 102 is to is 28.8 if a valid setting of “none' is found in the database. allow the user the greatest degree of freedom in expressing A list of all the possible songs available for play (via preferences and in obtaining that preference information PlaylistGenerator-gatherMedia(() as well as some other data regarding music artists, and their publications/albums. In this about those songs is obtained. This is generally done using way, the user's experience is enhanced as he or she hears more multiple threads running at the same time for better perfor of the music he or she likes. Access to purchasing web sites is mance. The list of songs is held in hashtable (as via the also made available where users may purchase artists’ works. 10 In implementing the present invention in Software, the Population subroutine (Appendix 2, page 198)). accompanying source code (Appendix 2) may be used to The database 160 is first called to load a history of all the achieve the present invention. Such code is Subject to copy songs played for the user in the last 30 days. This is stored in right protection and is owned by LAUNCH Media, Inc. of the database as a long string, formatted as: Santa Monica. Calif. 15 “Date=, , . . . . . 7. If it is not time to play an ad, tip, or news item (the usual 15 for performance reasons; reading one string from the case), the media gateway retrieves the path of the next Song in database is faster than reading potentially several thou the playlist and returns that address via MMS redirect to the sand rows individually from the database. Dates older client’s Windows Media Player. than 30 days are ignored and the last time a song was 8. In all cases, the mediaID of the ad, tip, or song played is played overwrites previous plays of a song. Each time a logged in the database under that user's ID. This logging Song is played via the Media Gateway, this string is information is used: appended. After the history loading is complete, a ran a. To display what the user is listening to on the user's dom integer is picked from 1 to 10. If the value is 1, we station page and under Who's Listening. recreate the date and SongiD string and rewrite it to the b. As history data in the playlist generator. database. This cleans up Songs that were played more c. In calculation of the LAUNCHcast Top 100 chart. 25 than 30 days ago and duplicate entries for the same E Playlist Generation SongiD. In one embodiment, when a user launches his player, an b. As the history loads as a thread, we make another data embedded Windows Media Player opens a call to our Play base call to get the DJ's list of subscribed DJs, genres, listGenerator Servlet (PlaylistGeneratorServlet). The and radio stations (PlaylistGeneratorgetSubscrip expected output from this HTTP call is an ASX playlist file, 30 tions()) for the specific mood they've requested. The which, in LAUNCHcast is list of pointers to a script that reads result of this is three lists (DJs, genres, and stations). the actual playlist data object from the database. c. As soon as we have the subscriptions, we're ready to get The Playlist Generator Servlet parses the particular param ratings (GetRatings). This is also done in a thread. We eters for this playlist: pass the song hashtable, another hashtable that contains Object: GeneratorParameters. 35 Artist and Album ratings (ItemsProfile), the DJ and the useriD: (required) the user for whom we're generating this list of DJs to the GetRatings method. A list of users playlist. whose ratings we want to retrieve is compiled using the DJID: (default is useriD) the user whose profile we will use subscribed DJs and the DJ requesting the playlist, and a to generate this playlist. request is made to the ratingsCache to retrieve all these moodiLD: (default is none) a mood (subset of profile) under 40 ratings (RatingsCache.getRatings()). When the Play which to listen (optional. listGenerator has all the ratings, it is ready to assemble bandwidth: (default is 28.8 k, if not read from the user's them into categorized data structures, based on the prop preferences in the database) the bitrate that the user wishes to erties of each rating. It iterates through all the ratings and listen at. stores them as follows: We then check the database for an existing playlist (Play 45 F Songs: listStatus). If there already exists a playlist, we can use it if all If the ID of the user is the DJ and the rating is 0 ('X' in the the following are met: (PlaylistStatus.isStale()) end-user interface), the song is added to song hashtable a. all the parameters (useriD, DJID, etc) match. (Population) with a type of “Excluded', meaning it should b. There are more than 8 songs left. never be played. The rating is also added to the average rating c. The newRatingsCount (counter of new personalization 50 for Songs by that artist. data since last refresh) is <15. If the rating is not 0, we immediately check the song d. The playlist is less than a week old. information cache (SonginfoCache.get()) for data about this If all these are met, we simply reset the dates for the last Song. If it does not exist in the cache, it is a song that was rated, time the user listened to an Ad, News bit, and Tip and resave but we do not have available for play (it's not encoded), it is the playlist. The ASX file is written out and Media Player 55 immediately marked as an "Excluded' song. takes off, making requests to the Media Gateway to play If all of the above tests pass, we add the song to the song music. hashtable, with a type of “Explicit'. We also include the rating 4. If we cannot reuse an old playlist, we must create a new in the calculation of this DJ’s average rating of Songs by the one with the PlaylistGenerator (PlaylistGenerator.create()). artist. 5. The first step is to get the user's preferences (Playlist 60 We add each song that is rated by subscribed DJs to the GeneratorgetOptions()). song hashtable and include the subscribed DJ's rating in the We get the following options: calculation of the subscribed DJ’s average rating for this Unrated Quota: how much new (not rated) music they want SOng. hear in their playlist. The options here are 90.80, 70, 50, 40, G Albums: 30, and 20 percent. The default is 50 percent. 65 We get the ratings profile for this album from the item Explicit lyrics: Does this user want us to play music with rating profiles. If it doesn't exist yet, retrieve the data and explicit lyrics? True or False. create it. US 9,269,107 B2 21 22 If the rater is the user requesting the playlist, we set the The maximum number of Songs we can pick from the rating for this item to the user's rating. explicit list is: maximumExplicit number of Songs in the If the rater is a subscribed DJ, we add the rating to the DJ explicit list*0.20. average for this album. The number of songs to pick from the explicitly-rated list is HArtists: then: explicitToPick playlistSize (100-unrated quota) The same as for albums, except we discard any ratings *0.01* (number of songs in the explicit list I sum of explicit made for the artists listed as “Various Artists”, “Soundtrack', and implicit songs)*3). or “Original Soundtrack’. The number of implicit songs is simply: d. We then add the top 1000 most popular songs (Playlist implicitToPick maximum RatedexplicitToPick. 10 We then check to make sure we haven’t picked more Generator:getPopular()) in the bandwidth type specified explicit songs than maximumExplicit and no more implicit to the song candidate hashtable. This popular list is Songs than are in the implicit list. maintained in the song information cache. Before each The unrated Songs are simply then: playlistSize-(explicit Song is added to the song hashtable, we check to see if ToPick-implicitToPick). it’s already in the candidate hashtable (put there by 15 If the user is listening to a station other than their own and another query), and if so, we check to make Sure it the number of Songs in the explicit and implicit list total shouldn't be "Excluded', or discard it. If we add the greater than 200: song, it is added under the type is “Unrated. e. We add a maximum of 5000 songs picked randomly. explicitToPick=Minimum (playlistSize:0.50.20% of (PlaylistGeneratorgetR.andom()). To do this, we first explicit songs) count the number of Songs contained in each all of the implicitToPick=Minimum(playlistSizeihof implicit genres a user has selected (SonginfoCache.countin songs)-explicitToPick. Genres()). Songs may be in multiple genres. We then If for Some reason we did not get playlistSize songs from divide the number of songs by the total number of songs this calculation, we pick a third of the songs from each of in the song information cache. If this is less than 5%, we 25 explicit, implicit and unrated, making Sure not to pick more pick Songs directly from a list of Songs only in those than 20% of the rated and unrated lists. genres. Otherwise we can pick randomly from all songs. As a fallback, if none of the methods above to calculate the We do this calculation to avoid the situation where a user number of Songs to pick worked, we pick a third of the has selected a small number of genres and picking ran playlistSize from each list, making Sure not to pick more than domly will return only a few songs that are allowable to 30 20% of the rated and unrated lists. play when considering their genres. 10. Copy the list of albums and artist from and by which To select only from selected genres: Songs have been played for this user in the last 3 hours. Determine the total number of songs to pick (totalToPick) 11. Pick the songs for this playlist. (PlaylistGenerator pick from the lesser of 5000 and the total number of songs in the Songs()) selected genres. 35 First, make a list of all the picks we need to make (Pick For each genre, get a copy of the list of songs in that genre List). For example, if we have a playlist of 50 songs, the list from the song information cache (SonginfoCache.get may contain 10 entries for explicit songs, 20 for implicit InGenre()). Songs, and 20 for unrated Songs. Determine the number of Songs to pick from each genre While there are still songs to pick, iterate through this from this formula: songs to pick-totalToPick (number of 40 cycle: Songs in this genre I total number of Songs in the selected a. randomly pick a song list type (explicit, implicit, genres). unrated) with a probability based on the proportion of Songs We pick the determined number of songs, and try to add it to come from each list. to the song hash table with a type of "Unrated’. The song is b. pick a random Song index from that list (which has not added if it is already in the hash table. 45 already been Sorted in descending order of Score), based on To select from all songs we simply select a random Song the following formula (SongGroup pickRandom()): 5000 times. Each time, we try to add the song if it is not already there, as described above. sizeGf List=the number of songs in this list f. Once we're done adding random Songs, we wait until all the ratings are retrieved and we have all the dates of 50 random—a randomly-chosen number between 0 and when Songs were played for the user. (sizeGf List-1)+0.01 index of song to pick= 8. Now we finally get close to picking Songs for the playlist. ((randA7)IsizeGfList-1A7)*(sizeGfList-1)) First off, we take the explicit, implicit, and unrated lists built This formula allows us to pick songs somewhat randomly, in the last step and order them in descending order by score while guaranteeing a high probability that the song picked using a quickSort algorithm. 55 will come from highest scored. The higher the ranking of the 9. Then we figure out how many songs from each list to song in the score matrix, the higher the probability it will be pick. As an example, assume the size of a playlist is 50 songs. picked. This algorithm scales well for any size of list because If the user is listening to their own station, use the following it is rank-based, not just score based. formula: The song at that index is removed from the list. If for some If the user's list of explicit and implicit songs is Smaller 60 reason we do not get a valid Song (possibly the Song list than 100 songs, we must pick 90% of the songs from the already exhausted), add another song to the list of types to unrated list to avoid playing their rated Songs too much. Set pick of this type. their unrated quota to 90. Otherwise, use the unrated quota Once we have picked a song, get its album and artist infor from their options. mation. The maximum number of Songs we can pick from the 65 If the artist is not a “Various Artist' and the sum of the explicit and implicit lists is: maxiumumRated playlistSize number of Songs played by this artist and already picked for (100-unrated Quota)*0.01. this playlist by this artist is greater than or equal to 3, we US 9,269,107 B2 23 24 cannot play this song by the RIAA rules. We mark it as G) Album (linked to album page) "rejected and add another song to the list of Songs to pick H) Link to fans of the song (ordered by rating and online from the same list this song was picked from. status) The same test is performed for albums, with the maximum I) Area to display text tips and factoids played being 2. J) Small image advertisement If the song was picked Successfully and was within legal In one embodiment a VIDEO-I button appears active boundaries, increment the number of Songs picked from this when video is available. It expands the window and starts album and by this artist. Add the song to the final list of songs video, otherwise it links to a video section for the playlist and mark the order in which this songs was In one embodiment a CHAT button allows a user to picked for the playlist. 10 open and close chat interface on community LAUNCHcasts. 12. If for some reason we did not get playlistSize songs, delete the existing playlist, add popular songs to the Song The button appears active when digital download is available. hashtable, resort the Song lists, and pick, ignoring the user's It downloads in a separate window, otherwise links to down genres selections. loads section. 13. Pick news clips. This is done simply by picking a 15 In one embodiment a RATE MORE button is linked to a specific number of unique news items that are in the specified list of more songs to rate. bandwidth format. A list of available news clips is stored in In one embodiment a BUY button is linked to an album/ the song information cache. single commerce page. 14. Pick ads. This is done exactly the same as news, with a In one embodiment an OPTIONS button is linked to different number of ads to pick. LAUNCHcast options. 15. Pick tips. This is done exactly the same as news, with a In one embodiment a HELP button is linked to a player different number of tips to pick. tutorial. 16. Randomly shuffle the order of the songs in the playlist. In one embodiment all of the links many open in the same 17. Serialize the playlist and save it to the database. target window. 18. Return the ASX file to Windows Media Player. 25 B. Media Gateway 19. Every 5 minutes, the Flash player “pings” the Playlist In one embodiment the Media Gateway is accessed via Generator again. If the playlist is stale or has 8 songs or less HTTP and used to play a song in LaunchCast 2.0. It performs left in it, it regenerates the playlist and replaces the one a number of tasks and if all criteria are met, streams out a previously saved in the database. media file (audio or video). This program can be written in 30 TCL for StoryServer or could be a compiled program in Java III. Alternate Embodiments or C++ if performance requires. Tasks Group 3 An exemplary set of tasks for the media gateway is now described. Additional embodiments and an exemplary user interface 35 1. Check cookies for valid Launch login credentials. In the specification are now described. case of an error, play an audio clip that asks the user to login. A. Player UI Specification 2. Checks the USER AGENT HTTP header to make Sure Size: In one embodiment the size of the player user inter a user isn’t trying to download a file with a browser. If the face may be made Small enough that the user can keep it open check fails, redirect to http://www.launch.com. while using other applications. 40 3. Write out the HTTP headers including an expires header Browser. In one embodiment no client download is and MIME type appropriate for the media. required. 4. Open the file for reading in binary mode. An exemplary player window may include the following 5. Select the top 1 song from in the the playlist by ordinal feature for an expandable window for video and chat is illus in the playlist from the database. Delete the row in the data trated in FIG. 32. It includes: an audio section, a video sec 45 base. Look up its file name and path. If either of these last two tion, a users window, and a chat window. The audio section tasks fails, exit. contains basic player functionality. The video window expan 6. Call the stored procedure OnPiayStart. Close the data sion displays video when in a video mode. The user's window base connection. Ignore errors. shows who's listening to the same content. The chat window 7. Read the file from disk and write it out as raw data to the Supports typing and viewing chat. A status bar may illustrate 50 client. In the case of an error, exit. Personalizing your Launchcast 8. When finished, call the stored procedure OnPlayFnd. In one embodiment, an exemplary set of features of the Ignore errors. player includes: C. Flash Player Interface A) Play/pause button As an overview, in one embodiment the LAUNCHcast B) Skip Song 55 player comes in two flavors: HTML and Flash. This section C) Volume control details the communication between the flash player, the D) Prominent rating widget HTML page, and Media Player. 1) Shows current explicit rating Initialization 2) Shows implicit rating (and Source) when explicit one not To start the flash player, the flash player code is embedded present 60 in a StoryServer page. 3) Shows other songs with same rating value (when user In one embodiment the player will at first display “Person puts mouse over a rating value) alizing . . . . while the Media Player embedded in the page 4) Graphically shows community popularity (average rat waits for the Playlist Generator to return an ASX file. As soon ing) and ranking, where appropriate as the ASX file is available, the Media Player will start play 5) Gives rewards when user rates item 65 ing and send a JavaScript event. The page catches this event E) Current song title (linked to Song page) and calls changeRatee which sets variables in the active F) Artist (linked to artist page) motive and makes a call to update the player. If necessary, the US 9,269,107 B2 25 26 page can also manually change the state of the flash player by changeRatee: not passed putting it in the various modes (playing, paused, stopped). change station url: The URL to which a browser window As play continues, each new song that is played will call opens when a user wants to listen to a different mood or changeRatee and change the information displayed in the station. player. values: a valid HTTP URL JavaScript Functions: init: required An exemplary set of JavaScript Functions is now changeRatee: not passed described. disc no: The disc number of the album from which the changeRatee (artistname, album name, song name, artis currently playing song is on. Used only for retreiving the lid, album id, disc no, track no). The changeRatee function 10 SongiD. sets variables on the flash player and then tells the player to update. All variables are passed to the player as their variable values: single digit aS init: not passed playerControl (action, message). The playerControl func changeRatee: optional tion forcefully changes the display state of the player. An 15 d id: Specifies the id of the user station being listened to action can be one of playing, paused, stopped, or error. values: integer A message can display a minimum of 20 characters in the init: required player, more depending on the characters. changeRatee: not passed Variables: d name: Specifies the name of the station being listened to An exemplary set of variables is now described. Note that values: integer passing a value of-1 is equivalent to not passing a value at all. init: required album id: The ID of the album which the currently playing changeRatee: not passed Song is on. It includes: djs url: The URL to which a browser window opens when values: integer a user clicks on “Your DJ's ratings' in the player. init: not passed 25 values: a valid HTTP URL changeRatee: optional init: required album url: The URL to which a browser window opens changeRatee: not passed when a user clicks on the album title in the player window. fans url: The URL to which a browser window opens when The album id should be appended to it like this: a user wants to see a list of more fans for a song salbum url'?albumID= artist id: The ID of the artist of the song which is currently 35 playing help url: The URL a browser window should open up to The artist ID includes: when a user click the help button on the player. values: integer values: a valid HTTP URL init: not passed init: required changeRatee: optional 40 changeRatee: not passed artist url: The URL to which a browser window opens init url: The URL to call to grab player initialization data. when a user clicks on the album title in the player window. For now, this returns only relative ratings data. It returns a The artist id should be appended to it like this: series of values where 65 rated in values: a valid HTTP URL album rating artistid-n—the id of the artist who per init: required formed the album rated in US 9,269,107 B2 27 28 album rating artist name'?mediaiD=& init: required diD= changeRatee: not passed values: a valid HTTP URL member url: init: required values: a valid HTTP URL 15 changeRatee: not passed init: required The volume should be the last volume setting if it has changeRatee: not passed changed since the last call to Song lookup url, or -1 other The URL a browser window should open up to when a wise. If -1, the volume will not be saved. username (fan ord for example) is clicked on. The useriD It returns the following data: must be appended to the query string like this: Song id—the ID of the Song requested Song name—the title of the song mode: Specifies what mode the player is in. This is a artist name—the name of the artist who performed this placeholder awaiting further specification on different func Song tionality for the modes. artist id—the ID of artist who performed this song values: “audio” or “video 25 album name—the name of the album this song is from init: required album id the ID of the album this song is from new— changeRatee: not passed indicates if this song is new to LAUNCHcast ping interval: The number of seconds to wait between popular indicates if this song is popular among making requests to the ping uri. If not passed on init, default LAUNCHcast DJs to 600. 30 values: integers-0 exclusive indicates if this song is exclusive to LAUNCH init: optional last played—a string representing the date this song was changeRatee: not passed last played for this user ping url: A URL to make a request to at a given interval fan id-n—the useri) of a user who is a fan of this song. (ping interval). The responding page does not need to return 35 If there are more than a certain number this will be 0, prompt any data. Pinging starts after first waiting one ping interval. If ing to stop and display a more button it is not passed, do not ping. fan name

song id=9806650&song name=One&artist name=U2&artist id=90900&album name=Zooropa&album id=8759&new-O&popular=1&exclusive=O&Iast played=9808655&fan id1 = 13302&fan name1=HitsMan&fan id2=6474162&fan name2=boulter&d rating id1 =13302&d rating name1=Hitsman&d rating value1=78&d rating id 2=6474162&d rating name2=boulter&d rating value2=65&image url=http://www.launch.com/images/87980.jpg&origin=Your-rating+for+this-Song

song url: The URL to which a browser window opens 10 5) Retrieve and scale user's implicit BDS playlist->song when a user clicks on the song title in the player window. The ratings and populate rating matrix ratee should be appended to the query string like this: 6) Retrieve and scale user's venue->artists->song ratings song ratings and popu 60 Example 1 late implicit rating matrix, where we don't have an explicit Song rating: In one example, a method of broadcasting data streams 3) Retrieve user's implicit artist->song ratings and popu through a computer network to a user's computer includes: laterating matrix, where we don’t have an explicit song rating providing a database of data streams; selecting a data stream or album->song rating: 65 according to a selection method; transmitting one of said data 4) Retrieve average rating from user's DJs for all songs streams to the user's computer, receiving feedback express rated by their advisors and populate rating matrix: ing a preference from the user regarding the transmitted data US 9,269,107 B2 31 32 stream; and updating said selection method to better reflect network connected to a computer of the user; a database of the preference of the user; whereby data streams transmitted data streams, the database available to the computer network; to the user are biased according to the preference. a data stream controller, the data stream controller transmit ting data streams to the user's computer according to a selec Example 2 tion program; a user interface, the user interface coupled to the user's computer and receiving the data streams for the The method of example 1, further comprising: the selection method including generating a list of data streams to transmit user and providing a feedback mechanism for the user so that to the users computer, transmitting one of the listed data the user may indicate a preference regarding data streams streams to the user's computer, and updating the list of data transmitted by the data stream controller; the selection pro streams to better reflect the preference of the user, whereby 10 gram receiving indications from the user, the selection pro data streams transmitted to the user are biased according to gram modifying its selection of data streams for transmission the preference. to the users computer according to the user's preference; whereby data streams selected by the selection program are Example 3 biased according to the user preference. 15 The method of example 1, further comprising: receiving Example 12 feedback expressing preferences from Sources other than the USC. The system of example 11, wherein the computer network comprises the Internet. Example 4 Example 13 The method of example 3, where the step of receiving preferences from sources other than the user further com The system of example 12, wherein the database is a song prises: receiving feedback expressing preferences from the database and the data streams are songs. group consisting of other users, commercial users, commer 25 cial radio stations, and lists of popular songs. Example 14 Example 5 The system of example 11, wherein the database is a music Video database and the data streams are music videos. The method of example 1, further comprising: informing the user generally regarding the database and the data 30 Example 15 streams, querying the user as to data stream preference prior to generating an initial transmission list of data streams, The system of example 11, wherein the user interface com whereby the initial list reflects general preferences of the user. prises an electronic media player. Example 6 35 Example 16 The method of example 1, wherein the data streams are The system of example 15, wherein the electronic media selected from the group consisting of songs and videos. player is selected from the group consisting of RealPlayer, Apple QuickTime, and Windows Media Player. Example 7 40 Example 17 The method of example 1, wherein said transmitted data stream is removed from the transmission list. The system of example 11, wherein the selection program creates a list of data streams for transmission to the user. Example 8 45 Example 18 The method of example 7, wherein the data stream removed from the transmission list is listed on a transmitted The system of example 17, wherein the selection program data stream list. modifies the list of data streams for transmission to the user 50 according to the user preference. Example 9 Example 19 The method of example 1, wherein the step of transmitting one of the data streams further includes transmitting one of The system of example 11, further comprising: the data the data streams in conformance with applicable copyright 55 stream controller transmitting the data streams in compliance law. with copyright law. Example 10 Example 20 The method of example 9, where the conformance with 60 The example of claim 19, further comprising: the data applicable copyright law applies to all transmitted datas stream controller transmitting all data streams in compliance treamS. with applicable copyright law. Example 11 Example 21 65 A data stream system for providing data streams to a user, A user interface for an Internet datastream transmission including: a connection to a computer network; the computer system, including: a media player for playing data streams; a US 9,269,107 B2 33 34 rating tool, the rating tool indicating a rating for a data stream 11. The method of claim 1, wherein the at least one musical currently played by the media player; and a data stream infor preference of at least one of the plurality of shared personal mation display, the data stream information display display ized Internet radio stations includes a rating of at least one ing information for the data stream currently played by the SOng. media player, whereby a user can indicate a preference 12. The method of claim 1, wherein each of the personal regarding the data stream currently played by the media ized Internet radio stations has songs picked with the selec player. tion of Songs adapted over time to pick new songs to prevent repetitively playing the same song playlist. Example 22 13. The method of claim 12, wherein the selection of songs 10 to prevent repetitively playing the same song playlist includes The user interface of example 21, further comprising: a at least one of a rule to pick new songs and an element of playlist generator, the playlist generator generating playlists randomness to pick new songs. of data streams for the media player, the playlist generator 14. The method of claim 12 wherein the selection of songs selecting data streams according to preferences indicated by to prevent repetitively playing the same song playlist includes the user. 15 generating a playlist, regenerating the playlist to create a new playlist, and discarding the old playlist. Example 23 15. The method of claim 1, where songs of the selected shared personalized Internet radio station are picked to The user interface of example 22, further comprising: the include Songs not specified in the respective user musical data streams selected by the playlist generator being in com preference and the song selection is adapted over time to pliance with applicable copyright law. prevent repetitively playing the same song playlist. What is claimed is: 16. A method of providing an Internet radio service via 1. A method of providing an Internet radio service by crowdsourcing, comprising: crowdsourcing the generation of Internet radio stations, com receiving requests from a plurality of different users to prising: 25 create personalized Internet radio stations, each respec receiving requests from a plurality of individual users, in a tive request including at least one musical preference to community of users, to serve as DJs for the community generate a personalized Internet radio station in which by creating personalized Internet radio stations shared Songs are picked to include songs not specified in the with the community of users, each individual user Serv respective request; ing as a DJ by providing at least one musical preference 30 in response to each request, generating for each individual from which a personalized Internet radio station is gen different user a personalized Internet radio station based erated to form a plurality of shared personalized Internet on the at least one musical preference of the individual radio stations; different user; hosting the plurality of shared personalized Internet radio providing an option for each individual responsible for stations via a network service including a database and at 35 generating a personalized Internet radio station to share least one server computer; a respective personalized Internet radio station with a receiving a request from a member of the community community of users; and selecting an individual one of the plurality of shared hosting, via at least one server computer, a plurality of personalized Internet radio stations; and shared personalized Internet radio stations, wherein an transmitting a data stream providing access to Songs of the 40 individual shared personalized Internet radio station is selected shared personalized Internet radio station to the accessible by members of the community of users; and member of the community. in response to a request from a member of the community 2. The method of claim 1, further comprising providing, to Selecting one of the plurality of shared personalized an individual user, a listing of recommended shared person Internet radio stations, transmitting a data stream pro alized internet radio stations. 45 viding access to songs of the selected personalized Inter 3. The method of claim 2, further comprising providing a net radio station to the member of the community. search user interface for a user to search for shared personal 17. The method of claim 16, further comprising providing, ized Internet radio stations. to an individual user, a listing of recommended shared per 4. The method of claim 1, further comprising providing a Sonalized internet radio stations. listing of recommended DJs. 50 18. The method of claim 17, further comprising providing 5. The method of claim 4, further comprising providing a a search user interface for a user to search for shared person listing of top DJs. alized Internet radio stations. 6. The method of claim 1, further comprising displaying a 19. The method of claim 16, further comprising providing DJ image for the selected shared personalized Internet radio a listing of popular shared personalized Internet radio sta station. 55 tions. 7. The method of claim 1, wherein the at least one server 20. The method of claim 16, further comprising associating computer includes at least one of a media server, a streaming a DJ name with an individual responsible for creating a shared server, a HTTP server, and a central server. personalized Internet radio station. 8. The method of claim 1, wherein the at least one musical 21. The method of claim 20, further comprising providing preference of at least one of the plurality of shared personal 60 DJ information for an individual shared personalized Internet ized Internet radio stations includes a genre selection. radio station. 9. The method of claim 1, wherein the at least one musical 22. The method of claim 20, further comprising providing preference of at least one of the plurality of shared personal a listing of recommended DJs. ized Internet radio stations includes a mood selection. 23. The method of claim 20, further comprising providing 10. The method of claim 1, wherein the at least one musical 65 a listing of top DJs. preference of at least one of the plurality of shared personal 24. The method of claim 20, wherein the DJ information ized Internet radio stations includes an artist preference. includes a DJ image. US 9,269,107 B2 35 36 25. The method of claim 16, wherein the at least one server computer includes at least one of a media server, a streaming server, a HTTP server, and a central server. 26. The method of claim 16, wherein each of the person alized Internet radio stations has songs picked with the selec- 5 tion of songs further adapted over time to prevent repetitively playing the same song playlist. 27. The method of claim 26, wherein the selection of songs to prevent repetitively playing the same song playlist includes at least one of a rule to pick new songs and an element of 10 randomness to pick new songs. 28. The method of claim 26 wherein the selection of songs to prevent repetitively playing the same song playlist includes generating a playlist, regenerating the playlist to create a new playlist, and discarding the old playlist. 15 k k k k k