IP Library Granted Patent US 9,282,169
Granted Patent B1
US 9,282,169 · App. 13/941,309 · Granted Mar 8, 2016

Real-time user interaction-based alterations to the scope of data synchronization between client and remote devices

Inventor: Peter C. Chang (Union City, CA)
Assignee: Oxygen Cloud, Inc.
H04L67/42G06F17/30G06F17/30578G06F17/30581
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,282,169
App. No.
13/941,309
Granted
Mar 8, 2016
Kind
B1
Abstract

Methods, apparatus and systems for altering a scope of data synchronization are disclosed. The scope of data synchronization is altered in real-time via user interactions with the data. In one embodiment, a client device may include folder stubs that reference folders of information stored at a remote server. In response to a user selecting the folder stub, additional folder and/or file stubs provided within the folder are acquired by the client device from the remote server, and a scope of data synchronization is expanded to include the path to the folder referenced by the folder stub. The scope of data synchronization may also be contracted. In response to a user commanding the client device to de-synchronize a synchronized folder, the scope of synchronization may be contracted to exclude the folder and any sub-folders.

Claims (64)

1. A method of altering a scope of data synchronization at a client computing device, the method comprising:

establishing, by the client computing device, a connection to a remote computing system that is located remotely from the client computing device;

displaying representations of stub folders via the client computing device, each stub folder referencing a corresponding folder of information that is stored at the remote computing system but not stored at the client computing device;

receiving a user selection of one of the stub folders;

in response to receiving the user selection of one of the stub folders, displaying representations of stub sub-folders, each stub sub-folder referencing a corresponding sub-folder of information in the folder referenced by the selected stub folder which is stored at the remote computing system but not stored at the client computing device;

receiving a user selection of one of the stub sub-folders to synchronize the selected stub sub-folder; and

in response to receiving the user selection of the selected stub sub-folder referencing a sub-folder, synchronizing the sub-folder in the folder of information referenced by the selected stub sub-folder between the client computing device and the remote computing system resulting in a synchronized sub-folder of information without synchronizing other sub-folders in the folder of information referenced by the selected stub folder.

2. The method of claim 1 , wherein synchronizing the sub-folder of information referenced by the selected stub sub-folder includes acquiring, from the remote computing system, information representative of file stubs and folder stubs located within the sub-folder of information referenced by the selected stub sub-folder, each file stub referencing a file stored at the remote computing system within the sub-folder of information referenced by the selected stub sub-folder.

3. The method of claim 2 , further comprising:

in response to receiving the user selection of one of the stub sub-folders, displaying the acquired file stubs and folder stubs.

4. The method of claim 1 , wherein synchronizing the sub-folder of information referenced by the selected stub sub-folder includes expanding the scope of data synchronization to include the sub-folder of information referenced by the selected stub sub-folder.

5. The method of claim 4 , wherein expanding the scope of data synchronization includes modifying a synchronization map to include a path to the sub-folder of information referenced by the selected stub sub-folder.

6. The method of claim 1 , further comprising:

in response to receiving the user selection of one of the stub sub-folders, replacing the displayed representation of the selected stub sub-folder with a graphical representation indicating that the sub-folder of information referenced by the selected stub sub-folder is synchronized between the client computing device and the remote computing system.

7. The method of claim 1 , further comprising:

receiving a new folder of information; and

in response to receiving the new folder of information, synchronizing the new folder of information between the client computing device and the remote computing system resulting in a new synchronized folder of information.

8. The method of claim 7 , wherein synchronizing the new folder of information includes expanding the scope of data synchronization to include the new folder and sub-folders located within the new folder.

9. A client computing device, comprising:

a storage element for storing data;

a user interface for providing information to a user and receiving inputs from the user;

a communication interface for communicating with a remote computing system that is located remotely from the client computing device; and

a processor coupled to the storage element, the user interface, and the communication interface, the processor being operable to:

establish a connection to the remote computing system via the communication interface;

display, via the user interface, representations of stub folders, each stub folder referencing a corresponding folder of information that is stored at the remote computing system but not stored at the client computing device;

receive, via the user interface, a user selection of one of the stub folders;

in response to receiving the user selection of one of the stub folders, display representations of stub sub-folders, each stub sub-folder referencing a corresponding sub-folder of information in the folder referenced by the selected stub folder which is stored at the remote computing system but not stored at the client computing device;

receive a user selection of one of the stub sub-folders to synchronize the selected stub sub-folder; and

in response to receiving the user selection of the selected stub sub-folder referencing a sub-folder, synchronize the sub-folder in the folder of information referenced by the selected stub sub-folder between the client computing device and the remote computing system resulting in a synchronized sub-folder of information.

10. The client computing device of claim 9 , wherein the processor is further operable to:

receive a command to de-synchronize the synchronized sub-folder of information; and

in response to receiving the command to de-synchronize the synchronized sub-folder of information, de-synchronize the synchronized sub-folder of information.

11. The client computing device of claim 10 , wherein the processor is further operable to:

in response to receiving the command to de-synchronize the synchronized sub-folder of information, generate a sub-folder stub that references the sub-folder of information at the remote computing system.

12. The client computing device of claim 10 , wherein de-synchronizing the synchronized sub-folder of information includes deleting, at the client computing device, files, folders, file stubs, and folder stubs located within the synchronized sub-folder of information.

13. The client computing device of claim 10 , wherein de-synchronizing the synchronized sub-folder of information includes contracting a scope of data synchronization to exclude the synchronized sub-folder of information.

14. The client computing device of claim 13 , wherein contracting the scope of data synchronization includes modifying a synchronization map to exclude a path to the synchronized sub-folder of information and paths to sub-folders located within the synchronized sub-folder of information.

15. The client computing device of claim 10 , wherein the processor is further operable to:

in response to receiving the command to de-synchronize the synchronized sub-folder of information, replace a graphical representation indicating that the sub-folder of information is synchronized between the client computing device and the remote computing system with a graphical representation of a stub sub-folder that references the sub-folder of information at the remote computing system.

16. A method of altering a scope of data synchronization at a remote computing system, the method comprising:

establishing, by the remote computing system, a connection to a client computing device that is located remotely from the remote computing system;

receiving, from the client computing device, a reference to a folder of information stored at the remote computing system but not stored at the client computing device, the reference being generated from one of a plurality of stub folders and in response to a user selection of the one of the plurality of stub folders;

receiving, from the client computing device, a reference to a sub-folder of information in the folder which is stored at the remote computing system but not stored at the client computing device to synchronize the sub-folder; and

in response to receiving the reference to the sub-folder of information stored at the remote computing system, synchronizing the sub-folder of information between the client computing device and the remote computing system resulting in a synchronized sub-folder of information without synchronizing other sub-folders in the folder of information.

17. The method of claim 16 , wherein synchronizing the sub-folder of information includes communicating, to the client computing device, file stubs and folder stubs located within the sub-folder of information, each file stub referencing a file stored at the remote computing system within the sub-folder and each folder stub referencing a folder stored at the remote computing system within the sub-folder.

18. The method of claim 16 , wherein synchronizing the sub-folder of information includes expanding the scope of data synchronization to include the sub-folder of information.

19. The method of claim 18 , wherein expanding the scope of data synchronization includes modifying a synchronization map to include a path to the sub-folder of information.

20. The method of claim 16 , further comprising:

receiving a new folder of information from the client computing device; and

in response to receiving the new folder of information, expanding the scope of data synchronization to include the new folder of information and sub-folders located within the new folder.

21. A remote server computing system, comprising:

a storage element for storing data;

a communication interface for communicating with a client computing device that is located remotely from the remote computing system; and

a processor coupled to the storage element and the communication interface, the processor being operable to:

establish a connection to the client computing device via the communication interface;

receive, from the client computing device and via the communication interface, a reference to a folder of information stored in the storage element of the remote computing system but not stored at the client computing device, the reference being generated from one of a plurality of stub folders and in response to a user selection of the one of the plurality of stub folders;

receive, from the client computing device, a reference to a sub-folder of information in the folder which is stored in the storage element of the remote computing system but not stored at the client computing device to synchronize the sub-folder; and

in response to receiving the reference to the sub-folder of information stored in the storage element of the remote computing system, synchronize the sub-folder of information between the client computing device and the remote computing system resulting in a synchronized sub-folder of information without synchronizing other sub-folders in the folder of information.

22. The remote server computing system of claim 21 , wherein the processor is further operable to:

receive, from the client computing device, a command to de-synchronize the synchronized sub-folder of information; and

in response to receiving the command to de-synchronize the synchronized sub-folder of information, de-synchronize the synchronized sub-folder of information.

23. The remote server computing system of claim 22 , wherein de-synchronizing the synchronized sub-folder of information includes contracting a scope of data synchronization to exclude the synchronized sub-folder of information.

24. The remote server computing system of claim 23 , wherein contracting the scope of data synchronization includes modifying a synchronization map to exclude a path to the synchronized sub-folder of information and paths to sub-folders located within the synchronized sub-folder of information.

25. The remote server computing system of claim 22 , wherein de-synchronizing the synchronized sub-folder of information includes modifying file synchronization properties of files located within the sub-folder of information and sub-folders located within the sub-folder of information, the file synchronization properties being modified to indicate that the files are not synchronized.

Assignments (2)
SECURITY AGREEMENT Recorded Jan 28, 2014
From: OXYGEN CLOUD, INC.
To: SILICON VALLEY BANK
Reel/Frame 032133/0250 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: CHANG, PETER C.
To: OXYGEN CLOUD, INC.
Reel/Frame 030898/0616 →