`a2) Patent Application Publication co) Pub. No.: US 2003/0079038 A1
`(43) Pub. Date: Apr. 24, 2003
`
`Robbinet al.
`
`US 20030079038A1
`
`(54)
`
`INTELLIGENT INTERACTION BETWEEN
`MEDIA PLAYER AND HOST COMPUTER
`
`(75)
`
`Inventors: Jeffrey L. Robbin, Los Altos, CA (US);
`David Heller, San Jose, CA (US)
`
`Correspondence Address:
`BEYER WEAVER & THOMAS LLP
`P.O. BOX 778
`BERKELEY, CA 94704-0778 (US)
`
`(73)
`
`Assignee: Apple Computer, Inc.
`
`(21)
`
`Appl. No.:
`
`10/277,418
`
`(22)
`
`Filed:
`
`Oct. 21, 2002
`
`Related U.S. Application Data
`
`(63)
`
`Continuation-in-part of application No. 10/118,069,
`filed on Apr. 5, 2002.
`
`(60) Provisional application No. 60/346,235, filed on Oct.
`22, 2001. Provisional application No. 60/396,836,
`filed on Jul. 16, 2002.
`
`Publication Classification
`
`(51) UntC07 caecccsssssssssesnsteretrstnssnstente GO6F 15/177
`(52) US. Ch.
`casesssssssessesssnsensesseeseee 709/232; 709/221
`
`(57)
`
`ABSTRACT
`
`Improved techniques for interaction between a host com-
`puter (e.g., personal computer) and a media player are
`disclosed. According to one aspect, interaction between a
`host computer and a media player, such as automatic syn-
`chronization of media contents stored on a media player
`with media contents stored on a host computer, can be
`restricted. According to another aspect, management of
`media items residing on a media player can be performedat
`and by a host computer for the media player. According to
`still another aspect, media content can be played by a media
`player in accordance with qualitysettings established for the
`media content at the host computer.
`
`700
`
`702
`
`Host Computer
`
`Comm.
`Module
`
`Management
`Module
`
`Module
`
`Play
`Module
`
`
`
` Comm.
`
`
`
`
`
`Media
`
`Database
`
`
`
`Media
`Database
`
`
`
`
`Media Player
`
`Roku Exhibit 1006
`Roku Exhibit 1006
`Roku v. Videolabs
`Roku v. Videolabs
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 1 of 12
`
`US 2003/0079038 A1
`
`104
`
`MEDIA
`MANAGER
`
`[ 100
`
`
`
`PERSONAL
`
`COMPUTER
`
`
`
`106
`
`108
`
`102
`
`FIG. 1
`
`204
`
`
`MEDIA
`PLAYER
`
`MEDIA
`
`MEDIA
`
`208
`
`Cot0
`
`FIG. 2
`
`[ 200
`
`MEDIA MANAGER
`
`
`
`
`
`PERSONAL
`COMPUTER
`
`
`
`206
`
`
`
`Patent Application Publication Apr. 24, 2003 Sheet 2 of 12
`
`US 2003/0079038 A1
`
`DETECT MEDIA PLAYER CONNECTED
`TO PERSONAL COMPUTER
`
`THE PERSONAL COMPUTER
`
`SYNCHRONIZE MEDIA CONTENT
`BETWEEN THE MEDIA PLAYER AND
`
`302
`
`304
`
`FIG. 3
`
`
`
`Patent Application Publication Apr. 24, 2003 Sheet 3 of 12
`
`US 2003/0079038 A1
`
`
`
`READ PLAYER MEDIA INFORMATION
`FROM THE MEDIA DATABASE ON
`
`THE MEDIA PLAYER
`
`r~ 402
`
`1404
`
`COMPARE THE PLAYER MEDIA
`INFORMATION WITH HOST MEDIA
`INFORMATION FROM THE MEDIA
`DATABASE ON THE HOST COMPUTER
`
`
`
`DETERMINE WHICH MEDIA ITEMS
`I~1406
`TO COPY BASED ON THE
`
`COMPARISON INEORMATION
`
`COPY THE DETERMINED MEDIA
`ITEMS AND UPDATE THE
`
`APPROPRIATE MEDIA DATABASE(S)
`
`408
`
`FIG. 4
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 4 of 12
`
`US 2003/0079038 A1
`
`500
`
`
`
`DEVICE
`
`JUST
`
`COUPLED
`?
`TO BUS
`
`OPERATE MEDIA
`
`
`DEVICE AS MEDIA
`PLAYER YES
`
`
`
`
`PLACE MEDIA DEVICE
`IN HARD DISK MODE
`
`
`508” MEDIA
`ATTRIBUTES
`REQUEST
`2
`
`YES
`
` NO
`COMPUTER
`
`RETRIEVE MEDIA ATTRIBUTES OF MEDIA ITEMS
`STORED ON THE MEDIA DEVICE |
`
`FORWARDTHE MEDIA ATTRIBUTES TO HOST
`
`506
`
`510
`
`512
`
`FIG. SA
`
`
`
`Patent Application Publication Apr. 24, 2003 Sheet 5 of 12
`
`US 2003/0079038 A1
`
`
` MEDIA
`
`ITEMS
`
`RECEIVED
`?
`
`
`YES
`
`NO
`
`MEDIA ATTRIBUTES TO THE MEDIA DEVICE 516
`
`STORE NEW MEDIA ITEMS AND ASSOCIATED
`
`REMOVE UNNEEDED MEDIA ITEMS AND
`ASSOCIATED MEDIA ATTRIBUTES
`FROM THE MEDIA DEVICE
`
`518
`
`520
`
`
`
`PLAYLIST
`UPDATE
`RECEIVED
`?
`
` NO
`
`
`
`YES
`
`529
`
`PRODUCE UPDATEDPLAYLIST
`
`524
`
`STORE UPDATED PLAYLIST
`TO THE MEDIA DEVICE
`
`FIG. 5B
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 6 of 12
`
`US 2003/0079038 A1
`
`600
`
`
`
` IS
`DEVICE
`
`MEDIA
`DEVICE
`
`?
`
`
`NO
`
`608
`
`OTHER PROCESSING
`
`
`
`COMPARE THE MEDIA ATTRIBUTES FROM
`THE MEDIA DEVICE WITH MEDIA
`ATTRIBUTES AT HOST COMPUTER
`
`(c)
`
`~ 614
`
`FIG. 6A
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 7 of 12
`
`US 2003/0079038 A1
`
`616
`
`622
`
`
`IDENTIFY MEDIA ITEMS ON
`HOST COMPUTER THAT ARE NOT
`ON MEDIA DEVICE
`
`
`
`CAPACITY
`TO STORE
`
`ALL THE
`
`IDENTIFIED
`
`LIMIT NUMBER OF
`
`
`MEDIA
`MEDIA ITEMS TO
`
`
`ITEMS
`BE STORED
`
`
`
`
`
`
`
`SEND THE IDENTIFIED MEDIA ITEMS
`
`AND ASSOCIATED MEDIA ATTRIBUTES
`TO THE MEDIA DEVICE
`
`FIG. 6B
`
`
`
`Patent Application Publication Apr. 24, 2003 Sheet 8 of 12
`
`US 2003/0079038 A1
`
`700
`
`
`
`702
`
`Host Computer
`
`714
`
`Comm.
`Module
`
`
`Management
`Module
`
`
`
`
`Comm.
`Module
`
`
`
`
`
`
`
`Piay
`Module
`
`Database
`Media
`Database
`
` Media
`
`Media Player
`
`FIG. 7
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 9 of 12
`
`US 2003/0079038 A1
`
`800
`
`802
`
`
`
` Ve
`MEDIA
`
`
`
`PLAYER
`CONNECTED
`
`?
`
`
`YES
`
`RETRIEVE MEDIA PLAYER IDENTIFIER FROM THE
`MEDIA PLAYER.
`
`COMPARE A SYNCHRONIZED DEVICE IDENTIFIER
`
`804
`
`806
`
`810
`
`WITH THE MEDIA PLAYER IDENTIFIER
`
`808
`
`NO
`
`YES
`
`SYNCHRONIZE MEDIA ITEMS BETWEEN THE HOST
`COMPUTER AND THE MEDIA PLAYER
`
`
`
`FIG. 8
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 10 of 12)
`
`=US 2003/0079038 Al
`
`900
`
`
`
`EW MEDIA
`
`DATA
`RECEIVED
`9
`
`904
`
`STORE MEDIA ITEM DATA TO MEDIA STORE
`
`
`
`
`
`906
`
`STORE MEDIA INFORMATION DATA ASSOCIATED
`WITH MEDIA ITEM TO MEDIA DATABASE
`
`FIG. 9
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 11 of 12
`
`US 2003/0079038 Al
`
`1000
`
`Ue>
`
`
`PLAY
`REQUEST
`?
`
` 1002
`
`
`1004
`
`
`
`RETRIEVE AT LEAST A PORTION OF THE MEDIA
`INFORMATION FOR THE MEDIA ITEM TO BE PLAYED
`
`
`
`1006
`
`CONFIGURE MEDIA PLAYER IN ACCORDANCE WITH
`QUALITY CHARACTERISTICS OF THE MEDIA
`INFORMATION
`
`STREAM MEDIA ITEM DATA TO OUTPUT DEVICE
`
`
`
`
`
`Patent Application Publication Apr. 24,2003 Sheet 12 of 12
`
`US 2003/0079038 Al
`
`1114
`(srecen
`
`USERINPUT
` 1108
`
`DEVICE
`
`1112
`
`CODEC
`
`1100
`
`Ss
`
`1110
`
`DISPLAY
`
`PROCESSOR
`
`
`
`1118
`
`BUS INTERFACE
`
`1116
`
`1106
`
`CACHE
`
`1104
`
`FILE
`SYSTEM
`
`(STORAGE DISK)
`
`Rom|
`
`1122
`
`1120
`
`FIG. 11
`
`
`
`US 2003/0079038 Al
`
`Apr. 24, 2003
`
`INTELLIGENT INTERACTION BETWEEN MEDIA
`PLAYER AND HOST COMPUTER
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application is a continuation-in-part of U'S.
`application Ser. No. 10/118,069, filed Apr. 5, 2002, and
`entitled
`“INTELLIGENT SYNCHRONIZATION OF
`MEDIA PLAYER WITH HOST COMPUTER,” which is
`hereby incorporated herein by reference, and which claimed
`the benefit of priority of U.S. Provisional Application No.
`60/346,235, filed Oct. 22, 2001, and entitled “INTELLI-
`GENT SYNCHRONIZATION OF MEDIA PLAYER WITH
`HOST COMPUTER,”which is hereby incorporated herein
`by reference.
`
`[0002] This application also claims the benefit of priority
`of: (i) U.S. Provisional Application No. 60/396,836, filed
`Jul. 16, 2002, and entitled “INTELLIGENT INTERAC-
`TION BETWEEN MEDIA PLAYER AND HOST COM-
`
`PUTER,” which is hereby incorporated herein by reference;
`and (ii) U.S. Provisional Application No. 60/346,235, filed
`Oct. 22, 2001, and entitled “INTELT.IGENT SYNCHRO-
`NIZATION OF MEDIA PLAYER WITH HOST COM-
`
`PUTER,” whichis hereby incorporated herein by reference.
`
`BACKGROUND OF THE INVENTION
`
`[0003]
`
`1. Field of the Invention
`
`[0004] The present invention relates to media devices and,
`more particularly,
`to synchronization or management of
`media on media devices.
`
`[0005]
`
`2. Description of the Related Art
`
`[0006] Synchronization operations have been convention-
`ally performed between portable devices, such as Personal
`Digital Assistants (PDAs) and host computers, to synchro-
`nize electronic files or other resources. For example, these
`files or other resources can pertain to text files, data files,
`calendar appointments, emails, to-do lists, electronic rolo-
`dexes, etc. However, such synchronization schemestend to
`utilize filenames and modification dates
`to determine
`whether files need to be copied between the devices. ‘These
`synchronization schemes can be largely automated but nev-
`ertheless have to be manually initiated.
`
`In the case of media players, such as MP3 players,
`[0007]
`files are typically moved between a host computer and a
`media player through use of a drag and drop operation,like
`is conventionally done with respect to copying ofa data file
`from a Windowsdesktop to a floppy disk. Hence, the user of
`the media player manually initiates the synchronization for
`individual media items. As a consequence, synchronization
`tends to be tedious and time consuming for users. Synchro-
`nization tends to be slow because data is transmitted
`between devices over a slow link.
`
`[0008] Besides synchronization, managementof resources
`on these portable devices has also been separately per-
`formed. For example, a user of a PDA can enter an appoint-
`ment or a new contact using only the PDA, and then
`subsequently a host computer could, if desired, be updated
`(through synchronization) to include identical information.
`A user can also interact with the host computer to change
`appointments or contacts, and then subsequently have those
`
`changesbereflected on the PDA (through synchronization).
`As for interaction with the portable devices (e.g., PDAs), the
`portable devices normally are small form factor devices so
`as to be hand-held or pocket-size. Although their small size
`makesthe portable devices convenientto carry, it makes the
`available screen display size small. Consequently,
`it
`is
`difficult for user to interact with the portable devices to
`manage resources thereon.
`
`[0009] Thus, there is a need for improved techniques for
`improved approaches to synchronize or manage media con-
`tent on host computers and/or media players.
`
`SUMMARY OF THE INVENTION
`
`[0010] Broadly speaking, the invention relates to interac-
`tion between a host computer (e.g., personal computer) and
`a media player. According to one aspect of the invention,
`interaction between a host computer and a media player,
`such as automatic synchronization of media contents stored
`on a media player with media contents stored on a host
`computer, can be restricted. In one implementation, a given
`media player is able to automatically interact only with a
`designated host computer. According to another aspect of
`the invention, management of media items residing on a
`media player can be performedat and by a host computerfor
`the media player. According to still another aspect of the
`invention, media content can be played by a media player in
`accordance with quality settings established for the media
`content at the host computer. In one implementation, the
`quality settings can be established for the media content on
`a media item by media item basis.
`
`[0011] The invention can be implemented in numerous
`ways, including as a method, system, device, apparatus, or
`computer readable medium. Several embodiments of the
`invention are discussed below.
`
`[0012] As a method for synchronizing media items of a
`media player with a host computer, the media player storing
`player media information, and the host computer storing
`host media information, one embodiment of the invention
`includesat least the operations of: retrieving a media player
`identifier trom the media player; comparing the media
`playeridentifier with a synchronized device identifier stored
`at the host computer to produce first comparison informa-
`tion; determining whether synchronization of the media
`player with the host computer should be performed based on
`the first comparison information; and automatically syn-
`chronizing the media player with the host computer when
`the determining determines that synchronization of the
`media player with the host computer should be performed.
`
`[0013] As a computer readable medium includingat least
`computer program code for synchronizing media items of a
`media player with a host computer, the media player storing
`player media information, and the host computer storing
`host media information, one embodiment of the invention
`includes at least: computer program code for retrieving a
`media player identifier from the media player; computer
`program code for comparing the media player identifier with
`a synchronized device identifier stored at the host computer
`to produce first comparison information; computer program
`code for determining, whether synchronization of the media
`player with the host computer should be performed based on
`the first comparison information; and computer program
`code for automatically synchronizing the media player with
`
`
`
`US 2003/0079038 Al
`
`Apr. 24, 2003
`
`the host computer when the computer program code for
`determining determines that synchronization of the media
`player with the host computer should be performed.
`
`[0014] As a system for managing and playing media data,
`one embodiment of the invention includes at least a host
`computer and a portable media player. The host computer
`stores a plurality of media items andatleast a first playlist.
`Thefirst playlist is created by a user interacting with the host
`computer to select certain of the media items to be included
`within the first playlist. The portable media player, when
`operatively connected to the host computer, receives media
`data for one or more of the media items from the host
`computer and stores the received media data, and receivesat
`least the first playlist from the host computer and stores the
`first playlist.
`
`[0015] As a system for managing and playing media data,
`one embodiment of the invention includes at least a host
`
`(0021] FIG. 2 is a block diagram of a media synchroni-
`zation system according to one embodiment of the inven-
`tion.
`
`[0022] FIG. 3 is a flow diagram of media manager pro-
`cessing according to one embodiment of the invention.
`
`FIG.4 is flow diagram of synchronization process-
`[0023]
`ing according to one embodimentof the invention.
`
`(0024] FIGS. 5A and 5Billustrate media device synchro-
`nization processing according to one embodiment of the
`invention.
`
`[0025] FIGS. 6A and 6B are flow diagrams of host
`computer synchronization processing according to one
`embodimentof the invention.
`
`[0026] FIG. 7 is a block diagram of a media management
`system according to another embodiment of the invention.
`
`computer and a portable media player. The host computer
`includes at least a management module for managing a
`plurality of media items, a host play module for playing the
`media itemsfor a user of the host computer, and a host media
`store for storing a plurality of media items. The portable
`media player includes at least a portable media store for
`[0029] FIG. 10 isaflow diagramof media play processing
`storing a plurality of media items, and a portable play
`according to one embodimentof the invention.
`module for playing the media items stored in the portable
`media store for a user of the portable media player. The
`portable media player normally lacks a management mod-
`ule.
`
`[0027] FIG. 8 is a flow diagram of automatic synchroni-
`zation processing according to one embodiment of the
`invention.
`
`[0028] FIG. 9 is a flow diagram of media download
`processing according to one embodimentof the invention.
`
`{0030] FIG. 11 is a block diagram of a media player
`according to one embodiment of the invention.
`
`{0016] As a methodfor transferring media content from a
`host computer to a portable media player, the host computer
`storing media item data and media information data for each
`of a plurality of media items, one embodiment of the
`invention includesat least the operations of connecting the
`portable media player to the host computer, and transferring
`the media item data and the media information data for one
`or more media items from the host computer to the media
`device.
`
`[0017] As a method for playing a media item on a media
`player, one embodimentof the invention includesatleast the
`operations of: retrieving at least a portion of media infor-
`mation for the media item to be played, the media informa-
`tion and media item data for the media item previously being
`transmitted to and stored in the media player, the media
`information including at least quality characteristics associ-
`ated with the media item; configuring the media player in
`accordance with the quality characteristics associated with
`the media item; and thereafter playing the media item on the
`media player as configured.
`
`[0018] Other aspects and advantagesof the invention will
`become apparent from the following detailed description
`taken in conjunction with the accompanying drawings which
`illustrate, by way of example,the principles of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0019] The invention will be readily understood by the
`following detailed description in conjunction with the
`accompanying drawings, wherein like reference numerals
`designate like structural elements, and in which:
`
`[0020] FIG. 1 is a block diagram of a media management
`system according to one embodiment of the invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`[0031] The inventionrelates to interaction betweena host
`computer (e.g., personal computer) and a media player.
`According to one aspect of the invention,
`interaction
`between a host computer and a media player, such as
`automatic synchronization of media contents stored on a
`media player with media contents stored on a host computer,
`can be restricted. In one implementation, a given media
`player is able to automatically interact only with a desig-
`nated host computer. According to another aspect of the
`invention, management of media items residing on a media
`player can be performed at and by a host computer for the
`media player. Accordingto still another aspect of the inven-
`tion, media content can be played by a media player in
`accordance with quality settings established for the media
`content at the host computer. In one implementation, the
`quality settings can be established for the media content on
`a media item by media item basis.
`
`[0032] Embodiments of these aspects of the invention are
`discussed below with reference to FIGS. 1-11. However,
`those skilled in the art will readily appreciate that
`the
`detailed description given herein with respect to these fig-
`ures is for explanatory purposes as the invention extends
`beyond these limited embodiments.
`
`[0033] FIG. 1 is a block diagram of a media management
`system 100 according to one embodiment of the invention.
`The media management system 100 includes a media player
`102 and a personal computer (host computer) 104. The
`media player 102 is, for example, a portable, battery-
`operated device. In one embodiment, the media player 102
`is an MP3 player. The personal computer 104 includes a
`media manager 106. The media manager 106 enables a user
`
`
`
`US 2003/0079038 Al
`
`Apr. 24, 2003
`
`of the personal computer 104 to directly manage media
`content stored on the personal computer 104, and to indi-
`rectly manage media content stored on the media player 102.
`A peripheral cable 108 couples the media player 102 to the
`personal computer 104. Typically, the peripheral cable 108
`couples together data ports provided on the media player
`102 and the personal computer 104. In one example, the data
`ports can be FIREWIREports and the peripheral cable 108
`can be a FIREWIREcable. More generally, the peripheral
`cable 108 acts as a data link. Media items can be transferred
`from the media player 102 to the personal computer 104
`over the peripheral cable 108, and vice versa. For example,
`the media manager 106 facilitates a user with browsing,
`adding, deleting, organizing, and other operations with
`respect to media content(e.g., numerous media items) on the
`personal computer 104. Additionally, for example, the media
`manager 106 also facilitates a user with adding and remov-
`ing media content on the media player 102. In other words,
`although the media manager 106 resides on the personal
`computer 104, at least certain managementaction taken with
`respect to the media manager 106 can cause the media
`content at the media player 102 to be similarly managed
`(e.g., during synchronization).
`
`In one embodiment, the media player is a portable
`[0034]
`computing device dedicated to processing media such as
`audio, video or images. For example, the media player 102
`can be a music player (e.g., MP3 player), a game player, a
`video player, a video recorder, a camera, an image viewer
`and the like. These devices are generally battery operated
`and highly portable so as to allow a user to listen to music,
`play gamesorvideo, record video or take pictures wherever
`the user travels. In one implementation, the media player is
`a hand-held device that is sized for placement into a pocket
`or hand of the user. By being hand-held, the media playeris
`relatively small and easily handled and utilized byits user.
`By being pocket sized, the user does not have to directly
`carry the device and therefore the device can be taken almost
`anywhere the user travels (e.g., the user is not limited by
`carrying a large, bulky and often heavy device, as in a
`portable computer). Furthermore, the device may be oper-
`ated by the users hands, no reference surface such as a
`desktop is needed.
`
`[0035] FIG. 2 is a block diagram of a media synchroni-
`zation system 200 according to one embodiment of the
`invention. The media synchronization system 200 can, for
`example, represent one embodiment of the more general
`media management system 100 illustrated in FIG. 1. The
`media synchronization system 200 includes a media player
`202 and a personal computer 204. The personal computer
`204 includes a media manager 206. The personal computer
`204 further includes a media database 208. The media player
`202 includes a media database 210. Typically, the media
`player 202 will also include a data storage device(e.g., disk
`drive) for storing media content, a cache memoryfor storing
`media content in-use, a screen display for displaying infor-
`mation to a user, and a processor (e.g., microprocessor) for
`controlling operation of the media player 202.
`
`[0036] Avperipheral cable 212 provides a data path (ordata
`link) between the media player 202 and the personal com-
`puter 204. The peripheral cable 212 provides a peripheral
`bus that couples the media player 202 to the personal
`computer 204. The peripheral bus, for example, could be a
`FIREWIREbusor a Universal Serial Bus (USB). A syn-
`
`chronization operation between the media content stored on
`the personal computer and the media content stored on the
`media player 204 can be achieved in a sophisticated manner
`through comparison of media information stored in the
`respective media databases 208 and 210. When comparison
`of the media information from the respective databases 208
`and 210 indicates that
`there is a particular media item
`resident on the personal computer 204that is not resident on
`the media player 202, then the particular media item can be
`transmitted (downloaded)
`to the media player over the
`peripheral cable 212. On the other hand, when the compari-
`son of the media information from the respective databases
`208 and 210 indicates that a particular media item is resident
`on the media player 202 but is not resident on the personal
`computer 204, then the particular media item can be either
`removed (deleted) from the media player 202 or transmitted
`(e.g., uploaded) over the peripheral cable 212 to the personal
`computer 204. Hence, by providing the media player 202
`with the media database 210, more sophisticated synchro-
`nization and management of media content is enabled.
`
`[0037] The media database 210 also allows the media
`player 202 to present a user interface to the user that is more
`sophisticated than conventional approaches. Such a user
`interface can be presented on the screen display of the media
`player 202. The user interface can, for example, allow the
`user of the media player 202 to browse, sort, search,play,
`etc. the media content resident on the media player 202. The
`user interface can alsoallow the user of the media player 202
`to download (add) or delete (remove) media items from the
`media player 202, The media manager 206 also has a user
`interface that allows a user to browse, sort, search, play,
`makeplaylists, burn Compact Discs (CDs),etc. the media
`content resident on the personal computer 204. The user
`interface can also allow the user of the personal computer
`204 to download (add) or delete (remove) media items from
`the personal computer 204. In one embodiment, the media
`manager 206 and its associated user interface are provided
`by iTunes, version 2.0,
`from Apple Computer,
`Inc. of
`Cupertino, Calif.
`
`[0038] FIG. 3 is a flow diagram of media manager pro-
`cessing 300 according to one embodimentof the invention.
`The media manager processing 300 is, for example, per-
`formed by the media manager 106 illustrated in FIG. 1 or
`the media manager 206 illustrated in FIG.2.
`
`[0039] The media managerprocessing 300 initially detects
`302 a media player connected to a personal computer(host
`computer). Here, when the media player is connected to the
`personal computer, a synchronization operation can be per-
`formed to synchronize the media content between the media
`player and the personal computer. After the media player has
`been detected as being connected to the personal computer,
`the media content between the media player and the personal
`computer can be synchronized 304. The synchronization can
`be performed in a one-way(i.e., uni-directional) manner or
`in a two-way(i.e., bi-directional) manner. In a preferred
`embodiment, the synchronization is one-wayfrom the per-
`sonal computer to the media player. In another embodiment,
`the synchronization can be one-way from the media player
`to the personal computer. In still another embodiment, the
`synchronization can be two-way from the media player to
`the personal computeras well as from the personal computer
`to the media player. In any case, the media player typically
`has less media storage capacity than the personal computer
`
`
`
`US 2003/0079038 Al
`
`Apr. 24, 2003
`
`and thus maylimit the extent of the synchronization that can
`be performed. The synchronization processing can be per-
`formed manually assuming that a media player has already
`been detected 302 or automatically upon such detection. In
`the case of automatic synchronization following detection of
`the connection, synchronization is performed without a user
`interacting with any buttons or user interface elements, that
`is, the connection itself initiates the synchronization.
`
`[0040] FIG.4 is flow diagram of synchronization process-
`ing 400 according to onc embodimentof the invention. The
`synchronization processing 400 is, for example, performed
`by a host computer, such as the personal computer 104
`illustrated in FIG. 1 or the personal computer 204illustrated
`in FIG. 2. More specifically, the synchronization processing
`400 is performed by the media manager 106 illustrated in
`FIG. 1 or the media manager 206 illustrated in FIG.2.
`
`[0041] The synchronization processing 400 initially reads
`402 player media information from a media database on a
`media player. Next, the player media information is com-
`pared 404 with first media information from a media data-
`base on a host computer. Such comparison produces com-
`parison information concerning differences between the
`player media information and the host media information.
`Next, the synchronization processing 400 determines 406
`one or more media items to copy between the host computer
`and the media player based on the comparison information.
`For example, mediaitems(e.g., audio files for songs) can be
`compared using media information such as songtitle, album
`name and/or artist name, which pertain to characteristics or
`attributes of the media items. Thereafter, the determined one
`or more media items are copied 408 and the appropriate
`media database(s) are updated. Following the operation 408,
`the synchronization processing 400 is complete and ends.
`
`[0042] According to one embodiment, the comparison of
`player media information and host media information is
`performed using mediaattributes of the various mediaitems.
`Namely, a media item on the media player can be deemed
`the same media item as one resident on the host computerif
`its media attributes sufficiently match. Examples of media
`attributes include title, album, track, artist, composer and
`genre. These attributes are particular to a particular media
`item.
`In addition, other media attributes can pertain to
`quality characteristics of the media item. Examples of such
`media attributes include bit rate, sample rate, equalization
`setting, volume adjustment, start/stop and total time. Hence,
`in one embodiment, if the above-identified media attributes
`(e.g., title, album,track, artist and composer) pertaining to a
`media item on the media player all match those same media
`attributes pertaining to a media item on the host computer,
`then the two media items stored on different devices can be
`deemed the same even though still further attributes or
`characteristics may cause these media items to not be exact
`duplications of one another. For example, if modification
`dates associated with files respectively storing the media
`items were different, this difference in modification date
`would not trigger the copying of such media items from the
`host computer to the media player when the above-identified
`media attributes match.
`
`transfer files from a host computer to a portable device,
`when dealing with media items, filenames and modification
`dates tend not to be reliable indicators of whether data
`transfer needs to be transferred (i-e., copied). As a result,
`using conventional data transfer techniques with respect to
`media itemsresults in slow andinefficient operation and thus
`tends to present an unsatisfactory user experience.
`
`synchronization processing 400
`[0044] Although the
`makes use of media databases at the host computer and the
`media player, in another embodiment, the needed host media
`information and the player media information can be gath-
`ered from the media items themselves. In one implementa-
`tion, such media information can be acquired from metadata
`provided with the media items. However, by providing the
`media databases, synchronization is able to be performed
`more efficiently and quickly.
`
`[0045] FIGS. 5A and 5Billustrate media device synchro-
`nization processing 500 according to onc embodimentofthe
`invention. The media device synchronization processing 500
`is performed by a media device that interacts with a host
`computer over a network. For example, the media device
`can pertain to the media player 102 illustrated in FIG.1 or
`the media player 202 illustrated in FIG.2.
`
`[0046] The media device synchronization processing 500
`is generally operative on the media device when the media
`device is powered on. Initially, a decision 502 determines
`whether the media device has just been coupled to a bus. The
`decision 502 can be performed periodically to check for a
`recent connection to a bus or can be triggered by hardware
`detection of connectionto a bus. The bus is a communication
`bus coupled to the host computer. In one embodiment, the
`bus is a serial bus such as FIREWIRE or Universal Serial
`Bus (USB). When the decision 502 determines that the
`media device has not just been coupled to a bus, then the
`media device is operated 504 as a media player. In such a
`mode, the media device operates to browse, search or play
`media itemsfor its user. The media items can, for example,
`be audio items (c.g., songs) that arc able to be played.
`Following the operation 504, the media device synchroni-
`zation processing 500 returns to repeat the decision 502 and
`subsequent operations.
`
`[0047] On the other hand, when the decision 502 deter-
`minesthat the media device has just been coupledto the bus,
`then the media device is placed in a hard disk mode. In the
`hard disk mode, the media device acts as an external hard
`drive to the host computer. A decision 508 then determines
`whether the host computer has requested mediaattributes for
`the media items residing on the media device. When the
`decision 508 determines that
`the host computer is not
`requesting mediaattributes, the media device can, but need
`not, perform other hard drive operations for non-synchro-
`nizalion purposes (nol shown). When the decision 508
`determines that
`the host computer
`is requesting media
`attributes (i.e., such as through a read operation), then the
`media attributes of the media items stored on the media
`device are retrieved 510. After the media attributes are
`retrieved 510, the media attributes are forwarded 512 to the
`host computer.
`
`[0043] Hence, the intelligence of the synchronization pro-
`cessing of the invention allows the amountof data transfer
`to be properly managed such that it is relatively low or
`minimized. Although conventional approaches are able to
`
`[0048] Next, a decision 514 determines whether new
`media has been received at the media device from the host
`computer. In other words, in an effort to synchronize the
`media content residing on the media device with the media
`
`
`
`US 2003/0079038 Al
`
`Apr. 24, 2003
`
`contentresiding at the host computer, the m