Systems and methods for accelerating remote data retrieval via peer nodes
First Claim
1. A method performed by a client node for accelerating remote data retrieval, the method comprising:
- generating, by a file system abstraction layer (FAL) running on the client node, a listing of files associated with a user account, the listing of files including one or more files that are stored remotely on a server system without being synchronized to local storage of the client node, the server system being communicatively coupled with the client node via a first network;
receiving, by the client node, a request to access a file from the listing of files;
determining, by the FAL, whether the file is stored locally on the client node; and
if the file is not stored locally on the client node;
discovering, by the client node, one or more peer client nodes that are communicatively coupled with the client node via a second network;
determining, by the client node, whether the file is stored locally on a first peer client node in the one or more peer client nodes, the first peer client node being fully synchronized with respect to the user account, such that the first peer client node automatically downloads copies of all of the files associated with the user account from the server system to local storage of the first peer client node;
if the file is stored locally on the first peer client node, retrieving, by the client node, the file from the first peer client node over the second network; and
if the file is not stored locally on any of the peer client nodes, retrieving, by the client node, the file from the server system over the first network.
4 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a client node generates a listing of files associated with a user account, where the listing includes one or more files that are stored remotely on a server system without being synchronized to local storage of the client node. The client node further receives a request to access a file from the listing and determines whether the file is stored locally on the client node. If the file is not stored locally on the client node, the client node discovers peer client nodes that are coupled with the client node and determines whether the file is stored locally on any peer client node. If the file is stored locally on a peer client node, the client node retrieves the file from the peer client node. If the file is not stored locally on any peer client node, the client node retrieves the file from the server system.
-
Citations
17 Claims
-
1. A method performed by a client node for accelerating remote data retrieval, the method comprising:
-
generating, by a file system abstraction layer (FAL) running on the client node, a listing of files associated with a user account, the listing of files including one or more files that are stored remotely on a server system without being synchronized to local storage of the client node, the server system being communicatively coupled with the client node via a first network; receiving, by the client node, a request to access a file from the listing of files; determining, by the FAL, whether the file is stored locally on the client node; and if the file is not stored locally on the client node; discovering, by the client node, one or more peer client nodes that are communicatively coupled with the client node via a second network; determining, by the client node, whether the file is stored locally on a first peer client node in the one or more peer client nodes, the first peer client node being fully synchronized with respect to the user account, such that the first peer client node automatically downloads copies of all of the files associated with the user account from the server system to local storage of the first peer client node; if the file is stored locally on the first peer client node, retrieving, by the client node, the file from the first peer client node over the second network; and if the file is not stored locally on any of the peer client nodes, retrieving, by the client node, the file from the server system over the first network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium embodying computer software causing a client node to execute a method, the method comprising:
-
generating, via filesystem abstraction layer (FAL) running on the client node, a listing of files associated with a user account, the listing of files including one or more files that are stored remotely on a server system without being synchronized to local storage of the client node, the server system being communicatively coupled with the client node via a first network; receiving a request to access a file from the listing of files; determining, via the FAL, whether the file is stored locally on the client node; and if the file is not stored locally on the client node; discovering one or more peer client nodes that are communicatively coupled with the client node via a second network; determining whether the file is stored locally on a first peer client node in the one or more peer client nodes, the first peer client node being fully synchronized with respect to the user account, such that the first peer client node automatically downloads copies of all of the files associated with the user account from the server system to local storage of the first peer client node; if the file is stored locally on the first peer client node, retrieving the file from the first peer client node over the second network; and if the file is not stored locally on any of the peer client nodes, retrieving the file from the server system over the first network. - View Dependent Claims (12, 13)
-
-
14. A computing device configured to accelerate remote data retrieval, the computing device comprising:
-
a local storage device; and a processor configured to; generate, via filesystem abstraction layer (FAL) running on the processor, a listing of files associated with a user account, the listing of files including one or more files that are stored remotely on a server system without being synchronized to the local storage device, the server system being communicatively coupled with the computing device via a first network; receive a request to access a file from the listing of files; determine, via the FAL, whether the file is stored in the local storage device; and if the file is not stored in the local storage device; discover one or more peer client nodes that are communicatively coupled with the computing device via a second network; determine whether the file is stored locally on a first peer client node in the one or more peer client nodes, the first peer client node being fully synchronized with respect to the user account, such that the first peer client node automatically downloads copies of all of the files associated with the user account from the server system to local storage of the first peer client node; if the file is stored locally on the first peer client node, retrieve the file from the first peer client node over the second network; and if the file is not stored locally on any of the peer client nodes, retrieve the file from the server system over the first network. - View Dependent Claims (15, 16, 17)
-
Specification