[Pipet Devel] distributed filesystem proposal

J.W. Bizzaro bizzaro at geoserve.net
Mon Apr 10 18:05:43 EDT 2000


STORAGE

There are 3 places on each computer running vsh where items are kept: in (1)
permanent source storage, in (2) permanent network storage, and in (3) a
temporary workspaces.

(1) PERMANENT SOURCE STORAGE

    Each vsh system keeps the source to a node in the local file system.

    (a) Source can be libraries, files or programs, and they are
        represented by a node.

    (b) Source Storage can manipulated by standard Unix tools.

    (c) Source Storage can be made publicly available or kept private.

    (d) Changes to Source Storage must be reflected in the Network
        Storage (see below).


(2) PERMANENT NETWORK STORAGE

    Each vsh system has its own virtual filesystem for storing
    nodes and networks.

    (a) Networks are NOT stored according to any conventional
        filesystem rules.

    (b) Networks are stored as XML representations with linkage
        information and information about the location of
        the Source.

    (c) Multiple volumes (more in part 3) of the Network Storage
        can be made and designated public or private.

    (d) Public volumes can be mounted by anyone across a network.
        But changes cannot be made.

    (e) Private volumes can be mounted only by those with
        permission.

    (f) A 'lock' is required on a volume for anyone who is
        able to change it.

    (g) Using a Network Storage volume requires that a connection
        has been established with the Storage.  So, any changes
        made can be reflected in the Storage.

    (h) Volumes can be copied from one system to another.


(3) VOLUMES AND TEMPORARY WORKSPACES

    Almost all of the functionality of a Workspace is akin to a
    word processor working on a document.

    (a) When a user mounts a Network Storage volume s/he 'opens'
        it, and a temporary copy of the volume is placed in a
        Workspace.  (And the volume is locked.)

    (b) When a user chooses to 'save' any node or network within
        the volume, the changes are reflected in the volume.

    (c) The user can also choose to 'close' or 'unmount' a
        volume and make a 'new' one.

    (d) Workspaces are not just volumes.  They are used for
        all networks and subnets.

    (d) Workspaces are not isolated.  They are in fact nodes that
        can be placed in parent Workspaces.  (Some changes in a
        Workspace MAY cause changes in a parent Workspace, and
        that needs to be considered.)

    (e) From the description above, Workspaces seem to be like
        files.  But their ability to store other Workspaces makes
        them more like directories.


PEERS

About the use of a central server and peer-2-peer connections: Since every vsh
system will have this filesystem, it makes no difference what computer the
user connects to.  So, peer-2-peer is native.

On the other hand, we can set up one or more cummunity servers where volumes
of Network Storages can be publicly mounted.  This will make many nodes
available to the new vsh user.


THE PROCESS (running vsh)

Vsh will work the following way, from selecting a peer to running a network
(Gnome GUI specifics are included):

(1) The URI of a peer is entered, and a connection is made.

(2) The user can see a list of volumes available on the remote
    computer, which are public or private, and which are already
    mounted and locked by other users.

(3) The user chooses to mount a private volume.  This is the same
    as 'opening' a volume.  A Workspace is made with a copy of
    what is in the volume.  The volume is locked by the user, so
    no one else can use it.

(4) The user makes changes to networks and nodes within the
    Workspace.  No changes are made to the volume yet.

(5) The user chooses to 'save' a node, network, or Workspace
    containing them (anything that can be saved).  This changes
    the volume on the remote computer.

(6) The user chooses to 'run' a network in the volume.  Vsh then
    parses the network information kept locally.  And when the
    source of a node needs to be contacted or downloaded, a
    connection is made to the Source Storage on whatever computer
    has the source.

(7) The user chooses to 'close' or 'unmount' a volume.  If changes
    have been made since the last save, vsh prompts the user about
    saving before closing.  The volume is unmounted and unlocked.
    The Workspace disappears.

Comments please.

Cheers.
Jeff
-- 
                      +----------------------------------+
                      |           J.W. Bizzaro           |
                      |                                  |
                      | http://bioinformatics.org/~jeff/ |
                      |                                  |
                      |        BIOINFORMATICS.ORG        |
                      |           The Open Lab           |
                      |                                  |
                      |    http://bioinformatics.org/    |
                      +----------------------------------+




More information about the Pipet-Devel mailing list