- CoreFSIF
CoreFSIF is a
structured storage system originally developed by Avanticore, Inc. [http://www.avanticore.com/html/info_fsif.html] for on-disk storage of transparently-encrypted data. CoreFSIF targets primarily embedded platforms such as Microsoft'sWindows CE , but other platforms and compilers are supported as well. The library is also available on Linux platforms, and is in direct competition with theAdvanced Authoring Format [ [http://www.aafassociation.org AMW Association (formerly AAF Association) ] ] and Microsoft'sCompound File Binary Format .Overview
At its simplest, CoreFSIF implements containers (FSIFs) of optionally-encrypted streams, with no restrictions on what can be stored within those streams. CoreFSIF emulates the file management layer of typical operating systems, exposing functionality similar to the I/O and stream functions in runtime libraries, therefore ensuring smooth integration with applications that already make use of the OS's file management API.
History and Motivation
CoreFSIF primarily targets embedded applications, database-driven web applications, and other specialized applications such as console games. These applications have to work with large amounts of data. In some instances, that data needs to be scattered across thousands of files, for various reasons. Allowing the OS to manage those files itself is often a suboptimal choice due to (a) the resulting fragmentation which is often significant, and (b) the lack of built-in encyption for stored data. CoreFSIF was developed to address those underlying problems. When migrated to CoreFSIF, applications that make use of file and stream I/O can continue to take advantage of functions such as open, read, etc, and streams such as FleStream and so on, except these operations will work on FSIFs, special databases of streams, optionally encrypted.
FSIF Structure
Internally a FSIF file loosely resembles a FAT filesystem: its directory and file structure are represented as parallel streams in a so-called Interlaced I/O (IIO) layer, and encoded using Patricia Tries for optimum performance. Streams are handled via
Reference counting , causing CoreFSIF to support virtualHard links . Data can be transparently encrypted and decrypted at runtime using eitherAdvanced Encryption Standard strong encryption or a faster stream cipher.Library Features
At its core, CoreFSIF is a portable, yet exceptionally lean library for emulating a file system within a file. It is compatible with
Win32 ,Windows CE , as well as X operating systems such asLinux and Solaris. It is written in C for maximum cross-platform portability, yet it also exposes simple and intuitiveC++ and C# interfaces for more ambitious applications. CoreFSIF provides a fast and flexible platform that:* Archives files within a single file in a transparent manner.
* Transparently encrypts and decrypts managed files.
* Password-protects virtual files and data.
* Provides a file manipulation API similar to the one provided by the OS (create, open, close, etc).
* Provides fast globbing (searching for files that match given patterns).
* Provides faster first-match-only globbing.
* Provides fast file caching.
* Supports Unix-styleHard links on all platforms (includingWin32 ,Windows CE ).
* Supports a virtually unlimited number of files open at the same time.
* Imposes virtually no limit on the number of managed files.
* Supports defragmentation and integrity checking operations.
* Supports two types of encryption, including the strongAdvanced Encryption Standard (AES), ensuring that managed files and data stay safe and secure.
* The built-in high-performance ciphers can process up to 250 MB/sec on Core Duo architectures, making the secure storage process as transparent and seamless as possible.CoreFSIF comes with full source code, documentation, an API reference, and build configurations for today's most popular compilers and operating systems. CoreFSIF is a commercial application. Its license allows users to build CoreFSIF into their own applications and redistribute it and/or the applications in binary form only. Due to its flexible design and portable implementation, CoreFSIF lends itself to a variety of both embedded and desktop applications.
Glossary
* "FSIF" - CoreFSIF's representation for databases of virtual files.
* "IIO" - Interlaced I/O Layer. An on-disk representation for parallel streams of data.
* "Refcount" - The term refers to reference counting, a technique for storing the number of references, pointers, or handles to a resource such as an object or block of memory.
* "AES" - The terms refers to the Advanced Encryption Standard, a strong encryption algorithm using 128-, 192- or 256-bit keys.ee also
* Structured Storage
*Compound File Binary Format
* Advanced Authoring Format (AAF)
*Advanced Encryption Standard References
The following references relate to CoreFSIF:
* cite web
accessdate = 2006-05-22
format = PDF
url = http://sc.openoffice.org/compdocfileformat.pdf
title = Microsoft Compound Document File Format
work = OpenOffice.org CFBF description
* cite web
accessdate = 2006-05-22
format = PDF
url = http://www.aafassociation.org/html/specs/aafcontainerspec-v1.0.1.pdf
title = Advanced Authoring Format Low-Level Container Specification
work = Microsoft Structured Storage version 3 specification (PDF)Notes
External links
* Microsoft [http://www.microsoft.com/downloads/details.aspx?FamilyID=b73df33f-6d74-423d-8274-8b7e6313edfb&DisplayLang=en Snapshot Viewer]
* Avanticore's official [http://www.avanticore.com/html/info_fsif.html CoreFSIF] web site
* [http://www.avanticore.com Avanticore, Inc.]
Wikimedia Foundation. 2010.