Why WinFS

Jeremy Mazner has a good post on why Microsoft is building WinFS, the new file system for Windows that will debut with Longhorn. The file/folder structure was good when hard drives were a few gigabytes, but when begin to get into the terabyte range, it starts to fall down. It’s like my personal (paper) filing system. At the moment, I have a few documents I need to get my hands on, so a few drawers will do – or, in my case, a cork board with lots stuck to it. As the nnumber grows, so that system starts to fall apart.

  • http://www.edgenericpills.com W. Johnson

    Abstract

    In the recent version of Microsoft® Windows®, code-named “Longhorn”, Microsoft presents a new storage platform named WinFS. It represents the new file system as part of the new Windows. In its conception WinFS is much more than a file system. Featuring various new concepts WinFS new data model is capable of storing non-file-data information, which is one of its most remarkable premises. In this article we explain the architecture of the WinFS data model and we demonstrate how to add its potentialities to our applications.

    WinFS

    With the evolution of Internet and the information technologies, working with big volumes of information has increasingly become more common. Hard disks represent the first half of the storage for personal information. They are commonly used to store personal contacts, work documents, etc. These information items usually keep certain relationship levels among them. So, when you work with a large number of these items, it is very important to organize them and provide a flexible search mechanism based on their properties and content. To address these problems, the recent Microsoft® Windows code named “Longhorn” features a new storage platform: WINFS.

    More than a File system

    WinFS is a storage platform to organize, search and share a wide diversity of information. WinFS not only provides all the file system functionality requirements but it also adds indexing and streaming potentialities to file-based data. To access the stored files, WinFS provides a rich set of APIs including the existing Win32 API. With these facilities Win32 developers may continue using Win32 API in Longhorn and also add some query and searching potentialities to applications. WinFS extends APIs potentialities to work with non-file data including personal contacts, email messages and even other qualifying file data. The WinFS data can be structured with an XML schema to explain meaning and purpose. Data can also be semi-structured or unstructured. The entire storage platform must provide the infrastructure to organize, search and share information. When it comes to these aspects, WinFS goes beyond a traditional file system and a relational database system to support these potentialities for all types of data.

    Instead of a traditional tree in NTFS to organize information, WinFS uses a direct acyclic graph of items (DAG). It is a set of stored items and their relationships whose physical storage is a relational database providing support to store any item hierarchy. With these novel storage method WinFS offers search capacities never dreamed of before in file systems. Now it is possible to find items according to the value of their properties and even to the value of the properties of items related to them.

    The data-sharing capacities of WinFS come with a set of services such us synchronization, notification, a unified store and a common security model. The integration of these services to other technologies like Active Directory makes it possible for applications to share data in a flexible way.

    Gathering these WinFS potentialities, we are able to obtain the necessary infrastructure to organize, search and share personal information. We may also get a framework to build applications using this information. The bottom line of WinFS is the way it stores, represents and organizes information through the WinFS data model.

    Data Model

    Every data models must provide concepts to describe data structures and organizations. Examples of traditional data models are the Entity Relationship Model and the File System. Similarly, the WinFS data model provides the following concepts to describe data structures and organizations:

    Types and subtypes.

    Properties and fields.

    Relationships.

    Constraints.

    Extensibility.

    Types and Subtypes

    Any programming environment manages concepts that represent abstraction entities of a model. A WinFS type is a template for an instance and it is composed of properties/fields. For instance, a Person type may have a name field and Peter is an instance of Person type. On the other hand, a WinFS type may have subtypes and super types which express the inheritance relationship. For example, a Document type has an Item as its super type and a Media as one of its subtypes. Every instance of a WinFS type is serialized into a WinFS store and has an associated namespace defining how it can be named to be queried. All the WinFS types derive from Base.Item type. Only single inheritance is permitted between types. When a type inherits from another type all the properties and fields of the parent types are also inherited.

    Conclusions

    WinFS data model expresses a set of modern storage concepts featuring a combination of the file system services and the relational system to provide a new powerful and enhancing storage platform. This actually elevates the file system conception to a higher level. The WinFS Item may be expressed in XML, object-oriented or tabular manner which allows the WinFS functionalities to be used in a variety of heterogeneous environments. In addition to this, WinFS features a powerful API to develop applications that use its potentialities. Due to its conception WinFS data model represents a step forward in the evolution of file systems and even of storage platforms.