`
`(12) Unlted States Patent
`(10) Patent No.:
`US 7,668,939 B2
`
`Encarnacion et a].
`(45) Date of Patent:
`Feb. 23, 2010
`
`(54) ROUTING OF RESOURCE INFORMATION IN
`A NETWORK
`
`(75)
`
`.
`.
`Inventors: Mark J. Encarnacion, Bellevue, WA
`((38% 2121.50" Flag’gellngg?gs(ysx
`a1 “mvasan’
`If an ’
`
`7,120,585 B2
`7,149,755 B2
`7,599,580 B2
`3883/8833: 21*
`2002/0077988 A1
`2002/0092019 A1
`
`10/2006 Boulanov
`12/2006 Obrador
`10/2009 King et al.
`III e e a .
`$388; glint“? it 311'
`6/2002 Sasaki et al.
`7/2002 Marcus
`
`.................
`
`709/218
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`US
`(
`)
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`( * ) Notice:
`
`Subject. to any disclaimer, the term of this
`patent 1s extended or adjusted under 35
`U.S.C. 154(b) by 624 days.
`
`CN
`
`1520659(A)
`
`8/2004
`
`.
`(Confirmed)
`
`(21) Appl. No.: 10/742,588
`
`(22)
`
`Filed:
`
`Dec. 19, 2003
`
`OTHER PUBLICATIONS
`Search Report and Written Opinion, PCT/US04/23957, mailed on
`May 9, 2006.
`
`(65)
`
`Prior Publication Data
`US 2005/0138193 A1
`Jun 23 2005
`.
`’
`
`(Contmued)
`Primary Examiner7William C Vaughn, Jr.
`Assistant ExamineriMaceeh Anwari
`
`(51)
`
`(56)
`
`Int. Cl.
`(2006.01)
`G06F 15/177
`(52) U.S. Cl.
`....................... 709/220; 709/221; 709/222;
`709/226
`(58) Field Of Classification Search ----------------- 709/220,
`.
`.
`.
`709/226
`See apphcat1on file for complete search hIStOI'Y
`References Cited
`U.S. PATENT DOCUMENTS
`5 966 135 A
`10/1999 R
`1
`1
`t
`6,084,952 A
`7/2000 Boy et a ' J
`6,119,167 A
`9/2000 Bzerlrerlgzlr' e a '
`6,192,415 B1
`2/2001 HaZerstoch et a1
`6,430,624 B1
`8/2002 Jamtgaard et a1 '
`6,564,257 B1
`5/2003 Emens et a1.
`'
`6:643:650 B1
`11/2003 Slaughter et 31.
`6,839,748 B1
`1/200 5 Allavarpu et 31.
`6,910,068 B2
`6/2005 Zintel et 31.
`6,925,483 B1
`8/2005 Niemi
`
`(74) Attorney, Agent, or FirmiLee & Hayes, PLLC
`
`ABSTRACT
`(57)
`A media server in a Universal Plug and Play (UPnP) network
`includes a resource sharing service to govern the distribution
`of resource information regarding resources to rendering
`devices. In one case, the resource sharing service consults a
`criterion to determine whether an identified network device is
`authorized to receive resource information. In another case,
`the resource sharing service consults another criterion to
`determine whether a specified individual associated with the
`media server must consent to the transfer of the resource
`information in order for the transfer to occur. The resource
`information may include resource metadata that describes
`high level
`information regarding resources, as well as
`resource content. The media server includes various user
`interface presentations that allow the media server user to
`specify shared resources and distribution criteria.
`
`103 Claims, 21 Drawing Sheets
`
`.- ———————
`l Resource :
`
`
`: Content33° I
`
`
`
`Media Server 10; -
`
`Media
`Media
`
`
`
`lnfomnation
`
`Rendering
`Rendering
`Devrce 1%
`Device m
`
`:
`Sharing
`
`
`
`r Functionality 322
`Resource
`n /'
`
`Information
`
`Exemplary
`
`
`
`Resource F'::::::‘r 1
`I
`
`Resource
`I
`information
`I\
`
`324
`
`
`BrowsHSearch
`
`
`Requesi
`
`
`
`
`Rendering
`Rendering
`
`eVIce
`Device 3m
`Device .312
`Rendering
`D ‘
`3&5
`
`
`
`
`1'
`328
`
`12Resource
`Information
`\ 300
`Consumer
`
`I :
`
`Page 1 of 54
`
`LG EXHIBIT 1005
`
`Page 1 of 54
`
`LG EXHIBIT 1005
`
`
`
`US 7,668,939 B2
`
`Page 2
`
`US. Appl. No. 1 1/ 192,510, entitled, “Strategies for Queuing Events
`for Subsequent Processing,” filed on Jul. 29, 2005, naming the inven-
`tors of James H. Dooley, Jason S. Flaks, Mukul Gupta, Sean D. Kelly,
`and Charles Alan Ludwig.
`Steinfeld, Edward F., “Devices that play together, work together,”
`EDN, Sep. 13, 2001, pp. 65-70.
`Steinfeld, Edward F., “Knock! Knock! ’Who’s There?’: Using UPnP
`to Respond to Inquiries,” Circuit Cellular Online, May 2001, pp. 1-5.
`Bell, Gordon et al., “A Call for the Home Media Network,” Commu-
`nications ofthe ACM, vol. 45, No. 7, Jul. 2002, pp. 71-75.
`Universal plug and Play Device Architecture: Version 1.0, Microsoft
`Corporation, Jun. 8, 2000, available at <http://www.upnp.org./down-
`load/UPnPDA10720000613.htm>, 52 pages.
`“Understanding Universal Plug and Play,” Jun. 2000, Microsoft Cor-
`poration,
`available
`at
`<http://www.upng.org/download/
`UPNPiUnderstandingUPNPdoc>, 39 pages.
`“MediaRendereer Device Template Version 1.01,” Microsoft Corpo-
`ration, Jun. 25, 2002, available at <http://www.upnp.org/download/
`MediaRenderer%201.0.pdf>, 11 pages.
`“UPnP AV Architecturez083,” Microsoft Corporation, Jun. 12, 2002,
`available
`at
`<http://www.upnp.org/download/
`UPnPAvArchitecture%200.83.prtad.pdf>, 22 pages..
`“ConnectionManager:I Service Template Version 1.01,” Microsoft
`Corporation, Jun. 25, 2002, available at <http://www.upnp.org/
`download/ConnectionManager%201.0.pdf>, 25 pages.
`“ContentDirectory:I Service Template Version 1.01, ”Microsoft Cor-
`poration, Jun. 25, 2002, available at <http://www.upnp.org/down-
`load/ContentDirectory%201.0.prtad.pdf>, 89 pages.
`VISDN Library introductory page entitled “UPnP Framework,”
`VIicrosoft Corporation, accessed on Oct. 19, 2003, available at
`<http://msdn.microsoft.com/library/default.asp?url:library/en-us/
`wceupnps/html/iwcecommiwin32iUPnPiFramework.asp>,
`page.
`VISDN Library entry entitled “Fast User Switching,” Microsoft Cor-
`poration, accessed on Oct. 30, 2003, available at <http://msdn.
`micro soft. com/1ibrary/default. asp?url:/library/en-us/directx9ic/
`directx/play/understand/voice/usersswitching.asp>, 1 page.
`VISDN Library entry entitled “The LocalSystem Account,”
`VIicrosoft Corporation, accessed on Feb. 6, 2004, available at <http://
`msdn.microsoft
`com/library/default.asp?url:/library/en-us/ad/ad/
`theilocalsystem,account.asp>, 1 page.
`VISDN Library entry entitled “The LocalService Account,”
`VIicrosoft Corporation, accessed on Oct. 30, 2003, available at
`<http://msdn.microsoft.com/library/default.asp?url:/library/en-us/
`dliproc/base/localservice,account.asp>, 2 pages.
`“DeviceSecurity: 1 Service Template, For UPNP Device Architecture
`1.0” Retrieved from the
`internet <<http://www. upnp.org/
`standardizeddcps/documents/DeviceSecurityi1.0cci001 .pdf>> on
`Nov. 17, 2003.
`Fuchs, A. et al., “End to End Content Delivery using UPnP and WiFi
`Networking”, Future Generation Software Architectures in the Auto-
`motive Domain - Draft Paper, Connected Services in Mobile Net-
`works - San Diego, CA, USA, Jan. 10-12, 2004.
`
`
`
`1
`
`* cited by examiner
`
`U.S. PATENT DOCUMENTS
`
`................. 707/3
`
`8/2002 Hans et al.
`2002/0120577 A1
`2002/0161755 A1
`10/2002 Moriarty
`2002/0161884 A1
`10/2002 Munger et al.
`12/2002 Sanchez et a1.
`2002/0194604 A1
`5/2003 Mankovich et al.
`2003/0097338 A1
`6/2003 Dimitrova et al.
`2003/0110507 A1
`6/2003 Milton et a1.
`............... 345/738
`2003/0117433 A1*
`7/2003 Bodin
`2003/0135576 A1
`8/2003 Luehrs ........................ 725/25
`2003/0163811 A1*
`12/2003 Mitchell et a1.
`2003/0233471 A1
`7/2004 Jerome
`2004/0143667 A1
`7/2004 Fenizia et a1.
`2004/0148399 A1
`8/2004 Saint-Hilaire et a1.
`2004/0158823 A1
`9/2004 Kobori et a1.
`2004/0172376 A1
`2004/0220926 A1 * 11/2004 Lamkin et a1.
`2004/0243700 A1
`12/2004 Weast
`2005/0044197 A1
`2/2005 Lai
`2005/0058066 A1
`3/2005 Sung
`2005/0091268 A1
`4/2005 Meyer et a1.
`2005/0125564 A1
`6/2005 Bushmitch
`2005/0138137 A1
`6/2005 Encarnacion et al.
`2005/0138179 A1
`6/2005 Encarnacion et al.
`2005/0138192 A1
`6/2005 Encarnacion et al.
`2005/0138193 A1
`6/2005 Encarnacion et al.
`2005/0160458 A1
`7/2005 Baumgartner
`2005/0166231 A1
`7/2005 Terakado et a1.
`2005/0188092 A1
`8/2005 Short et a1.
`2005/0198493 A1
`9/2005 Bartas
`2005/0220139 A1
`10/2005 Aholainen
`2005/0254524 A1
`11/2005 An
`2006/0168225 A1
`7/2006 Gunning et a1.
`2007/0088832 A1
`4/2007 Tsang et a1.
`2007/0107016 A1
`5/2007 Angel et a1.
`2007/0156726 A1
`7/2007 Levy
`2008/0077501 A1
`3/2008 Kamei et a1.
`2008/0090513 A1
`4/2008 Collins et a1.
`
`FOREIGN PATENT DOCUMENTS
`
`CN
`JP
`WO
`
`1600002(A)
`2003256260
`W003098446 A1
`
`3/2005
`9/2003
`11/2003
`
`OTHER PUBLICATIONS
`
`“TwonkyMediaiFeatures,” available at <<http://www.twonkyvi-
`sion.de/UPnP/>>, accessed on Nov. 8, 2005, 2 pages.
`“RomPager Product Family,” available at <<http://www.allegrosoft.
`com/products.html>>, accessed on Nov. 8, 2005, 2 pages.
`“SimpleWare Media
`Server,”
`available
`at
`<<http://www.
`simpledevices.com/mediaserver.shtml>>, accessed on Nov. 8, 2005,
`2 pages.
`at <<http://www.
`available
`“SoftPedia, Nero MediaHome,”
`softpedia.com/get/Internet/File-Sharing/Nero-MediaHome.
`shtrnl>>, accessed on Nov. 8, 2005, 3 pages.
`
`Page 2 of 54
`
`Page 2 of 54
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 1 of 21
`
`US 7,668,939 B2
`
`a83mmBow.
`
`_8.835L
`
` ____II_02838_IlmfiEgamw_"u__
`FIIIIIIIIIII_
`
`N_.FmoEmw_3:016:80 _._FIIIIIIIIIII_____
`
`EEOEVr.9“.
`
`
`
`
`
`.wdfiE_on_35:00
`
`_ourr022%__.IIIIIIIIIII_
`
`28:3832m.mam: _IIIIIIIIIII_2ml:rmumawm"_.
`
`lllllllllll
`
`
`
`
`
`Halal—w83mm—UmEmcwn_:n_:
`
`
`
`
`
`a00300vofimcmnEn_D
`
`Page 3 0f 54
`
`Page 3 of 54
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 2 of 21
`
`US 7,668,939 B2
`
`_o._Eoo
`cowficwwmzn.mEEo>m
`
`aGAINMa
`
`Ma95353
`
`filmcowatowmo
`
`vlom30535
`
`€<5EN.9;
`
`Page 4 of 54
`
`Page 4 of 54
`
`
`
`0_.IIIIIIII_3__||I||..|__an_E0200_nM__850mm”._cosmELQE
`S__111111__woSommm""ElammwSJ
`
`_mesmmwmt_
`
`
`
`0__llllllllL_moSomomEEamcoomamasoxm853.852,@050me
`
`
`
`U
`
`3
`
`528m«.85.mKaIIIII_Nmm
`D..."EmEoo__ommS.Ream?
`2IIIIIIIIIIIMWm|\Fmctmcm"mom@0300an83mm.
`
`5m:_._.m0£35.£85.
`8:353"338m@552me....@5523.
`
`Page 5 0f 54
`
`f
`
`US 7,668,939 B2
`
`n588902505
`
`mmS
`
`mescmm
`
`
`
`fl“Eon62:00
`
`Sum—2mfimé
`
`
`a.”003mm_.olvmmo_>wn_
`
`matwucmmmctwccwm
`fimoSmo"Emu—30.2“9:2”ch_$050me
`«:85.r--aL
`
`2«50¢6.5200
`
`oomM~§mcoszBE.
`I/wmmMum
`
`858?.
`
`.mEsmcoo
`
`Page 5 of 54
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23
`
`9
`
`2010
`
`Sheet 4 of 21
`
`9US7
`
`668,939 B2
`
`n.9350
`
`wlmlv
`
`3cwcogx
`
`$58
`
`«a
`
`aEoom9.33
`
`5522
`
`9%ml?
`
`5522
`
`55m“.K
`
`vlrv
`
`NHIVm@250
`
`qulv0mo_>mo
`
`a5522@
`
`
`
`Eooiwm.wpcmfin.
`
`gm
`
`MNIV083mm
`
`a55$
`
`Page 6 0f 54
`
`aEoomm.EEO
`
`aEEO@
`
`olvlv
`
`II-..
`
`553.
`
`vmv
`
`Page 6 of 54
`
`
`
`U
`
`US 7,668,939 B2
`
`
`
`
`
` n€280MEwfim>wRood6Elm%0:622moEmwHomEOIIIIIIIIIIII
`mwsaoozoo65$0mm”:
`
`
`
`6:200“cmE
`
`rm_n_<0525
`
`".mvhmfimflqJ.€3.50550%
`
`
`
`
`xomnsz__9360—2_®CNn_6.2.500
`
`hwawm$692
`
`
`
`
`
`Nlod2:60:53\Ioom
`
`,..........\fi@
`
`“Illfi:-J_aa858:~"cosmo=Qa<"05w:m5w:
`
`
`52mmmu®_wzmom_62mm.285.gmtww£82£85.m>=o<RK
`
`
`l-mmmEmE"aEmcfims.m0mmmohzomwmoohzommm._022622pIIIIIIIIII
`
`9:memohzommmMEmEoo5259522mIo3:022mmUcmN8.8on857mahmmmcmEfl23—005—
`
`
`
`Cmemcozomccoo39025EoucooK8:0me
`
`
`
`
`
`
`
`
`
`
`nFHIrmdv
`
`ab”woSmO
`
`
`whoflwGULDOwwmNNmEEOC—2DNA-.4.682.5.239505nmonsowwm
`
`
`
`2:82MHMOmoSOmmvmmc__o::o_>_
`
`
`coammtLchm;%IIII
`
`83mmmeEPat...-mo::o::<
`
`mines.
`
`Page 7 0f 54
`
`Page 7 of 54
`
`
`
`
`tm
`
`tn
`
`102
`
`12f06mow
`
`US 7,668,939 B2
`
`0omo
`
`mIEg232__<
`S.com\b.9203.UNow
`eN5oomoo
`
`omE>=<
`
`Page 8 0f 54
`
`Page 8 of 54
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 7 of 21
`
`US 7,668,939 B2
`
` olmM
`
`
`
`
`uchofismcj
`
`@250a3:5.255
`
`vlmw
`
`umNtofizmcn
`
`mm55.255
`
`a838
`
`85853::
`
`
`
`g2:5.3:65
`
`$501
`
`.ga
`
`amo_>mo
`
`Page 9 0f 54
`
`Page 9 of 54
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb.23,2010
`
`Sheet80f21
`
`US 7,668,939 B2
`
`8m\
`
`528$.£va355262<
`.66336103'ma9:2330>on.6:30..
`
`
`58mm;
`
`“60vam_£233:..3.
`
`Page 10 of 54
`
`Page 10 of 54
`
`
`
`U.
`
`P
`
`t
`
`m
`
`01m
`
`9m
`
`US 7,668,939 B2
`
` _>39».
`.mocmox0
`
`S\mo”co.$090:9:onnew
`
`3,mmr0m<Enos.”cozfioeooN>XuQBomScmE1wow|\\.le;x26603%2395oh.33326:950“.
`
`
`
`
`
`n|\xxxxxxxxxx”89—3032Mmom1|.chxo=o6393o....833653mm:83%mEh
`
`
`
`
`
`S.merge".5:39.35385.
`
`
`
`
`
`vow|\\.||2mc”NWNWMEUfirdramcmmemxwm:woflsmwvmid,”WNW
`
`
`n.
`
`Page 11 of 54
`
`
`
`
`
`
`
`Bozoowm«622.35086850
`
`Page 11 of 54
`
`
`
`U.S. Patent
`
`Feb.23,2010
`
`Sheet100f21
`
`US 7,668,939 B2
`
`
`
`.858w__W5J
`
`
`3.wfi
`
`
`
`
`
`xxxxxxxxx”wmmhgqO<_>_
`
`«:35.
`
`
`
`
`
`3:32".5:15:35
`
`Page 12 of 54
`
`
`
`
`
`902801.282.955880500
`
`
`
`
`
`ch.8396:93mm:83%£5.
`
`.fix26633:0
`
`Page 12 of 54
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 11 0f 21
`
`US 7,668,939 B2
`
`8:|\4
`
`
`
`
`
`
`NN:
`
`
`
`
`
`
`
`wo_>wo
`
`Egg.,L.__.h.
`
`883>520
`
`
`SEE55%50>E0:@3082:2330>8:9096cum232.3E.we:3:
`
`
`
`3:I/803%=<NF5I/ESPcan—6802a>520
`
`832.5,33we.8:)228a:J
`,@3602
`
`
`
`
`
`merge;5:33:35«:55.
`
`Page 13 of 54
`
`Page 13 of 54
`
`
`
`U
`
`netaP
`
`beF
`
`23,
`
`0
`
`21w.h
`
`n
`
`US 7,668,939 B2
`
`_OUCNOv.0
`
`
`
`S__
`Jmoon;>520
`M83%E00.9.33
`m__<
`t85%£5Lo“,QuoE2:2330>83%9:59mm:6:8:2939:89mm
`
`S..228.922...”3:85.
`
`
`
`
`
`
`
`
`
`983%__<
`
`.522
`
`Page 14 of 54
`
`Page 14 of 54
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 13 0f 21
`
`US 7,668,939 B2
`
`
`
`
`
`
`b85%E863$2>Emcee
`
`>$253__<>flow:=<b803%=<>>tw...
`
`b85%Eoofimnmy!b98:__<r85%com>>mw
`
`>85%£09chan?r2%:w__<
`
`>$058__<>98:__<
`
`>$053__<b:52.
`
`>$050324>2980
`
`
`
`r85mm.Eoom9.53>:22.
`
`
`
`bEoofimm5085.b23:__<
`
`bb805%__<>9%:=<>985%__<bBow:__<
`
`Eocmox0
`>_Qa<
`
`
`
`
`
`
`EEKEmmi92K
`
`m>oEwm=_uv<E3305
`
`MN‘me
`
`
`
`
`
`>985%=<>9%:__<4E0282$535.:52.
`
`
`
`29:8vQSi/no
`
`$5863>520
`
`2sz08020
`
`825$9020
`
`86%62020
`
`
`
`mu:.8qu>520
`
`8%52220
`
`
`
`mecca>520
`
`taming/”0
`
`55:52.20
`
`tam/“0
`
`oflEIthIccoDU
`
`29::>520
`
`tam>55
`
`moon>520
`
`
`
`ago“.€<
`
`
`
`
`
`859.:>5=wEmEzooo>520
`
`
`
`no?smocm>9985.@250
`
`9:95
`
`
`
`mom?vow?
`
`
`
`
`
`3:32.".5:35.55«:55.
`
`Page 15 of 54
`
`Page 15 of 54
`
`
`
`
`U
`
`m
`
`2
`
`0
`
`ee
`
`12f04
`
`US 7,668,939 B2
`
`DamDOE.
`
`[3*3.85_
`
`
`
`mV03.H,l/303%__m2Emcmm>m§_<E
`.No3‘MI/QmwfmaommimE__m.29meE>om>tn_
`
`
`«M3:33
`Ha:tfimE835w£qu55E
`S.358:.5:33:55«=35.
`
`
`
`
`
`
`
`
`
`
`303%ho69:5:522
`
`Page 16 of 54
`
`Page 16 of 54
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 15 of 21
`
`US 7,668,939 B2
`
`3?I/
`
`LEwage22wm>m>>_<!
`
`3588Em:=m
`
`mom:I/
`
`803%__m293:22mew>m§<fl
`
`
`
`EEO".
`ma:82928.chm9:.2:9530>292859.6060.3250>m>>o=mcozommmEh
`
`
`
`
`cozmgaam£9:9:E0:9::>cmHmuo>oE9vcwuwuum
`
`
`
`mann—Ewuts9.:me
`
`Page 17 of 54
`
`Page 17 of 54
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet160f21
`
`US 7,668,939 B2
`
`
`
`
`
`mmmmwms.mvcwm.mem
`
`53mm3022mc_tm_<
`
`moSwQ262“up:Em:
`
`
`
`Enema/xcmommm:
`
`visa
`
`62%£823222.3mcmao
`52mm
`
`BwEmcm26m:
`
`moSmDBmZmEmmE
`
`39.
`
`.83Eamwgum—2
`
`55>8:093$me
`
`a8300262968me
`
`88.\
`
`
`
`262moanmcomEow
`
`95838mam:
`
`
`
`mom:x5252
`
`Page 18 of 54
`
`Page 18 of 54
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 17 of 21
`
`US 7,668,939 B2
`
`8:\
`
`
`
`mmEEmE53mm385.
`
`>>wzF0mm®5u<n:
`
`
`
`No:wo_>mo
`
`
`
`wtm>coo52mm$022
`
`04229$059».n:
`
`VONw$9231
`
`Page 19 of 54
`
`Page 19 of 54
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 18 0f 21
`
`US 7,668,939 B2
`
`82|\
`
`9:95.8m:o_wm_c:mn_
`
`vmxomco2m
`
`.26>c<ucm$28
`
`39959a9520”.
`
`05—.
`
`£500503”.
`
`85582
`
`5363%£qu
`
`
`
`2me8$20“.maoofiw
`
`Now?
`
`53538£85.
`
`
`
`HiEma:302%
`
`“camcoo$208802
`
`ma
`
`
`
`8m:63%E85.
`
`
`
`82:58058£86m
`
`
`
`Oohzowwmm>_w0®mOH
`
`%520“.5ea.
`
`@622mthoothE
`
`D6wcosmoEEmm26352mm
`
`a226me
`
`Page 20 of 54
`
`Page 20 of 54
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 19 0f 21
`
`US 7,668,939 B2
`
`com?
`
`3
`
`
`
`.3wach5:59.00
`
`
`
`Emuflms.85801
`
`N09.
`
`
`
`mummy.5me£85.
`
`
`
`02:0me3:me
`
`
`
`vomrEmumfimS—
`
`86850Emwcoamom
`
`weEmmacoummmm
`
`wdl?33%
`
`wucmw623£35.
`
`$53509wmcoawwm
`
`womr
`
`
`
`wwzmommLmEzmcoo
`
`
`
`wwcoumommEmSmmvcm
`
`05w
`
`Page 21 of 54
`
`Page 21 of 54
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 20 0f 21
`
`US 7,668,939 B2
`
`OOON
`
`
`
`
`
`3ng3Lmamwgums.
`
`
`
`
`
`828mmE_0n_65:00
`
`
`
`EwEoo858mm
`
`
`
`co_whm>:oomEEEtmnc
`
`
`
`6958a.,_
`
`loSN
`
`
`
`mEmzcom620mm_um_>_
`
` 02509:3ch2ago“.«622“.050me5E250
`
`
`858mm
`
`flaw
`
`
`
`02509:03ch
`
`
`
`858mm$585
`
`
`
`mc_E._otmn_v2980
`
`695ch28662.00
`
`Sow
`
`
`
`Em
`
`#585.29:.»me
`
`
`
`.mammgums.ES“.
`
`Mam
`
`
`
`2.2250E6;.280
`
`
`
`v6QwEEmfin.3:622
`
`Enos.@0QO9#5
`
`
`
` %@250@52me9935993ESE“.
`
`9.02298:053;E.E3umEUOE
`
`
`
`mo_>oo9.2253.
`
`meow
`
`£85.9umEEnsw2.553550.2
`
`matmucmm363mm
`
`mo_>wo
`
`wOON
`
`Page 22 of 54
`
`Page 22 of 54
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 23, 2010
`
`Sheet 21 0f 21
`
`US 7,668,939 B2
`
`Km.3“
`
`
`
`wva€0ng
`
`
`
`mm:<_moo._
`
`
`
`
`
`
`
`ovww
`
`x5362
`
`x5362
`
`83.qu
`
`_m:mm
`
`to;
`
`\Emong.
`
`$505.
`
`womtBE
`
`
`
`wmomtBE«:82She
`
`
`
`
`
`
`
`________
`
`
`
`vmvm8:622
`
`
`
`Emhmoi550
`
`
`
`San.ESmoE
`
`/(.wmrm
`
`co_umo__qq<
`
` mEmhmoi
`
`______.___
`
`mam
`
`
`
`
`
`
`
`oFFNwEEmoE
`
`
`
`82>
`
`Saab/x
`
`«EDmEmwmooE
`
` _mngm"u“.f85I\"IE:29?o3R_lmoKT..-.Ifioauzfiym‘flw.-mB......myan;
`.r..................................................lllllllll.l‘......................._
`
`
`
`
`_oFFN
`
`_
`
`___________
`
`
`"warm_emzom
`Ewwgm9:9qu
`
`:o_umo__nn<
`gums_:@ov"_________
`
`Page 23 of 54
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 7,668,939 B2
`
`1
`ROUTING OF RESOURCE INFORMATION IN
`A NETWORK
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`The present application is related to co -pending US. patent
`application Ser. No. 10/742,635, entitled “Using Parameter-
`ized URLs for Retrieving Resource Content Items,” US.
`patent application Ser. No. 10/742,570, entitled “Server
`Architecture for Network Resource Information Routing,”
`and US. patent application Ser. No. 10/741,706, entitled
`“Techniques for Limiting Network Access.” All of these
`applications were filed on the same date as the instant appli-
`cation, and all name the same inventors as the instant appli-
`cation.
`
`TECHNICAL FIELD
`
`This subject matter relates to a strategy for routing infor-
`mation to recipients via a network, and, in a more particular
`implementation, to a strategy for selectively routing metadata
`and media content to recipients via a local network, such as a
`home network.
`
`BACKGROUND
`
`Universal Plug and Play (UPnP) provides a network archi-
`tecture that facilitates adding and removing devices from a
`network. For instance, the UPnP architecture allows a user to
`simply “plug” a new device into a network coupling; there-
`after,
`the network will automatically determine the new
`device’s characteristics and subsequently coordinate interac-
`tion between this new device and others in the network based
`on the determined characteristics. The UPnP architecture is
`
`particularly well suited for networks associated with a local
`setting, such as a home, a business, a school, etc. (Note that
`the term “Universal Plug and Play” derives from functionality
`provided in the earlier developed device Plug and Play (PnP);
`device PnP provides a flexible technique for automatically
`adding and removing peripherals to a standalone computer
`device, such as a PC).
`FIG. 1 presents high level information regarding an exem-
`plary UPnP architecture 100. By way of overview, the UPnP
`architecture 100 includes a plurality of devices (e.g., devices
`102, 104, and 106) and control points (e.g., control points 108
`and 110) coupled together via a network 112.
`The UPnP devices (102, 104, and 106) can include a variety
`of electronic devices. Exemplary devices include computers
`of all types, CD/DVD players/jukeboxes, TVs, VCRs, MP3
`players, stereo systems, electronic picture frames (EPFs),
`various types of still and video cameras, and so on. More
`specifically, a so-called UPnP device conceptually defines a
`container that can include actual devices, services, etc. A
`service, in turn, defines various functions performed by a
`UPnP device that are made available to other UPnP devices.
`
`For instance, one exemplary service might pertain to a chro-
`nological function provided by a clock. In general, a service
`models its functionality using state variables and exposes
`various actions associated with the model to other UPnP
`
`devices. In the exemplary case ofFIG. 1, the UPnP device 102
`includes an actual device 114 that provides a service 116.
`UPnP device 104 includes an actual device 118 that provides
`services 120 and 122. UPnP device 106 includes an actual
`
`root device 124 that provides services 126 and 128. The root
`device 124, in turn, includes an embedded device 130 that
`provides a service 132.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`The network 112 can couple the devices (102, 104, 106)
`together using the Transmission Control Protocol and the
`Internet Protocol (TCP/IP). The network 112 can also freely
`draw from a number of other standard protocols, such as
`Hypertext Transfer Protocol (HTTP), Simple Object Access
`Protocol (SOAP), General Event Notification Architecture
`(GENA), and so on. The network 112 can be physically
`implemented using a variety of hardwired and/or wireless
`communication mechanisms, such as phone lines, power
`lines, Infrared Data Association (IrDa), Ethernet, Radio Fre-
`quency (RF) coupling, and so on.
`Finally, the control points (108, 110) define agents that can
`discover and control other UPnP devices. A UPnP device may
`itself include one or more control points integrated therewith.
`FIG. 2 illustrates conventional functions performed by the
`UPnP architecture 100 arranged in hierarchical layers. An
`addressing function 202 pertains to procedures whereby
`devices and control points receive addresses to interact with
`the network 112. More specifically, a device or control point
`can receive an address from a Dynamic Host Configuration
`Protocol (DHCP) server or using an Auto IP assignment
`procedure (e. g., if no DHCP server is available). The Auto IP
`procedure provides a technique for intelligently selecting an
`IP address from a set of private reserved addresses.
`A discovery function 204 pertains to procedures whereby
`devices advertise their services to control points. Devices can
`perform this advertisement by sending out a multicast variant
`of HTTP (i.e., HTTP-MU). A control point subsequently
`responds using HTTPU (i.e., a unicast variant of HTTP). The
`discovery function 204 makes use of General Event Notifi-
`cation Architecture (GENA) and Simple Service Discovery
`Protocol (SSDP) to carry out the above-noted exchange
`between UPnP devices and control points. Further, a newly
`added control point can also search for UPnP devices and
`services coupled to the network.
`A description function 206 pertains to a procedure
`whereby a control point that has discovered a UPnP device
`can determine more information regarding the UPnP device.
`The UPnP device responds by sending information to the
`control point, where such information is presented, using the
`extensible markup language OiML). Such information
`defines details regarding the type ofUPnP device (e.g., manu-
`facturer, model name and number, serial number, etc.), the
`services it offers, uniform resource locators (URLs) for inter-
`acting with the device, and so on.
`A control function 208 involves transmitting a control mes-
`sage from the control point to the UPnP device. The UPnP
`architecture 100 uses SOAP to transmit this message. SOAP
`messages contain action requests. The UPnP device executes
`the action specified in the SOAP message and then responds
`to the control point. The response contains action-specific
`values or fault codes.
`
`An eventing function 210 pertains to a procedure whereby
`a control point monitors events associated with services pro-
`vided by the UPnP architecture 100. More specifically, a
`service can send an event when its model changes state. The
`process of “publishing” these state changes is referred to as
`eventing. The control point can subscribe to receive various
`events by sending a subscription message to a service of
`interest.
`
`Finally, a presentation function 212 entails retrieving a
`page of information from a UPnP device using a presentation
`URL associated with this UPnP device. The control point can
`initiate the presentation process by issuing an HTTP GET
`request to the UPnP device. The presentation function 212
`allows a user to view the status ofthe device and/or control the
`device.
`
`Page 24 of 54
`
`Page 24 of 54
`
`
`
`US 7,668,939 B2
`
`3
`The UPnP Forum’s web site (i.e., http://upnp.org/) pro-
`vides more detailed information regarding the UPnP archi-
`tecture and related topics.
`As mentioned above, UPnP devices are commonly used in
`relatively localized network environments, such as in a home
`or business. In the home environment, for instance, a network
`including UPnP devices may interconnect a collection of
`media source devices and a collection of media rendering
`devices. An exemplary media source device might comprise a
`personal computer that stores a collection of music, video,
`pictures, etc., or may comprise various types of jukebox
`devices. An exemplary media rendering device might com-
`prise a TV, stereo, personal computer, and so on. A control
`point (such as a personal computer) can then be used to route
`resource information from one of the media source devices to
`
`a selected media rendering device.
`However, existing networks that include UPnP devices do
`not perform the above-described transfer of resource infor-
`mation in a well-controlled, secure, and responsible fashion.
`For instance, a home environment may include a group of
`individuals ofvarious ages and interests. Some media content
`may be appropriate for some members of the family, but not
`others. For instance, parents may wish to route music, video
`and pictures to children that do not contain any mature con-
`tent. At the same time, the parents may not want to interact
`with the kind of resource information that is appropriate for
`children. Existing networks that include UPnP devices do not
`provide a mechanism for selectively routing different
`resource information to different individuals within the fam-
`
`ily. For instance, the father may have loaded a video jukebox
`with a variety of DVDs that collectively provide a wide range
`ofresource information; existing networks that include UPnP
`devices lack provisions for selectively disseminating the
`resources in this jukebox to different members of the family
`depending on appropriateness and recipient interest.
`Similar deficiencies exist in other applications of networks
`that include UPnP devices. For instance, in a business con-
`text, a business owner may have an information warehouse
`containing a variety of resource information. Some of that
`resource information may not be suitable for general dissemi-
`nation throughout the company, as it may contain private or
`sensitive content, or simply content of little interest to many
`employees. Conventional networks
`that
`include UPnP
`devices do not include any mechanisms for allowing an
`administrator to selectively route the resource information to
`appropriate recipients.
`Further, in any environment, there exists the risk that an
`individual who is not affiliated with the network including
`devices built in accordance with the UPnP architecture might
`“tap” into the network in an unauthorized manner. For
`instance, the network may be implemented using wireless
`links (in whole or in part). In these networks, there exists the
`risk that an unauthorized individual might intentionally or
`inadvertently gain access to the resources provided by the
`UPnP architecture. Similar risks are present in other kinds of
`networks. Further, the functionality provided for networks
`that include UPnP devices is designed to ensure continuity
`with wide area IP network functionality. While this provides
`many advantages, it also introduces the risk that users in the
`wide area network environment might intentionally or inad-
`vertently find a way to tap into the home network environ-
`ment. Since the UPnP architecture does not provide a suitable
`mechanism for controlling or blocking the routing of infor-
`mation, there is a chance that these kinds of unauthorized
`users might gain access to the network’s entire collection of
`media and informational resources or control
`the UPnP
`devices on the network.
`
`4
`
`Accordingly, there is an exemplary need in the art for a
`technique for controlling the dissemination ofresource infor-
`mation in a network environment, and, in a more particular
`implementation, there is need for a technique for controlling
`the routing of resource information in a network including
`UPnP devices.
`
`SUMMARY
`
`10
`
`15
`
`20
`
`25
`
`According to one exemplary implementation, a method is
`described for disseminating resource information over a net-
`work. The method includes: (a) receiving, at a source entity, a
`consumer’s request for resource information; (b) processing
`the request at the source entity to determine whether there are
`any resources designated as shareable over the network that
`meet the request and which satisfy at least one distribution
`criterion; (c) generating a response that indicates the results
`of the processing; and (d) forwarding the response to the
`consumer.
`
`a
`According to another exemplary implementation,
`method is described for defining conditions pertaining to
`disseminating resource information over a network using a
`source entity. The method includes providing a user interface
`presentation that allows a user to select: (a) at least one
`resource to be shared over the network; and (b) at least one
`distribution criterion which governs the distribution of the
`resource information regarding at least part of said at least one
`resource over the network. The method also includes receiv-
`
`30
`
`ing the user’s selection of said at least one resource and said
`at least one distribution criterion via said user interface pre-
`sentation.
`
`Additional exemplary implementations are described in
`the following.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 shows a conventional UPnP architecture including a
`plurality of devices and control points.
`FIG. 2 shows a conventional series of functions provided
`by the UPnP architecture shown in FIG. 1.
`FIG. 3 shows an exemplary network architecture including
`resource sharing.
`FIG. 4 shows an exemplary application of the network
`architecture shown in FIG. 3.
`
`FIG. 5 shows an exemplary media server for use in the
`network architecture shown in FIG. 3.
`
`FIG. 6 shows an exemplary directory used by the media
`server of FIG. 5.
`
`FIG. 7 shows exemplary mechanisms used to prevent
`unauthorized individuals from gaining access to resources in
`the context of the application shown in FIG. 4.
`FIGS. 8-15 show different exemplary user interface (UI)
`pages for presentation by the media server of FIG. 5.
`FIGS. 16-20 show exemplary procedures for enabling and
`disabling media devices, for defining criteria used to share
`resource information, and for sharing the resource informa-
`tion in the network architecture of FIG. 3.
`
`FIG. 21 shows an exemplary computer environment for
`implementing the media server of FIG. 5.
`The same numbers are used throughout the disclosure and
`figures to reference like components and features. Series 100
`numbers refer to features originally found in FIG. 1, series
`200 numbers refer to features originally found in FIG. 2,
`series 300 numbers refer to features originally found in FIG.
`3, and so on.
`
`Page 25 of 54
`
`Page 25 of 54
`
`
`
`US 7,668,939 B2
`
`5
`DETAILED DESCRIPTION
`
`To facilitate explanation, the following discussion will
`describe resource information distribution functionality in
`terms of the Universal Plug and Play (UPnP) architecture. As
`used herein, the term “UPnP network” describes a network
`(such as the exemplary UPnP network 314 shown in FIG. 3)
`that has one or more entities (e.g., devices) that are built in
`accordance with the UPnP architecture, where the UPnP pro-
`tocol is used for announcement, discovery, description, event-
`ing and control of these entities. In the present architecture,
`other entities besides entities that are built in accordance with
`
`the UPnP architecture can be coupled to the UPnP network
`314. However, this specific network framework is merely
`exemplary. The resource information distribution functional-
`ity can be implemented using other kinds of architectures and
`networks (that is, the functionality is not limited to networks
`that include UPnP entities).
`More specifically, as will be described shortly, the UPnP
`network 314 can include one or more source entities which
`
`supply information to one or more recipient entities. The
`UPnP network 3 14 can optionally include one or more control
`point entities for coordinating the transfer of information
`from the source entity(ies) to the recipient entity(ies), and for
`performing other functions. For example, a source entity can
`comprise a media server, or some other kind of device. A
`recipient entity can comprise a control point device, a media
`rendering device, or some other kind of device. Generally, the
`terms “entity” and “device” should be construed broadly
`herein; these terms can refer to discrete standalone units for
`performing ascribing tasks, or can comprise systems com-
`posed of multiple units, or can comprise hardware and/or
`software components contained within units, and so on. To
`simplify the discussion, the term “device” is used in this
`section to describe any kind of module coupled to the UPnP
`network 314. (Further, the media server devices are also
`referred to as “media servers” to simplify the discussion.)
`Further, to provide a concrete example, the following dis-
`cussion will describe the resource information distribution
`
`functionality in the home context, where a person in the home
`uses the UPnP network 314 to interconnect multiple media
`server and media rendering devices within the home How-
`ever, the resource distribution functionality can be applied to
`any environment, including a business environment (e. g.,
`within a corporation), an academic environment (e.g., within
`a school or university), and so on.
`Further, a UPnP network 314 typically couples devices
`together in a relatively small and well-defined geographic
`area (e. g., within a building). However, the resource informa-
`tion distribution functionality can be applied to more region-
`ally encompassing environments.
`Further,