TITLE>CollabWorx: Real-Time Messaging for Collaborative Solutions
Home : Home : Support : Resources : CWME Overview
 
 
 
 
 

CollabWorx Meeting Engine (CWME)

CollabWorx (CW) framework is built around a collaboration engine. The first thing to understand about the CW Meeting Engine is that it is not an HTTP server. Meeting Engine is more like an IP router. It makes sure the messages get to the intended receivers. Unlike a router, though, a collaboratory Engine accepts permanent connections and it holds a considerable amount of state. The Engine works together with all active instances of CollabWorx Session Managers to keep and manage the state of the collaboration.

In user terms, CWME is a meeting point in the cyberspace. Each CWME can support one or more communities, and multiple Engines can support branches of the same community.

On the communication level, each Meeting Engine accepts connections from an arbitrary number of Session Managers. All events created by application modules connected to active Session Managers are sent to the Engine and are properly distributed. Meeting Engine is like a spider in the center of the net.

Are all data the application uses going through the Engine? Well, no. This would be a non-scaleable, low-performance design with a system bottleneck. CW applications get data either from various web servers, or use separate communication channels to exchange high bit rate data streams (such as audio and video). The Meeting Engine just tells the applications how to set up these channels. Once the static bulk of the data is received by an application module, the "changes" to the application state (called “events") are distributed by the Engine.

This architecture is extremely robust, and it has been designed to make full use of the available Internet infrastructure. CollabWorx is the first, and, so far, the only CSCW system that is fully "Web-aware".

In order to transform the “virtual crowd" into “electronic community", the users must possess electronic identity. This is obviously needed for any business applications, but is also helpful in recreational use of the Web-based communities. CollabWorx Engines can access user data from repositories such as flat files and database back ends. The Engines provide services to Session Managers to retrieve user information if necessary.

Another aspect of the community support is security and access control. This is also handled by the Meeting Engine if the community administrator decides that privacy and security is important. CW clients can connect to the Engine across firewall using SOCKS4 or SOCKS5 proxies.

In short, think about Meeting Engine as a house with rooms in the virtual space, which provides you with various services to find, meet, and communicate with other electronic users. Behind the walls, there is a maze of pipes and wires, but we don't want you to even think about this. Enjoy the company and the view from the windows!

Basics of CollabWorx Meeting Engine Administration

CollabWorx Meeting Engine is one of the key components of the CW system. The Engine communicates directly with the CW Session Managers. The Engine handles several tasks critical for system operation. It maintains the dynamic state of the collaboration system i.e., the information about active users, established sessions and running applications. Whenever the state changes, appropriate updates are sent to all CW Session Managers, which are currently connected to the Engine.

The Engine also provides communication channels for message flow in the system. Using these channels, the collaborative applications started by the active users can exchange data. In addition, the Engine controls access to the system using information retrieved from the user database. All system events, such as a user login or start of a new application sessions, are recorded in the Engine log.

 

 

 
Figure 1: Elements of CollabWorx Framework

 

 

The Engine may be easily configured to reflect specific needs of the deployment environment. It is implemented as a multithreaded Java application and, therefore, it can run on a variety of platforms.

This document describes how to install and configure CollabWorx Meeting Engine so that it can operate on different platforms and in various environments.

To establish your own institutional infrastructure for collaboratory services, you need to install one or more instances of the CW Meeting Engine. You can designate an installed Engine as a group Meeting Engine for one project or community, or you can support several communities on one Engine. Operation of am instance of CW Meeting Engine requires a license (see below). Alternatively, you can purchase a package of collaboration services from CollabWorx and use CW Engines installed and maintained for you on our site.

Unless you have received an Engine with an evaluation license, you have to apply for a license by sending e-mail to license@CollabWorx. You will receive a small executable file that will automatically install license files for your Engine.

CW Engine can operate in two modes: an "open" Engine, in which case access to the Engine is unrestricted (i.e., everybody who knows Engine location can access it and join the community, and a "restricted" Engine. Secure Engine communicates with user database and permits Engine access only to a group of registered users. Meeting Engine access is protected by encrypted passwords.

System Requirements

Software Requirements:

CollabWorx Meeting Engine is a Java application. As every Java application, the Engine requires that Java interpreter is installed and accessible. Current version of CW Meeting Engine requires at least JDK 1.1. The Engine will not run if used with JDK 1.0.

On Unix platforms, JDK 1.1 is the only requirement for the Engine to run. On Windows, Engine has been designed as a Windows NT or Windows 2000 service. The Engine requires Windows NT Workstation or Server with Service Pack 3 or higher, or Windows 2000 Workstation or Server. Windows 95/98/ME are not supported.

Hardware Requirements:

CW Meeting Engine imposes minimal burden on the system. The minimal configuration for the Windows NT version is a 266 MHz CPU with 128 MB RAM. However, if you decide to run a large cluster of CW Engines on NT, you may need a high-end PC with at least 256 MB of RAM.

There are no specific hardware requirements for UNIX machines running CW Meeting Engine. A single instance of the CW Meeting Engine will run on about any UNIX workstation.

Network Requirements


Figure 2: Typical network setup for CW Meeting Engine

The machine running CW Meeting Engine must be connected to an IP network. If installed in a data center, the Engine should be installed in DMZ (Demilitarized Zone). The IP address and the selected port numbers MUST NOT be filtered out by the site firewall. See Figure 2 above for a typical network diagram. The Engine is very difficult to attack since it uses proprietary protocol and it does not perform any file system access operations. For sites with high security requirements, a version using Secure Socket Layer for all messages is available.

The Engine CANNOT be run on machines using private (Intranet) IP addresses, such as subnet 10.0.0.0. While it is possible to configure permanent port mappings on the NAT gateway and the internal/and external DNS to make such an Engine accessible from Internet, and while the basic session management functionality will be available, certain application modules will not work correctly in such configurations. In particular, the application using peer-to-peer communication channels, such as screen sharing and audio and videoconferencing, will not be available. Installation of CW Meeting Engine on a NATted network makes sense if the Engine is only supposed to support internal conferences, where all conference participants use machines connected to the internal segment. In general, we discourage installation of the Engine on private networks, since the details of the NAT gateway configuration may make such setups very difficult to troubleshoot.

The Engine uses JDBC to access user, policy, and security database. The database engine can be placed on a high-security segment behind additional internal firewall and (optionally) a NAT gateway. Network administrators must configure the routing in such a way that CW Engine can access database listeners. An exhaustive discussion of such a setup is not possible here since actual network topologies may vastly differ. We can only provide an example: let’s assume that the database server on Figure 2 is an Oracle RDBMS using default setup. In this case, the NAT gateway needs a permanent port mapping for TCP port 1521 and IP address of the Oracle server. The firewall must provide a tunnel or a hole for such packets as well.

CW Meeting Engine does not cooperate with SOCKS proxy servers. If your company uses a firewall separating DMZ from the Internet, it is necessary to punch holes in the firewall for all TCP ports and all IP addresses of the machines running the Engine. The setup may use inverse proxying for Web server access but not for CW Engine access. When security is a high importance, we recommend that the servers running Engine instances are dedicated to this task and don’t run any other network services. As mentioned above, it is not possible to gain system access by breaking into CW Engine itself.


 

[Home] [About Us] [Products] [Downloads] [Search]

Copyright © 2000 - 2008 CollabWorx, Inc. All Rights Reserved
Privacy Policy | Contact CollabWorx