`
`1111111111111111111111111111111111111111111111111111111111111
`US007483958Bl
`
`c12) United States Patent
`Elabbady et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,483,958 Bl
`Jan.27,2009
`
`(54) METHODS AND APPARATUSES FOR
`SHARING MEDIA CONTENT, LIBRARIES
`AND PLAYLISTS
`
`(75)
`
`Inventors: Tarek Z. Elabbady, Redmond, WA
`(US); Shannon J. Chan, Bellevue, WA
`(US); James M. Alkove, Woodinville,
`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
`U.S.C. 154(b) by 702 days.
`
`(21) Appl. No.: 10/108,174
`
`(22) Filed:
`
`Mar. 26, 2002
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/278,804, filed on Mar.
`26,2001.
`
`(51)
`
`Int. Cl.
`G06F 15116
`(2006.01)
`(52) U.S. Cl. ....................... 709/217; 709/218; 709/219;
`709/231
`(58) Field of Classification Search . ... ... ... ... .. .. 709/231,
`709/200, 203, 217-219, 229, 230, 238; 705/50,
`705/51, 59
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,349,340
`6,901,428
`6,993,664
`7,065,527
`7,076,468
`7,110,982
`7,136,866
`
`B1*
`212002
`B1*
`5/2005
`B2 *
`112006
`B2 *
`6/2006
`B2 *
`7/2006
`B2 *
`9/2006
`B2 * 1112006
`
`Dyer eta!. .................. 709/231
`............... 709/203
`Frazier et a!.
`Padole eta!. .................. 705/59
`McCartney et a!.
`........... 707/10
`Hillegass et a!. .............. 705/56
`Feldman eta!. ............... 705/51
`Springer et a!. ............. 707/102
`
`2002/0052885 A1 *
`5/2002 Levy .......................... 707/200
`2002/0107973 A1 *
`8/2002 Lennon eta!. .............. 709/231
`2002/0147771 A1 * 10/2002 Traversat et a!. ............ 709/203
`2003/0005135 A1 *
`112003
`Inoue eta!. ................. 709/229
`2003/0172131 A1 *
`9/2003 Ao ............................. 709/219
`2004/0249815 A1 * 12/2004 Lee ............................... 707/9
`2006/0031551 A1 *
`2/2006 Agresta et a!.
`.............. 709/231
`* cited by examiner
`Primary Examiner-Saleh Najjar
`Assistant Examiner-Faruk Hamza
`(74) Attorney, Agent, or Firm-Lee & Hayes, PLLC
`
`(57)
`
`ABSTRACT
`
`Methods and systems suitable for sharing 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(cid:173)
`tively output shared media metadata, media content and at
`least one corresponding media playing license over the net(cid:173)
`work. The media cataloger is configured to receive the meta(cid:173)
`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(cid:173)
`able from the media holder(s ). The user control point is con(cid:173)
`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 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 if the media cataloger is not
`available.
`
`22 Claims, 5 Drawing Sheets
`
`NETWORK
`DEVICE MANAGER
`~
`
`CLIENT
`ll6_
`
`Page 1 of 14
`
`Unified Patents Exhibit 1004
`
`
`
`00 = """"'
`\c u.
`00 w
`~
`-....l
`rJl
`d
`
`Ul
`0 .....
`....
`.....
`rFJ =(cid:173)
`
`('D
`('D
`
`~
`
`~ :=
`
`\0
`0
`0
`N
`~-....l
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`'Ju,, 1
`
`.D
`
`-172
`
`....-120
`
`189
`
`Applications
`
`Remote
`
`Keyboard
`
`179 _,WAN
`
`164
`
`166
`
`182
`
`186
`
`150
`
`-----=---
`
`-
`
`-
`
`: ~ -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`L.....L___ __ ____,c...., 177
`
`LAN
`
`Network
`
`Interface
`User Input
`
`Data Media Interfaces
`
`175 :
`
`__ ___,c.___~
`
`p7;ffil j
`
`Interface
`
`Output
`
`170
`
`Bus
`
`136
`
`Adapter
`Video
`
`174
`
`Processing Unit
`
`,
`C 132
`
`130
`
`/
`
`158
`Programs
`Application
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-.-. -•• 0 :---
`
`-
`
`-
`
`-
`
`-.-.-~---
`
`-
`
`--·------
`
`164/ .--:···
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`----
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`----
`
`L -
`
`'
`
`Program Data
`
`Modules 162
`
`Other Program
`
`160
`
`Programs
`Application
`
`158
`Operating System
`
`~-(I~M)----------------146-
`BIOS 142)
`
`(
`
`f
`
`138 :
`: (ROM)
`~-----~y~_t~~JY!~!!l_(?~ ______ !
`c·---·--. ------------:·:·:·.:.:·:·f:·.::··-·-·--·-···-··-···---·-·-···-·-·-···-·-·····-·--·-·-·-·--·-·-·-·-·-·-·-
`
`--134
`
`Page 2 of 14
`
`
`
`U.S. Patent
`
`Jan.27,2009
`
`Sheet 2 of 5
`
`US 7,483,958 Bl
`
`Device 206d
`MEDIA LS
`207
`
`204_/
`
`DEVICE 202
`
`MEDIA CS
`203
`
`INTERNET
`208
`
`SERVER
`
`Device 206a
`MEDIA LS
`207
`
`Device 206b
`
`• • •
`
`---------------- Device 206c
`I
`I
`I
`I
`I
`r---------
`I
`I
`I
`1
`1
`I
`I
`1 Device 300
`:
`1
`I
`I
`I
`~---1 ,-------..I
`: 1 UCP
`11
`~--~!~ __ ::
`-------l I
`I PLAYER
`:I
`: MEDIA
`I:
`
`1
`324
`1
`I
`I I - II
`L. ______ I
`I
`I
`'----------
`
`Page 3 of 14
`
`
`
`U.S. Patent
`
`Jan.27,2009
`
`Sheet 3 of 5
`
`US 7,483,958 Bl
`
`DEVICE 2.Q£
`MEDIA CS
`203
`
`MEDIA LS
`207
`
`INTERNET
`208
`
`SERVER
`
`Device 206d
`
`204_/
`
`212
`'--...----
`
`Device 206e
`
`MEDIA CS
`203
`MEDIA LS
`207
`
`Device 206f
`
`• • •
`
`( - - - - - - - - - . .
`I
`I
`1
`I
`
`1------1 Device 206g
`MEDIA LS
`I
`I
`207
`I
`I
`I
`I
`I
`1 Device 300 I
`I
`I
`I
`I
`I
`~---1 r-------.. I
`: 1 UCP
`11
`L__ 315 __ ::
`-------,I
`I~
`: MEDIA
`:I
`I PLAYER
`324
`I I
`I
`_
`1
`1
`1
`1
`' - - - - - - - - I
`I
`I
`'----------
`
`Page 4 of 14
`
`
`
`00 = """"'
`\c u.
`00 w
`~
`-....l
`rJl
`d
`
`Ul
`0 .....
`
`.j;o.
`
`.....
`rFJ =(cid:173)
`
`('D
`('D
`
`~
`
`~ :=
`
`\0
`0
`0
`N
`~-....l
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`300
`
`DEVICE
`
`316
`CLIENT
`
`PLAYER
`
`DECODER/
`
`MEDIA
`
`315
`
`POINT (UCP)
`
`CONTROL
`
`USER
`
`326
`
`CLIENT
`LICENSE
`
`318
`
`HTTP CLIENT
`
`314
`
`INTERFACE
`NETWORK
`
`205
`
`'JUJ,3
`
`202
`
`DEVICE
`
`203
`
`SERVICE
`
`/ rr---------. ~~
`
`MEDIA CATAL~G ~~ MEDIA CATALOG
`
`0
`
`302
`
`DEVICE MANAGER
`NETWORK
`
`304
`
`REGISTRATION
`
`312
`
`GENERATOR
`
`LICENSE
`
`306
`STORE
`
`NETWORK
`
`SERVER
`CONTENT
`
`320
`
`207
`
`SERVICE
`
`MEDIA LIBRARY
`
`206 ~---1.....--~
`
`DEVICE
`
`Page 5 of 14
`
`
`
`U.S. Patent
`
`Jan.27,2009
`
`Sheet 5 of 5
`
`US 7,483,958 Bl
`
`400~
`
`CATALOG IS AVAILABLE
`
`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 1---
`AND IN RESPONSE SENDS MEDIA LIBRARY INFORMATION TO
`THE MEDIA CS
`~
`THE MEDIA CS RECEIVES THE MEDIA LIBRARY INFORMATION 1---
`FROM AT LEAST ONE MEDIA LS AND FORMS A MEDIA CATALOG
`t_
`THE MEDIA CS SENDS OUT A NOTIFICATION THAT THE MEDIA I'-
`t
`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 ...........__ 414
`TO A USER FOR POSSIBLE SELECTION
`~
`THE NETWORKED DEVICE ACCEPTS USER INPUT SELECTING
`MEDIA CONTENT IDENTIFIED IN THE MEDIA CATALOG
`~
`THE NETWORKED DEVICE REQUESTS THE SELECTED MEDIA
`CONTENT OVER THE NETWORK FROM AN APPLICABLE MEDIA
`CONTENT HOLDER
`
`1---
`
`402
`
`1--- 404
`
`406
`
`408
`
`410
`
`...........__ 416
`
`I'- 418
`
`t
`
`THE APPLICABLE MEDIA CONTENT HOLDER PROVIDES THE
`SELECTED MEDIA CONTENT TO THE NETWORKED DEVICE
`
`--.......___ 420
`
`Page 6 of 14
`
`
`
`US 7,483,958 Bl
`
`1
`METHODS AND APPARATUSES FOR
`SHARING MEDIA CONTENT, LIBRARIES
`AND PLAYLISTS
`
`RELATED PATENT APPLICATIONS
`
`This U.S. 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(cid:173)
`sional application for Letters Patent Ser. No. 60/278,804 filed
`Mar. 26, 2001.
`
`TECHNICAL FIELD
`
`This invention relates generally to networked computer 15
`and media reproduction devices, and more particularly to
`methods and systems for sharing media content between vari(cid:173)
`ous devices.
`
`BACKGROUND
`
`2
`The media holder is configured to selectively output shared
`media metadata, media content and at least one correspond(cid:173)
`ing media playing license over the network. The media cata(cid:173)
`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(cid:173)
`able from the media holder(s ). The user control point is con-
`10 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-
`20 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
`25 available.
`
`Personal computers (PCs) are popular tools for playing 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 30
`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 35
`over the Internet.
`A variety of digital audio content file sharing services are
`available over the Internet. Some of these early music swap(cid:173)
`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 50
`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- 55
`sible and user-friendly networking environment.
`
`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(cid:173)
`tion with the accompanying drawings wherein:
`FIG. 1 is a block diagram generally illustrating an exem(cid:173)
`plary computer system suitable for use with certain imple(cid:173)
`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(cid:173)
`ing service (CS) and other devices configured to provide
`40 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
`45 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 of the
`present invention.
`
`SUMMARY
`
`DETAILED DESCRIPTION
`
`The above stated needs and others are satisfied, for 60
`example, by a system suitable for sharing media content
`between a plurality of different types of devices. In accor(cid:173)
`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.
`
`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 of computer-executable instructions, such as program
`65 modules, being executed by a personal computer. Generally,
`program modules include routines, programs, objects, com(cid:173)
`ponents, data structures, etc. that perform particular tasks or
`
`Page 7 of 14
`
`
`
`US 7,483,958 Bl
`
`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(cid:173)
`ing hand-held devices, multi-processor systems, micropro(cid:173)
`cessor based or programmable consumer electronics, net(cid:173)
`work PCs, minicomputers, mainframe computers, and the
`like. The invention may also be practiced in distributed com(cid:173)
`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(cid:173)
`ronment 120 on which the subsequently described methods
`and systems may be implemented. Exemplary computing 15
`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 20
`requirement relating to any one or combination of compo(cid:173)
`nents illustrated in computing environment 120.
`The improved methods and systems herein are operational
`with numerous other general purpose or special purpose com(cid:173)
`puting system environments or configurations. Examples of 25
`well known computing systems, environments, and/or con(cid:173)
`figurations that may be suitable include, but are not limited to,
`personal computers, server computers, thin clients, thick cli(cid:173)
`ents, hand-held or laptop devices, multiprocessor systems,
`microprocessor-based systems, set top boxes, programmable 30
`consumer electronics, network PCs, minicomputers, main(cid:173)
`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- 35
`puting devices, notebook computing devices, tablet comput(cid:173)
`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 40
`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 45
`like.
`As shown in FIG. 1, computing environment 120 includes
`a general-purpose computing device in the form of a com(cid:173)
`puter 13 0. The components of computer 13 0 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 55
`or local bus using any of a variety of bus 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.
`
`4
`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
`10 132.
`Computer 130 may further include other removable/non(cid:173)
`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/+RIRAM 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(cid:173)
`vide nonvolatile storage of computer readable instructions,
`data structures, program modules, and other data for com(cid:173)
`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
`50 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-
`60 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
`65 herein relative to computer 130.
`Logical connections shown in FIG. 1 are a local area net(cid:173)
`work (LAN) 177 and a general wide area network (WAN)
`
`Page 8 of 14
`
`
`
`US 7,483,958 Bl
`
`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
`13 0 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(cid:173)
`tem bus 136 via the user input interface 170 or other appro(cid:173)
`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(cid:173)
`ated that the network connections shown and described are
`exemplary and other means of establishing 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 35
`212. Server 210 may, for example, be configured to provide
`an Internet-based service, such as, a media controller service,
`a media provider service, a radio program service, a television
`service, or the like. Device 206c is illustrated as also having
`the ability to operatively connect to the Internet 208 through 40
`communication link 207. Other devices, such as devices
`206a, 206b 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(cid:173)
`tem/equipment that can provide the necessary data commu(cid:173)
`nication path between the various devices connected through
`it. Thus, network 204 may include wired and/or wireless
`implementations network 204 50
`connections. In certain
`includes an Internet Protocol (IP) based network. To better
`control the sharing of media content, in certain implementa(cid:173)
`tions network 204 includes a local area network (LAN).
`One such implementation, in accordance with certain pre(cid:173)
`ferred implementations, includes the use of a Universal Plug- 55
`and-Play (UPnP) protocol that provides a peer-to-peer net(cid:173)
`work capability that can support various devices through
`wired and/or wireless connections. UPnP provides a distrib(cid:173)
`uted, open networking architecture that leverages Transmis(cid:173)
`sion Control Protocol (TCP/IP) and World Wide Web 60
`(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(cid:173)
`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(cid:173)
`ured to provide a media catalog service 203. Media catalog
`service (CS) 203 is configured to gather and/or distribute
`10 information about media content that is available for sharing
`between at least some of the connected devices. Thus, for
`example, in certain implementations media CS 203 may
`actively/dynamically query the various devices to gather
`information about shared media content and/or passively
`15 receive such information from the various devices.
`In a UPnP environment, media CS 203 can employ the
`capabilities provided by the UPnP protocol to dynamically
`discover and gather (e.g., aggregate) shared media content
`information. Media CS 203 can then publish at least a portion
`20 of the resulting aggregated information, e.g., as a correspond(cid:173)
`ing media catalog, over at least network 204. The media
`catalog may be provided in a format for displaying in a user
`interface or like mechanism.
`The shared media content information that is gathered by
`25 media CS 203 may include any type of data that may be
`helpful in the sharing process for the user of the media playing
`device and/or the various services/functions provided within
`the various devices and/or network 204. With this in mind, in
`certain implementations the shared media content informa-
`30 tion includes meta data associated with the media content. The
`metadata may include, for example, media content location
`information, media content format information and media
`content descriptive information. The media content location
`information can include at least one location identifier, such
`as, e.g., a uniform naming convention (UN C) identifier and/or
`a unified resource locator (URL) identifier.
`Media CS 203, in this example, is configured to convert at
`least a portion of the received meta data to produce the media
`catalog in the form of a markup language file. There exist a
`variety of markup languages that may be employed to provide
`the media catalog; some of the markup languages may be
`better suited for certain environments/devices. Some exem(cid:173)
`plary markup languages would include HyperText Markup
`Language (HTML ), Standard Generalized Markup Language
`45 (SGML), Extensible HyperText Markup Language
`(XHTML), Extensible Markup Language (XML), Wireless
`Markup Language (WML), Handheld Device Markup Lan(cid:173)
`guage (HDML), ColdFusion Markup Language (CFML),
`and Compact HyperText Markup Language (CHTML). The
`preferred markup language in the examples provided herein is
`XML. Media CS 203 may also employ the use of a scripting
`language, such as, e.g., JScript, VBScript, Perl, and the like.
`In accordance with certain implementations of the present
`invention, device 202 includes a personal computer (PC) or
`like device and media CS 203 is configured to provide a
`centralized media cataloging capability. By essentially host-
`ing such services, the PC offers a content management capa(cid:173)
`bility that can enhance its more common role as that of a
`media content storage device and/or media gateway device.
`Many PCs are already configured to provide/play various
`types of media. For example, many PCs are configured to run
`media player and/or Jukebox applications that allow the user
`to create a digital music library, play/store/locate digital
`media content and burn CDs/DVDs. Some of this digital
`65 media content may be downloaded over the Internet.
`As used herein, the terms "media content" and/or just
`"media" are meant to refer to any form of information that
`
`Page 9 of 14
`
`
`
`US 7,483,958 Bl
`
`15
`
`7
`8
`An exemplary media content license scheme is described
`may be shared, processed, and/or played or otherwise repro(cid:173)
`in subsequent sections with regard to FIGS. 3 and 4.
`duced in some manner by one or more devices/services for the
`DRM is basically a set of technologies that media content
`user to see, hear and/or interact with. Thus, by way of
`owners can use to protect their copyrights. In most instances,
`example, media content may include audio data, video data,
`DRM is a system that encrypts digital media content and
`image data, multimedia data, graphic data, textual data,
`limits access to only those people who have acquired a proper
`graphical user interface (GUI) data, interactive programming
`license to play the media content. By way of example,
`data, computer game data, virtual reality data, and/or other
`Microsoft® Windows Media™ Rights Manager provides an
`similar types of data. In certain instances, the media content
`end-to-end DRM system that offers content providers and
`may also include metadata, some of which may be presented
`10 retailers a flexible platform for the secure distribution of
`to the user.
`digital media files. Currently, Windows Media™ Rights
`Attention is now drawn to device 206a, which includes a
`Manager includes both server and client software that enables
`media library service (LS) 207. A similar media LS 207 is
`applications to protect and play back digital media content
`also provided in device 206d, which as illustrated is con(cid:173)
`files.
`nected to network 204 over a wireless connection.
`In certain exemplary implementations, the media playing
`Media LS 207 is configured in this example to operate in
`license is associated with certain cryptographic keys, e.g., a
`conjunction with media CS 203 to promote the sharing of
`license key and a key ID, wherein the license key is a secret
`media content between the various devices. Here, media LS
`seed value. When the user acquires protected media content it
`207 is configured to provide metadata to media CS 203 about
`will be encrypted. As such, in order to play or otherwise
`media content that at least its host device has available for
`20 process the media content as intended, the playing device will
`sharing. In this manner, media LS 207 generates at least one
`need to have a license that contains a key to decrypt the media
`media library that can be provided to m