Abstract:
A method is provided for a first media management software on a first device to share media with a second media management software on a second device. The method includes receiving user input designating a user of the second media management software for sharing of media, receiving user input designating a media file to be shared with the user of the second media management software, logging onto a server software on a server computer over a network, and learning from the server software if the second media management software is currently logged in with the server software over the network. When the second media management software is currently logged in with the server software, the method further includes learning from the server software an address of the second device and transmitting the media file to the second media management software over the network using the address.

Description:
FIELD OF INVENTION 
       [0001]    This invention relates to media management software that allows the user to browse, search, and organize media files. 
       DESCRIPTION OF RELATED ART 
       [0002]    Media management and cataloging software are more advanced than simple thumbnail browsers. In addition to helping the user browse and sort through her image collection, they also allow the user to catalog her media with keywords, descriptions and categories, ratings, import dates, and creation dates. These tools use a database structure to make image management fast and efficient. Some of them also include basic to advanced image editing, printing, and photo sharing features. The photo sharing feature is typically limited to emailing the media, sending the media to a mobile phone, and uploading the media to a photo sharing website. 
         [0003]    iPhoto from Apple Inc. allows the user to create a photo album or an Event on her computer and sent it to a Web Gallery on a website hosted by Apple Inc. iPhoto automatically uploads the photos and creates an interactive page for visitors to view. With the permission of the owner of the Web Gallery, visitors to the Web Gallery can also contribute their own photos. iPhoto synchronizes the user&#39;s Web Gallery with the user&#39;s iPhoto library on her computer. When others add photos to the Web Gallery, their photos appear in the user&#39;s computer. When the user adds a photo to a published album, it&#39;s uploaded to the Web Gallery automatically. 
       SUMMARY 
       [0004]    In one embodiment of the invention, a method is provided for a first media management software on a first device to share media with a second media management software on a second device. The method includes receiving user input designating a user of the second media management software for sharing of media, receiving user input designating a media file to be shared with the user of the second media management software, logging onto a server software on a server computer over a network, and learning from the server software if the second media management software is currently logged in with the server software over the network. When the second media management software is currently logged in with the server software, the method further includes learning from the server software an address of the second device and transmitting the media file to the second media management software over the network using the address. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]      FIG. 1  illustrates a system for peer-to-peer sharing of media files with media management software in one embodiment of the invention. 
           [0006]      FIG. 2  is a flow chart of a method for peer-to-peer sharing of media files with media management software in one embodiment of the invention. 
           [0007]      FIGS. 3 to 5  are screenshots of a user interface for media management software in one embodiment of the invention. 
       
    
    
       [0008]    Use of the same reference numbers in different figures indicates similar or identical elements. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0009]      FIG. 1  illustrates a system  100  for implementing peer-to-peer sharing of media between media management software in one embodiment of the invention. System  100  includes a personal computer  102  of a user A, a personal computer  104  of a user B, a mobile phone  106  of a user C, and a server computer  108 . All theses devices can be connected to each other through a network  110  (e.g., the Internet). Computer  102  has media management software  112  and computer  104  has media management software  114 . Mobile phone  106  has media management software  116  that is the mobile version of the media management software found on computers  102  and  104 . Server computer  108  has peer-to-peer (P2P) server software  118  that centrally tracks when media management software  112 ,  114 , and  116  are online and their network addresses. 
         [0010]    Like conventional media management software, software  112 ,  114 , and  116  allows the users to browse, search, and organize their media (e.g., photos, music, and videos) using keywords, descriptions, categories, ratings, import dates, and creation dates. Unlike conventional media management software, software  112 ,  114 , and  116  allows the users to share their media by direct transfers between their devices over network  110 . For example, user A can specify a media file she wishes to share with user B on media management software  112 . In response, media management software  112  queries P2P server software  118  to determine if user B is currently online. When user B is currently online, media management software  112  directly transfers the media file to media management software  114  of user B. This process can occur automatically in the background as user A continues to use media management software  112  to organize her media. For example, user A can add additional media file to a folder or a query that is shared with user B. In response, media management software  112  transfers the newly added media file to media management software  114  of user B in the background when user B is also online. 
         [0011]      FIG. 2  is a flowchart of a method  200  for user A to use media management software  112  on computer  102  to share media with user B having media management software  114  on computer  104  in one embodiment of the invention. Steps  202  to  218  are performed by media management software  112  on computer  102 . Steps  222  to  238  are performed by media management software  114  on computer  104 . Steps  242  to  248  are performed by P2P server software  118  on server computer  108 . 
         [0012]    In step  202 , media management software  112  on computer  102  starts to run after user A launches the software. 
         [0013]    In step  204 , media management software  112  is registered by user A with P2P server software  118  on server computer  108  over network  110 . For example, user A provides a user ID (e.g., user A&#39;s email address) to register media management software  112  with P2P server software  118 . The user ID is used to identify user A and computer  102 . Step  204  is only performed once when user A uses media management software  112  for the first time. 
         [0014]    In step  206 , media management software  112  logs in with P2P server software  118  with the user ID of user A. During the login process, P2P server software  118  can determine the current network address of media management software  112  from the packets received over network  110 . 
         [0015]    In step  208 , media management software  112  receives inputs from user A that specify the media files that are shared, and the friends that the media files are shared with. User A can specify the media files that are shared by selecting a folder containing the media files or a query that returns the media files. An example of a query may be a search for all photos having 5 star rating. User A can specify the friends that the media files are shared with by selecting them from a list of friends registered with P2P server software  118 . 
         [0016]      FIGS. 3 and 4  illustrate screenshots of a user interface  302  of media management software  112  that allows user A to specify the media files that are shared, and the friend that the media files are shared with in one embodiment of the invention. As shown in  FIG. 3 , user interface  302  includes a “Folders” pane  304 , a “Libraries” pane  306 , and a preview pane  308 . Folders pane  304  shows the folders in computer  102 . Libraries pane  306  shows the folders that are managed or cataloged by media management software. Preview pane  308  shows previews of the media files in a highlighted or selected folder. A preview of a media file may be a thumbnail of the media files (e.g., a thumbnail of a photo). The preview may also be a short sample of a media file (e.g., a short clip of a song or a video). 
         [0017]    To share media files in a folder, user A right clicks the folder in Folders pane  304  or Libraries pane  306  to bring up a menu  310  including a “Sharing With” command, left clicks the “Sharing With” command to bring up a menu  312  with a list of friends registered with P2P server software  118 , and left clicks one of the friends. 
         [0018]    To add a new friend, user A left clicks an “Add New” command in menu  312  to bring up a dialog box  402  shown in  FIG. 4 . Dialog box  402  prompts user A to enter the user ID (e.g., the email address) of the new friend. After user A enters the ID of the new friend, media management software  112  queries P2P server software  118  to determine if the new friend is a registered user. When P2P server software  118  replies that the new friend is a registered user, media management software  112  adds the new user to the list of registered friends in menu  312  ( FIG. 3 ). When the new friend is not a registered user, P2P server software  118  sends an email to the new user to prompt her to download a free introductory version of the media management software and register it. 
         [0019]    In step  210 , media management software  112  queries P2P server software  118  to determine if the specified friend (e.g., user B) is currently online and the network address of user B if she is currently online. User B is currently online when her media management software  114  is running on computer  104  and media management software  114  has logged in with P2P server software  118  over network  110 . 
         [0020]    In step  212 , media management software  112  receives a response from P2P server software  118  that indicates if user B is currently online and the network address of user B when she is currently online. If the response indicates that user B is currently online, then step  212  is followed by step  214 . Otherwise step  212  is followed by step  218 . 
         [0021]    In step  214 , media management software  112  transmits the media files that user A wishes to share with user B to media management software  114  over network  110  using the network address of computer  104 . If a folder or a query is being shared for the first time, media management software  112  also transmits the folder name or query name to media management software  114  so it can create the appropriate folder or query for holding the media files. To avoid transmitting duplicative media files, folders, and queries, media management software  112  first queries media management software  114  for a list of media files, folders, and queries that were previously transmitted. 
         [0022]    At the same time, media management software  112  may receive media files that user B wishes to share with user A. All of this occurs automatically in the background as user A continues to use media management software  112  to organize her media. 
         [0023]    In one embodiment, media management software  112  may first send over the previews (e.g., thumbnails or samples) of the media files and then send a specific media file in response to a request from media management software  114  when user B selects the preview to access the media file. Alternatively, media management software  112  may send over the media files after sending over the previews. 
         [0024]    In step  216 , media management software  112  updates user interface  302  to display the newly added media files shared between uses A and B. Referring to  FIG. 5 , user interface  302  includes a “Shared Contents” pane  502  that lists folders and queries shared from other users, and folders and queries shared with other users. Pane  502  lists the shared folders, queries, and media files in a tree structure. As described above, preview pane  308  shows the previews of the media files in a highlighted or selected folder. 
         [0025]    In step  218 , media management software  112  performs other functions, such as cataloging the media files of user A. 
         [0026]    Steps  222  to  238  are performed by media management software  114  on computer  104 . These steps mirror steps  202  to  218  described above and are not described in further detail. 
         [0027]    In step  222 , P2P server software  118  registers users A and B for P2P sharing of media over network  110 . Specifically, P2P server software  118  records the user IDs of users A and B provided by their media management software  112  and  114 . 
         [0028]    In step  242 , P2P server software  118  registers first time users (e.g., users A and B) for P2P sharing by recording their user IDs. 
         [0029]    In step  244 , P2P server software  118  logs in media management software  112  and  114  of users A and B after they provide the correct user IDs over network  110 . P2P server software  118  adds users A and B and their network addresses to a list of users that are currently online. P2P server software  118  can determine the network address of users A and B from packets received from media management software  112  and  114  on computers  102  and  104 . 
         [0030]    In step  246 , P2P server software  118  receives queries from media management software  112  and  114  to determine if their friends are currently online, and if so the network addresses of their friends. In response, P2P server software  118  looks up the list users that are currently online for the queried friends. 
         [0031]    In step  248 , P2P server software  118  informs media management software  112  and  114  whether or not their queried friends are currently online and the network addresses of their media management software when their queried friends are currently online. 
         [0032]    Various other adaptations and combinations of features of the embodiments disclosed are within the scope of the invention. Although method  200  has been described for media management software on computers  102  and  104 , similar steps can be used between other types of devices to share media files. For example, method  200  can be applied to media management software on computer  102  and mobile phone  106 . Numerous embodiments are encompassed by the following claims.