CVW Collaborative Virtual Workspace

CVW Federated Servers

August 2001

Table of Contents


Introduction


The CVW Federated Server system is a means of interconnecting separate CVW servers to allow for intercommunication of users and objects. Currently a subset of CVW functionality is supported: Each server represents a separate CVW building. The buildings exist on entirely separate MOO servers, connected to each other by SunNET links. For more information on SunNET, see
http://www.twyst.org/sunnet

This patch is intended for use on a CVW 3.x or higher server.


Architecture

CVW server federation is based on the
SunNET 3.0a2 MOO network architecture. SunNET provides a hub-less network topology, which may (or for that matter may not) be like the one shown in the diagram below.
   [A]----[B]-+       [H]----[I]----[J]
    | \_____  |             __|
    |       \ |            |
    |        [C]----[D]---[E]---[G]
    |                            |
    +-------------------[F]------+

With such a setup, we have 10 network nodes that can each talk to each other. However we do not need to have 45 links (one from each node to each other node) criscrossing all over the network in order for this to work. We also do not need to have every node connect to a central hub, either. We *could* set up that many links, but it's not necessary. A can talk to E by taking one of several routes:

  A > B > C > D > E 
  A > C > D > E     
  A > F > G > E     

SunNET chooses the path by timing the connection between the nodes and chooses the best (fastest) route. Therefore, if A has a fast link to B, and B has a fast link to C, but A has a very slow link to C, then SunNET will automatically route all traffic from A to C through B, even though A and C have a direct link.

Also, in this setup, if D suddenly drops off of the network, then the rest of the servers can talk to each other still. For instance, C is still able to talk to E by routing all the way around through the other nodes. However if the link between I and E broke down, then the federation would be split in two. The H, I, and J servers would be able to talk only to each other, and A, B, C, D, E, F, and G would be able to talk to each other, but the two groups would no longer be able to communicate with each other until a link between the two groups was reestablished.

A link in SunNET is actually a player which connects to a remote server in the same way that a normal user connects to a server. Information is passed via the SunNET architecture through the player to the remote server. This setup overcomes some of the difficulties of Multi-port-listening, the other major method of connecting MOOs to each other, such as having connections time out.

Links communicate between servers using protocols. Each protocol is a one-way communication mechanism which passes a set of native MOO values (strings, lists, objects, etc)


Installation

This patch is intended for use on a CVW 3.x or higher server.

  1. Log onto the CVW MOO server to be upgraded with an account with administrative priviliges.
  2. Set the input to Command Mode (ctrl-z)
  3. Cut and paste the contents of federated.moo into the input box.
  4. Send the contents to the CVW server by hitting enter or pushing the Send button.
This will apply the patch to a current database. At this time, there is no other way to patch the database.


Configure SunNET

  1. Select a Site Name
  2. Create a link to a remote node.
  3. Activate SunNET