File object synchronization between a desktop computer and a mobile device
First Claim
Patent Images
1. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, the objects having associated file names, the method comprising:
- maintain a mapping table which maps objects to be synchronized on the first object store with corresponding objects on the second object store;
determining whether an object to be synchronized has been added to the second object store since a last synchronization process;
if so, adding a corresponding object to the first object store during a subsequent synchronization process;
determining whether the object added to the first object store during the subsequent synchronization process already exists on the first object store under a different file name;
if so, deleting the already existing object from the first object store; and
updating the mapping table to map the object added to the first object store to the object which was renamed on the second object store.
2 Assignments
0 Petitions
Accused Products
Abstract
First and second computing devices each contain an object store which store objects indicative of file data. Synchronization components are provided to synchronize the objects while efficiently overcoming problems associated with synchronizing files.
663 Citations
24 Claims
-
1. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, the objects having associated file names, the method comprising:
-
maintain a mapping table which maps objects to be synchronized on the first object store with corresponding objects on the second object store;
determining whether an object to be synchronized has been added to the second object store since a last synchronization process;
if so, adding a corresponding object to the first object store during a subsequent synchronization process;
determining whether the object added to the first object store during the subsequent synchronization process already exists on the first object store under a different file name;
if so, deleting the already existing object from the first object store; and
updating the mapping table to map the object added to the first object store to the object which was renamed on the second object store. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of synchronizing an object indicative of file data from a first object store to a second object store, the method comprising:
-
determining that the object is to be synchronized;
preparing packets indicative of the object to be transmitted from the first object store to the second object store;
determining whether the object to be synchronized is a new object in the second object store;
if so, displaying a message indicating a file path location where the object is to be placed during synchronization and transmitting the object from the first object store to the second object store. - View Dependent Claims (8, 9)
if the object to be synchronized is a new object in the second object store, storing a backup copy of the object.
-
-
9. The method of claim 8 and further comprising:
providing a display indicating the file path location of the backup copy.
-
10. A method of synchronizing objects indicative of file data, each object being one of a plurality of object types, between a first object store associated with a first computing device and a second object stare associated with a second computing device, the method comprising:
-
maintaining a list of available converters for conversion of objects from a first format to a second format, each converter being configured to convert at least one of the object types, wherein the list is maintained based on the object types that the converter is configured to convert;
determining that a selected object is to be synchronized;
determining that the selected object is to be converted prior to synchronization;
examining the list;
generating an exclusion list including object types for which no converter is available;
determining whether the selected object is of an object type included in the exclusion list; and
if not, excluding the selected object from synchronization. - View Dependent Claims (11, 12, 13, 14, 15)
performing the steps of examining the list, generating an exclusion list including object types for which no converter is available, and determining whether the selected object is of an object type included in the exclusion list for the desktop computer and for the mobile device to create a desktop exclusion list identifying first object types for which no converter is available to convert objects of the first object type to a format suitable for the desktop computer, and a mobile device exclusion list identifying second object types for which no converter is available to convert objects of the second object type to a format suitable for the mobile device.
-
-
14. The method of claim 13 wherein the list of available converters is maintained in a registry of the desktop computer.
-
15. The method of claim 13 wherein the desktop exclusion list and the mobile device exclusion list are maintained in the registry of the desktop computer.
-
16. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, the first and second computing devices being remotely connectable to one another, the method comprising:
-
determining that the first and second computing devices are remotely connected to one another;
determining that a selected object is to be synchronized; and
suppressing user interface dialog during synchronization, while allowing other computing operations to take place in the background, based on the determination that the first and second computing devices are remotely connected. - View Dependent Claims (17, 18)
determining that the selected object is to be converted from a first format to a second format prior to synchronization; and
suppressing conversion progress user interface dialog messages during conversion.
-
-
18. The method of claim 17 and further comprising:
-
determining whether a FileFilterOptions application programming interface is present on the first computing device; and
if so, calling a SetFilterOptions method exposed by the FileFilterOptions interface providing a value indicating that the user interface dialog messages are to be suppressed.
-
-
19. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, one of the first and second computing devices being a mobile device and the other being a non-mobile device, the method comprising:
-
providing a synchronization manager on the first computing device which determines that a selected object in the second object store is to be synchronized to a corresponding object in the first object store;
providing a file synchronization provider;
indicating to the file synchronization provider that the selected object is to be synchronized;
determining, with the file synchronization provider, that the corresponding object in the first object store is locked;
returning an error message from the file synchronization provider to the synchronization manager indicating that the corresponding object in the first object store is locked;
maintaining, at the synchronization manager, an indication that the selected object is to be synchronized until the corresponding object is unlocked.
-
-
20. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, the method comprising:
-
maintaining a folder of objects on the first and second object stores indicative of files to be synchronized; and
excluding from the synchronization process objects indicative of temporary files located in the folder. - View Dependent Claims (21, 22)
providing the file synchronization provider with an enumeration request from the synchronization manager requesting the file synchronization provider to enumerate objects in the folder in order for the synchronization manager to determine which objects in the folder need to be synchronized to corresponding objects in the second object store.
-
-
22. The method of claim 21 wherein excluding from the synchronization process comprises:
failing to enumerate objects indicative of temporary files in response to the enumeration request.
-
23. A method of synchronizing objects indicative of file data between a first object store associated with a first computing device and a second object store associated with a second computing device, the method comprising:
-
providing a synchronization manager configured to provide an enumeration request and maintain a mapping between the objects on the first object store and the objects on the second object store;
providing a file synchronization provider configured to maintain a folder of file objects to be synchronized and to enumerate the file objects in response to the enumeration request such that the synchronization manager can determine which file objects need to be synchronized; and
when the mapping is lost, recovering the mapping by combining the file objects on the second object store with the file objects on the first object store utilizing the file synchronization provider and enumerating the combined files so the synchronization manager can reestablish the mapping, wherein combining includes determining, with the file synchronization provider, which combined file objects are duplicates and deleting one of the duplicates prior to enumerating the file objects. - View Dependent Claims (24)
performing a binary compare of the combined file objects.
-
Specification