Coherent File State System Distributed Among Workspace Clients
Abstract
A system comprising at least one file state server and a plurality of network attached workspace client apparatuses; operating the file state server by receiving an update to a version tracking record from each workspace client apparatus whenever a new or modified file is committed into a file system view, by archiving every version of every committed file, by transmitting a version tracking parameter to a workspace client apparatus in response to a query as to the data freshness of a certain file in a file system view, and by updating a workspace client apparatus with a list of peer workspace client apparatuses; operating the workspace client apparatus by aging files and removing the least recently used file from local store, exchanging file system views of committed files with peer workspace client apparatuses, updating a list of peer workspace client apparatuses, requesting a data block of a committed file from a peer workspace client apparatus, transmitting an archive copy and a version tracking parameter to a file state server for each file committed into a file system view, and querying a file state server for a version tracking parameter for a data block read request.
Claims
exact text as granted — not AI-modified1 . A system comprising at least one file state server and a plurality of network attached workspace client apparatuses;
wherein a file state server comprises a processor adapted by a software program product to
record all workspace clients where managed file content is stored,
maintain the temporal state of files in workspace clients,
2 . The system of claim 1 wherein a workspace client apparatus comprises
a local store,
a file system view circuit,
a peer space circuit, and
a processor adapted by a software program product to update managed file information,
present a file system view of files accessible to a user, and
present a view of premanaged files accessible to a user.
3 . The processor of claim 2 further adapted by a software program product to
provide managed files to a network connected workspace client,
receive a network request for a block of a managed file from a peer workspace client. intercept a user file read, and
request a data block from a peer if not found in local store.
4 . A method for operating a file state server comprising
receiving an update to a version tracking record from each workspace client apparatus whenever a new or modified file is committed into a file system view, transmitting a version tracking parameter to a workspace client apparatus in response to a query as to the data freshness of a certain file in a file system view, and updating a workspace client apparatus with a list of peer workspace client apparatuses.
5 . A method for operating a workspace client apparatus comprising
transmitting a content point value and a change log serial value to a file state server for each managed file when it is committed, and requesting a content point value and a change log serial value from a file state server for each managed file when it is read.
6 . The method of claim 5 further comprising:
determining at least one storage location of a change log and a content point of a file, and
retrieving a block of a file consistent with a content point and a change log consistent with a change log serial value and applying changes to the block if necessary.
7 . The method of claim 5 further comprising:
aging files in a file system view and removing the least recently used file from local store,
exchanging file system views with peer workspace client apparatuses, and
updating a list of peer workspace client apparatuses if needed.
8 . The method of claim 7 further comprising:
requesting a data block from a peer workspace client apparatus if a suitable version is not locally stored,
transmitting a version tracking parameter to a file state server for each new or modified file committed into a file system view by a user, and
querying a file state server for a version tracking parameter for each data block read request from a user operating the workspace client apparatus.
9 . The method of claim 5 for operating a workspace client, the workspace client apparatus comprising
a network interface,
a local store, and
a file system view circuit,
the method comprising the steps following:
recording each access by user to each file in file system view,
removing least recently used files which are read only,
receiving a request from a peer client apparatus for a certain block of a certain file,
determining if the requested block is stored in the local store,
if stored transmitting the requested block to the peer client apparatus, and
exchanging file system view updates between the workspace clients.
10 . A method for operating a system comprising the following steps within a second workspace client,
receiving a request for a certain block from a peer workspace client, within a file state server, receiving a request from a first workspace client and transmitting the current status of a certain file; within a first workspace client, intercepting at least one file block read requested by a user, requesting a current status of the file from the file state server, determining that at least one block of the current file is not within the local store, obtaining at least one candidate peer workspace client from a peer space circuit, and transmitting a block request to at least one peer workspace client.
11 . The method of claim 10 further comprising,
determining that a first block is not in local store and a second block is not in local store,
requesting a first block from a first peer workspace client;
requesting a second block from a second peer workspace client; and
integrating the blocks for the user of workspace client.
12 . A system for coherent file state management comprising
a network coupled to at least one file state server apparatus, the network further coupled to a plurality of workspace client apparatus wherein each workspace client apparatus comprises a local file store, a network adapter, a user interface, a file system view circuit, wherein the file system view circuit presents to the user a display of pre-managed files, and managed files, wherein managed files comprise change logs and content points; wherein a file state server apparatus comprises a network adapter, a temporal store, a temporal circuit, and a workspace client store wherein the temporal circuit receives and transmits the change logs and content points of each managed file and which content point are active for each file system view, and wherein the workspace client store receives and transmits the identities and network address of every attached workspace client apparatus.
13 . A method for operating a system comprising the steps:
within each workspace client apparatus
exchanging with other workspace clients file information,
responding to requests for managed file from a workstation,
presenting a file state view to a user,
updating a file state server with state information for each file in the file state view. within a file state server apparatus
receiving and serving file state information,
14 . The method of claim 13 further comprising
stashing redundant file copies at workspace clients which do not have a file state view of them, and
removing inactive content points unneeded by any file state view.
15 . A method for operating a workspace client apparatus comprising the following processes:
updating managed file information comprising
receiving information about workspace clients from other workspace clients
receiving information about workspace clients from the file state server presenting a file system view of files managed by the file state server presenting a file system view of unmanaged files local to the workspace client providing managed files to other workspace clients
upon receiving a network request for a managed file from a peer workspace client,
examining local file store for requested file,
transmitting change log for requested file,
transmitting content point for request file,
transmitting identities of workspace clients known to have the requested file,
exchanging updated file state views of managed files;
upon receiving a local user file write
storing the file to locally attached file store,
if the file is a managed file,
determining a change log to a content point,
transmitting to a file state server apparatus the current file state,
updating the file system view;
upon receiving a local user file read
retrieving the file from locally attached file store,
if the file is a managed file not in locally attached file store,
if possible, satisfy request from within current holdings, and
if possible, satisfy request from other workstation client.
16 . The method of claim 15 further comprising
receiving a change log for a file,
receiving a content point for a file,
receiving and combining file parts from a plurality of sources.
17 . The method of claim 15 further comprising
optimizing workspace client information exchange
each Workspace maintaining change logs over a finite range
if possible, exchanging only incremental changes, and
otherwise, exchanging full state.
18 . The method of claim 15 further comprising
choosing suitable peer workspace clients,
collecting statistics about performance and reliability of other workspace clients, and
recording the frequency of network link failures.
19 . The method of claim 15 further comprising receiving, storing, retrieving and serving a hierarchical tree of data blocks comprising data blocks which are encrypted and data blocks which are not encrypted whereby a file system view circuit can provide its peers with data blocks which the file system view circuit cannot itself decipher for its own use.
20 . The method of claim 15 further comprising committing a file comprising the following processes:
making a file visible to all peers,
archiving a file to a central store,
updating a file state server with a new version control parameter, and
updating a file system view of the file from pre-managed to managed.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.