[comp.sys.isis] Using the Deceit Distributed File System to replace yellow pages

siegel@hermod.cs.cornell.edu (Alexander Siegel) (01/16/90)

As Ken Birman mentioned, I am writing a distributed file system that
supports replication using ISIS.  It is called the Deceit File System.
A working version exists, but development continues at high speed.  I
would hesitate before giving a version away because I do not have time
to support it right now, but a technical report is available.  It
employs the Sun NFS communication protocol and is compatable with any
normal NFS client.

Yellow pages and Deceit share many problems, and a large part
of Deceit can be used in a yellow pages server.  Deceit is logically
divided into two parts.  The first part is the "segment server."  It
provides a model of data segments which can be read, updated, created,
and deleted.  The segment server supports replication and caching
automatically.  The second component is called the "UNIX file system
interface."  It mediates between the segment server and the NFS
protocol.  Refer to the diagram below:

client                  client                    client
  |	   	   	   	   	   	  |	   	   	   	   	   	   	|
  |    	   	   	   	   	  |                         |   NFS protocol
  |    	   	   	   	   	  |                         |
UNIX file interface     UNIX interface            UNIX interface
  |       	   	   	   	  |	                        |
  |    	   	   	   	   	  |                         |   C procedure call
  |    	   	   	   	   	  |                         |
server server-----------segment server------------segment server
  |	   	   	   	   	   	  |	   	   	   	   	   	   	|
  |	   	   	   	   	   	  |	   	   	   	   	   	   	|  	kernel call
  |	   	   	   	   	   	  |	   	   	   	   	   	   	|
disk                    disk                      disk

The UNIX interface is unaware of replication or caching.  It simply
converts complex file operations into simple operations on segments.
By replacing the UNIX file interface with a yellow pages interface, a
highly available yellow pages server can be realized.

The segment server employs a very flexible type of replication.  Each
segment can be individually tuned in several different ways including
the degree of replication.  A supplimentary interface would be
necessary to control these parameters.  A detailed description of
exactly what the segment server can do is provided in the tech report.

A limitation of this approach is the simplicity of the segment server
interface.  The interface only supports reading and writing of
continguous data.  The segment server can also maintain a memory cache
which is directly available to the higher layers.  In order to do a
query, the entire segment/data file would have to be loaded into a
local cache and then scanned.  Any operation would require an initial
whole file transfer if the data was not locally available.  For very
large data bases, there may not be enough local memory for this to
work.

Alex Siegel - CS graduate drudge at Cornell
a.k.a. Scimitar;  a.k.a. Phineas Ginn (SCA);  a.k.a. Trash
siegel@cs.cornell.edu   (607)255-1165