File state subset satellites to provide block-based version control
First Claim
1. A system comprising a first peer workstation client apparatus communicatively coupled to at least one other peer workstation client apparatus, each workstation client apparatus comprising:
- a processor configured by computer executable instructions to store, retrieve, and transform data and to track versions of files which are made up of file blocks and to intercept file block read and file block write commands issued by a program product;
a file state view circuit configured to create, store, and retrieve metadata about file blocks, the versions of files that each block is a component of, and the location of each block in a local file block store whereby file blocks that are identical in multiple versions of a file are not redundantly stored;
the local file block store for all file blocks that comprise versions of files whose metadata is stored in the file state view circuit, coupled to both the processor and to the file state view circuit;
andat least one peer file system view circuit, whereby each peer file system view circuit stores and provides metadata previously received from other peer workstation client apparatusesabout each file block previously stored in the file block store of each other peer, the version of the files each file block was previously a component of, and all the versions of all the files which were previously accessible to the other peer workstation client apparatus, andthe location of each file block in the local file block store of the peer workstation client apparatus.
1 Assignment
0 Petitions
Accused Products
Abstract
A coherent file system and method of operation for a file state authority coupled to file state sub-set satellites addresses congestion and latency effects on a plurality of peer workstation clients organized in neighborhoods. Very large files are versioned and metadata recorded in a file state view determines which file blocks make up each version of a committed file. Metadata may be requested from neighboring workstations to locate desired file blocks. File block transmission is minimized to fulfill read requests only when not accessible at a workstation'"'"'s local file block store.
6 Citations
14 Claims
-
1. A system comprising a first peer workstation client apparatus communicatively coupled to at least one other peer workstation client apparatus, each workstation client apparatus comprising:
-
a processor configured by computer executable instructions to store, retrieve, and transform data and to track versions of files which are made up of file blocks and to intercept file block read and file block write commands issued by a program product; a file state view circuit configured to create, store, and retrieve metadata about file blocks, the versions of files that each block is a component of, and the location of each block in a local file block store whereby file blocks that are identical in multiple versions of a file are not redundantly stored; the local file block store for all file blocks that comprise versions of files whose metadata is stored in the file state view circuit, coupled to both the processor and to the file state view circuit; and at least one peer file system view circuit, whereby each peer file system view circuit stores and provides metadata previously received from other peer workstation client apparatuses about each file block previously stored in the file block store of each other peer, the version of the files each file block was previously a component of, and all the versions of all the files which were previously accessible to the other peer workstation client apparatus, and the location of each file block in the local file block store of the peer workstation client apparatus. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operation across a plurality of peer workstation client apparatuses in a coherent file system to minimize network traffic, the method comprising:
-
at a first peer workstation client apparatus, intercepting a file block read command from an application configuring the first peer workstation client apparatus; requesting metadata from a file state view circuit configured to create, store, and retrieve metadata about file blocks, the version(s) of file(s) that each file block is a component of, and the location of each file block; on the condition that the requested file block is stored in a local file block store, accessing the local file block store for a file block that comprise a version of a file whose metadata is stored in the file state view circuit, and fulfilling the file block read without network traffic; on the condition that the requested file block is not stored in the local file block store, requesting metadata from a peer file state view circuit about file blocks, the versions of files that each file block is a component of, and the location of each file block at a second local file block store at a second peer workstation client apparatus; on the condition that the requested file block is stored in a second local file block store at a second peer workstation client apparatus, transmitting a request over a network, fulfilling the file block read with the response, storing the response to the first local file block store and updating the first file state view; on the condition that the requested version of the file block is not found in either the first file state view or the first peer file system view, transmitting a request to at least one other peer workstation client apparatus for metadata about a directory or sub-directory of files and updating the first peer file system view with the response, whereby metadata about file blocks, their relation to file versions, and their locations is transmitted from a second peer workstation client apparatus only upon request from a first peer workstation client apparatus. - View Dependent Claims (6, 7)
-
-
8. A method for operating a first file state sub-set satellite apparatus communicatively coupled to a second file sub-set satellite apparatus, the method comprising:
-
receiving a request for metadata about a directory or sub-directory of files, reading from a plurality of stored peer file system views the metadata which identifies the location of each file block that makes up each version of the requested directory or sub-directory of files, transmitting the requested metadata to the second file sub-set satellite apparatus, requesting from the second file sub-set satellite apparatus metadata about another directory or sub-directory of files, and updating the peer file system views stored at the first file sub-set satellite apparatus. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for operation of a first file state sub-set satellite apparatus communicatively coupled to a plurality of peer workstation clients, the method comprising:
-
passively monitoring data communications between a first peer workstation client and a second peer workstation client; recording peer file system view metadata as it is transmitted among peer workstation clients; storing into non-transitory media a plurality of peer file system view metadata on file blocks, the versions of files the file blocks are part of, and the location of each file block in the local store of each peer workstation client; and responding to a request from a second file state sub-set satellite apparatus for metadata about file blocks, file versions, and locations of file blocks in a directory or sub-directory requested by one of the peer workstation clients communicatively coupled to the second file state sub-set satellite apparatus. - View Dependent Claims (14)
-
Specification