Prioritizing file synchronization in a distributed computing system
First Claim
1. A computer-implemented method for synchronizing a computing device of a user with a distributed backup system, the method comprising:
- receiving, at a server in the distributed backup system, a request to synchronize the computing device with the server to download data files of the user to the computing device;
determining, by the server, whether there is previous synchronization between the server and the computing device with regard to the data files of the user;
responsive to determining that there is no previous synchronization between the server and the computing device with regard to the data files of the user, performing, by the server, a priority synchronization with the computing device, the priority synchronization identifying a first subset of the data files as priority files and a second subset of the data files as non-priority files, the priority files identified based at least in part on an access pattern of the data files by the user on a set of other computing devices associated with the user;
responsive to determining that there is previous synchronization between the server and the computing device with regard to the data files of the user, performing, by the server, a normal synchronization with the computing device, the data files having the same priority in the normal synchronization;
transmitting, by the server, the priority files to the computing device; and
generating, by the server, a downgraded format version of a non-priority data file of the non-priority files, the downgraded format version of the non-priority data file having a smaller file size than an original format version of the non-priority data file stored at the server, wherein the request is a first request and the non-priority data file includes an audio-video file stored at the server, the method further comprising;
receiving, by the server, a second request from the user to download the original format version of the audio-video file to the computing device; and
transmitting, by the server, in response to the second request, the original format version of the audio-video file to the computing device,wherein transmitting the priority files to the computing device includes transmitting at least one of the priority files from one of the other computing devices that is within a threshold proximity to the computing device.
5 Assignments
0 Petitions
Accused Products
Abstract
Technology is disclosed for performing a priority synchronization of a computing device to download a selected set of data files to the computing device from a distributed backup system. Data files are downloaded to a computing device by synchronizing the computing device with a server of the distributed backup system. A priority sync downloads a subset of the data files (“priority files”) rather than all of the data files of the user, thereby minimizing the computing resources consumed to download the data files. The priority sync can select the priority files based on various criteria, including an access pattern of the data files, attributes of the data files, or attributes of the computing device. The priority sync can also download the data files not identified as priority files (“non-priority files”). While the priority files are downloaded in their original format, the non-priority files are downloaded in a downgraded format.
26 Citations
30 Claims
-
1. A computer-implemented method for synchronizing a computing device of a user with a distributed backup system, the method comprising:
-
receiving, at a server in the distributed backup system, a request to synchronize the computing device with the server to download data files of the user to the computing device; determining, by the server, whether there is previous synchronization between the server and the computing device with regard to the data files of the user; responsive to determining that there is no previous synchronization between the server and the computing device with regard to the data files of the user, performing, by the server, a priority synchronization with the computing device, the priority synchronization identifying a first subset of the data files as priority files and a second subset of the data files as non-priority files, the priority files identified based at least in part on an access pattern of the data files by the user on a set of other computing devices associated with the user; responsive to determining that there is previous synchronization between the server and the computing device with regard to the data files of the user, performing, by the server, a normal synchronization with the computing device, the data files having the same priority in the normal synchronization; transmitting, by the server, the priority files to the computing device; and generating, by the server, a downgraded format version of a non-priority data file of the non-priority files, the downgraded format version of the non-priority data file having a smaller file size than an original format version of the non-priority data file stored at the server, wherein the request is a first request and the non-priority data file includes an audio-video file stored at the server, the method further comprising; receiving, by the server, a second request from the user to download the original format version of the audio-video file to the computing device; and transmitting, by the server, in response to the second request, the original format version of the audio-video file to the computing device, wherein transmitting the priority files to the computing device includes transmitting at least one of the priority files from one of the other computing devices that is within a threshold proximity to the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for synchronizing a computing device of a user with a distributed backup system, the method comprising:
-
receiving, at a server in the distributed backup system, a request to synchronize the computing device with the server to download data files of the user to the computing device; determining, by the server, whether the request is for a priority synchronization of the computing device, the priority synchronization identifying a first subset of the data files as priority files and a second subset of the data files as non-priority files; responsive to determining that the request is for the priority synchronization, identifying the priority files based on a priority-synchronization policy; generating, by the server, a downgraded copy of each non-priority file of the non-priority files, the downgraded copy of the non-priority file having a smaller file size than an original copy of the non-priority file stored at the server; transmitting, by the server, original copies of a first subset of the priority files to the computing device and the downgraded copies of the non-priority files to the computing device; and instructing, by the server, the computing device to download original copies of a second subset of the priority files from a second computing device that is within a threshold proximity to the computing device; wherein determining whether the request is for the priority synchronization includes; determining whether the computing device has been synchronized with the server at least once prior to the request, and responsive to a determination that the computing device has not been synchronized with the server prior to the request, determining that the request is for the priority synchronization; wherein the priority-synchronization policy is based on at least one of a user selection of the set of data files or a user selection of one or more types of the data files to download; and wherein the downgraded copy of a first non-priority file of the non-priority files is obtained by the server in advance from an external source from which the first non-priority file in the original format was obtained. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A server for transferring files to a computing device in a distributed backup system, comprising:
-
a processor; a synchronization request module configured to work in cooperation with the processor to receive a synchronization request for downloading data files of a user to the computing device of the user; a synchronization type determination module configured to determine if the synchronization request is for a priority synchronization, the priority synchronization identifying a first subset of the data files as priority files and a second subset of the data files as non-priority files; a priority-sync data file identification module configured to identify the priority files based on a priority-synchronization policy; a downgraded data file management module configured to generate a downgraded copy of each non-priority file of the non-priority files, the downgraded copy of the non-priority file having a smaller file size than an original copy of the non-priority file stored at the server; a network component to transmit original copies of a first subset of the priority files to the computing device and the downgraded copies of the non-priority files to the computing device; and a proximity determination module configured to determine a second computing device that is within a threshold proximity to the computing device, wherein the server instructs the computing device to download original copies of a second subset of the priority files from the second computing device that is within the threshold proximity to the computing device; wherein determining whether the request is for the priority synchronization includes; determining whether the computing device has been synchronized with the server at least once prior to the request, and responsive to a determination that the computing device has not been synchronized with the server prior to the request, determining that the request is for the priority synchronization; wherein the priority-synchronization policy is based on at least one of a user selection of the set of data files or a user selection of one or more types of the data files to download; and wherein the downgraded copy of a first non-priority file of the non-priority files is obtained by the server in advance from an external source from which the first non-priority file in the original format was obtained. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A computing device for downloading files from a distributed backup system the computing device comprising:
-
a processor; a synchronization request module configured to work in cooperation with the processor to generate a priority synchronization request for downloading data files of a user associated with the computing device from the distributed backup system to the computing device, the priority synchronization request causing the computing device to download a first subset of the data files identified as priority files and a second subset of the data files as non-priority files, wherein each non-priority file of the non-priority files is downloaded in a downgraded format having a smaller file size than an original format of the non-priority file stored by the distributed backup system, wherein the priority files in the distributed backup system are identified based on a priority-synchronization policy; and a network component configured to download original copies of a first subset of the priority files from a server in the distributed backup system, the downgraded copies of the non-priority files from the distributed backup system, and original copies of a second subset of the priority files from a second computing device that is within a threshold proximity to the computing device; determining that the request is for the priority synchronization by; determining whether the computing device has been synchronized with the server at least once prior to the request, and responsive to a determination that the computing device has not been synchronized with the server prior to the request, determining that the request is for the priority synchronization; wherein the priority-synchronization policy is based on at least one of a user selection of the set of data files or a user selection of one or more types of the data files to download; and wherein the downgraded copy of a first non-priority file of the non-priority files is obtained by the server in advance from an external source from which the first non-priority file in the original format was obtained. - View Dependent Claims (28, 29, 30)
-
Specification