IP Library › Granted Patent US 9,697,225
Granted Patent B2
US 9,697,225 · App. 14/588,119 · Granted Jul 4, 2017

Method for synchronizing file

Inventors: Ju Seok Yun (Seoul, KR); Yong Tae Kim (Seoul, KR); Hyeong Goo Kim (Seoul, KR)
Assignee: SAMSUNG SDS CO., LTD.
G06F17/30174G06F21/6218H04L63/0428H04L63/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,697,225
App. No.
14/588,119
Granted
Jul 4, 2017
Kind
B2
Abstract

Provided is a method of file synchronizing. The method includes: determining whether there is a changed matter in a file which is divided into a plurality of chunk files; calculating a hash value for each of plurality of divided chunk files when it is determined that there is a changed matter in file; transmitting a hash value list configured by calculated hash values to a server; receiving a transmission request for a chunk file corresponding to a hash value which is not stored in server, among hash values included in hash value list; and transmitting chunk file to the server in response to the transmission request.

Claims (65)

1. A file synchronizing method of a terminal device, the method comprising:

determining a first synchronization target file having changed matter caused by a first chunk file and a second synchronization target file having changed matter caused by a second chunk file;

calculating hash values for each of the plurality of divided chunk files constructing at least one of the first synchronization target file and the second synchronization target file, the divided chunk files comprising the first chunk file and the second chunk file;

transmitting a hash value list that includes the calculated hash values to a server;

receiving a transmission request designating only for a chunk file corresponding to a hash value which is not stored in a hash table, the hash table storing hash values for each of every chunk file constructing at least one of already synchronized files, among the hash values included in the hash value list; and

transmitting only the first chunk file of the first chunk file and the second chunk file to the server in response to the transmission request, when a hash value of the first chunk file and a hash value of the second chunk file are not stored in the hash table,

wherein the hash value of the first chunk file is identical to the hash value of the second chunk file.

2. The method of claim 1 , wherein the transmitting of only the first chunk file comprises encrypting the first chunk file with an authentication key received from the server in response to a user authentication request.

3. The method of claim 1 , wherein the first chunk file is a new chunk file or a modified chunk file of the plurality of chunk files that is included in the first synchronization target and the second chunk file is a new chunk file or a modified chunk file of the plurality of chunk files that is included in the second synchronization target file.

4. A file synchronizing method of a server, the method comprising:

receiving hash values for each of a plurality of chunk files included in at least one of a first synchronization target file and a second synchronization target file which have been stored in a terminal device, the first synchronization target file having changed matter caused by a first chunk file and the second synchronization target file having changed matter caused by a second chunk file;

comparing the received hash values with hash values in a hash table storing hash values for each of every chunk file constructing each of already synchronized files;

selecting, as a result of the comparing, a hash value which is not stored in the hash table among the received hash values;

transmitting a transmission request signal designating only for a chunk file corresponding to the selected-hash value to the terminal device; and

receiving only the first chunk file having the selected hash value, in response to the transmission request signal,

wherein the first chunk file is included in the first synchronization target file and a second chunk file is included in the second synchronization target file and, a hash value of the second chunk file is identical to the selected hash value.

5. The method of claim 4 , further comprising:

receiving a user authentication request from the terminal device; and

generating a hash table, a file table, and a metadata table corresponding to user authentication information included in the user authentication request,

wherein the file table includes information for generating a file using the chunk files and the metadata table includes metadata information of the file.

6. The method of claim 5 , further comprising:

updating the hash table, the file table, and the meta table in response to receiving the first chunk file.

7. The method of claim 1 , wherein whether the changed matter caused by the first chunk is determined based on metadata of the first synchronization target file and the changed matter caused by the second chunk is determined based on metadata of the second synchronization target file.

8. The method of claim 1 , wherein the first chunk file is transmitted to the server in response to the transmission request in order to synchronize the first synchronization target file.

9. A file synchronizing method of a terminal device, the method comprising:

receiving a metadata table including metadata information for at least one of a first synchronization target file having changed matter caused by a first chunk file and a second synchronization target file having changed matter caused by a second chunk file, the first synchronization target file and the second synchronization target file having been stored in a server;

determining a first file as a file to be synchronized by comparing the received metadata table with a first metadata of the first file and a second file as a file to be synchronized by comparing the received metadata table with a second metadata of the second file, the first file and the second file having been stored in the terminal device;

receiving hash values of chunk files from the server, wherein the hash values are stored in a hash table storing hash values for each of every chunk file constructing at least one of the first synchronization target file and the second synchronization target file;

requesting the server to transmit a chunk file corresponding to a hash value which is only included in the received hash values by comparing the received hash values with hash values of chunk files constructing the first file and the second file in the terminal device;

receiving only the first chunk file of the first chunk file and the second chunk file from the server in response to the requesting, when a hash value of the first chunk file is identical to a hash value of the second chunk file; and

generating the first synchronization target file by assembling the first file and the first chunk file, and the second synchronization target file by assembling the second file and the first chunk file in the terminal device.

10. The method of claim 9 , further comprising:

updating the first metadata of the first file and the second metadata of the second file in response to receiving only the first chunk file.

11. The method of claim 9 , wherein the receiving the metadata table further comprises:

transmitting user authentication information to the server; and

receiving the metadata table which corresponds to the user authentication information in response to a successful user authentication process using the user authentication information.

12. The method of claim 9 , wherein the receiving only the first chunk file further comprises

receiving a file table from the server, and the

generating comprises generating, based on the file table, the first synchronization target file and the second synchronization target file in the terminal device.

13. The method of claim 9 , wherein the requesting the server comprises:

receiving hash values for a plurality of chunk files which have been stored in the server;

comparing hash values of a hash table stored in the terminal device with the received hash values; and

transmitting a transmission request signal for a chunk file corresponding to a hash value which is not included in the hash table stored in the terminal device, to the server.

14. A file synchronizing method of a server, the method comprising:

transmitting hash values stored in a hash table which have been stored in the server to a terminal, wherein the hash table storing hash values for each of every chunk file constructing at least one of a first synchronization target file and a second synchronization target file, wherein a first chunk file is included in the first synchronization target file and a second chunk file is included in the second synchronization target file;

receiving a transmission request for only the first chunk file when a hash value of the first chunk file and a hash value of the second chunk file are not stored in the terminal device but included in the transmitted hash values; and

transmitting the first chunk file to the terminal device in response to the transmission request,

wherein the hash value of the first chunk file is identical to the hash value of the second chunk file.

15. The method of claim 14 , wherein the transmitting the first chunk file comprises:

generating an authentication key with user authentication information included in a user authentication request; and

encrypting the first chunk file with the generated authentication key.

16. A computer program which is coupled with a computer device and stored in a non-transitory computer readable recording medium, the program being configured to execute:

determining a first synchronization target file having changed matter caused by a first chunk file and a second synchronization target file having changed matter caused by a second chunk file;

calculating hash values for each of the plurality of divided chunk files constructing at least one of the first synchronization target file and the second synchronization target file, the divided chunk files comprising the first chunk file and the second chunk file;

transmitting a hash value list that includes the calculated hash values to a server;

receiving a transmission request designating only for a chunk file corresponding to a hash value which is not stored in a hash table, the hash table storing hash values for each of every chunk file constructing at least one of already synchronized files, among the hash values included in the hash value list; and

transmitting only the first chunk file of the first chunk file and the second chunk file to the server in response to the transmission request, when a hash value of the first chunk file and a hash value of the second chunk file are not stored in the hash table,

wherein the hash value of the first chunk file is identical to the hash value of the second chunk file.

17. A computer program which is coupled with a computer device and stored in a non-transitory computer readable recording medium, the program being configured to execute:

receiving hash values for each of a plurality of chunk files included in at least one of a first synchronization target file and a second synchronization target file which have been stored in a terminal device, the first synchronization target file having changed matter caused by a first chunk file and the second synchronization target file having changed matter caused by a second chunk file;

comparing the received hash values with hash values in a hash table storing hash values for each of every chunk file constructing each of already synchronized files;

selecting, as a result of the comparing, a hash value which is not stored in the hash table among the received hash values;

transmitting a transmission request signal designating only for a chunk file corresponding to the selected hash value to the terminal device; and

receiving only the first chunk file having the selected hash value, in response to the transmission request signal,

wherein the first chunk file is included in the first synchronization target file and a second chunk file is included in the second synchronization target file and, a hash value of the second chunk file is identical to the selected hash value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2015
From: YUN, JU SEOK; KIM, YONG TAE; KIM, HYEONG GOO
To: SAMSUNG SDS CO., LTD.
Reel/Frame 034635/0001 →
Priority Claims (1)
KR 10-2014-0142850 · Oct 21, 2014 · national
Continuity (1)
Related Publication 20160110377A1 · Apr 21, 2016