Untitled-1

Back to the previous slide, on to the next slide or up to the storage overview

In the microstorage architecture segments can be used by more than one storage server. This is an important ability that allows legacy software based on text files and programs that use more sophisticated data structures to coexist. A simple example of this is provided by a bibliography database where each bibliographic reference is represented by an object in an object oriented database. At the same time, this collection of objects must also be viewed as a text file for older software like Bibtex or Ref. In this second case, the file system storage server will synthesize the textual format required by the legacy programs from the objects found in the database.

Since the segments are being concurrently used by more than on storage server, we call this the data concurrency problem.

Data concurrency introduces a new set of problems not normally found in standard storage systems. It is possible that operations by one storage server will confuse other storage servers. An example of this is was mentioned previously when discussing the length of Vista files. In this case the problem is easily dealt with by paying a performance penalty in the Vista file system version of lseek. For more complicated operations no such simple solution is possible.

Mechanisms to indicate ownership of segments and inheritance of properties are provided in Vista to solve the data model concurrency problem.

Richard Zippel