Extended file system
First Claim
1. A method for maintaining data, comprising:
- in a file system maintained by a client, marking the data as synchronize-always or local-always;
when the data is marked as synchronize-always, obtaining a portion of the data from a server in response to a process that requests the data, the process executing on the client, the process originating the request, wherein synchronize-always indicates the data has a size larger than an available storage size of a store local to the client such that the data is not maintained on the store local to the client;
when the data is marked as local-always, obtaining the data from the store local to the client in response to the process requesting the data, wherein data marked as local-always indicates the data cannot be removed from the store local to the client, wherein the client determines where the data is obtained based on the marking of the data;
when the data is not marked synchronize-always and is not marked local-always, evaluating a local/remote attribute associated with the data;
when the local/remote attribute is set to local to indicate the data is stored at the client, obtaining the data from the store local to the client;
when the local/remote attribute is set to remote to indicate the data is stored at the server, obtaining the data from the server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for transparently combining remote and local storage to provide an extended file system such as a virtual local drive for a computer system client/user, e.g., a user of a pocket sized personal computer or a cable set-top box. A client device may load file system object data, storing the directories and files remotely, and retrieving the files only when required. Via its local storage, the extended file system handles unreliable connections and delays. When a connection to an extended file system server is present, the extended file system provides automatic downloading of information that is not locally cached, and automatically uploading of information that has been modified on the client. Extended file system attributes are employed to determine the actual location of file system data, and a lightweight protocol is defined to download or upload remote data by low-level components that make the remote source transparent from the perspective of the application. The system scales to large networks as it employs the lightweight protocol and establishes a connection only to retrieve and submit data.
28 Citations
11 Claims
-
1. A method for maintaining data, comprising:
-
in a file system maintained by a client, marking the data as synchronize-always or local-always; when the data is marked as synchronize-always, obtaining a portion of the data from a server in response to a process that requests the data, the process executing on the client, the process originating the request, wherein synchronize-always indicates the data has a size larger than an available storage size of a store local to the client such that the data is not maintained on the store local to the client; when the data is marked as local-always, obtaining the data from the store local to the client in response to the process requesting the data, wherein data marked as local-always indicates the data cannot be removed from the store local to the client, wherein the client determines where the data is obtained based on the marking of the data; when the data is not marked synchronize-always and is not marked local-always, evaluating a local/remote attribute associated with the data; when the local/remote attribute is set to local to indicate the data is stored at the client, obtaining the data from the store local to the client; when the local/remote attribute is set to remote to indicate the data is stored at the server, obtaining the data from the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more computer readable storage media including computer-executable instructions that when executed by a client computing device perform operations comprising:
-
in a file system maintained by a client, marking the data as synchronize-always or local-always; when the data is marked as synchronize-always, obtaining a portion of the data from a server in response to a process that requests the data, the process executing on the client, the process originating the request, wherein synchronize-always indicates the data has a size larger than an available storage size of a store local to the client such that the data is not maintained on the store local to the client; when the data is marked as local-always, obtaining the data from the store local to the client in response to the process requesting the data, wherein data marked as local-always indicates the data cannot be removed from the store local to the client, wherein the client determines where the data is obtained based on the marking of the data; when the data is not marked synchronize-always and is not marked local-always, evaluating a local/remote attribute associated with the data; when the local/remote attribute is set to local to indicate the data is stored at the client, obtaining the data from the store local to the client; when the local/remote attribute is set to remote to indicate the data is stored at the server, obtaining the data from the server.
-
Specification