The Collaborative Virtual Workspace

Attend business meetings and impromptu gatherings with friends without ever leaving home—enter the virtual world.
Living in Your Own Virtual World

The first step in creating a CVW environment is to obtain and install the CVW MOO server and document server software. If you browse the web site ( you'll find both a binary and a source build available for downloading. I'll step through the binary release installations, although the source releases require only a few more steps. Both downloads include detailed documentation, so I'll only highlight the important steps and try to point out any possible stumbling blocks for getting the server running.

As for system requirements, the size of your CVW system depends on the size of the virtual community you wish to build. My Linux system contains a Pentium 300 with 64MB RAM running Red Hat 5.1 and a 2.2 kernel. Although we haven't tested this configuration under a load, it should suffice for 40 to 50 simultaneous users at a minimum. We have seen over 250 users simultaneously on a Sun Ultra 2 dual-processor machine, so an appropriately configured Linux workstation should perform likewise. Additionally, the server running the document server process requires installation of the Java 1.1 JRE.

During the CVW software download process, after accepting the license agreement you'll be asked for some personal information. MITRE is a not-for-profit organization, and as such, does not use advertisements or sell user lists to other organizations. Our only reason for maintaining a user list is to inform you of any changes in the software and any other activities that might occur with the CVW software.

To begin installation of the CVW server, download the two binary packages, cvw-moo-server-3.2.0-x86-Linux2-libc6.tar.gz and cvw-doc-server-3.2.0-any.tar.gz, and place them in a temporary directory. Extracting these packages using the command tar xvzf  package_name will create separate directories with the required binary files.

I decided to make /opt/CVWserver my installation directory. Before creating this directory, create a user named “cvw” on your system. This user will be the owner of the installation, so the binary won't execute as root. Although we haven't discovered any real problems running the software as root, this tends to be a good rule-of-thumb. After creating the user, make your installation directory using mkdir and assign your cvw user as its owner.

Move the following files into your installation directory from the moo-server binary directory—the moo executable, the restart script and the CVW.db file. If you like, you may rename CVW.db to something that better describes your environment. The name you choose doesn't matter, but you need to remember it, as you will be using it later on.

The Document server also requires a document repository. This repository directory must be large enough to store all your documents within CVW. Depending on your potential use, you may create a directory under the server directory you just created or mount a separate partition on your system. I created an /opt/CVWserver/docstore directory since I expected to have a small number of documents. You could also create a /docstore directory and mount another disk to it. The route you take depends a great deal on your projected use.

Next, the document server requires files to be installed from the document server binary directory. Move docserver.jar, docserver.cfg and the start-dserver script into your installation directory. You will need to modify docserver.cfg to point to your document repository. Finally, change all file ownerships within the installation directory to be owned by the cvw user.

To start the processes automatically when I boot my system, two init scripts have been provided. These include cvw.boot for the MOO server and cvwds.boot for the docserver. Move these scripts to /etc/rc.d/init.d and edit them for your personal configuration. By default, we use 8888 as our MOO server communication port and 8889 for the docserver; if any other programs on your system use these ports, change the numbers in the scripts to an unused port. Links can then be created from /etc/rc.d/rc3.d/S99cvw and /etc/rc.d/rc0.d/K99cvw to cvw.boot, and also /etc/rc.d/rc3.d/S99cvwds and /etc/rc.d/rc0.d/K99cvwds to cvwds.boot to allow the startup and shutdown to occur automatically. To start the processes manually, simply type:

/etc/rc.d/rc3.d/S99cvw start
/etc/rc.d/rc3.d/S99cvwds start

To test whether the server processes are operational, a TELNET session can be used. See Listing 1 for information on running these tests.

Listing 1

To present your users with a complete CVW experience, you'll want to build a repository of user images. These images will be presented on the client software as the users move from room to room to allow a virtual “face-to-face” feeling. The user images should optimally be 50x60 dpi gif images (although other sizes should scale within the client) that may be stored in one of two locations. First, if you have a distributed file system (e.g. NFS), the images may be stored there to allow for global access. The second option is to make the images available from an HTTP server. In either case, as long as the image repository is globally accessible, the client software can be configured to find the images.