The Tiger Technology Virtual File Systems Development Kit (VFSDK) allows creation of partially or fully virtual file systems for a variety of applications. The SDK is designed to be transparent to end users and easily deployed by developers, integrators, and administrators, among others.
File System virtualization is a process in which the content of a file system is transparently presented to the user, application, or operating system in such a way as to meet the needs of specific permission structures, workflows, or other requirements, yet does not actually modify the contents of the underlying main file system.
Examples of file virtualization applications include:
Hiding of existing objects: A typical application is applying virtualization before sharing a file system, thus preventing certain system files from being presented to users, machines, or applications. Most file systems are able to hide objects such as files or folders with the means of flags or attributes (e.g. “Hidden”), however this method still cannot fully prevent users with greater permissions from seeing and modifying the object. With Tiger Technology file virtualization, the object can be fully removed from the users’ views without actually removing it from the underlying native file system. These files remain fully accessible from an application or machine that directly accesses the file system without the virtualization applied.
Modification of existing objects: This process includes making runtime modification on file system objects without actually changing them on the persistent storage. A typical application is modification of security attributes or even content of files based on certain flags or other criteria. Since the virtualization is fully dynamic, the modification can be changed on the fly without the actual file being modified on the persistent storage.
Creation of new file system objects: This process refers to creation of file system objects in places where they would otherwise not be presented. Other file system objects located elsewhere are simply “moved” to the desired location. Equally, objects can be purely virtual, and be created on the fly by an application or other logic. This technique allows very powerful operations and capabilities such as merging folders from different volumes or locations, presenting a file in an alternative format (PDF from a Word file for example), and so on. It is even possible to create a fully virtual file system that does not persist anywhere.
The universal platform for development of virtual file systems is based on a universal protocol, used for communication between the different components. The platform consists of multiple programmable components that allow the development of virtual file systems to be fast and easy. The ready-to-use components of the system include:
File system drivers for all platforms
– the drivers can connect to a random data source, which supports the universal protocol.
Disk drive drivers for all platforms
– these drivers provide the operating system with virtual disk drives, whose data is stored on multiple physical devices (RAID, for example) or are completely virtual.
Adapters to the universal protocol for existing file systems.
The VFSDK allows three levels of virtualizations:
– the Tiger Technology VFSDK allows creation of very easy rules that are executed transparently. These rules are easy enough for most users, and are pattern based with a few simple commands. For example, a rule removing all Temp files can be made with a single line to the VFSDK engine.
– the Tiger Technology VFSDK provides a very powerful and flexible scripting language that allows third-party developer to perform very complex modifications of a file system for advanced applications as well as linking some of the virtual content to outside resources or applications. This is the most powerful virtualization technique that does not require any knowledge of the particular file system or its usage in the operating system.
– This technique is the most powerful but most complex and is strictly intended to be used by advanced users that understand the specifics of a file system and its representation in the Operating system. It allows creation of an external module that is called by the VFSDK engine to supply all the information needed for building a file system.
The Tiger Technology VFSDK is built around a cross-platform engine that is implemented in many varieties of Windows, OS X, and Linux. Tiger Technology has created a unified file system description that allows the virtualizations created to be fully compatible across all those operating systems and all of the OS’ natively supported file systems.
The VFSDK resides and operates in kernel space on every operating system thus taking the full advantage of the high priority processing and allowing extreme speed of the virtualization rules.
Ease of use
The powerful VFSDK scripting language allows very complex virtualizations to be created without writing a single line of low-level programming language (like C).
All virtualizations are applied dynamically which allows changes to happen without any actual modification of data or metadata on the file systems. Those modification can vary even at the same time based on user, application etc.
The main challenge before companies that want to develop and/or use virtual file systems is the lack of profound knowledge and also the fact that the process requires huge initial investment for development. Tiger Technology has the needed experience and know-how in the sphere, therefore is capable of creating such a platform, which will allow many companies around the world to create their own virtual file systems visibly faster and more efficiently.
Present any data as file or folders
Create virtual devices that emulate physical storage and thus present any data to end-users or applications as files and folders of a local virtual disk. The data may be of any type or origin such as data from cloud storages, databases etc.
Hide real data location from an end-user
VFSDK allows you to easily present data in a specified location even when it actually resides in a completely different location (local or remote). In this way, the end-user is not presented with the real location of data.
The virtualization can be changed without affecting the use of the underlying native file system. It can even be turned off and on without the applications using it being affected.
Do not replicate
Modify remote data on-the-fly – Modify data being read from or written to the virtual file system. System designers can specify efficient, on-the-fly modifications to data as it is written or read. These modifications are completely transparent to end-users or applications.
Fully compatible with all supported OS
VFSDK supports Windows, OS X, and Linux, and does not limit their speed or functionality.