MFS Applications
An MFS is a likely solution anytime a developer wishes to monitor or control all activity in a file. Because the MFS sits on top of the filing system itself, it can oversee all operations in the file, regardless of what means a user might find to access the file (except a direct call to the BFS – see "Programming an MFS"). Excellent candidates for MFS implementation include the following functions:
Application | Description |
---|---|
Encryption and Compression | An MFS can be used to monitor all reads and writes to a file, and pass the record through appropriate encryption or compression routines before the data is filed away. When the data is read later, the MFS can call decryption or decompression routines to return the data to its original form. At the BASIC+ level, all file I/O appears normal. |
Audit Trails and Indexing | Because an MFS can detect when there is an attempt to read, write or delete records in a file, it can maintain an audit trail of all such activity, or can update indexes based on changes to the record. An audit trail or index MFS is an example of an MFS that does not actually modify the data for the filing system, but simply tracks its usage. |
Security (Record and Field) | An MFS can use system security information (user names and privilege levels) to grant or deny access to data in the file. For example, the MFS can monitor all reads to a file and deny access to a user who does not have sufficient access privileges. The MFS might also permit some users to write to the file, but not others. This security can be implemented for the record as a whole, or for individual fields. A possible implementation for the latter might null out fields during a read that are not authorized to a particular user, and replace them before writing the data back to file. |