`Wolff et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,472,353 B1
`Dec. 30, 2008
`
`US007472353B1
`
`(54)
`
`(75)
`
`(73)
`
`(*)
`
`(21)
`
`(22)
`
`(63)
`
`(51)
`
`(52)
`
`(58)
`
`REMOTE CONSOLE FOR NETWORK
`APPLICATION SERVERS
`
`Inventors: Gregory J. Wolff, Mountain View, CA
`(US); Marko Balabanovic, London
`(GB)
`
`Assignee:
`
`Ricoh Co., Ltd., Tokyo (JP)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USC 154(b) by 520 days.
`
`Appl. No.:
`
`09/629,781
`
`Filed:
`
`Jul. 31, 2000
`
`Related US. Application Data
`Continuation-in-part of application No. 09/465,982,
`?led on Dec. 16, 1999.
`
`Int. Cl.
`G06F 3/00
`G06F 15/16
`US. Cl. ..................... .. 715/764; 715/716; 715/733;
`715/810; 715/835; 715/764; 715/205; 707/10;
`
`Field of Classi?cation Search ............... .. 345/838,
`345/727, 728, 764, 704, 716, 719; 707/9,
`707/10; 709/201, 203, 2164219; 715/704,
`715/716*719, 727, 733, 738, 741, 764, 835,
`715/838, 846, 978, 728, 205, 968, 810
`See application ?le for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,195,693 B1* 2/2001 Berry et a1. ............... .. 709/219
`
`6,301,586 B1* 10/2001 Yang et a1. ............. .. 707/104.1
`6,333,752 B1
`12/2001 Hasegawa et a1.
`6,334,025 B1
`12/2001 Yamagami
`6,346,951 B1
`2/2002 Mastrondardi
`6,388,681 B1* 5/2002 Nozaki ..................... .. 345/764
`6,389,223 B1
`5/2002 Aotake
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`JP
`
`07-184160
`
`7/1995
`
`(Continued)
`OTHER PUBLICATIONS
`
`J. Kridner et al, “A DSP powered solid state audio system”, Mar.
`1999, IEEE CNF, vol. 4, pp. 2283-2286.*
`
`(Continued)
`Primary ExamineriX. L Bautista
`(74) Attorney, Agent, or FirmiBlakely, Sokoloff, Taylor &
`Zafman LLP
`
`(57)
`
`ABSTRACT
`
`A method and system that organize and retrieve multimedia
`objects. A controller may select an identi?er associated With
`a media object to send a request to play the media object. The
`controller may send the request by transmitting the identi?er
`stored in the controller. An appliance receives the request
`from the controller. The appliance retrieves the media object
`from a ?rst server via a network connection When the media
`object is not stored in the appliance. Then the appliance may
`play the media object.
`
`5,793,366
`5,864,868
`5,917,488
`5,966,122
`5,999,173
`6,097,389
`6,121,966
`6,166,735
`
`8/1998
`A
`A
`*
`1/1999
`6/1999
`A
`10/1999
`A
`12/1999
`A
`A
`*
`8/2000
`9/2000
`A
`A * 12/2000
`
`Mano et a1. ............... .. 345/733
`
`Contois .................... .. 707/ 104
`
`Morris et a1. ............. .. 715/804
`
`Dom et a1. ................ .. 345/764
`
`36 Claims, 8 Drawing Sheets
`
`/ 110
`My-PDA
`Server
`
`NAA
`
`NAA
`
`Yamaha Corporation of America Exhibit 1012 Page 1
`
`
`
`US 7,472,353 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`Higashiyama
`Van RyZin et al. ........ .. 707/104
`Levy et al. ...... ..
`704/270
`
`6,418,272
`6,446,080
`6,505,160
`6,545,689
`7,096,426
`7,143,177
`2002/0062357
`2003/0140121
`2004/0039741
`2005/0120082
`2005/0268160
`2006/0114987
`2006/0206493
`
`7/2002
`9/2002
`1/2003
`4/2003
`8/2006
`11/2006
`5/2002
`7/2003
`2/2004
`6/2005
`12/2005
`6/2006
`9/2006
`
`2007/0180063 A1* 8/2007 Qureshey et a1. .......... .. 709/219
`
`FOREIGN PATENT DOCUMENTS
`
`JP
`JP
`JP
`
`11-039846
`11-046339
`11-284957
`
`2/1999
`2/1999
`10/1999
`
`OTHER PUBLICATIONS
`
`T. S. Perry, “Consumer electronics [Technology 2000 analysis and
`forecast]”, Jan. 2000, vol. 37, Issue 1, pp. 51-56.*
`Japanese Of?ce Action Issue date Oct. 12, 2007, JP Patent Applica
`tion No. 2000-381399.
`
`Tunli ........ ..
`
`Lin-Hendel .
`Johnson et al.
`Srinivasan ..
`Adams
`Benson et a1.
`Hesselink et al. .
`Taylor et al. .... ..
`
`345/719
`
`715/711
`709/231
`709/219
`709/219
`. 707/9
`709/203
`714/6
`
`Roman ........ ..
`375/24001
`Lipscomb et al. ........... .. 707/10
`
`* cited by examiner
`
`Yamaha Corporation of America Exhibit 1012 Page 2
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 1 0f 8
`
`US 7,472,353 B1
`
`105\
`
`Network
`Server
`
`110 K
`My-PDA
`Server
`
`115
`
`120\
`NAA
`Stereo
`
`125\
`NAA
`Car
`Radio
`
`NAA
`
`NAA
`
`130\
`
`PDA
`
`FIG. 1
`
`Yamaha Corporation of America Exhibit 1012 Page 3
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 2 of8
`
`US 7,472,353 B1
`
`Bl
`
`Object &
`Identi?er
`
`1
`f 1 0
`
`\ ‘ ‘ ~ \ \
`
`‘ ‘ ~ ~ \
`
`Network Server
`
`Responds With
`
`NAA Sends Object
`
`\
`
`Obie“ _ _ _ _
`
`And Resource Identifier
`
`‘
`
`_ _ _ - - — ~ - ' ' ‘ _ _ _
`
`To Be Stored At
`Network Server
`
`108
`
`120 \
`
`NAA Sends
`Resource
`ldenti?erTo
`Request For
`Object
`
`K 109
`
`f 128
`
`Object &
`identi?er
`
`m
`
`Optional
`Encryption
`
`Object &
`Identi?er
`
`E1-
`
`Optional
`Encryption
`
`130A \
`
`1308 x
`
`m
`Identi?er
`
`m
`Identifier
`
`FIG. 2
`
`Yamaha Corporation of America Exhibit 1012 Page 4
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 3 of8
`
`US 7,472,353 B1
`
`( START )~\/ 132
`
`V
`
`Receive Resource V 135
`ldentrfrer
`
`V
`
`Send Acknowledgment ‘
`To Remote Controller ‘
`
`l
`
`160
`
`K
`NAA Plays The Object
`
`NO
`
`Access
`
`Authorized
`
`'2
`'
`
`Yes f 149
`
`Download Object
`To NAA
`
`165
`
`More Resource
`Identi?er
`
`:
`
`v f 150
`
`Send Error Message
`To Remote Controller
`
`FIG. 3
`
`Yamaha Corporation of America Exhibit 1012 Page 5
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 4 of8
`
`US 7,472,353 B1
`
`400
`
`410
`
`Object
`Received
`
`405 \
`
`Se-;:S:er3:rest
`
`422 \
`Download &
`Store In NAA
`
`415
`/
`Send Error
`Reply To
`Remote
`
`420
`
`>
`
`Yes
`
`426
`\
`Request Key
`From Remote
`
`Key
`Sent From Remote
`
`No
`
`Decrypt
`Object
`
`420
`
`432
`
`I
`
`Request Key
`From Server
`
`_A 434
`
`Server Sends Public
`Key Of Server Land A 438
`Request For Payment
`‘
`
`Forward Public Key
`To Remote And A 442
`Request Fir Payment
`
`Remote Asks User A 446
`To Accept Payment
`
`4/52
`
`Error
`Message
`
`468
`f
`Desemtgtie
`Using/‘Rivet:
`Key
`
`464
`f
`Send To
`Remote
`Via The NAA
`
`:
`
`460
`f
`Sewer Creates
`Decryption Key :
`For Object
`
`456
`/
`sgmrggtsw?g
`PrivateyKey Encrypts
`'
`'
`Sends To Server
`
`FIG. 4
`
`Yamaha Corporation of America Exhibit 1012 Page 6
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 5 of8
`
`US 7,472,353 B1
`
`500
`
`Remote Controller
`Requests To Access A V 505
`Media Object Being
`Played
`
`1
`
`NAA Receives Request V 510
`From Remote Controller
`
`Send Resource Identifier
`Of The Media Object '\/ 525
`To Remote Controller
`
`530
`
`/ 520
`Send Error Message
`To Remote Controller
`
`NO
`
`Authentication
`Required
`?
`Yes
`
`535 \
`Perform Authentication @ 540
`Veri?cation
`
`FIG. 5
`
`Yamaha Corporation of America Exhibit 1012 Page 7
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 6 0f 8
`
`US 7,472,353 B1
`
`Track
`rv 205
`
`Track
`”V 210
`
`Track
`
`Thumbnail
`220 /T\/
`
`Text Input Area
`240 /
`
`Controller
`200
`J
`
`1r
`<:r:>
`5%
`
`Navigating
`Arrows
`235
`
`FIG. 6
`
`\
`Play
`Button
`230
`
`Add
`Button
`225
`
`Yamaha Corporation of America Exhibit 1012 Page 8
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 7 of8
`
`US 7,472,353 B1
`
`325
`
`E 25
`
`E 25 m E
`
`Communications
`Channel
`310
`
`FIG. 7
`
`Yamaha Corporation of America Exhibit 1012 Page 9
`
`
`
`US. Patent
`
`Dec. 30, 2008
`
`Sheet 8 of8
`
`US 7,472,353 B1
`
`415
`
`M NAA
`410
`
`Channel
`405
`
`FIG. 8
`
`Yamaha Corporation of America Exhibit 1012 Page 10
`
`
`
`US 7,472,353 B1
`
`1
`REMOTE CONSOLE FOR NETWORK
`APPLICATION SERVERS
`
`This application is a continuation in part of Ser. No.
`09/465,982, ?led on Dec. 16, 1999.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to ?eld of image
`retrieval and organiZation. More speci?cally, the present
`invention is directed to retrieving and organiZing multimedia
`objects stored on netWorked services.
`
`BACKGROUND
`
`Multimedia is a term used to describe the combined use of
`different kinds of information. Examples of the different
`kinds of information include text documents, music, images,
`voice recordings, etc. The combined information is some
`times referred to as multimedia objects.
`As the World Wide Web (WWW) becomes more popular, it
`is apparent that multimedia plays a critical role in effectively
`exchanging and disseminating information among users of
`the Web. Multimedia can be used in many different applica
`tions, such as, for example, digital story telling, employee
`training, online music video, document With voice annota
`tions, etc.
`As the use of multimedia expands, there is a need for
`storing and retrieving the multimedia objects. In order for the
`multimedia objects to be easily retrievable, the multimedia
`objects have to be stored in a location Where everyone can
`share and access them. One Way of doing this is to store the
`multimedia objects on servers connected to the Internet.
`Using the HTTP protocol, a user from anyWhere in the World
`can access the multimedia objects as long as that user knoWs
`about the URL associated With the multimedia objects. HoW
`ever, the user may not have control over the server(s) in order
`to organiZe the media objects according to their retrieval
`needs.
`One main requirement to this approach is that in order to
`access the Internet, the user needs to have an Internet access
`device such as, for example, a personal computer. What is
`needed is a Way to organiZe the multimedia objects such that
`users can easily access them.
`
`SUMMARY OF THE INVENTION
`
`A method and system that organiZe and retrieve multime
`dia objects are described. In one embodiment, a controller is
`con?gured to select an identi?er associated With a media
`object to send a request to play the media object. The con
`troller sends the request by transmitting the identi?er stored
`in the controller. An appliance is con?gured to receive the
`request from the controller. The appliance retrieves the media
`object from a ?rst server via a netWork connection When the
`media object is not stored in the appliance. The appliance
`plays the media object.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by Way of example in
`the folloWing draWings in Which like references indicate simi
`lar elements. The folloWing draWings disclose various
`embodiments of the present invention for purposes of illus
`tration only and are not intended to limit the scope of the
`invention.
`
`2
`FIG. 1 illustrates an exemplary netWork embodiment With
`a remote controller, a netWork access appliance and a server.
`FIG. 2 is an exemplary diagram illustrating the remote
`controller accessing multiple netWork access appliances.
`FIG. 3 is an exemplary ?oW diagram illustrating a request
`to play a media object.
`FIG. 4 is an exemplary ?oW diagram illustrating an access
`authorization.
`FIG. 5 is an exemplary ?oW diagram illustrating a request
`to acquire a media object.
`FIG. 6 illustrates an exemplary embodiment of a remote
`controller.
`FIG. 7 illustrates an exemplary representation of a remote
`controller With a stereo netWork access appliance.
`FIG. 8 illustrates an exemplary representation of a remote
`controller With a document netWork access appliance.
`
`DETAILED DESCRIPTION
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`A remote control system for netWork access appliances is
`disclosed. The folloWing detailed description sets forth
`numerous speci?c details to provide a thorough understand
`ing of the invention. HoWever, those of ordinary skill in the art
`Will appreciate that the invention may be practiced Without
`these speci?c details. In other instances, Well-knoWn meth
`ods, procedures, protocols, components, algorithms, and cir
`cuits have not been described in detail so as not to obscure the
`invention.
`Some portions of the detailed descriptions that folloW are
`presented in terms of algorithms and symbolic representa
`tions of operations on data bits Within a computer memory.
`These algorithmic descriptions and representations are the
`means used by those skilled in the data processing arts to most
`effectively convey the substance of their Work to others
`skilled in the art. An algorithm is here, and generally, con
`ceived to be a self-consistent sequence of steps leading to a
`desired result. The steps are those requiring physical manipu
`lations of physical quantities. Usually, though not necessarily,
`these quantities take the form of electrical or magnetic signals
`capable of being stored, transferred, combined, compared,
`and otherWise manipulated. It has proven convenient at times,
`principally for reasons of common usage, to refer to these
`signals as bits, values, elements, symbols, characters, terms,
`numbers, or the like.
`It should be borne in mind, hoWever, that all of these and
`similar terms are to be associated With the appropriate physi
`cal quantities and are merely convenient labels applied to
`these quantities. Unless speci?cally stated otherWise as
`apparent from the folloWing discussion, it is appreciated that
`throughout the description, discussions utiliZing terms such
`as “processing” or “computing” or “calculating” or “deter
`mining” or “displaying” or the like, refer to the action and
`processes of a computer system, or similar electronic com
`puting device, that manipulates and transforms data repre
`sented as physical (electronic) quantities Within the computer
`system’s registers and memories into other data similarly
`represented as physical quantities Within the computer sys
`tem memories or registers or other such information storage,
`transmission or display devices.
`The present invention also relates to apparatus for perform
`ing the operations herein. This apparatus may be specially
`constructed for the required purposes, or it may comprise a
`general-purpose computer selectively activated or recon?g
`ured by a computer program stored in the computer. Such a
`computer program may be stored in a computer readable
`storage medium, such as, but is not limited to, any type of disk
`including ?oppy disks, optical disks, CD-ROMs, and mag
`
`Yamaha Corporation of America Exhibit 1012 Page 11
`
`
`
`US 7,472,353 B1
`
`3
`netic-optical disks, read-only memories (ROMs), random
`access memories (RAMs), EPROMs, EEPROMs, magnetic
`or optical cards, or any type of media suitable for storing
`electronic instructions, and each coupled to a computer sys
`tem bus.
`The algorithms and displays presented herein are not inher
`ently related to any particular computer or other apparatus.
`Various general-purpose systems may be used with programs
`in accordance with the teachings herein, or it may prove
`convenient to construct more specialized apparatus to per
`form the required method steps. The required structure for a
`variety of these systems will appear from the description
`below. In addition, the present invention is not described with
`reference to any particular programming language. It will be
`appreciated that a variety of programming languages may be
`used to implement the teachings of the invention as described
`herein.
`
`4
`sending the resource identi?er and optionally a reduced
`graphical representation (e. g., thumbnail image) of the
`object. Optionally, the NAA 120, 125, 128 may also send data
`comprising the object.
`Depending on the type of NAA 120, 125, 128 and the
`request, the NAA 120, 125, 128 may play the media object
`associated with the request when the media object is an audio
`clip or a video clip, or the NAA 120, 125, 128 may display the
`media object when the media object is a document. There may
`be different NAA types to handle the different formats of the
`media objects.
`In one embodiment, a media object is displayed as a
`thumbnail on the remote controller 130. The remote control
`ler 130 may also store the resource identi?er (e. g., URL)
`corresponding to each of the thumbnail images. For example,
`to play a desired media object the user selects the correspond
`ing thumbnail image and presses a play button. The media
`object may need to be compatible with the NAA 120, 125, 128
`in order for it to be played by the NAA 120, 125, 128. In one
`embodiment, an error message may be sent by the NAA 120,
`125, 128 to the remote controller 130 indicating a format
`incompatibility. For example, when the user selects a media
`object corresponding to a multimedia document while point
`ing the remote controller 130 to the car radio NAA 125, an
`incompatible format error message is received by the remote
`controller 130. The NAA 120, 125, 128 can be any device
`capable of receiving the requests from the remote controller
`130.
`In one embodiment, each of the media objects stored or
`played by the NAA is associated with a resource identi?er.
`For example, the stereo NAA 120 of FIG. 1 may be playing a
`song that it does not have in its local cache. Since the NAA
`120 knows about the resource identi?er associated with that
`song, the NAA 120 can retrieve the song from network server
`105. In one embodiment the network server 105 stores mul
`tiple media objects.
`In another embodiment, a personalized server in the net
`work is available to provide the users of the remote controller
`130 a way to maintain the information stored on the remote
`controller 130. Each user of the remote controller 130 has a
`personalized server 110 such as, for example, “My PDA
`Server” to keep track of all the services associated with the
`remote controller 130. In one embodiment, “My PDA Server”
`is implemented as a server directory corresponding to each
`remote controller 130, and all the different personalized serv
`ers are located in a server system. The user may add new
`resource identi?ers to the personalized server 110, and the
`user may remove resource identi?ers from the personalized
`server 110. In other words, the personalized server 110 keeps
`a copy of each resource identi?er stored in the remote con
`troller 130. Furthermore, the personalized server may also
`keep a copy of the media object corresponding to each of the
`resource identi?ers.
`When the remote controller 130 is synchronized with the
`personalized server 110, all the thumbnail images and the
`corresponding resource identi?ers are loaded onto the remote
`controller 130. The process of synchronization may be done
`through a docking cradle connected to the Internet. In one
`embodiment, the NAA 120, 125, 128 periodically accesses
`the personalized server 110 and update the local cache in the
`NAA with the appropriate media objects based on the
`resource identi?ers stored in the personalized server 110. The
`media objects associated with these resource identi?ers may
`be located at different sites in the network.
`FIG. 2 is a diagram illustrating one exemplary embodiment
`of accessing media objects on multiple NAA devices. Device
`130A is a remote controller. In this diagram, the device 130A
`
`Overview
`A remote controller system that provides a user capabilities
`to retrieve multimedia objects is disclosed. The multimedia
`objects may be formed by using a combination of different
`formats such as, for example, Moving Picture Expert Group
`(MPEG) video’s, MPEG audio Layer-3 (MP3), music com
`pact discs (CD), etc. The multimedia objects are also referred
`to as media objects. In one embodiment, the system is a hand
`held device such as, for example, the Personal Digital Assis
`tant (PDA) from Palm Inc. in Santa Clara, Calif., that allows
`the user to remotely select a media object from a network
`access appliance (NAA). The network access appliance is
`connected to a network allowing it to retrieve media objects
`stored in one or more servers. The servers may communicate
`with the NAA through the same network such as, for example,
`the Internet. In one embodiment, the NAA has a local cache
`that stores the media objects. For example, the NAA cache
`may store media objects that the user has identi?ed as the
`user’s favorites. This allows the NAA to quickly respond to
`the user’s request when the user selects a favorite media
`object. When the NAA cache does not have the requested
`selection, the NAA retrieves the requested selection from a
`speci?ed server.
`FIG. 1 illustrates an exemplary network embodiment with
`the remote controller, the network access appliance and the
`server. When the user points the remote controller 130 at an
`NAA 120, 125, 128 the remote controller 130 transmits suf
`?cient information for the NAA 120, 125, 128 to identify the
`desired request from the user. In one embodiment, the com
`munication between the remote controller 130 and the NAA
`120, 125, 128 uses the Infrared Data Association (IrDA) Data
`Protocols speci?cation with the Infrared Object Exchange
`Protocol (Ir OBEX) Data Protocol as published by the Infra
`red Data Association (IrDA). Using this protocol, the remote
`controller 130 sends a resource identi?er such as, for
`example, a uniform resource locator (URL), to the NAA 120,
`125, 128 to request the NAA 120, 125, 128 to play the media
`object associated with the resource identi?er. The NAA 120,
`125, 128 then retrieves the media object from the network
`(e. g., Internet) or from a NAA local cache, sends an acknowl
`edgement to the remote controller 130, and begins playing/
`displaying the media object.
`In one embodiment, the remote controller 130 sends mul
`tiple URLs in one request and the NAA 120, 125, 128 plays
`each in order. Optionally, the remote controller 130 may send
`(e.g., upload) the actual media object to be played. In one
`embodiment, the remote controller 130 may send a request to
`the NAA 120, 125, 128 for the resource identi?er of the
`currently playing object. The NAA 120, 125, 128 responds by
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Yamaha Corporation of America Exhibit 1012 Page 12
`
`
`
`US 7,472,353 B1
`
`5
`is the same remote controller as the device 130B, just at a
`different time and location, and is referred to as the remote
`controller 130. Initially, a copy of the media object 131 is
`stored in the NAA 120. This copy may be obtained by any
`number of methods such as, for example, doWnloaded from a
`server, copied over from the remote controller 130, read off a
`physical media format such as, for example, a compact disc
`(CD), Wireless transfer from a digital camera, or other means.
`Automatically or in response to a request from the remote
`controller 130, the NAA 120 makes a connection With the
`personaliZed server 110 and transfers a copy of the media
`object 131 to the personaliZed server 110. In one embodi
`ment, the NAA 120 may encrypt the media object 131 using
`a key obtained from the remote controller 130. In one embodi
`ment, the remote controller 130 also provides a unique iden
`ti?er for the media object 131 to the NAA 120. The NAA 120
`then transfers this unique identi?er a long With the media
`object 131 to the personaliZed server 110. In an alternative
`embodiment, the NAA 120 or the personaliZed server 110
`assigns a unique identi?er to the media object 131 and trans
`mits this unique identi?er back to the remote controller 130.
`At some later time, the remote controller 130 may request
`the NAA 120 to play the media object 131 by transmitting the
`unique identi?er associated With the media object 131 to the
`NAA 128 as described above. The NAA 128 may not be able
`to communicate directly With the NAA 120 to request the
`media object 131 due to the ?reWall 108 or other reasons.
`HoWever, the NAA 128 can communicate With the personal
`iZed server 110 and request the media object 131 using the
`unique identi?er provided by remote controller 130. The per
`sonaliZed server 110 then sends the media object 131 to the
`NAA 128. The NAA 128 may optionally decrypt the media
`object 131 using a key provided by the remote controller 130.
`FIG. 3 is a How diagram illustrating an exemplary request
`to play a media object. The How diagram starts at block 132.
`When the user activates a play function, such as, for example,
`pressing a play button on a remote controller, the remote
`controller sends one or more resource identi?ers correspond
`ing to the media object(s) to the speci?ed NAA using a
`communication channel such as, for example, IrOBEX. At
`block 135, the NAA receives the resource identi?er(s) and
`uses it as an identi?er to locate the requested media object.
`For each resource identi?er, the NAA ?rst determines to see
`if the resource identi?er for the requested media object may
`have already been stored in the cache Within the NAA, as
`shoWn in block 140. When the requested media object is
`found in the cache, the NAA proceeds by sending an
`acknoWledgement to the remote controller, as shoWn in block
`155. Alternatively, When the requested media object is not
`found in the cache, the NAA attempts to locate the requested
`media object, using the resource identi?er, in a netWork server
`(e.g., netWork server 105 of FIG. 1), as shoWn in block 145.
`When the requested media object is not found in the cache or
`in the netWork server, an error message is sent to the remote
`controller, as shoWn in block 150.
`At block 145, When the requested media object is found in
`the netWork server, an authentication may be performed to
`determine if the user is authoriZed to retrieve the media object
`from the netWork server, as shoWn in block 148. In one
`embodiment, the user is authenticated When the user has
`subscribed to the media object by paying an access fee.
`Authentication information, such as, for example, a user
`name and passWord may be sent to the NAA in conjunction
`With the requested media object. When the user is not authen
`ticated, an authentication failure message is sent to the remote
`controller, as shoWn in block 150. The remote controller may
`re-send the same resource identi?er request With the appro
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`priate authentication such as, for example, the user name and
`passWord. When the user is authenticated, the requested
`media object is sent (e.g., doWnloaded) from the netWork
`server to the NAA, as shoWn in block 149. An acknoWledg
`ment may be sent by the NAA to the remote controller, as
`shoWn in block 155. The media object corresponding to the
`resource identi?er is then played by the NAA, as shoWn in
`block 160. For example, When the NAA is a stereo receiver
`and the remote controller sends a resource identi?er corre
`sponding to a particular song, the NAA plays that song. When
`the NAA is a personal computer and the resource identi?er
`sent by the remote controller corresponds to a particular
`document, the NAA displays that particular document. In
`block 165, a determination is made to see if there is any
`remaining resource identi?er to be processed. When there are
`more resource identi?ers, the How returns to block 140 to
`process the next resource identi?er. When all the resource
`identi?ers have been processed, the How stops at block 170.
`FIG. 4 is a How diagram illustrating one embodiment of an
`access authoriZation process performed by the netWork
`server. FIG. 4 provides additional detailed information for the
`process performed in block 148 of FIG. 3. As described in
`FIG. 3, When the media object is not in the NAA, the NAA
`may send the resource identi?er along With a user name and a
`passWord to the netWork server to request for the media
`object, as shoWn in block 405. At block 410, a determination
`is made to see if the requested media object does not exist in
`the netWork server and thus can not be received by the NAA.
`When that is the case, an error message is sent to the remote
`controller, as shoWn in block 415. HoWever, When the
`requested media object exists in the netWork server, a copy of
`the requested media object is downloaded and stored in the
`NAA, as shoWn in block 422. The media object sent from the
`netWork server may or may not decrypted. If the media object
`is not encrypted, as determined by block 424, the How moves
`to block 420 Which ends at block 432, and the process is
`completed.
`When the media object sent by the netWork server is
`encrypted, the NAA requests for a private key from the
`remote controller, as shoWn in block 426. If the remote con
`troller has the private key (e.g., the user of the remote con
`troller is authorized), then it is used to decrypt the media
`object, as shoWn in blocks 428 and 430. The process is com
`pleted at block 432.
`HoWever, When the remote controller does not have the key,
`the process ?oWs from block 428 to block 434. At block 434,
`the NAA sends a request for a decryption key to the netWork
`server. At block 438, the netWork server responds to the NAA
`With a public key of the netWork server and request the NAA
`to pay to access the requested media object. At block 442, the
`NAA forWards the netWork server public key and the payment
`request to the remote controller. At block 446, the remote
`controller requests the user to accept the payment require
`ment from the netWork server. At block 448, a determination
`is made to see if the user accepts the payment requirement. If
`the user rejects the payment requirement, an error message
`may be generated by the NAA to indicate that the request to
`play the media object can not be satis?ed, as shoWn in block
`452. The process then ?oWs to block 420 and is completed at
`block 432.
`If the user accepts the payment requirement, the process
`?oWs from block 448 to block 456. At block 456, the remote
`controller signs a payment information With a private key. The
`remote controller then encrypts the payment information With
`the netWork server public key. In one embodiment, the
`encrypted payment information is then sent to the netWork
`server via the NAA along With the original request for the
`
`Yamaha Corporation of America Exhibit 1012 Page 13
`
`
`
`US 7,472,353 B1
`
`7
`media object. In another embodiment, the network server
`remembers the requested media object from the previous
`request, and the remote controller may only need to send the
`encrypted payment information to the netWork server.
`At block 460, the netWork server creates an encryption key
`for the requested media object. The netWork server also
`encrypts the encryption key for the requested media object
`With the private key of the remote controller. At block 464, the
`encrypted encryption key for the requested media object is
`sent by the netWork server to the remote controller via the
`NAA. At block 468, the remote controller decrypts the
`encryption key for the requested media object using the
`remote controller private key. The encryption key for the
`requested media object is then sent to the NAA. The process
`?oWs back to block 428 Where the NAA receives the encryp
`tion key for the requested media object from the remote
`controller. At block 430, the NAA uses the encryption key for
`the requested media object to decrypts the media object. The
`process is completed at block 432.
`FIG. 5 is an exemplary ?oW diagram for processing a
`request by a remote controller to acquire an object being
`played. The How diagram starts at block 500. At block 505,
`the remote controller sends a request to the NAA to acquire a
`media object being played on the NAA. For example, the user
`may initiate this request by pressing an “add” button on the
`remote controller. The media object may be played in
`response to a play command from another remote controller.
`At block 510, the NAA receives the request from the remote
`controller. At block 515, a determination is made to see if a
`media object is actually being played by the NAA. For
`example, the request from the remote controller may have
`been sent accidentally When the NAA is not playing any
`media object. Those skilled in the art Would recogniZe that
`playing the media object may include, for example, display
`ing a document, playing an audio clip, playing a video clip,
`etc. When there is no media object being played by the NAA,
`an error message is sent to the remote controller, as shoWn in
`block 520, and the process ends at block 540.
`In one embodiment, When there is a media object being
`played by the NAA, the netWork server or the NAA creates a
`unique resource identi?er for the media object for that par
`ticular remote controller. The NAA then sends this unique
`resource identi?er to the remote controller, as shoWn in block
`525. The unique resource identi?er may be used to access/
`encode authentication information in addition to identify the
`media object.
`The remote controller may need to be authenticated in
`order to be able to subsequently send a request to play the
`same media object. For example, there may be a cost associ
`ated With having access to the media object. At block 530, a
`determination is made to see if authentication is required.
`When there is no such requirement (e.g., the media object is
`free), the process ends at block 540. HoWever, When the
`authentication is required,