IP Library Patent Application 14271798
Patent Application
App. No. 14/271,798

SECURE SYNCHRONIZATION OF FILES

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 None
App. No.
14/271,798
Abstract

A copy of a first file may be stored in a first instance of a file space associated with a user of a first client device. An event is generated for a first modification of the first file and the event is sent to a server. A current revision number of the file space is obtained from the server, and the current revision number is compared to a past revision number corresponding to a last time files were synchronized to the first client device. In response to a determination that the current revision number is higher than the past revision number, a number of events that have occurred to the file space are requested from the server, the number of events corresponding to a difference between the current revision number and the past revision number. The first instance of the file space is updated based on the events.

Claims (81)

1 . A method of synchronizing a file across multiple client devices, the method comprising:

storing a copy of a first file in a first instance of a file space associated with a user of a first client device, the file space containing one or more files accessible to the user across the multiple client devices, the first instance of the file space located at the first client device;

receiving, from the user, at the first client device, a first modification of the first file;

generating an event for the first modification;

sending the event to a server;

obtaining a current revision number of the file space from the server;

comparing the current revision number to a past revision number corresponding to a last time files were synchronized from the server to the first client device;

in response to a determination that the current revision number is higher than the past revision number, requesting a number of events that have occurred to the file space from the sever, the number of events corresponding to a difference between the current revision number and the past revision number;

receiving the events; and

updating the first instance of the file space based on the events.

2 . The method of claim 1 , wherein the storing comprises:

performing a hashsum on the copy of the first file, producing a hashsum string having a value in each of a plurality of hashsum string character places; and

storing the copy of the first file in a parent folder having a name matching a string comprising the value in a first two hashsum string character places in the hashsum string, and in a subfolder within the parent folder, the subfolder having a name matching a string comprising the value in a second two hashsum string character places in the hashsum string.

3 . The method of claim 1 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to an existing object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

4 . The method of claim 3 , wherein the automatically renaming includes adding an addendum to a name of the new object.

5 . The method of claim 1 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to a recently deleted object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

6 . The method of claim 1 , wherein the updating the first instance of the file space comprises:

determining a first folder exists in the first instance of the file space that has an identical name to a second folder in a second instance of the file space on a second client device, the second folder in the second instance of the file space being shared with the user of the first client device; and

automatically renaming an instance of the second folder prior to it being stored in the first instance of the file space.

7 . The method of claim 1 , wherein the updating the first instance of the file space comprises:

determining a first folder exists in the first instance of the file space that has an identical name to a link in a second instance of the file space on a server; and

automatically creating a new folder in the second instance of the file space on the server, the new folder corresponding to the first folder.

8 . A system comprising:

one or more processors;

a memory storing a first instance of a file space;

a local indexer executable by the one or more processors and configured to:

store a copy of a first file in the first instance of a file space associated with a user of a first client device, the file space containing one or more files accessible to the user across the multiple client devices;

an item manager configured to:

receive, from the user, a first modification of the first file; and

generate an event for the first modification according to one or more synchronization rules;

a server indexer configured to:

send the event to a server;

the item manager further configured to:

obtain a current revision number of the file space from the server;

compare the current revision number to a past revision number corresponding to a last time files were synchronized from the server to the first client device, according to the one or more synchronization rules, the last time files were synchronized being stored in a metadata database;

in response to a determination that the current revision number is higher than the past revision number, reques a number of events that have occurred to the file space from the sever, the number of events corresponding to a difference between the current revision number and the past revision number; and

receive the events; and

the local indexer further configured to update the first instance of the file space based on the events.

9 . The system of claim 8 , wherein the storing comprises:

performing a hashsum on the copy of the first file, producing a hashsum string having a value in each of a plurality of hashsum string character places; and

storing the copy of the first file in a parent folder having a name matching a string comprising the value in a first two hashsum string character places in the hashsum string, and in a subfolder within the parent folder, the subfolder having a name matching a string comprising the value in a second two hashsum string character places in the hashsum string.

10 . The system of claim 8 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to an existing object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

11 . The system of claim 10 , wherein the automatically renaming includes adding an addendum to a name of the new object.

12 . The system of claim 8 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to a recently deleted object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

13 . The system of claim 8 , wherein the updating the first instance of the file space comprises:

determining a first folder exists in the first instance of the file space that has an identical name to a second folder in a second instance of the file space on a second client device, the second folder in the second instance of the file space being shared with the user of the first client device; and

automatically renaming an instance of the second folder prior to it being stored in the first instance of the file space.

14 . The system of claim 8 , wherein the updating the first instance of the file space comprises:

determining a first folder exists in the first instance of the file space that has an identical name to a link in a second instance of the file space on a server; and

automatically creating a new folder in the second instance of the file space on the server, the new folder corresponding to the first folder.

15 . A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

storing a copy of a first file in a first instance of a file space associated with a user of a first client device, the file space containing one or more files accessible to the user across multiple client devices, the first instance of the file space located at the first client device;

receiving, from the user, at the first client device, a first modification of the first file;

generating an event for the first modification;

sending the event to a server;

obtaining a current revision number of the file space from the server;

comparing the current revision number to a past revision number corresponding to a last time files were synchronized from the server to the first client device;

in response to a determination that the current revision number is higher than the past revision number, requesting a number of events that have occurred to the file space from the sever, the number of events corresponding to a difference between the current revision number and the past revision number;

receiving the events; and

updating the first instance of the file space based on the events.

16 . The non-transitory machine-readable storage medium of claim 15 , wherein the storing comprises:

performing a hashsum on the copy of the first file, producing a hashsum string having a value in each of a plurality of hashsum string character places; and

storing the copy of the first file in a parent folder having a name matching a string comprising the value in a first two hashsum string character places in the hashsum string, and in a subfolder within the parent folder, the subfolder having a name matching a string comprising the value in a second two hashsum string character places in the hashsum string.

17 . The non-transitory machine-readable storage medium of claim 15 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to an existing object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

18 . The non-transitory machine-readable storage medium of claim 17 , wherein the automatically renaming includes adding an addendum to a name of the new object.

19 . The non-transitory machine-readable storage medium of claim 15 , wherein the updating the first instance of the file space comprises:

determining that a new object in the file space has an identical name to a recently deleted object in the first instance of the file space; and

automatically renaming the new object as a variation on the identical name in response to the determining.

20 . The non-transitory machine-readable storage medium of claim 15 , wherein the updating the first instance of the file space comprises:

determining a first folder exists in the first instance of the file space that has an identical name to a second folder in a second instance of the file space on a second client device, the second folder in the second instance of the file space being shared with the user of the first client device; and

automatically renaming an instance of the second folder prior to it being stored in the first instance of the file space.

Assignments (5)
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS, RECORDED AT REEL 014590, FRAME 0192 Recorded Jul 23, 2018
From: SUNTRUST BANK
To: INTERMEDIA.NET, INC.
Reel/Frame 046610/0041 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Jul 23, 2018
From: SUNTRUST BANK
To: ACCESSLINE COMMUNICATIONS CORPORATION; INTERMEDIA.NET, INC.
Reel/Frame 046619/0417 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 1, 2017
From: INTERMEDIA.NET, INC.
To: SUNTRUST BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041590/0122 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 1, 2017
From: INTERMEDIA.NET, INC.
To: SUNTRUST BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041590/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2014
From: URALTSEV, NIKITA; PROKOFIEV, ALEXANDER; ROMANOVSKIY, SERGEY; ANTONENKOV, LEONID; GACHECHILADZE, ANDREW
To: INTERMEDIA.NET, INC.
Reel/Frame 032840/0826 →