Extended file system
First Claim
1. In a computer system, a method of providing access to file system object data, comprising:
- receiving a request to read data from a client application, the data residing on at least one of a local and a remote source, the client application being unaware of where the data resides, wherein the remote source includes a plurality of servers that are enlisted to provide the data;
determining where the data resides;
if the data does not reside on the local source, retrieving the data from the remote source and storing at least some of the data on the local source;
otherwise retrieving the data from the local source;
providing the data to the client application;
receiving a request from the client application to modify the data;
modifying at least some of the data that is stored on the local source; and
automatically updating the data on the remote source to synchronize the data on the remote source with the data on the local source, wherein a server enlists to provide the data by performing acts, comprising;
sending an enlist primitive to notify the plurality of servers that the server wants to participate in providing the data; and
receiving a response from at least one of the plurality of servers.
2 Assignments
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.
187 Citations
11 Claims
-
1. In a computer system, a method of providing access to file system object data, comprising:
-
receiving a request to read data from a client application, the data residing on at least one of a local and a remote source, the client application being unaware of where the data resides, wherein the remote source includes a plurality of servers that are enlisted to provide the data;
determining where the data resides;
if the data does not reside on the local source, retrieving the data from the remote source and storing at least some of the data on the local source;
otherwise retrieving the data from the local source;
providing the data to the client application;
receiving a request from the client application to modify the data;
modifying at least some of the data that is stored on the local source; and
automatically updating the data on the remote source to synchronize the data on the remote source with the data on the local source, wherein a server enlists to provide the data by performing acts, comprising;
sending an enlist primitive to notify the plurality of servers that the server wants to participate in providing the data; and
receiving a response from at least one of the plurality of servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification