`
`
`
`
`
`
`
`
`US 7,483,958 B1
`(10) Patent No.:
`(12) Unlted States Patent
`
`
`
`
`
`
`
`
`Elabbady et al.
`(45) Date of Patent:
`Jan. 27, 2009
`
`
`USOO7483958B1
`
`
`
`5/2002 Levy ........................ .. 707/200
`2002/0052885 A1*
`
`
`
`
`
`
`8/2002 Lennon etal.
`2002/0107973 A1*
`709/231
`
`
`
`
`
`
`2002/0147771 A1* 10/2002 Traversatetal.
`.. 709/203
`
`
`
`
`
`2003/0005135 A1*
`1/2003 Inoueetal.
`.. 709/229
`
`
`
`
`
`
`.. 709/219
`.
`2003/0172131 A1*
`9/2003 A0 ........... ..
`
`
`
`
`
`
`. . . . .. 707/9
`2004/0249815 A1* 12/2004 Lee . . . . . . . . . . . . . . .
`
`
`
`
`
`
`
`2006/0031551 A1*
`2/2006 Agresta etal.
`............ .. 709/231
`* cited by examiner
`
`
`
`Primary ExamineriSaleh Najjar
`
`
`
`
`
`
`Assm‘mz Exammer Hamza
`a es,
`orne,
`en, or
`ll’mi ee
`
`
`
`
`y Ag 2
`(74) An
`F
`L &H y
`
`
`
`..
`
`
`
`
`
`.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PLLC
`
`
`
`
`
`(57)
`
`
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`Methods and systems suitable for shar1ng media content are
`
`
`
`
`
`
`
`
`provided. One system includes at least one media holder, at
`least one media cataloger, at least one user control point, at
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`least one media player, and at least one network operatively
`
`
`
`
`
`
`
`connecting them. The media holder is configured to selec-
`tively output shared media metadata, media content and at
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`least one corresponding media playing license over the net-
`work. The media cataloger is configured to receive the meta-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`data identifying the shared media content that is available
`
`
`
`
`
`
`
`from the media holder(s). The media cataloger is configured
`to output at least one media catalog over the network. The
`
`
`
`
`
`
`
`
`
`
`media catalog identifies the shared media content that is avail-
`
`
`
`
`
`
`
`
`
`able from the media holder(s). The user control point is con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`figured to receive the media catalogs) and request the shared
`media content as selected from the media catalog,
`for
`
`
`
`
`
`
`
`
`
`example, by a user. The user control point configures the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`media player to receive the media playing license and the
`media content over the network. The media player cannot
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`play protected media content without having a proper license.
`The license may be withheld if certain authentication criteria
`
`
`
`
`
`
`
`are not met by the playing device. In certain implementations,
`
`
`
`
`
`
`
`the network includes a Universal Plug-and-Play network that
`
`
`
`
`
`
`
`allows the various devices to quickly integrate with one
`
`
`
`
`
`
`
`
`
`another without user intervention. The network also provides
`
`
`
`
`
`
`
`
`a robust environment, such that, e.g., media content sharing
`
`
`
`
`
`
`
`
`
`can easily be accomplished even ifthe media cataloger is not
`
`
`
`
`
`
`
`
`aVailable~
`
`
`22 Claims, 5 Drawing Sheets
`
`
`
`
`
`
`(54) METHODSANDAPPARATUSES FOR
`
`
`
`
`
`SHARING MEDIA CONTENT, LIBRARIES
`
`
`
`AND PLAYLISTS
`
`
`
`
`
`
`
`(75)
`
`Inventors. Tank Z_ Elabbadys Redmond, WA
`
`
`
`
`B
`(Us). Sh
`J Ch
`WA
`
`
`
`
`(US)f (1211:1223; Alkoiz’wzozxi’ne
`
`
`
`
`WA (US); Sandeep S. Sahasrabudhe,
`
`
`
`
`Redmond, WA (Us)
`
`
`
`
`
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`
`(Us)
`
`( * ) Notice:
`
`
`
`
`Subject to any disclaimer, the term of this
`
`
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`
`USC. 154(1)) by 702 days.
`
`
`
`
`
`
`
`
`
`
`(21) Appl' No; 10/108’174
`
`
`
`Filed:
`Man 26 2002
`(22)
`’
`
`
`
`Related US Application Data
`.
`.
`.
`.
`
`
`
`
`
`
`
`
`
`PIOVlslonal a131311031110n NO- 60/278304: filed on Man
`
`
`26: 2001~
`
`
`(60)
`
`
`
`
`
`(51)
`
`
`(56)
`
`
`Int' Cl'
`
`
`(200601)
`G06F 15/16
`
`
`
`
`
`
`
`
`
`(52) US. Cl.
`..................... .. 709/217 ; 709/218; 709/219;
`709/231
`
`(58) Field of Classification Search ............... .. 709/231,
`
`
`
`
`
`
`
`
`
`
`
`709/200, 203, 2177219, 229, 230, 238; 705/50,
`705/515 59
`
`
`
`
`
`
`
`
`See application file for complete searCh history.
`.
`
`References C1ted
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`>I<
`FDEEiggél"""""""" ”
`*
`
`
`
`70559
`1/2006 Padole et al'
`6’993’664 B2 *
`
`
`
`
`
`
`6/2006 McCartney et al.
`.
`7,065,527 B2 :1
`N 707/10
`
`
`
`
`
`
`
`7/2006 Hillegass et al.
`7,076,468 B2 *
`705/56
`
`
`
`
`
`
`9/2006 Feldman etal.
`7,110,982 B2 *
`............. .. 705/51
`
`
`
`
`
`
`7,136,866 B2 * 11/2006 Springer et al.
`........... .. 707/102
`
`
`
`
`
`
`
`
`
`
`
`
`
`2115
`— T N“ MEDIACATALOGI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`//
`
`MEDIA CATALOG
`SERVICE T—
`
`
`
`
`
`
`MEDIA LIBRARY
`USER
`
`
`
`SERVICE
`CONTROL
`INTERFACE
`
`
`
`
`M
`POINT (UCP)m
`
`
`
`MEDIA
`
`
`
`
`
`
`
`
`
`
`
`Dgfféifil
`HTTP CLIENT
`
`
`
`
`
`
`
`
`
`
`
`NETWORK
`LICENSE
`GENERATOR
`
`
`
`
`
`
` LICENSE
`3115
`
`
`CLIENT
`STORE a“ 3-12
`
`
`
`
`
`
`
`
`
`
`
`m
`REG'STRA“
`
`
`
`
`
`
`
`
`
`
`
`
`ON
`
`DEVICE WEE:
`39;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et a1. Exhibit 1004
`Page 1 of 14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 1 of 14
`
`
`
`U.S. Patent
`
`Jan. 27, 2009
`
`Sheet 1 of 5
`
`US 7,483,958 B1
`
`m:o_umo__aa<
`
`
`
`
`
`mmFmyoEwmEmogmx
`
`
`
`Verymarl/nom?)mmrl/
`
`
`Ema8:622wEEmoEE296
`
`
`
`
`
`
`
`
`
`E992;$50cos—830$9:9on
`
`Netflix, Inc. et a1.
`
`Exhibit 1004
`Page 2 of 14
`
`
`
`
`
` 550WmN:uHMwvAi5:m92mMm.mEEoimmN.§m_08:25cornea“?mm._.mgocatwmm111111-‘nm.as"m2Jn_mtuw0.mamu<mEmym>w
`
`
`9:9qu
`
`
`
`chfimmr88:35«:85.9mm.mE5505
`09mm.E902;"mlav;wWmg$3.82mmmom2:Hn"
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Im........................................................................................................................................................!_H.HV,\!\MM,M.HM.MHMMMHMHM.HUHMHL.M.M.H..H.H..H..wiiI"
`om?Lto;k
`
` .............................m”N3”ummom.mm_lmw5.0m:mN2I.....aoauzémwfi....z.
`
`
`
`
`=5:mcfimmooi
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 2 of 14
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`
`
`
`Jan. 27, 2009
`
`
`Sheet 2 of5
`
`
`
`
`
`US 7,483,958 B1
`
`00
`
`
`
`MEDIA cs
`
`
`
`292;
`
`
`
`
`
`
`
`INTERNET
`208
`
`
`
`---------- -- --- Device 2 6c
`
`
`
`— — — — — — — —q
`
`1I 1 i I I
`
`D '
`
`'
`
`i
`eV'Ce & :
`UCP
`:ll
`
`_ _ _ _ __‘|
`
`i
`
`I‘
`:
`i
`SERVER .. 1
`210 E :
`
`I
`
`I
`
`____
`
`g'
`
`I_____ “H”:
`I
`MEDIA
`|.
`i
`.:
`PLAYER
`i
`I
`324
`: v ————
`
`I.
`
`Netflix, Inc. et a1. Exhibit 1004
`Page 3 of 14
`
` O O .
`
`
`Device
`
`06d
`
`
`
`391
`
`Device 206a
`
`MEDIA LS
`
`207
`
`Device 206b
`
`
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 3 of 14
`
`
`
`
`US. Patent
`
`
`
`
`
`Jan. 27, 2009
`
`
`
`
`Sheet 3 of5
`
`
`
`
`
`US 7,483,958 B1
`
`o Q
`
`Device 206d
`
`
`Device 206e
`
`
`
`
`
`
`MEDIA CS
`
`2&3:
`
`MEDIA LS
`
`_9_7.
`
`
`
`DEVICE _Q2_'
`
`MEDIA CS
`
`
`
`
`
`INTERNET
`
`&
`
`
`Device m
`
`204/
`
`O
`
`
`
`
`Device 2069
`
`MEDIA LS
`
`2.01
`
`
`
`
`
`1
`SERVER - : DeVIce 3__(_)_
`2_10_ E {
`Ir
`UCP
`|
`'
`315
`|
`
`____
`
`I
`
`____ __fi‘
`
`|
`
`:
`i
`II
`}'
`
`Netflix, Inc. et a1. Exhibit 1004
`Page 4 of 14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 4 of 14
`
`
`
`
`
`U.S. Patent
`
`
`
`
`Jan.27,2009
`
`
`Sheet40f5
`
`
`
`
`
`US 7,483,958 B1
`
`mme
`
`._Om_._.zOO
`
`a$02San.
`
`<_Dm__>_
`
`\mmooomn—
`
`xmozfimz
`
`mofimmfiz.
`
`
`
`>m<mm_|_<_n_m__>_
`
`mo_>mmw
`
`Ma
`
`Emfizoo
`
`$5me
`
`2mm9fl
`
`hzmzo
`
`._.Zm_._.ZOO).1
`
`
`
`kzmzon_._.._.I%
`
`awn
`
`
`00..<._.<O<_Dm__>_
`A.IIIlIIll
`%mo_>mmm'00.220385.I\[
`
`
`
`xmozfimz
`
`xm0>>km2 mo_>wn_
`
`
`mwzmofi
`
`._.ZM_._O
`
`
`
`mmo<z<_>_mo_>m_n_
`
`Noun
`
`a$55
`
`20.25981
`
`am
`
`Netflix, Inc. et a1.
`
`Exhibit 1004
`Page 5 of 14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 5 of 14
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`Jan. 27, 2009
`
`
`Sheet 5 of 5
`
`
`
`
`
`US 7,483,958 B1
`
`402
`
`
`404
`
`
`
`406
`
`
`408
`
`410
`
`
`400 \
`
` A MEDIA CATALOG SERVICE (CS) IS CREATED ON AT LEAST
`
`
`
`
`
`
`
`ONE DEVICE THAT IS COUPLED TO A NETWORK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`THE MEDIA CS SENDS A REQUEST FOR AVAILABLE MEDIA
`INFORMATION OVER THE NETWORK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`AT LEAST ONE MEDIA LIBRARY SERVICE (LS) OPERATING ON A
`DEVICE COUPLED TO THE NETWORK RECEIVES THE REQUEST
`
`
`
`
`
`
`
`AND IN RESPONSE SENDS MEDIA LIBRARY INFORMATION TO
`
`
`
`
`
`
`
`THE MEDIA CS
`
`
`
`
`
`
`
`
`
`
`
`
`
`THE MEDIA CS RECEIVES THE MEDIA LIBRARY INFORMATION
`FROM AT LEAST ONE MEDIA LS AND FORMS A MEDIA CATALOG
`
`
`
`
`
`
`
`
`
`CATALOG IS AVAILABLE
`
`
`
`
`
`
`
`
`
`
`THE MEDIA CS SENDS OUT A NOTIFICATION THAT THE MEDIA
`
`
`
`
`
`
`
`
`
`THE MEDIA CS SENDS AT LEAST A PORTION OF THE MEDIA
`
`
`
`
`
`
`
`CATALOG OVER THE NETWORK TO AT LEAST ONE NETWORKED
`
`
`
`
`
`
`
`
`412
`DEVICE
`
`
`
`
`
`
`
`
`
`
`
`
`THE NETWORKED DEVICE PROVIDES INFORMATION ABOUT
`SELECTED MEDIA CONTENT IDENTIFIED IN THE MEDIA CATALOG
`
`
`
`
`
`
`TO A USER FOR POSSIBLE SELECTION
`
`
`
`
`
`
`
`
`414
`
`
`
`
`
`
`MEDIA CONTENT IDENTIFIED IN THE MEDIA CATALOG
`
`
`THE NETWORKED DEVICE ACCEPTS USER INPUT SELECTING
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`416
`
`
`
`
`
`
`
`
`
`
`THE NETWORKED DEVICE REQUESTS THE SELECTED MEDIA
`CONTENT OVER THE NETWORK FROM AN APPLICABLE MEDIA
`
`
`
`
`
`
`
`
`418
`CONTENT HOLDER
`
`
`
`
`
`
`
`769. 4
`
`
`
`
`
`
`
`
`THE APPLICABLE MEDIA CONTENT HOLDER PROVIDES THE
`
`
`
`
`
`
`SELECTED MEDIA CONTENT TO THE NETWORKED DEVICE
`
`
`
`Netflix, Inc. et al.
`
`Exhibit 1004
`Page 6 of14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 6 of 14
`
`
`
`
`
`US 7,483,958 B1
`
`1
`
`METHODS AND APPARATUSES FOR
`
`
`
`
`SHARING MEDIA CONTENT, LIBRARIES
`
`
`
`
`AND PLAYLISTS
`
`
`
`RELATED PATENT APPLICATIONS
`
`
`
`
`This US. Non-provisional application for Letters Patent
`
`
`
`
`
`
`
`claims the benefit of priority from, and hereby incorporates
`
`
`
`
`
`
`
`
`by reference the entire disclosure of, co-pending U.S. Provi-
`
`
`
`
`
`
`
`
`
`sional application for Letters Patent Ser. No. 60/278,804 filed
`
`
`
`
`
`
`
`
`
`Mar. 26, 2001.
`
`
`
`
`TECHNICAL FIELD
`
`
`
`This invention relates generally to networked computer
`
`
`
`
`
`
`and media reproduction devices, and more particularly to
`
`
`
`
`
`
`
`
`methods and systems for sharing media content between vari-
`
`
`
`
`
`
`
`
`
`ous devices.
`
`
`
`BACKGROUND
`
`
`Personal computers (PCs) are popular tools forplaying and
`
`
`
`
`
`
`
`
`sharing digital music files and more recently digital Video
`
`
`
`
`
`
`
`
`
`files. Downloading these and other types of media content
`
`
`
`
`
`
`
`
`files over the Internet is becoming more and more common, as
`
`
`
`
`
`
`
`
`
`a result of improved communication capabilities and
`
`
`
`
`
`
`
`advances in computer processing and data storage. Consum-
`
`
`
`
`
`
`
`ers also have more things to do with the media content once it
`
`
`
`
`
`
`
`
`
`
`has been downloaded. For example, consumers may choose
`
`
`
`
`
`
`
`
`to burn CDs or DVDs that can be replayed over stereos or
`
`
`
`
`
`
`
`
`
`
`televisions, respectively. Consumers are also able to port
`
`
`
`
`
`
`
`certain media files to digital audio players/receivers, such as,
`
`
`
`
`
`
`
`e.g., MP-3 devices that can easily be transported. Other popu-
`
`
`
`
`
`
`
`
`
`lar digital media content tools include digital cameras (both
`
`
`
`
`
`
`
`
`
`still and video) and digital scanning devices, which can be
`
`
`
`
`
`
`
`
`
`used to produce media content that can be shared with others
`
`
`
`
`
`
`
`
`
`over the Internet.
`
`
`
`A variety of digital audio content file sharing services are
`
`
`
`
`
`
`
`
`
`available over the Internet. Some of these early music swap-
`
`
`
`
`
`
`
`
`
`ping pioneers, such as, e. g., Napster, have successfully shown
`
`
`
`
`
`
`
`
`that consumers are excited about the prospects provided by
`
`
`
`
`
`
`
`
`online media content delivery. Some of services have also
`
`
`
`
`
`
`
`
`highlighted the continuing need to ensure that copyrighted
`
`
`
`
`
`
`
`media content is carefully protected.
`
`
`
`
`There is also a movement underway to provide more
`
`
`
`
`
`
`enhanced home networking capabilities, for example, that
`
`
`
`
`
`
`
`allow consumers to interconnect various devices and/or
`
`
`
`
`
`
`appliances together and possibly with other devices over the
`
`
`
`
`
`
`
`
`
`Internet. One exciting possibility is providing consumers
`
`
`
`
`
`
`with the ability to manage and deliver media content to
`
`
`
`
`
`
`
`
`
`devices not only in their homes but in their automobiles and at
`
`
`
`
`
`
`
`
`work. With the rapid changes in wireless technology, what
`
`
`
`
`
`
`
`
`was once only a dream is quickly becoming a reality.
`
`
`
`
`
`
`
`Consequently, there is a need for media content sharing
`
`
`
`
`
`
`
`methods and systems that take advantage of these and other
`
`
`
`
`
`
`
`
`
`technological improvements while also providing a respon-
`
`
`
`
`
`
`sible and user-friendly networking environment.
`
`
`
`
`
`SUMMARY
`
`
`The above stated needs and others are satisfied,
`for
`
`
`
`
`
`
`
`
`
`example, by a system suitable for sharing media content
`
`
`
`
`
`
`
`
`between a plurality of different types of devices. In accor-
`
`
`
`
`
`
`
`
`
`dance with certain exemplary implementations of the present
`
`
`
`
`
`
`invention, the system includes at least one media holder, at
`
`
`
`
`
`
`
`
`least one media cataloger, at least one user control point, at
`
`
`
`
`
`
`
`
`
`least one media player, and at least one network operatively
`
`
`
`
`
`
`
`
`
`connecting them.
`
`
`
`10
`
`
`
`15
`
`20
`
`
`
`25
`
`
`30
`
`
`
`35
`
`
`40
`
`
`
`45
`
`
`50
`
`
`
`55
`
`
`60
`
`65
`
`
`2
`
`
`The media holder is configured to selectively output shared
`
`
`
`
`
`
`
`media metadata, media content and at least one correspond-
`
`
`
`
`
`
`
`
`ing media playing license over the network. The media cata-
`
`
`
`
`
`
`
`
`
`
`loger is configured to receive the metadata identifying the
`
`
`
`
`
`
`
`shared media content that is available from the media holder
`
`
`
`
`
`
`
`
`
`(s). The media cataloger is configured to output at least one
`
`
`
`
`
`
`
`
`media catalog over the network. The media catalog contains
`
`
`
`
`
`
`
`
`
`metadata identifying the shared media content that is avail-
`
`
`
`
`
`
`
`
`able from the media holder(s). The user control point is con-
`
`
`
`
`
`
`
`
`
`figured to receive the media catalog(s) and request the shared
`
`
`
`
`
`
`
`
`
`media content as selected from the media catalog,
`for
`
`
`
`
`
`
`
`
`
`example, by a user. The user control point configures the
`
`
`
`
`
`
`
`
`
`media player to receive the media playing license and the
`
`
`
`
`
`
`
`
`
`media content over the network.
`
`
`
`
`
`The media player cannot play protected media content
`
`
`
`
`
`
`
`without having a proper media content playing license. The
`
`
`
`
`
`
`
`license may be withheld if certain authentication criteria are
`
`
`
`
`
`
`not met by the playing device and/or user.
`
`
`
`
`
`
`
`In certain implementations, the network includes a Univer-
`
`
`
`
`
`
`
`sal Plug-and-Play network that allows the various devices,
`
`
`
`
`
`
`
`
`both wired and wireless devices, to quickly integrate with one
`
`
`
`
`
`
`
`
`
`another without user intervention. The network also provides
`
`
`
`
`
`
`
`
`a robust environment, such that, e.g., media content sharing
`
`
`
`
`
`
`
`
`
`can easily be accomplished even if the media cataloger is not
`
`
`
`
`
`
`
`
`available.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`A more complete understanding of the various methods
`
`
`
`
`
`
`
`and systems of the present invention may be had by reference
`
`
`
`
`
`
`
`to the following detailed description when taken in conjunc-
`
`
`
`
`
`
`
`
`tion with the accompanying drawings wherein:
`
`
`
`
`
`
`FIG. 1 is a block diagram generally illustrating an exem-
`
`
`
`
`
`
`plary computer system suitable for use with certain imple-
`
`
`
`
`
`
`
`
`
`mentations of the present invention.
`
`
`
`
`FIG. 2A is a block diagram depicting a media content
`
`
`
`
`
`
`
`sharing environment having a plurality of networked devices
`
`
`
`
`
`
`including one device configured to provide a media catalog-
`
`
`
`
`
`
`
`ing service (CS) and other devices configured to provide
`
`
`
`
`
`
`
`
`media library services (LSs),
`in accordance with certain
`
`
`
`
`
`
`
`
`exemplary implementations of the present invention.
`
`
`
`
`FIG. 2B is a block diagram depicting a media content
`
`
`
`
`
`
`
`sharing environment having a plurality of networked devices
`
`
`
`
`
`
`including at least two devices configured to provide media
`
`
`
`
`
`
`
`cataloging services (CSs) and other devices configured to
`
`
`
`
`
`
`
`provide media library services (LSs), in accordance with
`
`
`
`
`
`
`
`
`certain other exemplary implementations of the present
`
`
`
`
`
`
`
`invention.
`
`FIG. 3 is a block diagram illustrating certain features and/
`
`
`
`
`
`
`
`or functions associated with certain devices, e.g., as in FIGS.
`
`
`
`
`
`
`
`
`
`1, and/or 2A-B, that are configured to share media content, in
`
`
`
`
`
`
`
`
`
`accordance with certain exemplary implementations of the
`
`
`
`
`
`
`present invention.
`
`
`FIG. 4 is a flow diagram depicting a media sharing process,
`
`
`
`
`
`
`
`in accordance with certain exemplary implementations ofthe
`
`
`
`
`
`
`present invention.
`
`
`DETAILED DESCRIPTION
`
`
`
`
`Turning to the drawings, wherein like reference numerals
`
`
`
`
`
`
`
`refer to like elements, the invention is illustrated as being
`
`
`
`
`
`
`
`
`implemented in a suitable computing environment. Although
`
`
`
`
`
`not required, the invention will be described in the general
`
`
`
`
`
`
`
`
`context ofcomputer-executable instructions, such as program
`
`
`
`
`
`modules, being executed by a personal computer. Generally,
`
`
`
`
`
`
`program modules include routines, programs, objects, com-
`
`
`
`
`
`
`
`ponents, data structures, etc. that perform particular tasks or
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et a1. Exhibit 1004
`Page 7 of 14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 7 of 14
`
`
`
`4
`
`
`
`US 7,483,958 B1
`
`3
`
`implement particular abstract data types. Moreover, those
`
`
`
`
`
`
`
`skilled in the art will appreciate that the invention may be
`
`
`
`
`
`
`
`
`
`practiced with other computer system configurations, includ-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing hand-held devices, multi-processor systems, micropro-
`cessor based or programmable consumer electronics, net-
`
`
`
`
`
`
`work PCs, minicomputers, mainframe computers, and the
`
`
`
`
`
`
`
`like. The invention may also be practiced in distributed com-
`
`
`
`
`
`
`
`
`puting environments where tasks are performed by remote
`
`
`
`
`
`
`
`processing devices that are linked through a communications
`
`
`
`
`
`
`
`network. In a distributed computing environment, program
`
`
`
`
`
`modules may be located in both local and remote memory
`
`
`
`
`
`
`
`
`storage devices.
`
`
`FIG. 1 illustrates an example of a suitable computing envi-
`
`
`
`
`
`
`ronment 120 on which the subsequently described methods
`
`
`
`
`
`
`
`and systems may be implemented. Exemplary computing
`
`
`
`
`
`
`environment 120 is only one example of a suitable computing
`
`
`
`
`
`
`
`environment and is not intended to suggest any limitation as
`
`
`
`
`
`
`
`to the scope of use or functionality of the improved methods
`
`
`
`
`
`
`
`
`and systems described herein. Neither should computing
`
`
`
`
`
`
`
`environment 120 be interpreted as having any dependency or
`
`
`
`
`
`
`requirement relating to any one or combination of compo-
`
`
`
`
`
`
`nents illustrated in computing environment 120.
`
`
`
`
`
`The improved methods and systems herein are operational
`
`
`
`
`
`
`
`
`with numerous other general purpose or special purpose com-
`
`
`
`
`
`
`
`
`puting system environments or configurations. Examples of
`
`
`
`
`
`well known computing systems, environments, and/or con-
`
`
`
`
`
`
`
`figurations that may be suitable include, but are not limited to,
`
`
`
`
`
`
`
`
`
`personal computers, server computers, thin clients, thick cli-
`
`
`
`
`
`
`
`
`ents, hand-held or laptop devices, multiprocessor systems,
`
`
`
`
`
`
`microprocessor-based systems, set top boxes, programmable
`
`
`
`
`
`
`consumer electronics, network PCs, minicomputers, main-
`
`
`
`
`
`
`frame computers, distributed computing environments that
`
`
`
`
`
`
`include any of the above systems or devices, and the like. The
`
`
`
`
`
`
`
`
`methods and systems may also be implemented, for example,
`
`
`
`
`
`
`
`
`using various media processing devices such as desktop com-
`
`
`
`
`
`
`
`
`puting devices, notebook computing devices, tablet comput-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing devices, hand-held computing devices, personal digital
`assistant (PDA) devices, electronic paper devices, electronic
`
`
`
`
`
`
`
`book devices, wearable computing devices, digital audio
`
`
`
`
`
`
`
`receiver (DAR) devices, digital audio player devices, digital
`
`
`
`
`
`
`
`
`audio recording devices, automobile-based media player
`
`
`
`
`
`
`devices, digital
`television devices, digital video player
`
`
`
`
`
`
`
`devices, digital versatile disc (DVD) player devices; set top
`
`
`
`
`
`
`
`
`
`box devices, digital video receiver devices, digital video
`
`
`
`
`
`
`
`
`recording devices, wireless communication devices, and the
`
`
`
`
`
`
`
`like.
`
`As shown in FIG. 1, computing environment 120 includes
`
`
`
`
`
`
`
`a general-purpose computing device in the form of a com-
`
`
`
`
`
`
`
`puter 130. The components of computer 130 may include one
`
`
`
`
`
`
`
`
`
`or more processors or processing units 132, a system memory
`
`
`
`
`
`
`
`
`134, and a bus 136 that couples various system components
`
`
`
`
`
`
`
`
`
`including system memory 134 to processor 132.
`
`
`
`
`
`
`Bus 136 represents one or more of any of several types of
`
`
`
`
`
`
`
`
`bus structures, including a memory bus or memory controller,
`
`
`
`
`
`
`a peripheral bus, an accelerated graphics port, and a processor
`
`
`
`
`
`
`
`
`or local bus using any of a variety ofbus architectures. By way
`
`
`
`
`
`
`
`
`
`of example, and not limitation, such architectures include
`
`
`
`
`
`
`
`
`Industry Standard Architecture (ISA) bus, Micro Channel
`
`
`
`
`
`
`
`Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video
`
`
`
`
`
`
`
`
`Electronics Standards Association (VESA) local bus, and
`
`
`
`
`
`
`
`
`Peripheral Component Interconnects (PCI) bus also known as
`
`
`
`
`
`
`
`Mezzanine bus.
`
`
`Computer 130 typically includes a variety of computer
`
`
`
`
`
`
`
`readable media. Such media may be any available media that
`
`
`
`
`
`
`
`
`
`is accessible by computer 130, and it includes both volatile
`
`
`
`
`
`
`
`
`and non-volatile media,
`removable and non-removable
`
`
`
`
`
`
`media.
`
`
`10
`
`15
`
`20
`
`
`
`25
`
`
`30
`
`
`
`35
`
`
`40
`
`
`
`45
`
`
`50
`
`
`
`55
`
`
`60
`
`
`
`65
`
`
`
`In FIG. 1, system memory 134 includes computer readable
`
`
`
`
`
`
`
`media in the form of volatile memory, such as random access
`
`
`
`
`
`
`
`
`memory (RAM) 140, and/or non-volatile memory, such as
`
`
`
`
`
`
`
`read only memory (ROM) 138. A basic input/output system
`
`
`
`
`
`
`
`
`(BIOS) 142, containing the basic routines that help to transfer
`
`
`
`
`
`
`
`
`
`information between elements within computer 130, such as
`
`
`
`
`
`
`
`during start-up, is stored in ROM 138. RAM 140 typically
`
`
`
`
`
`
`contains data and/or program modules that are immediately
`
`
`
`
`
`
`
`
`accessible to and/or presently being operated on by processor
`
`
`
`
`
`
`132.
`
`Computer 130 may further include other removable/non-
`
`
`
`
`
`
`
`removable, volatile/non-volatile computer storage media. For
`
`
`
`
`
`
`example, FIG. 1 illustrates a hard disk drive 144 for reading
`
`
`
`
`
`
`
`
`
`from and writing to a non-removable, non-volatile magnetic
`
`
`
`
`
`
`media (not shown and typically called a “hard drive”), a
`
`
`
`
`
`
`
`
`magnetic disk drive 146 for reading from and writing to a
`
`
`
`
`
`
`
`
`
`removable, non-volatile magnetic disk 148 (e.g., a “floppy
`
`
`
`
`
`
`
`disk”), and an optical disk drive 150 for reading from or
`
`
`
`
`
`
`
`
`
`writing to a removable, non-volatile optical disk 152 such as
`
`
`
`
`
`
`
`a CD-ROM/R/RW, DVD-ROM/R/RW/+R/RAM or other
`
`
`
`
`optical media. Hard disk drive 144, magnetic disk drive 146
`
`
`
`
`
`
`
`
`
`
`and optical disk drive 150 are each connected to bus 136 by
`
`
`
`
`
`
`
`
`
`
`one or more interfaces 154.
`
`
`
`
`The drives and associated computer-readable media pro-
`
`
`
`
`
`
`
`vide nonvolatile storage of computer readable instructions,
`
`
`
`
`
`
`data structures, program modules, and other data for com-
`
`
`
`
`
`
`
`
`
`puter 130. Although the exemplary environment described
`
`
`
`
`
`
`
`herein employs a hard disk, a removable magnetic disk 148
`
`
`
`
`
`
`
`
`and a removable optical disk 152, it should be appreciated by
`
`
`
`
`
`
`
`those skilled in the art that other types of computer readable
`
`
`
`
`
`
`
`
`
`media which can store data that is accessible by a computer,
`
`
`
`
`
`
`
`
`such as magnetic cassettes, flash memory cards, digital video
`
`
`
`
`
`
`
`
`disks, random access memories (RAMs), read only memories
`
`
`
`
`
`
`
`
`(ROM), and the like, may also be used in the exemplary
`
`
`
`
`
`
`
`
`
`
`operating environment.
`
`
`A number of program modules may be stored on the hard
`
`
`
`
`
`
`
`disk, magnetic disk 148, optical disk 152, ROM 138, or RAM
`
`
`
`
`
`
`
`
`140, including, e.g., an operating system 158, one or more
`
`
`
`
`
`
`
`
`application programs 160, other program modules 162, and
`
`
`
`
`
`
`
`program data 164.
`
`
`
`The improved methods and systems described herein may
`
`
`
`
`
`
`
`be implemented within operating system 158, one or more
`
`
`
`
`
`
`
`application programs 160, other program modules 162, and/
`
`
`
`
`
`
`
`or program data 164.
`
`
`
`
`A user may provide commands and information into com-
`
`
`
`
`
`
`
`
`puter 130 through input devices such as keyboard 166 and
`
`
`
`
`
`
`
`
`
`pointing device 168 (such as a “mouse”). Other input devices
`
`
`
`
`
`
`
`
`(not shown) may include a microphone, joystick, game pad,
`
`
`
`
`
`
`
`
`satellite dish, serial port, scanner, camera, etc. These and
`
`
`
`
`
`
`
`
`
`other input devices are connected to the processing unit 132
`
`
`
`
`
`
`
`
`
`through a user input interface 170 that is coupled to bus 136,
`
`
`
`
`
`
`
`
`
`but may be connected by other interface and bus structures,
`
`
`
`
`
`
`
`
`such as a parallel port, game port, or a universal serial bus
`
`
`
`
`
`
`
`
`
`(USB).
`
`
`A monitor 172 or other type of display device is also
`
`
`
`
`
`
`
`
`
`connected to bus 136 via an interface, such as a video adapter
`
`
`
`
`
`
`
`
`174. In addition to monitor 172, personal computers typically
`
`
`
`
`
`
`
`include other peripheral output devices (not shown), such as
`
`
`
`
`
`
`
`
`speakers and printers, which may be connected through out-
`
`
`
`
`
`
`
`
`put peripheral interface 175.
`
`
`
`
`Computer 130 may operate in a networked environment
`
`
`
`
`
`
`using logical connections to one or more remote computers,
`
`
`
`
`
`
`
`such as a remote computer 182. Remote computer 182 may
`
`
`
`
`
`
`
`
`include many or all of the elements and features described
`
`
`
`
`
`
`
`
`
`herein relative to computer 130.
`
`
`
`
`Logical connections shown in FIG. 1 are a local area net-
`
`
`
`
`
`
`
`
`work (LAN) 177 and a general wide area network (WAN)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et a1. Exhibit 1004
`Page 8 of 14
`
`Netflix, Inc. et al. Exhibit 1004
`
`Page 8 of 14
`
`
`
`
`
`US 7,483,958 B1
`
`5
`
`10
`
`15
`
`5
`
`179. Such networking environments are commonplace in
`
`
`
`
`
`
`offices, enterprise-wide computer networks, intranets, and
`
`
`
`
`
`
`the Internet.
`
`
`When used in a LAN networking environment, computer
`
`
`
`
`
`
`130 is connected to LAN 177 Via network interface or adapter
`
`
`
`
`
`
`186. When used in a WAN networking environment, the
`
`
`
`
`
`
`
`computer typically includes a modem 178 or other means for
`
`
`
`
`
`
`establishing communications over WAN 179. Modem 178,
`
`
`
`
`
`
`which may be internal or external, may be connected to sys-
`
`
`
`
`
`
`
`tem bus 136 via the user input interface 170 or other appro-
`
`
`
`
`
`
`
`
`
`
`
`
`
`priate mechanism.
`Depicted in FIG. 1, is a specific implementation of a WAN
`
`
`
`
`
`via the Internet. Here, computer 130 employs modem 178 to
`
`
`
`
`
`
`
`
`establish communications with at least one remote computer
`
`
`
`
`
`
`
`182 via the Internet 180.
`
`
`
`
`
`In a networked environment, program modules depicted
`
`
`
`
`
`
`relative to computer 130, or portions thereof, may be stored in
`
`
`
`
`
`
`
`a remote memory storage device. Thus, e.g., as depicted in
`
`
`
`
`
`
`
`
`
`FIG. 1, remote application programs 189 may reside on a
`
`
`
`
`
`
`
`
`memory device of remote computer 182. It will be appreci-
`
`
`
`
`
`
`
`ated that the network connections shown and described are
`
`
`
`
`
`
`
`
`
`exemplary and other means ofestablishing a communications
`
`
`
`
`
`
`link between the computers may be used.
`
`
`
`
`
`
`Attention is now drawn FIG. 2A, which is a block diagram
`
`
`
`
`
`
`
`
`depicting a media content sharing environment 200 having a
`
`
`
`
`
`
`
`plurality of networked devices including a first device 202
`
`
`
`
`
`
`
`
`that is configured to provide a media cataloging service (CS)
`
`
`
`
`
`
`
`over a network 204 with/for other devices 206a-d that are
`
`
`
`
`
`
`
`
`
`configured to act as media players and/or provide media
`
`
`
`
`
`
`
`
`library services (LSs), in accordance with certain exemplary
`
`
`
`
`
`
`
`implementations of the present invention.
`
`
`
`In this example first device 202 is further operatively
`
`
`
`
`
`
`
`
`coupled to the Internet 208, which provides connectivity to at
`
`
`
`
`
`
`
`least one server 210. Here, server 210 is coupled to media
`
`
`
`
`
`
`
`
`
`content sharing mechanism that is represented by a database
`
`
`
`
`
`
`212. Server 210 may, for example, be configured to provide
`
`
`
`
`
`
`
`
`an Intemet-based service, such as, a media controller service,
`
`
`
`
`
`
`
`a media provider service, a radio program service, a television
`
`
`
`
`
`
`
`
`service, or the like. Device 2060 is illustrated as also having
`
`
`
`
`
`
`
`
`the ability to operatively connect to the Internet 208 through
`
`
`
`
`
`
`
`
`communication link 207. Other devices, such as devices
`
`
`
`
`
`
`
`206a, 2061) and/or 206d may also have similar connectivity to
`
`
`
`
`
`
`
`
`
`the Internet 208. For example, network 204 may be connected
`
`
`
`
`
`
`
`
`
`to the Internet 208 through one or more other devices (not
`
`
`
`
`
`
`
`
`
`
`shown).
`
`Network 204 is representative of any communication sys-
`
`
`
`
`
`
`tem/equipment that can provide the necessary data commu-
`
`
`
`
`
`
`
`
`nication path between the various devices connected through
`
`
`
`
`
`
`
`it. Thus, network 204 may include wired and/or wireless
`
`
`
`
`
`
`
`
`
`connections.
`In certain implementations network 204
`
`
`
`
`
`
`includes an Internet Protocol (IP) based network. To better
`
`
`
`
`
`
`
`control the sharing of media content, in certain implementa-
`
`
`
`
`
`
`
`tions network 204 includes a local area network (LAN).
`
`
`
`
`
`
`
`
`One such implementation, in accordance with certain pre-
`
`
`
`
`
`
`
`ferred implementations, includes the use of a Universal Plug-
`
`
`
`
`
`
`
`and-Play (UPnP) protocol that provides a peer-to-peer net-
`
`
`
`
`
`
`
`work capability that can support various devices through
`
`
`
`
`
`
`
`
`wired and/or wireless connections. UPnP provides a distrib-
`
`
`
`
`
`
`
`uted, open networking architecture that leverages Transmis-
`
`
`
`
`
`
`
`sion Control Protocol
`(TCP/IP) and World Wide Web
`
`
`
`
`
`
`
`
`(WWW) features to enable seamless proximity networking in
`
`
`
`
`
`
`addition to control and data transfer among networked
`
`
`
`
`
`
`
`
`devices in a home, office, or other like environment(s). UPnP
`
`
`
`
`
`
`
`advantageously boasts device-driver independence and zero-
`
`
`
`
`
`
`
`
`configuration networking.
`Devices 202, 206a-d (and later devices 202', 206e-h, and
`
`
`
`
`
`
`
`
`
`300) are representative of a variety of different devices that
`
`
`
`
`
`
`
`
`6
`
`can be used to provide features/capabilities associated with
`
`
`
`
`
`
`sharing media content in accordance with the methods and
`
`
`
`
`
`
`
`
`systems provided herein. An exemplary list of some of the
`
`
`
`
`
`
`
`
`types of devices that may be used was provided earlier. Those
`
`
`
`
`
`
`
`
`
`skilled in the art will recognize other devices that can also be
`
`
`
`
`
`
`
`
`
`
`used, including special purpose devices.
`
`
`
`
`
`As depicted in FIG. 2A, device 202 is operatively config-
`
`
`
`
`
`
`
`
`ured to provide a media catalog service 203. Media catalog
`
`
`
`
`
`
`
`
`service (CS) 203 is configured to gather and/or distribute
`
`
`
`
`