Abstract:
A file synchronization system that includes a non-volatile memory for storing at least one bookmark respective to a file; a telecommunication mechanism for receiving a new bookmark value respective to this file; and a controller operative to update the respective bookmark according to the new bookmark value; and to control presentation of the file in accordance with the updated bookmark value. A plurality of bookmarks that associate to a single file are stored in the file synchronization system, each such bookmark respective to a different user.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This patent application claims the benefit of U.S. Provisional Patent Application No. 60/777,247 filed Feb. 28, 2006. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to the field of synchronization of files on different devices. 
       BACKGROUND OF THE INVENTION 
       [0003]    Diverse storage systems providing access to files on multiple storage devices are well known in the art of digital computing. 
         [0004]    Microsoft Exchange Server® enables a user to work on emails in one computer and then move to another computer to continue the work, while the files on one computer are synchronized by the server to files on the other computer. 
         [0005]    When a user is using a file on a first device and has to stop operation and move to another device to continue the operation, he typically wants to resume the operation on the other device from the exact point in the file where he stopped. 
         [0006]    In some cases this is very easy. When writing a document or preparing a slide presentation on a first device, the user typically works until the end of the file on this device before moving to work on a second device. By asking the second device to jump to the end of the file, the user is directed to the exact place where he/she wants to resume work. 
         [0007]    However, this is not the case in many other situations. 
         [0008]    For example, when the user is reading a document, the synchronization does not provide a bookmark value that opens the file on a new computer from the point at which the file was last used. By “bookmark value” is meant any information that indicates the approximate current position (e.g. the address of the last-presented segment) of the user within the file upon interruption. Accordingly, a “bookmark” refers to any storage means for storing a bookmark value. By “interruption” is meant any operation that either temporarily suspends or permanently terminates presentation of a file. 
         [0009]    In such situations, where the application allows reading and writing, the prudent user can manually create a bookmark in the text, by entering a bookmark value or a unique string of text. The user can then search for this bookmark on the new computer. 
         [0010]    However, there are many cases where the operation of the user is “read only”. 
         [0011]    For example, reading a PDF document, viewing a movie, listening to a recorded lecture, listening to music, viewing a photo album and so on are some examples of read-only operations of a user. 
         [0012]    A prior art system keeping a bookmark for continuity of using content on different devices is taught in US Patent Application Publication No. 20050157600 to Teicher. 
         [0013]    The Teicher application discloses a storage medium that includes a content storage portion for storing content and a bookmark storage portion for storing a bookmark value. A player plays the desired content until an ending segment is reached, and sets the bookmark value in accordance with the ending segment, so that subsequent playing, on the same player or on a different player, starts in accordance with the ending segment. The starting segment is selected either by the player or by the storage medium. 
         [0014]    As is explicitly described in the Teicher application, the storage medium, such as a CD, must be modified to physically store a bookmark value on a portion of the storage medium itself. This is a major disadvantage, as there are many cases in which the content is stored on a standard write-once CD that cannot be modified according to the Teicher application. The Teicher invention is incapable of keeping a bookmark in such cases. 
         [0015]    There is thus a widely recognized need for, and it would be highly advantageous to have a system that allows a user to stop his/her work on a first device at any time and resume his/her work on a second device approximately from the same position in the file, while overcoming the disadvantages of prior art techniques and in addition to prior art techniques. 
       SUMMARY OF THE INVENTION 
       [0016]    Accordingly, it is a principal object of the present invention to introduce a system and method providing a bookmarked synchronization of files, thereby allowing users to stop presentation of a specific file on a first device at any time and resume presentation on a second device approximately from the same position in this file without the need to physically move the file from one presentation device to another. 
         [0017]    The system of the present invention is operative to update an existing bookmark value respective to a file according to a new bookmark value that is received by the system separate from and independent of the content of the file and to control presentation of this file on a networked presentation device in accordance with the updated bookmark value. This is in contrast to the prior art (as disclosed in the Teicher patent application cited herein above), which requires physically carrying a storage medium, such as a multimedia card storing both the content and the bookmark, to the required presentation device. 
         [0018]    The term “approximate position” is used herein to mean the best available information indicating the current position of the file before file presentation is stopped. 
         [0019]    The term “presentation device” is used herein to refer to any device for typically displaying content and/or outputting a sound, such as a computer, a mobile phone, an MP4 player, an MP3 player, a DVD player, a television set, any type of speaker unit, or any type of device for presenting content of a file. 
         [0020]    The term “controlling presentation” is used herein as a general term to mean controlling consuming, playing, and/or viewing any of the content upon the presentation device. 
         [0021]    Optionally, the bookmark of a file is a public bookmark that is associated with a plurality of users. Alternatively, the bookmark of a file is a private bookmark that is associated with a specific user. As such, a single file can be opened at different positions on the same device for different users. 
         [0022]    In accordance with a preferred embodiment, there is provided a file synchronization system that includes: (a) a non-volatile memory for storing at least one bookmark respective to a file; (b) a communication mechanism operative to receive a new bookmark respective to the file, so that the new bookmark is received separate from and independent of the content of the file; and (c) a controller operative to update one respective bookmark according to the new bookmark value; and to control presentation of the file in accordance with the new bookmark value. 
         [0023]    Preferably, the controller is further operative to monitor a position of presentation of the file; and to update this one bookmark according to the position of the file. 
         [0024]    Preferably, the file synchronization system also includes at least one presentation device, operative in accordance with the new bookmark value to present content of the file. More preferably, the file synchronization system also includes a plurality of presentation devices, such that the controller is operative to control presentation of the file in accordance with the new bookmark value on a selected presentation device. A presentation device may be a computer, a mobile phone, an MP4 player, an MP3 player, a DVD player, a television set, a speaker unit, etc. Also more preferably, the presentation device communicates with the controller via wireless link. Alternatively, the presentation device communicates with the controller via wired link. 
         [0025]    Preferably, the communication mechanism includes a wireless communication link. Alternatively, the communication mechanism includes a wired communication link. 
         [0026]    Preferably, a bookmark value is received from a first storage unit and content of the file is received from a second storage unit that is physically separated from the first storage unit. 
         [0027]    Preferably, the new bookmark value of the file is associated with a specific data address within the file. Alternatively, the new bookmark value of the file is associated with a segment of the file. 
         [0028]    Preferably, the new bookmark value is associated with a plurality of users. Alternatively, the new bookmark value is associated with a specific user. 
         [0029]    In accordance with a preferred embodiment, there is also provided a method of providing a continuation of user experience in using a file, the method includes the steps of: (a) storing, in a non-volatile memory, at least one bookmark respective of the file; (b) receiving a new bookmark value respective to the file separately from and independently of content of the file; and (c) updating one respective bookmark according to the new bookmark value. The new bookmark value may be received via a wireless link or a wired link. 
         [0030]    Preferably, the method also includes presenting content of the file in accordance with the new bookmark value. More preferably, the method also includes monitoring a position of presentation of the file; and updating the one respective bookmark according to the position of the file. The content on the presentation device is presented either via a wireless link or a wired link. 
         [0031]    Preferably, the method also includes the steps of receiving content of the file, such that the new bookmark value and the content of the file are received from different storage units that are physically separated from each other. 
         [0032]    Preferably, the method also includes the step of defining the new bookmark value as to associate with a specific data address within the file. Alternatively, the method also includes the step of defining the new bookmark value as to associate with a segment of the file. 
         [0033]    Preferably, the method also includes the step of defining the new bookmark value as to associate with a plurality of users. Alternatively, the method includes the step of defining the new bookmark value as associate with a specific user. 
         [0034]    In accordance with a preferred embodiment, there is further provided a file synchronization system that includes: (a) a content storage area for storing content of a file; and (b) a bookmark storage area for storing a plurality of bookmarks of the file, each bookmark respective to a different user. 
         [0035]    Preferably, the file synchronization system also includes a controller that is operative to control presentation of the file for a specific user in accordance with the value of the respective bookmark of this specific user. 
         [0036]    Preferably, the file synchronization system also includes at least one presentation device for presenting the content of the file in accordance with a value of a selected bookmark. 
         [0037]    In accordance with a preferred embodiment, there is further provided a method of providing a continuation of user experience in using a file, the method includes the steps of: (a) storing content of the file, in a non-volatile memory; and (b) separately from the file, storing a plurality of bookmarks of the file, each bookmark respective to a different user. 
         [0038]    Preferably, the method also includes the step of presenting the content of the file for a specific user in accordance with a value of the respective bookmark of this specific user. 
         [0039]    Some examples of the ways in which users can use the present invention are provided as follows: 
         [0040]    A user can view a specific file (e.g. watch a movie, use content of a file, etc.) on his computer in his living room, then retire to bed and continue to view this file on a networked bedroom TV from the point where the user stopped without carrying any physical media with him/her from the living room to the bedroom. 
         [0041]    A user can use a specific file (e.g. watch a movie, use content of a file, etc.) on his computer in his living room, then hurry to work, take a taxi and continue to run this file on his networked portable device (e.g. DVD player) from the point where he stopped without carrying any physical media with him from home to the taxi, and without disturbing another user from continuing to watch the movie at home. 
         [0042]    A user can run a specific file (e.g. watch a movie, use content of a file, etc.) on a computer and log out at a first time period. Another user can log on to the same computer, run the same file, and then log out at a second period of time. Then the first user can come back and log on to this computer and continue to run this file on this same computer from the first time period where he had stopped. 
         [0043]    A user can read an e-book in the library, and then carry the e-book home while sending a bookmark corresponding to this e-book and this user to a private networked computer for continuing to read this e-book on his home computer from the page where he stopped. 
         [0044]    Additional features and advantages of the invention will become apparent from the following drawings and description. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0045]    For a better understanding of the invention with regard to the embodiments thereof, reference is made to the accompanying drawings, in which like numerals designate corresponding sections or elements throughout, and in which: 
           [0046]      FIG. 1  is a flow chart of one embodiment of a method of the present invention; 
           [0047]      FIG. 2  is a block diagram of a system of the present invention; and 
           [0048]      FIG. 3  is shows a time diagram example of a working progress of two different users using the same file on the same device. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0049]    The present invention is of a system and method providing a bookmarked synchronization of files. 
         [0050]    The system of the present invention includes a file synchronization device that is operative to update an existing bookmark of the file synchronization device in accordance with another (typically more updated) bookmark value that is transmitted to the file synchronization device separately and independently from the content of the file and to control presentation of the file on a presentation device in accordance with the value of the updated bookmark. Such system allows users to stop presentation of a specific file on a first presentation device at any time and resume presentation on a second presentation device approximately from the same position in this file without the need to physically move the file from one presentation device to another. 
         [0051]    The bookmark synchronization is effected using wireless communication between two networked devices. Alternatively or additionally, the bookmark synchronization is effected using wired connection. This can be achieved by carrying a file on a first storage medium (such as a CD) and storing a corresponding bookmark on a portable flash disk such as the DiskOnKey™ flash memory product, available from msystems Ltd., Kefar Sava, Israel, so that the file itself and its corresponding bookmark are separately and independently provided to the designated presentation device. 
         [0052]    A bookmark value is received, by the file synchronization device, as an indication of the approximate position of a corresponding file. In case a file is transmitted to the file synchronization device or presented by the system&#39;s presentation device as streaming content, then the bookmark may include an exact data address. However, in case the file is received or presented by the system in data segments, then the accuracy of the bookmark value is limited to the length of the data segment that is stored - typically a sector, but possibly other size of segment. For example, digital content of a movie can be thought of as divided into 1-second segments, addressed by counting the displaying time in seconds from the beginning of the movie. Alternative segmentation and addressing monitoring techniques relate to the way the digital content is organized in physical and logical blocks and are well known in the art. 
         [0053]    Upon request, the presentation of the file is resumed from the bookmark value (e.g. from the beginning of the current segment), such that a portion of content may optionally be replayed. 
         [0054]    The system of the present invention includes means for keeping track of the sequential number of the sector being read. When the system stops presenting the file on a specific presentation device, the sequential number of the current sector is stored in an internal memory (typically in a list of updated bookmarks) of the file synchronization device in association with the content of the file, so that the sequential number of the current sector serves as a bookmark value. When bookmark synchronization is applied between two presentation devices, the sequential number of the current sector of this file is transmitted to the other presentation device and presentation of the file is resumed, on the other presentation device, from that current sector (i.e. the address of the last-presented segment). 
         [0055]    Optionally and preferably, the bookmark is a private bookmark that is received (or created) by the system with respect to both a presented file and a specific user using this file. As such, a specific file can be presented on a same presenting device starting from different positions in the file (for different users). This can be implemented by creating and updating the bookmark with respect to both the presented file and an identification parameter (e.g. current user name) of the user using this file. In response to a request made by a user to resume presentation of a specific file (e.g. to play the content of the file, to view the content of the file, etc.), the identification parameter is used to retrieve the bookmark for this user and start presenting content starting from the bookmark value. 
         [0056]    Alternatively, if the system includes a device that does not log the user in (for example a DVD player), then the system keeps track of the approximate position of the file without attributing this positioning to a specific user. 
         [0057]    Preferably but not limited to, the bookmark is updated each time the user interrupts presentation of this file. Optionally, the bookmark is updated periodically during the presentation of the file (e.g. with every change of the current segment of the file). 
         [0058]    Referring now to  FIG. 1 , there is shown a flow chart of one embodiment of a method of the present invention. At the initial step  10 , a request is made by a user to present content of a specific file on a presentation device. The file can either be stored on the presentation device itself or provided to the presentation device, for example, by inserting a CD. 
         [0059]    At the next step  11 , it is verified whether a new bookmark value has been recently received by the file synchronization device from an external source with respect to this specific file (and optionally with respect to the specific user). 
         [0060]    In the affirmative phase, a received-bookmark presentation phase is entered (step  12 ). Step  12  includes presenting the content of the file in accordance with the bookmark value of the received bookmark and adding the received bookmark to the system. In case a bookmark does not exist in the system with respect to this file, the received bookmark is stored in the system in a list of updated bookmarks in association with the file. In case such a bookmark already exists in the system, the existing bookmark is updated according to the bookmark value of the newly received bookmark. The method then proceeds to step  16 . 
         [0061]    However in the negative case, it is determined whether a bookmark is stored in the system with respect to this file (step  13 ). In case such a bookmark is stored—an existing-bookmark presentation phase is entered, in which the content of the file is presented in accordance with the bookmark value of the stored bookmark. In case such a bookmark is not stored—a full presentation phase is entered, in which the file is presented from the beginning (step  15 ). Following step  14  or step  15 , the method proceeds to step  16 . 
         [0062]    At step  16 , monitoring the current position of file presentation is effected. If at any point of time file presentation is interrupted -the respective bookmark is updated at the approximate point of interruption. Note that monitoring current position of presentation can be implemented, for example, by updating a variable in accordance with the current segment of the file. As an example, a slide show or a Power Point presentation is a typical example of a file that is typically presented forward and backwards, such that the current position of this file constantly changes. 
         [0063]    At the last step  17 , the method is completed. 
         [0064]    Referring to  FIG. 2 , there is shown a block diagram of a system of the present invention including a file synchronization device  20  that is connected to a plurality of presentation devices PD 1 , PD 2 , PD 3 . Presentation devices PD 1 , PD 2 , PD 3  may be any type of device for presenting content of a file, such as a computer, a DVD player, a television set, a speaker unit, etc. 
         [0065]    A bookmark value is transmitted to the file synchronization device  20  with respect to a specific file via a communication unit  22 . The transmitted bookmark is then updated in a list of updated bookmarks of a bookmark storage area  24  of a storage area  29 . This allows a user to read an e-book on networked presentation device PD 1  in the library, and then to send a copy of the e-book including a corresponding bookmark value to networked presentation device PD 2  (e.g. home computer) for continuing to read this e-book on his home computer from the page where he stopped in the library. Note that the files are either stored in a content storage area  28  of a storage area  29  or are, alternatively, transmitted to the system using communication unit  22 . 
         [0066]    Communication unit  22  is further operative to communicate with either one of presentation devices PD 1 , PD 2 , PD 3 . Communication between communication unit  22  and the presentation devices is effected either wirelessly or wired. This allows a user to use a specific file (e.g. watch a movie, use content of a file, etc.) on presentation device PD 1  computer in his living room, then hurry to work, take a taxi and continue to run this file on presentation device PD 2  (e.g. DVD player) from the point where he stopped without carrying any physical media with him from home to the taxi, and without disturbing another user from continuing to watch the movie on presentation device PD 1 . 
         [0067]    A controller  26 , responsive to communication unit  22 , controls file presentation on either one of presentation devices PD 1 , PD 2 , PD 3 , in accordance with a corresponding bookmark value. 
         [0068]    Preferably but not limited to, controller  26  also monitors the current position of file presentation (for example, by updating a variable in accordance with the current segment of the presented file). Upon interruption in the presentation of the file on any presentation device, controller  26  updates the bookmark accordingly in the list of updated bookmarks of bookmark storage area  24 . 
         [0069]    Referring to  FIG. 3 , there is graphically shown a time diagram example of a working progress of two different users using the same file on the same device. The x-axis indicates time and the Y-axis indicates position, in percentage, of the presented file. 
         [0070]    As the system can keep track of the approximate position of the file, and as the file is presented when a specific user is logged on to one of the devices of the system, the system can keep a bookmark with respect to the position of each user using the file. 
         [0071]    In accordance with the times diagram of  FIG. 3 , the working progress of the first user is numbered  34  and the working progress of the second user is numbered  36 . 
         [0072]    The first user starts to use the file at a time t 1 . The second user starts to use this same file at a slightly later time t 2 . 
         [0073]    At a time t 3 —the working progress of the first user  34  shows that the first user has progressed monotonically to the point of 75% of the file and the working progress of the second user  26  shows that the second user has progressed monotonically to the point of 60% of the file. Accordingly, at time t 3  a bookmark associated with the first user is set to 75% and a bookmark associated with the second user is set to 60%. 
         [0074]    At a time t 4 —the working progress of the first user  34  shows that the first user has not progressed further in the file (still in the point of 75%) and the working progress of the second user  36  shows that the user has gone back to the point of 30% in the file. Accordingly, at time t 4  the bookmark associated with the first user is updated to 75% and the bookmark associated with the second user is updated to 30%. 
         [0075]    At a time t 5 —the working progress of the first user  34  shows that the first user drew back in the file to the point of 30% and the working progress of the second user  36  shows that the user progressed in the file to the point of 90%. Accordingly, at time interval t 5  the bookmark associated with the first user is updated to 30% and the bookmark associated with the second user is updated to 90%. 
         [0076]    Having described the system of the present invention with regard to certain specific embodiments thereof, it is to be understood that the description is not meant as a limitation, since further modifications will now suggest themselves to those skilled in the art, and it is intended to cover such modifications as fall within the scope of the appended claims.