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/ | +----------------------------------+