PATENT DOCUMENT

Publication Number: US-8966470-B2
Application Number: US-201213401639-A
Country: US
Kind Code: B2

Title: Remote content updates for portable media devices

Abstract:
Improved techniques for interaction between a host device (e.g., host computer) and a portable media device (e.g., media player) are disclosed. According to one embodiment, interaction between the host device and the portable media device can be performed over a network. The network can include wired and/or wireless components. The network can also be local, regional or global in geographic coverage. The interaction over the network can be initiated by the portable media device, manually or automatically, so as to request a content update from the host device. In response to the requested content update, updated content is received at the portable media device from the host device, provided a network connection between the portable media device and the host device is available through the network.

Claims:
What is claimed is: 
     
       1. A method for exchanging content, comprising:
 in a processor and a network interface in a portable media device, performing operations for:
 receiving a wireless update policy, wherein the wireless update policy specifies one or more characteristics of a wireless network connection to be satisfied before a wireless transfer of data will be allowed to occur between the portable media device and a remote host device via the wireless network connection, and wherein the wireless update policy comprises a separate data type update policy for each of a plurality of different data types, each data type update policy specifying a corresponding characteristic of the wireless network; 
 determining whether current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection specified in the wireless update policy; and 
 when the current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection and the additional policies are satisfied,
 establishing communications with the remote host device via the wireless network connection; 
 sending first content to the remote host device that is to be synchronized; 
 receiving second content from the remote host device that is to be synchronized; and 
 storing the second content received from the remote host device onto the portable media device. 
 
 
 
     
     
       2. The method as recited in  claim 1 , wherein said method further comprises:
 receiving content update instructions from the remote host device; and 
 updating the content resident on the portable media device in accordance with the content update instructions, said updating including at least said storing of the second content received from the remote host device onto the portable media device. 
 
     
     
       3. The method as recited in  claim 2 , wherein said updating further includes deleting at least a portion of existing content stored on the portable media device in accordance with the content update instructions. 
     
     
       4. The method as recited in  claim 1 , wherein said method further comprises:
 sending authentication information to the remote host device; and 
 receiving an indication of whether the portable media device is authorized to interact with the remote host device. 
 
     
     
       5. The method as recited in  claim 4 , wherein the authentication information includes a device identifier associated with the portable media device. 
     
     
       6. The method as recited in  claim 1 , wherein one or more of the first content and the second content includes one or more of calendar appointment information or contact information. 
     
     
       7. The method as recited in  claim 1 , wherein the first content includes one or more of music data, playlist data or video data. 
     
     
       8. The method as recited in  claim 1 , wherein the second content includes one or more of music data, playlist data or video data. 
     
     
       9. The method as recited in  claim 1 , wherein a first characteristic of the wireless network connection is an amount of bandwidth. 
     
     
       10. The method as recited in  claim 1 , wherein said method further comprises generating a graphical user interface on the portable media device for allowing a user to specify one or more parameters associated with the wireless update policy. 
     
     
       11. The method as recited in  claim 1 , wherein said method further comprises:
 presenting a graphical user interface including a plurality of user controls pertaining to available content types; 
 receiving input via at least one of the user controls to specify a content type; and 
 subsequently receiving the specified content type in the second content received from the remote host device. 
 
     
     
       12. The method as recited in  claim 1 , wherein the second content received from the remote host device that is to be synchronized is sent to the remote host device from a second portable media device. 
     
     
       13. The method as recited in  claim 1 , wherein the wireless network connection is established via a wide area network. 
     
     
       14. The method as recited in  claim 1 , wherein the wireless network connection is established via a docking station to which the portable media device is docked. 
     
     
       15. The method as recited in  claim 1 , wherein the second content is newly available data at the remote host device. 
     
     
       16. The method as recited in  claim 1 , wherein the first content includes photos. 
     
     
       17. The method as recited in  claim 1 , wherein the second content includes photos. 
     
     
       18. The method as recited in  claim 1 , wherein the method further comprises receiving a selection of one or more media types wherein only the selected media types are sent in the first content. 
     
     
       19. The method of  claim 1 , further comprising:
 determining that one or more additional policies from the wireless update policy are satisfied, the additional policies relating to the ability of the portable media device to perform the wireless transfer of data. 
 
     
     
       20. The method of  claim 19 , wherein determining that one or more additional policies from the wireless update policy are satisfied, the additional policies relating to the ability of the portable media device to perform the wireless transfer of data, comprises determining at least one of:
 an available storage capacity of the portable media device; and 
 a quantity of data. 
 
     
     
       21. A non-transitory computer readable storage medium storing computer program code that, when executed by a portable media device, causes the portable media device to perform a method for exchanging content, the method comprising:
 receiving a wireless update policy, wherein the wireless update policy specifies one or more characteristics of a wireless network connection to be established before a wireless transfer of data will be allowed to occur between the portable media device and a remote host device via the wireless network connection, and wherein the wireless update policy comprises a separate data type update policy for each of a plurality of different data types, each data type update policy specifying a corresponding characteristic of the wireless network; 
 determining whether current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection specified in the wireless update policy; and 
 when the current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection specified in the wireless update policy and the additional policies are satisfied,
 establishing communications with the remote host device via the wireless network connection; 
 sending first content to the remote host device that is to be synchronized; 
 receiving second content from the remote host device that is to be synchronized; and 
 storing the second content received from the remote host device onto the portable media device. 
 
 
     
     
       22. A portable media device, comprising:
 a wireless interface that performs operations for communicating via a wireless network connection; and 
 a processor; 
 wherein the processor and the wireless interface perform operations for:
 receiving a wireless update policy, wherein the wireless update policy specifies one or more characteristics of the wireless network connection to be satisfied before a wireless transfer of data will be allowed to occur between the portable media device and a remote host device via the wireless network connection, and wherein the wireless update policy comprises a separate data type update policy for each of a plurality of different data types, each data type update policy specifying a corresponding characteristic of the wireless network; 
 determining whether current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection specified in the wireless update policy; and 
 when the current characteristics of the wireless network connection satisfy the one or more characteristics of the wireless network connection and the additional policies are satisfied,
 establishing communications with the remote host device via the wireless network connection; 
 sending first content to the remote host device that is to be synchronized; 
 receiving second content from the remote host device that is to be synchronized; and 
 storing the second content received from the remote host device onto the portable media device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation and claims priority to co-pending U.S. application Ser. No. 11/324,863, filed Jan. 3, 2006, by Fadell and titled, “Remote Content Updates For Portable Media Devices,” which is hereby incorporated herein by reference in its entirety and for all purposes. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to portable media devices and, more particularly, to updating content resident on portable media devices. 
     2. Description of the Related Art 
     Synchronization operations have been conventionally performed between portable devices, such as Personal Digital Assistants (PDAs) and host computers, to synchronize 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 rolodexes, etc. However, such synchronization schemes have traditionally used filenames and modification dates to determine whether files need to be copied between the devices. These synchronization schemes can be largely automated but nevertheless have to be initiated manually while the devices are connected. 
     In the case of media players, such as MP3 players, 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 of a data file from a Windows desktop to a floppy disk. Hence, the user of the media player manually performs the synchronization for individual media items. As a consequence, synchronization tends to be tedious and time consuming for users. 
     More recently, media players have been able to be synchronized with a host computer when a bus connection over a cable is made. Here, the synchronization can be automatically initiated by the host computer when the cable is connected between the host computer and the media player. A user of the host computer can also manually initiate synchronization so long as the cable is connected between the host computer and the media player. In either case, initiation of synchronization is performed by the host computer, which corresponds to a “push” model. Typically, the host computer will operate a media management application that facilitates the management of media and well as synchronization of some or all of such media to a media player. One example of a media management application is the iTunes® media management software offered by Apple Computer, Inc. of Cupertino, Calif. One example of a media player is the iPod® media device also offered by Apple Computer, Inc. of Cupertino, Calif., which has the capability to be synchronized with a host computer over a cable. One disadvantage with synchronization over a cable is that the cable connection must be made. A user can often forget to connect the cable. Without the cable connection, the synchronization will not occur. A user can use a docking station to simplify the connection process. However, the user can still forget to couple the media player into the docking station. Further, the cable is normally relatively short in length, such as a few feet (e.g., 2-6 feet), so the media player must be brought within a few feet of the host computer for synchronization to occur. 
     Thus, there is a continuing need for improved techniques to update (e.g., synchronize) content on media players when remotely located from a host computer. 
     SUMMARY OF THE INVENTION 
     The invention relates to interaction between a host device (e.g., host computer) and a portable media device (e.g., media player). According to one embodiment of the invention, interaction between the host device and the portable media device can be performed over a network. The network can include wired and/or wireless components. The network can also be local, regional or global in geographic coverage. The interaction over the network can be initiated by the portable media device, manually or automatically, so as to request a content update from the host device. For example, a user of the portable media device can interact with a user interface thereof to manually request a content update from the host device. As another example, the portable media device can automatically (i.e., without user input) request a content update from the host device. Regardless, in response to the requested content update, updated content is received at the portable media device from the host device, provided a network connection between the portable media device and the host device is available through the network. Typically, but not exclusively or necessarily, the updated content is media data. 
     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. 
     As a method for updating content resident on a portable media device from a media host device over a network, one embodiment of the invention includes at least the acts of: receiving a user request to update the content resident on the portable media device from content available on the media host device; determining whether the portable media device presently has network access to the media host device; sending a content update request to the media host device when it is determined that the portable media device presently has network access to the media host device; receiving content from the media host device in response to the content update request; and storing the content received from the media host device onto the portable media device. 
     As a method for updating content resident on a portable media device from a media host device over a network, another embodiment of the invention includes at least the acts of: determining whether the portable media device presently has network access to the media host device; determining whether the content resident on the portable media device is to be updated from content available on the media host device when it is determined that the portable media device presently has network access to the media host device; sending a content update request to the media host device when it is determined that the content resident on the portable media device is to be updated from content available on the media host device; receiving content from the media host device in response to the content update request; and storing the content received from the media host device onto the portable media device. 
     As a computer readable medium including computer program code for updating content resident on a portable device from a host device over a network, one embodiment of the invention includes at least: computer program code for determining whether content resident on the portable device is to be updated from content available on the host device; computer program code for determining whether the portable device presently has network access to the host device; computer program code for sending a content update request to the host device when it is determined that not only does the portable device presently have network access to the host device but also it is determined that the content resident on the portable device is to be updated; computer program code for receiving content from the host device in response to the content update request; and computer program code for storing the content received from the host device onto the portable device. 
     As a portable media device capable of updating content resident thereon from a media host device over a network, one embodiment of the invention includes at least: a data storage device that stores content; and a processor for storing, accessing and presenting the stored content from the data storage device. The processor being configured to: (i) determine whether content resident on the portable media device is to be updated from content available on the media host device; (ii) determine whether the portable media device presently has network access to the media host device; (iii) send a content update request to the media host device when it is determined that not only does the portable media device presently have network access to the media host device but also it is determined that the content resident on the portable media device is to be updated; (iv) receive content from the media host device in response to the content update request; and (v) store the content received from the media host device into the data storage device. 
     Other aspects and advantages of 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 
       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: 
         FIG. 1  is a block diagram of a network media system according to one embodiment of the invention. 
         FIG. 2  is a flow diagram of a content update process according to one embodiment of the invention. 
         FIGS. 3A and 3B  are flow diagrams of a manual content update process according to one embodiment of the invention. 
         FIG. 4  is a flow diagram of an automatic content update process according to one embodiment of the invention. 
         FIG. 5A  is a representative menu screen according to one embodiment of the invention. 
         FIG. 5B  is a representative synchronization (sync) setting screen according to one embodiment of the invention. 
         FIG. 5C  is a representative content selection screen according to one embodiment of the invention. 
         FIG. 6  is a block diagram of a media management system according to one embodiment of the invention. 
         FIG. 7  is a block diagram of a media player according to one embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention relates to interaction between a host device (e.g., host computer) and a portable media device (e.g., media player). According to one embodiment of the invention, interaction between the host device and the portable media device can be performed over a network. The network can include wired and/or wireless components. The network can also be local, regional or global in geographic coverage. The interaction over the network can be initiated by the portable media device, manually or automatically, so as to request a content update from the host device. For example, a user of the portable media device can interact with a user interface thereof to manually request a content update from the host device. As another example, the portable media device can automatically (i.e., without user input) request a content update from the host device. Regardless, in response to the requested content update, updated content is received at the portable media device from the host device, provided a network connection between the portable media device and the host device is available through the network. Typically, but not exclusively or necessarily, the updated content is media data. 
     Embodiments of the invention are discussed below with reference to  FIGS. 1-7 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments. 
       FIG. 1  is a block diagram of a network media system  100  according to one embodiment of the invention. The network media system  100  supports exchange of digital data between different media devices over a network. The network media system  100  includes a media host device  102  (MHD). The media host device  102  couples to a wired network  104 . The wired network  104  is a data network, such as a local area, wide area or global network. In one embodiment, the global network can correspond to the World Wide Web or the Internet. The media host device  102  operates a media management application (MMA)  106 . The media management application  106  operates to assist a user of the media host device  102  in managing digital data, namely, media items, that reside on or are available to the media host device  102 . The digital data can also include non-media data such as text files, database data, data files, calendar appointments, emails, to-do lists, contacts, etc. 
     The network media system  100  also includes a media store server  108 . The media store server  108  provides an online commerce center for access to digital data, namely, media items. By interacting with the media store server  108  via the wired network  104 , the media host device  102  or other devices can browse, preview, play or purchase media items. Additional details on an online commerce center are provided in U.S. Patent Publication 2005/0021478 A1, which is hereby incorporated herein by reference. 
     The network media system  110  also supports a portable media device  110 . The portable media device  110  can wirelessly couple to the wired network  104  through a wireless network  112 . The wireless network  112  is typically limited to a geographic region and so long as the portable media device  110  is within that geographical region, the portable media device  110  can normally connect to the wireless network  112  and then connect via the wired network  104  to the media host device  102  or the media store server  108 . To facilitate the network connection, the portable media device  110  stores the network address of the media host device  102  and/or the media store server  108 . 
     By connecting the portable media device  110  to the media host device  102  or the media store server  108  through the wireless network  112  and the wired network  104 , the portable media device  110  can request updated content from the media host device  102  or the media store server  108 . Updated content is digital data that is to be provided to the portable media device  110 . In one embodiment, the updated content can be newly available data at the media host device  102 , or simply different data from the media host device  102 . In order for the portable media device  110  be able to connect through the one or more networks  104 ,  112  to the associated media host device  102 , the media host device  102  must be activated. In other words, the media host device  102 , e.g., a personal computer, needs to be powered-on, though it could be sleeping or in a low-power mode. 
     The portable media device  110  can be remotely located, even in a different country, as compared to the media host device  102  or the media store server  108 , yet the portable media device  110  can request and receive updated content. The updated content can be obtained from the media store server  108  or the associated media host device  102  and delivered to the portable media device  110  over the wired network  104  and the wireless network  112 . In another embodiment, the portable media device  110  could also receive, transmit or exchange digital data with another portable media device supported by the network media system  100 . In one implementation, the portable media device  110  sends commands over the network  104 ,  112  that are performed on the media host device  102  or the media store server  108 . In another implementation, the portable media device  110  can include a media management application to access and retrieve media stored remotely, such as on the media host device  102 . 
     Although not illustrated in  FIG. 1 , the network media system  100  typically supports a plurality of different portable media devices. Hence, a plurality of portable media devices can couple to the wireless network  112 . Likewise, the network media system  100  can also include another wireless network  114 , which can serve a different geographic region. The wireless network  114  can also support a plurality of different portable media devices. Still further, the network media system  100  can also support a plurality of different media host devices. Often, a particular one of the portable media devices will be associated with a particular one of the media host devices. For example, a first user may be the owner or user associated with the media host device  102  as well as the portable media device  110 . As such, the media host device  102  and the portable media device  110  would normally be associated with one another. More generally, a particular media host device may host media for one or more portable media devices. 
     According to one aspect of the invention, a portable media device, when in the presence of a suitable wireless network, is able to interact with its associated media host device. As a result, the portable media device can initiate an update to its stored content. The update to the stored content on the portable media device can cause different content to be stored on the portable media device. The updated content can be obtained from a media host, such as a media store server that provides an online media store, a media host device, or another portable media device. For example, even though the portable media device is remotely located from a media host, the portable media device (or its user) might request and receive a different playlist, song, video, photo album or podcast. 
       FIG. 2  is a flow diagram of a content update process  200  according to one embodiment of the invention. The content update process  200  is, for example, performed by a portable media device, such as the portable media device  110  illustrated in  FIG. 1 . 
     The content update process  200  begins with a decision  202  that determines whether a content update should be performed. When the decision  202  determines that a content update should not be performed, the content update process  200  waits until a content update is to be performed. Once the decision  202  determines that a content update is to be performed, a decision  204  determines whether network access to a media host device is available. When the decision  204  determines that network access to the media host device is not available, the content update process  200  can return to the block  202  or can await the availability of network access. 
     On the other hand, when the decision  204  determines that network access to the media host device is available, a content update from the media host device is requested  206 . A decision  208  then determines whether a content update has been received from the media host device. When the decision  208  determines that a content update has not yet been received, the content update process  200  awaits such an update. Once the decision  208  determines that a content update has been received, the received content is stored  210  on the portable media device, thereby updating the content on the portable media device. Following the block  210 , the content update process  200  is complete and ends. 
       FIGS. 3A and 3B  are flow diagrams of a manual content update process  300  according to one embodiment of the invention. The manual content update process  300  is, for example, performed by a portable media device, such as the portable media device  110  illustrated in  FIG. 1 . 
     The manual content update process  300  begins with a decision  302 . The decision  302  determines whether a content update request has been received. Here, the content update request is caused by a user action with respect to the portable media device. Hence, when the decision  302  determines that a content update request has not been received, the manual content update process  300  awaits such a request. In other words, the manual content update process  300  is invoked when a content update request is received from a user. 
     Once the decision  302  determines that a content update request has been made, a decision  304  determines whether a wireless network is available to the portable media device. When the decision  304  determines that a wireless network is not available, then a network unavailable message is displayed  306  on the portable media device. Following the block  306 , the manual content update process  300  returns to repeat the decision  302  so as to process a subsequent content update request. 
     Alternatively, when the decision  304  determines that a wireless network is available, network access information for a media host device (MHD) is obtained  308 . Presumably, the media host device was previously associated with the portable media device. Then, connection (i.e., network connection) from the portable media device to the media host device is attempted  310 . Here, the connection would be through one or more networks, whether wireless or wired. Next, a decision  312  determines whether the attempted connection has been established. When the decision  312  determines that a connection has been established, authentication information can be sent  314  to the media host device. In one embodiment, the authentication information is previously stored on the portable media device and is retrieved and sent  314  to the media host device. As an example, the authentication information can pertain to a device identifier for the portable media device. The device identifier can be unique (e.g., GUID) or pseudo-unique. The device identifier can also be encrypted to provide secure delivery over the network(s). Following the block  314 , a decision  316  determines whether authentication has been successful. Here, the media host device, upon receiving the authentication information, attempts to authenticate the portable media device. In one implementation, the media host device stores an access control list that identifies those devices entitled to access the media host device over a network. For example, the access control list can include device identifiers corresponding to those devices (e.g., portable media devices) that are authorized. When the decision  316  determines that authentication has been unsuccessful, as well as when the decision  312  determines that a connection has not been established, an access unavailable message can be displayed  318  on the portable media device. Following the block  318 , the manual update process  300  returns to repeat the decision  302  and subsequent blocks. 
     On the other hand, when the decision  316  determines that the portable media device has been successfully authenticated, the manual content update process  300  continues. Namely, a content update request is sent  320  from the portable media device to the media host device. A decision  322  then determines whether content has been received from the media host device in response to the content update request. When the decision  322  determines that content has been received, the content received is stored  324  to the portable media device (PMD). 
     In one embodiment, the portable media device can also receive content update instructions from the media host device. The content update instructions are instructions that can be understood and carried out by the portable media device. For example, the content update instructions can cause the portable media device to delete certain existing content from the portable media device, so as to free-up storage space for the newly received content. The content update instructions could also inform the portable media device on how or where to store the newly received content. 
     After the content received has been stored  324 , a decision  326  determines whether the update is completed. When the decision  326  determines that the update is not completed, the manual content update process  300  returns to repeat the decision  322  so that additional content can be received and stored. When the decision  326  determines that the update is completed, then the manual content update process  300  returns to repeat the decision  302  so that subsequent content updates can be similarly processed. 
     Additionally, when the decision  322  determines that content has not been received, a decision  328  can determine whether the connection to the media host device has been lost. When the decision  328  determines that the connection to the media host device has not been lost, the manual content update process  300  returns to repeat the block  322 . Alternatively, when the decision  328  determines that the connection has been lost, the content update is cancelled  330  and then the manual content update process  300  returns to the decision  302  so that subsequent content updates can be similarly processed. 
       FIG. 4  is a flow diagram of an automatic content update process  400  according to one embodiment of the invention. The automatic content update process  400  is, for example, performed by a portable media device, such as the portable media device  110  illustrated in  FIG. 1 . The automatic content update process  400  begins with a decision  402  that determines whether a wireless network is available to the portable media device. When the decision  402  determines that a wireless network is not available, the automatic content update process  400  waits for network availability. Optionally, a network unavailable indication can be displayed on the portable media device to inform the user of the portable media device of network unavailability. 
     Alternatively, when the decision  402  determines that a wireless network is available, a decision  404  determines whether an automatic update should be performed at this time. The automatic update can be influenced by one or more criteria, including whether automatic update is enabled by a user preference, by time since last update, and/or by various other update policies. Update policies are discussed below and can vary widely with implementation. As examples, update policies can be dependent on one or more of: (i) available bandwidth through the network, (ii) available storage capacity of the portable media device, (iii) network connection bandwidth, (iv) battery level, (v) quantity of data (e.g., content size), etc. In any case, once the decision  404  determines that an automatic update is not to be performed at this time, the automatic content update process  400  returns to repeat the decision  402 ; however, a delay can be imposed prior to again performing the decision  402 . On the other hand, when the decision  404  determines that an automatic update should be performed at this time, the operations  308 - 328  discussed above with respect to  FIGS. 3A  and  3 B can be performed at block  406 . Thereafter, the automatic content update process  400  returns to repeat the decision  402  so that subsequent automatic content updates can be similarly processed, though a delay can be imposed prior to again performing the decision  402 . 
     One form of content update between different electronic devices is known as synchronization. In the course of updating (e.g., synchronizing) content at a portable media device with content from an associated media host over a network, one or more screens can be presented on a display of the portable media device. These screens can be provided for various purposes, for example: (1) to initiate synchronization, (2) to configure synchronization parameters; and/or (3) to select content for synchronization.  FIGS. 5A-5C  illustrate several representative screens that could be presented on a display of a mobile media device. 
       FIG. 5A  is a representative menu screen  500  according to one embodiment of the invention. The menu screen  500  can be presented on a display of a portable media device. As shown in  FIG. 5A , the menu screen  500  includes a list of selectable items. One of the selectable items is “Sync Now” item  502  and another of the selectable items is “Settings”  504 . The user of the portable media device can interact with a user interface so as to select the “Sync Now” item  502 . By selecting the “Sync Now” item  502 , the user is requesting that the portable media device now be synchronized with an associated media host device. In other words, the selection of the “Sync Now” item  502  from the menu screen  500  operates as a manual request for synchronization of the portable media device with the associated media host device. As an example, in response to the selection of the “Sync Now” item  502 , the manual content update process  300  illustrated in  FIGS. 3A and 3B  can be performed. 
       FIG. 5B  is a representative synchronization (sync) settings screen  520  according to one embodiment of the invention. The sync settings screen  520  can be presented on a display of a portable media device. For example, upon selection of the “Settings” item  504  from the menu screen  500  illustrated in  FIG. 5A , a settings screen (not shown) can be presented on the display of the portable media device. Presumably, one option from the settings screen would be for setting synchronization options. Selection of the option pertaining to synchronization options causes the sync settings screen  520  to be displayed. The sync settings screen  520  includes representative settings that a user of the portable media device can make to influence how synchronization is to be performed. In particular, the sync settings screen  520  includes an enable/disable selector  522 . The enable/disable selector  522  allows the user to enable or disable automatic synchronization. In the event that automatic synchronization is enabled, the synchronization settings window  520  allows the user to further specify one or more media types  524  to be synchronized as well as one or more synchronization policies  526  to be applied. As shown in  FIG. 5B , the media types  524  that can be selected or deselected include Music, Video, Contacts and Podcasts. The synchronization policies  526 , as shown in  FIG. 5B , can be individually determined for an associated media type. In other words, each media type  524  can utilize a separate synchronization policy  526 . On the other hand, the synchronization policies  526  can be used to apply to all media types that are enabled and thus apply cumulatively to all such media types. In  FIG. 5B , the exemplary synchronization policies  526  that are shown as being selected for the corresponding media types  524  are Always, High Bandwidth, Always, and Space Available, respectively, for the media types Music, Video, Contacts, and Podcasts. The synchronization policy denoted “Always” indicates a policy to always synchronize this media type. The synchronization policy denoted “High Bandwidth” indicates a policy to synchronize this media type only if high bandwidth network connectivity is available. The synchronization policy denoted “Space Available” indicates a policy to synchronize this media type if the recipient device has adequate available space. Although the sync settings window  520  is described as associated with automatic synchronization, it should be understood that the media types and synchronization policies could also be used to influence the nature of manual synchronization. 
       FIG. 5C  is a representative content selection screen  540  according to one embodiment of the invention. The content selection screen  540  presents to a user selectable list of available content that can be retrieved and supplied to the portable media device. In other words, the user can select some or all of the available content being presented in the content selection screen  540 . More particularly, the content identified in the content selection screen  540  can be categorized under various categories of media, including Available Playlists  542 , New Podcasts  544 , New Videos  546  and New Songs  548 . In this representative content selection screen  540 , the Available Playlists  542  include one or more different playlists that can be individually selected for delivery to the portable media device. The New Podcasts  544  include one or more new podcasts that can be individually selected for delivery to the portable media device. The New Videos  546  include one or more new videos that can be individually selected for delivery to the portable media device. The New Songs  548  include one or more new songs (or albums) that can be individually selected for delivery to the portable media device. In addition, the content selection screen  540  can include additional user interface controls (not shown) that allow a user to select all content, to select all content of a particular grouping or media type, to select content based on preferences or policies, etc. Once the desired content has been selected, the user can select a “Get Content” control  550 . Upon selection of the “Get Content” control  550 , the selected content is requested from the associated media host device. 
     In one embodiment of the invention, the portable media device does not need to include a media management application. In such case, the portable media device, to the extent it needs assistance of a media management application, makes use of the media management application residing on the associated media host device. In another embodiment, the portable media device includes a media management application. By operating the media management application on the portable media device, the ability of the user of the portable media device to manage their media items is substantially improved. 
     In one implementation, the content update processing (e.g., synchronization processing) at a media host device (e.g., personal computer) can utilize an application (e.g., media management application) resident on the host computer to perform the comparison and updating of the media items and their attributes between the media host device and the portable media device. One such application is iTunes® media management software, produced by Apple Computer, Inc. of Cupertino, Calif. 
       FIG. 6  is a block diagram of a media management system  600  according to one embodiment of the invention. The media management system  600  includes a host computer  602  (or media host device) and a media player  604  (or portable media device). The host computer  602  is typically a personal computer. The host computer, among other conventional components, includes a management module  606  which is a software module. The management module  606  provides for centralized management of media items (and/or playlists) not only on the host computer  602  but also optionally on the media player  604 . More particularly, the management module  606  manages those media items stored in a media store  608  associated with the host computer  602 . The management module  606  also interacts with a media database  610  to store media information associated with the media items stored in the media store  608 . 
     The media information pertains to characteristics or attributes of the media items. For example, in the case of audio or audiovisual media, the media information can include one or more of: title, album, track, artist, composer and genre. These types of media information are specific to particular media items. The media information can also indicate one or more of: time purchased, time downloaded, how often played, rating, etc. In addition, the media information can pertain to quality characteristics of the media items. Examples of quality characteristics of media items can include one or more of: bit rate, sample rate, equalizer setting, volume adjustment, start/stop and total time. 
     Still further, the host computer  602  includes a play module  612 . The play module  612  is a software module that can be utilized to play certain media items stored in the media store  608 . The play module  612  can also display (on a display screen) or otherwise utilize media information from the media database  610 . Typically, the media information of interest corresponds to the media items to be played by the play module  612 . 
     The host computer  602  also includes a communication module  614  that couples to a corresponding communication module  616  within the media player  604 . A network connection  618  through one or more networks couples the communication modules  614  and  616 . Hence, even when the media player  604  is remotely located from the host computer  602 , communication between the devices is possible over the network connection  618 . 
     The media player  604  also includes a media store  620  that stores media items within the media player  604 . The media items being stored to the media store  620  can be received over the network connection  618  from the host computer  602 . More particularly, the management module  606  sends all or certain of those media items residing on the media store  608  over the network connection  618  to the media store  620  within the media player  604 . Additionally, the corresponding media information for the media items that is also delivered to the media player  604  from the host computer  602  can be stored in a media database  622 . In this regard, certain media information from the media database  610  within the host computer  602  can be sent to the media database  622  within the media player  604  over the connection or link  618 . Still further, playlists identifying certain of the media items can also be sent by the management module  606  over the network connection  618  to the media store  620  or the media database  622  within the media player  604 . 
     Furthermore, the media player  604  includes a play module  624  that couples to the media store  620  and the media database  622 . The play module  624  is a software module that can be utilized to play certain media items stored in the media store  620 . The play module  624  can also display (on a display screen) or otherwise utilize media information from the media database  622 . Typically, the media information of interest corresponds to the media items to be played by the play module  624 . 
     As previously noted, synchronization is a form of media management. The synchronization between devices can be restricted so as to prevent automatic synchronization when the host computer and media player do not recognize one another. 
     According to one embodiment, when a media player is first connected to a host computer (or even more generally when matching identifiers are not present), the user of the media player is queried as to whether the user desires to affiliate, assign or lock the media player to the host computer. When the user of the media player elects to affiliate, assign or lock the media player with the host computer, then a pseudo-random identifier is obtained and stored in either the media database or a file within both the host computer and the media player. In one implementation, the identifier is an identifier associated with (e.g., known or generated by) the host computer or its management module and such identifier is sent to and stored in the media player. In another implementation, the identifier is associated with (e.g., known or generated by) the media player and is sent to and stored in a file or media database of the host computer. 
       FIG. 7  is a block diagram of a media player  700  according to one embodiment of the invention. The media player  700  includes a processor  702  that pertains to a microprocessor or controller for controlling the overall operation of the media player  700 . The media player  700  stores media data pertaining to media items in a file system  704  and a cache  706 . The file system  704  is, typically, a storage disk or a plurality of disks. The file system  704  typically provides high capacity storage capability for the media player  700 . However, since the access time to the file system  704  is relatively slow, the media player  700  can also include a cache  706 . The cache  706  is, for example, Random-Access Memory (RAM) provided by semiconductor memory. The relative access time to the cache  706  is substantially shorter than for the file system  704 . However, the cache  706  does not have the large storage capacity of the file system  704 . Further, the file system  704 , when active, consumes more power than does the cache  706 . The power consumption is often a concern when the media player  700  is a portable media player that is powered by a battery (not shown). The media player  700  also includes a RAM  720  and a Read-Only Memory (ROM)  722 . The ROM  722  can store programs, utilities or processes to be executed in a non-volatile manner. The RAM  720  provides volatile data storage, such as for the cache  706 . 
     The media player  700  also includes a user input device  708  that allows a user of the media player  700  to interact with the media player  700 . For example, the user input device  708  can take a variety of forms, such as a button, keypad, dial, etc. Still further, the media player  700  includes a display  710  (screen display) that can be controlled by the processor  702  to display information to the user. A data bus  711  can facilitate data transfer between at least the file system  704 , the cache  706 , the processor  702 , and the CODEC  712 . 
     In one embodiment, the media player  700  serves to store a plurality of media items (e.g., songs) in the file system  704 . When a user desires to have the media player play a particular media item, a list of available media items is displayed on the display  710 . Then, using the user input device  708 , a user can select one of the available media items. The processor  702 , upon receiving a selection of a particular media item, supplies the media data (e.g., audio file) for the particular media item to a coder/decoder (CODEC)  712 . The CODEC  712  then produces analog output signals for a speaker  714 . The speaker  714  can be a speaker internal to the media player  700  or external to the media player  700 . For example, headphones or earphones that connect to the media player  700  would be considered an external speaker. 
     The media player  700  also includes a network/bus interface  716  that couples to a data link  718 . The data link  718  allows the media player  700  to couple to a network. The data link  718  can be provided over a wired connection or a wireless connection. In the case of a wireless connection, the network/bus interface  716  can include a wireless transceiver. 
     In another embodiment, a media player can be used with a docking station. The docking station can provide wireless communication capability (e.g., wireless transceiver) for the media player, such that the media player can communicate with a host device using the wireless communication capability when docked at the docking station. The docking station may or may not be itself portable. 
     In yet another embodiment, a larger portable device, such as a vehicle, bag or case, can house or contain the portable media device and also optionally provide the network access. 
     The media items of emphasis in several of the above embodiments can be audio items (e.g., audio files or songs, audiobooks, and/or podcasts), videos (e.g., movies) or images (e.g., photos). The media items can also be multimedia items. The media items can also be playlists of media items. 
     The various aspects, embodiments, implementations or features of the invention can be used separately or in any combination. 
     The invention is preferably implemented by software, but can also be implemented in hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. 
     The advantages of the invention are numerous. Different aspects, embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that a user is able to manage digital data (e.g., media data) residing on a media player from anywhere a network connection is available. Typically, the media player would access a global data network (e.g., the Internet) via a wireless network and then access a host device (e.g., host computer) also connected to the global computer network to obtain updated digital data therefrom. Another advantage of the invention is that the media player, or its user, can initiate update of digital data for the media player. The user of the media player thus does not have to return to the host device to initiate an update; instead, the media player, or its user, can remotely initiate an update. Still another advantage of the invention is that the media player, or its user, can set policies that are used in determining how or when digital data is to be updated. 
     The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.

Metadata:
Filing Date: 20120221
Publication Date: 20150224
Grant Date: 20150224
Priority Date: 20060103
Inventors: FADELL ANTHONY M.
Assignee: APPLE INC
CPC Classifications: [{"code": "H04L65/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F16/178", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L67/1095", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/06", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F16/40", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F16/178", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L65/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L29/06027", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L67/1095", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1101", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L12/28", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 38002008