Abstract:
A system for synchronizing digital content stored on a user&#39;s mobile handset with digital content stored on the user&#39;s personal computer is disclosed.

Description:
PRIORITY CLAIM 
     This application claims priority under 35 USC 119(e) and 120 to U.S. Provisional Patent Application Ser. No. 60/879,416 filed on Jan. 8, 2007 which is incorporated by reference herein. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to a method and apparatus for transferring digital content stored on a user&#39;s personal computer to the user&#39;s mobile handset. 
     BACKGROUND OF THE INVENTION 
     With the increase in storage capacity of hard disk drives and the prevalence of optical CD and DVD drives, users now can store their entire musical libraries on their personal computer (PC). For example, various software programs such as iTunes (offered by Apple Computer) allow a user to load musical content from CDs, store it on the computer&#39;s hard disk drive, organize the different content, and then play the music on the PC or burn all or part of the musical collection onto a CD or DVD. Users also can transfer the musical files to other devices, such as an iPod (offered by Apple Computer) or an MP3 player. These transfers typically require a direct, hardwired connection between the PC and the device, such as through a USB cable. 
     In recent years, mobile handsets (such as cellular phones and PDAs) have evolved beyond mere telephone and data collection devices. For example, many cellular phones now have sophisticated display screens and audio capabilities. Various companies (including mSpot, Inc., the assignee of this application), offer audio and video content that is “streamed” to the cellular phone using a wireless cellular network. This allows cellular phone users to listen to music or other audio content and watch movies or other video content on their cellular phones. However, the user&#39;s choices are limited to the content offered by the provider. 
     What is needed in the art is a system that allows a user of a mobile handset to obtain digital content that he or she previously had stored on a personal computer or other device by downloading the content over a wireless network and to store it on the mobile handset. 
     What is further needed is the ability to synchronize the digital content as well as the file structure, user ratings, and other metadata between the mobile handset and PC. 
     SUMMARY OF THE INVENTION 
     A method and apparatus are provided for enabling a user of a mobile handset to obtain digital content from a PC or other device associated with the user, and to store that digital content on the mobile handset. In one embodiment, the user stores digital content (such as music) on a PC. The PC communicates with a server over the Internet. At a later time, the user accesses a wireless network using a mobile handset (such as a cellular phone). The mobile handset communicates with said server and downloads some or all of the digital content over the wireless network. The digital content is then stored on the mobile handset, allowing the user to access it on the mobile handset. The mobile handset downloads and stores metadata associates with the digital content as well. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of the prior art system involving a PC and an audio device such as an iPod or MP3 player and/or a portable storage device; 
         FIG. 2  illustrates a system that allows a mobile handset to download music from a PC using a wireless network and the Internet; 
         FIG. 3  is a flowchart showing a method for downloading music from a PC to a mobile handset; 
         FIG. 4  shows an example of a user interface on the mobile handset for downloading music from a PC to the mobile handset; 
         FIG. 5  illustrates another embodiment of the system that allows a mobile handset to share content with a computing device; 
         FIG. 6  illustrates another embodiment of the system that allows a mobile handset to share content among a plurality of computing devices; 
         FIG. 7A  illustrates a piece of content segmented into smaller pieces; and 
         FIG. 7B  illustrates a method for downloading content to a mobile device that does not support progressive downloading. 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       FIG. 1  depicts the prior art system in which a user stores digital content (such as music, video, etc.) on computer  10 . Computer  10  can be a desktop, notebook, server, or any other type of device that can store digital data. User connects portable entertainment device  12  to computer  10  using interface  14 . Portable entertainment device  12  can be an iPod, MP3 player, or any other device that can store and play digital content. Interface  14  is a direct connection between computer  10  and portable entertainment device  12  and typically is a USB cable or Firewire cable. 
     In the alternative, a user can connect portable storage device  16  to computer  10  to download the digital data, and then disconnect portable storage device  16  from computer  10  and then connect portable storage device  16  to portable entertainment device  12  to download the data onto portable entertainment device  12 . Portable storage device  16  can be a Flash ROM chip, a hard disk drive, or other storage device. 
       FIG. 2  depicts a system that allows a mobile handset to download digital content from a computer using a wireless network. As in the prior art, a user stores digital content (such as music, video, etc.) on computer  10 . However, in this embodiment, the user downloads the digital data from computer  10  to mobile handset  20  in a wireless fashion over a wireless communication path. Mobile handset  20  may be a PDA, mobile phone, wireless email device (such as the Blackberry), or other handheld device that has wireless connectivity to be able to communicate with the computer  10  and download digital content from the computer  10 . Computer  10  communicates with a device  22 , such as a server computer, over network  24 . Network  24  can be any type of network, such as the Internet, and can be hardwired, wireless, or some combination of the two. Computer  10  runs a software application that allows a user to catalog and organize the digital content of the user. The device  22  can be accessible over the Internet (such as through a URL address). The device  22  is shown in  FIG. 2  as a single device. However, it is to be understood that the device  22  can instead comprise multiple devices, such as multiple servers. 
     Mobile handset  20  connects to device  22  over a wireless network  26 . Wireless network  26  can be a cellular telephone network, a WiFi network (such as an 802.11 network), a wireless data network (such as EV-DO or EDGE), or any other wireless network. It is to be understood that wireless network  26  need not connect directly to server device  22 , but instead can connect through an indirect means such as by the Internet or through another network. The embodiment will be further described with reference to  FIG. 3 . 
       FIG. 3  is a flowchart depicting the interaction of the various elements shown in  FIG. 2 . Computer  10  connects to device  22  over network  24 . Computer  10  then registers with device  22  ( 30 ) so that device  22  associates the digital content in the computer  10  with a particular user and a particular mobile handset. Computer  10  then listens on an open http connection to device  22  ( 32 ) and waits for communications from server device  22 . Mobile handset  20  contacts server device  22  ( 34 ) over wireless network  26 . Once the computer  10  is registered with the device  22 , the user of the mobile handset, when the handset is turned on, sees the digital content actually stored on the mobile handset as well as the digital content stored in the computer  10  in a single display as shown in more detail in  FIG. 4 . When the user of the mobile handset wants to use a piece of digital content stored on the computer  10 , the mobile handset  20  issues a command to computer  10  ( 36 ), such as a command to transfer a certain piece of digital content. Computer  10  responds to the command and transfers the digital content to device  22  ( 38 ). Mobile handset  20  then obtains digital content from device  22  (step  40 ). Thus, mobile handset  20  is able to obtain digital content (such as a music file) from computer  10  in a fashion that is at least partly wireless. Using the above system and method, a user may have digital content stored on his/her computer as well as on the mobile handset and may synchronize the digital content between the computer and the mobile handset in a wireless manner. For example, the system permits a user to have a much larger digital content catalog available for use than can be stored in the mobile handset. In addition, the system permits the user to download particular digital content at any time, such as downloading a particular movie before a long airplane flight. The user also can download additional data associated with the digital content, such as metadata (artist information, duration, title, etc.), cover art, and other data. 
       FIG. 4  shows an embodiment of a user interface for mobile handset  20  once the computer  10  is registered with the device  22 .  FIG. 4  shows a number of different screens that might be displayed on mobile handset  20 . These screens are generated by a software application running on mobile handset  20 . The software application on the mobile handset obtains (when the digital content is not already stored in the mobile handset), organizes, displays (both digital content on the mobile handset and the computer  10 ), stores and plays digital content and can generate the user interface described below. 
     Screen  50  provides the user with two choices—to view a list of files that have been downloaded from computer  10  (“Downloaded”) and are stored on the mobile handset, or to view a list of all files (“All”) including the digital content stored on the mobile handset and the digital content stored on the computer  10 . If the user selects the “Downloaded” option, then in screen  52 , the user can then choose a subset of the files (by artist, album, or playlist) or to view all of them. If the user selects “All,” then mobile handset  20  displays all available music files, including files that have been or can be downloaded from computer  10 . In this embodiment, song titles in normal, black text already have been downloaded to mobile handset  20 , and song titles in gray text have not yet been downloaded but can be downloaded. In Screen  54 , the user selects the song “All Night Long,” which already has been downloaded, and in Screen  56 , the song plays on mobile handset  20  while cover art and other relevant information is displayed for the song “All Night Long.” 
     When the user selects the “All” option in screen  50 , the user is presented with a menu ( 58 ) that permits the user with options to view all of the digital content (both stored on the mobile handset and stored on the computer) including “All”, by Artist, by Album and/or by Playlist. When the user selects to view all of the digital content (which are songs in this example), a screen  60  shows all of the digital content (both on the mobile handset and on the computer) wherein certain pieces of digital content are shown in gray text indicating that those pieces of digital content are stored on the computer and are available for download to the mobile handset and other pieces of digital content are shown in black indicating that those pieces of digital content are stored on the mobile handset. If the user selects “Because of You” (which is shown in gray text), mobile handset  20  then issues a command to computer  10  ( 36 ), such as a command to transfer the song “Because of You” from the computer to the mobile handset. Computer  10  responds to the command and transfers the requested digital content to server device  22  ( 38 ) and the mobile handset  20  then obtains the digital content from server device  22  ( 40 ). Once the piece of digital content (or at least a buffer full of the piece of digital content as the piece of digital content continues to download in the background) is downloaded to the mobile handset, screen  62  then shows the cover art and other relevant information for the song “Because of You” as the song is being played. When the digital content is downloaded onto mobile handset  20 , it is played on mobile handset  20  and is also stored in a storage system within mobile handset  20  (such as on Flash RAM chip or disk drive) while it is being played. The digital content (a song in the example in  FIG. 4 ) is thus added to the music collection stored on mobile handset  20 . When that song is displayed in a menu in the future, it will be displayed in normal, black text rather than gray text since it has now been downloaded and stored on mobile handset  20 . 
     In this manner, the digital content on mobile handset  20  can be synchronized with the digital content on computer  10  in a wireless fashion. This allows a user to listen to or watch the digital content that is stored on computer  10 , even when the user is in a location remote from the computer  10 . 
     Device  22  can implement security or verification measures to ensure that the person operating mobile handset  20  is the same person who owns computer  10 , for copyright protection and other reasons. For example, device  22  can require that computer  10 , when the computer registers with the device  22 , provide device  22  with the phone number for the mobile handset that will be allowed to access the digital content stored on computer  10 . When mobile handset  20  then contacts device  22  with a request to obtain data from computer  10 , device  22  can then determine if the phone number associated with mobile handset  20  is the same phone number that previously had been registered by computer  10 . Device  22  can be designed to proceed with the requested transfer only if the two phone numbers match. Other security or verification measures can be implemented, and this example is only illustrative. 
     Mobile handset  20  may include circuitry for running an operating system and applications, circuitry for processing data and metadata, and circuitry for rendering and playing the digital content, such as audio content and video content. All of the circuitry can be contained in a single integrated chip, in multiple integrated chips, or in a combination of some number of integrated chips and other electronic components. 
     A user of mobile handset  20  can run various applications on the handset, such as an application that enables the user to listen to music or to watch video content. Mobile handset  20  can include a video display and a speaker, which would enable a user of mobile handset  20  to watch video content on the video display and listen to audio content through the speaker. 
       FIG. 5  illustrates another embodiment of the system that allows a mobile handset  20  to share content with a computing device  10 . In this embodiment, the mobile handset  20  can share content with the computing device  10  through the device  22  (as described above), but may also share content/synchronize content with the computing device  10  over a link  70 , such as a cable, a docking station, by removing a memory card from the mobile handset  20  and reading the memory card using a memory card reading device coupled to the computing device  10  or by other wireless protocols such as a Bluetooth network. In this embodiment, the synchronization of the content over the two different methods (through the device  22  and over the link) requires that the system tracks the synchronization by both methods. The system may also permit multiple computing devices and multiple handsets (assuming that the user has the proper authorizations to share the content) to share the content. 
     The mobile handset may include a content store  71 , such as a database, that may include one or more playlists  72  and the computing device  10  may a content store  74 , such as a database, and one or more pieces of content  75 . In the computing device  10 , the one or more pieces of content may have a plurality of different formats (such as MP3, AAC, ACC+, m4a for music content) and the system may be used with multiple different types of content including music content, photo content, file content, video content, podcasts and any other type of digital content. The computing device, using the content store  74 , identifies any new content files so that those new content files can appear in the user interface of the mobile handset described above and new files downloaded directed to the mobile handset appear in the master content store maintained on the computing device  10 . The content store  71  on each mobile handset may include an identification code (ID) so that the computing device  10  may contain a plurality of content stores for a plurality of mobile handsets wherein the content stores for each mobile handset are distinguished by the identification code. A user can also create a new playlist on the mobile handset that is stored in the content store  71  and then is synchronized back to the computing device  10  so that the computing device also maintains the playlists for the particular mobile handset in the content store for that particular mobile handset as identified by the identification code. 
       FIG. 6  illustrates another embodiment of the system that allows a mobile handset  20  to share content among a plurality of computing devices wherein the mobile handset has the content store  71  and playlists  72 . As shown, the system permits the mobile handset  20  to synchronize its content with a plurality of computing devices  10   1 ,  10   2 , . . . ,  10   n  and each computing device maintains a content store of the content on the mobile handset. For example, in a family in which the different family members each have their own computing device, the mobile handset of a particular family member can be synchronized to the multiple computing devices so that the content purchased by each member of the family can be shared. Similarly, the system permits multiple mobile handsets to synchronize their content with a single computing device (such as might be the case of a family) or multiple mobile handsets can synchronize their content with multiple computing devices. Thus, the system permits the computing devices to effectively share content between the computing devices. 
       FIG. 7A  illustrates a piece of content  80  segmented into smaller pieces. In most mobile handsets, it is not possible to download an entire piece of content (or the downloading of the entire content causes an unacceptable delay in the user experience) so that the piece of content is segmented into segments, such as segments  1 - 8 , in order to download the segments to mobile handset. For example, the system is able to download the segments in sequential manner and therefore begin to play the piece of content prior to the entire piece of content being downloaded to the mobile handset that provides a better user experience. A mobile handset, depending on the type of mobile handset, may have a progressive download mode. In the progressive download mode, the mobile handset can start the download of the segments and then start to play the content while the remainder of the segments of the content are downloaded to the mobile handset. If the mobile handset is capable of progressive downloading, then the downloading of the content to the mobile handset is straight-forward. However, if the mobile handset does not support progressive downloading (which is the case for most mobile handsets such as mobile phones), a buffering method is used to permit the segmentation of the content and then the downloading of the segments of the content. 
       FIG. 7B  illustrates a method for downloading/streaming content to a mobile handset that does not support progressive downloading. When the mobile handset does not support progressive downloading, the mobile handset does not permit any download into a buffer while any portion of the content is being played from the buffer. The mobile handset  20  includes the application, as described above, that manages the content on the mobile handset and displays the user interface shown in  FIG. 4 . In the embodiment in which the mobile handset does not support progressive downloading, the application may also segment a memory space of the mobile handset into a first buffer A and a second buffer B wherein the downloading of the segments of the content occurs by ping-ponging between the first and second buffers. In particular, as shown in  FIG. 7B , a new piece of content (having segments  1 - 8  in this example) has its first segment downloaded into the first buffer and then the segment is played from the first buffer. While the segment of content is being played in the first buffer, the next segments of the piece of content (which must include the first segment to maintain the file integrity and download the file header) of the piece of content is downloaded to the second buffer B (segments  1 - 3  in this example). Then, when the first segment is completed, the content in the second buffer starting at segment  2  is played. During the switch from the first buffer to the second buffer, a 20 ms silence occurs but it is not noticeable by the user. As the segments of content are being played from the second buffer B, addition segments (segments  4 - 6  in this example) are downloaded to the first buffer A (along with the prior segments to maintain content file integrity and download the file header). When the playing of the second and third segments is completed, the mobile handset switches back to the first buffer A so that segments  4 - 6  can be played. While the segments in the first buffer A are being played, the last segments of the piece of content (along with the prior segments to maintain content file integrity) are downloaded into the second buffer and the mobile handset then plays the remaining segments from the second buffer once segments  4 - 6  are completed so that the mobile handset ping-pongs between the first and second buffers. The use of the two buffers results in a better user experience since the only silence gaps are approximately 20 ms gaps that are not noticeable by the user and permits streaming of the content. Without the two buffers, a mobile handset that does not support progressive downloading: 1) must wait to play the content until it is completely downloaded (which takes too long); or 2) introduces a pause (2 seconds or more) each time that the mobile handset needs to download the next segments of the content. In addition, a mobile handset that does not support progressive downloading and does not have the two buffers cannot be adaptive to bandwidth changes in the network and thus cannot take advantage of good network coverage and good network speed to provide a better user experience. 
     In another embodiment, the memory space of the mobile handset may be divided into the first and second buffers (as described above) and a third buffer wherein the segments of the content are downloading into the third buffer so that the third buffer has all of the currently downloaded segments of the content (or all of the segments of the content if the downloading is completed). 
     The mobile handset application may also include a mode in which the application, when the user is playing a playlist for example, looks ahead in the playlist and downloads the next piece of content in the playlist (if it is not already on the mobile handset) in a streaming manner wherein the first piece of content will have the 20 ms silence gaps (due to the streaming and ping-ponging between the buffers), but any subsequent pieces of content will not have the silence gaps since the subsequent content may be pre-downloaded in the entirety to the mobile handset. 
     The mobile handset/application of the mobile handset may also include an “airplane” mode in which the mobile handset and application determines when the mobile handset is connected to the network (either the wireless network or the link). When the application determines that the mobile handset does not have any connection to the computing device  10 , the application does not display any content that is only on the computing device  10 , but permits the user to play the content already stored on the mobile handset. However, when the mobile handset is again connected to the computing device  10 , the content on the mobile handset and on the computing device (shown in  FIG. 4  above) is again shown to the user. 
     While the foregoing has been with reference to particular embodiments of the invention, it will be appreciated by those skilled in the art that changes in these embodiments may be made without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims.