Navigation Bar

Project Description

Abstract

The Chimera Collaboratory Extension is an application add-on to the Chimera molecular modeling system. The Collaboratory provides functionality for synchronizing an interactive three-dimensional molecular modeling session in real-time between multiple users.

Introduction

Molecular modeling collaborations may take either for two forms. First, there is a "local" collaboration, where all scientists involved are physically located at the same computer, can cooperatively manipulate the molecules under study, and can discuss attributes of the models and their atomic interactions via direct verbal and gesticulated communication. Second, there is a "remote" collaboration, where all participants run the same modeling program on their separate computers, view the same model, and discuss features of the model over the telephone or possibly using a desktop videoconferencing system.

Some videoconferencing software also supports a desktop-sharing functionality, which allows users in remote locations to see a synchronized view of applications running on another user's desktop. This feature is useful because it is not necessary to add specific collaboration features to the applications software. However, this approach tends to be very slow, especially if the contents of the screen change rapidly as is the case with interactive molecular modeling, because a large volume of data must be transmitted across the network. Such systems also do not take advantage of any special purchase 3-D graphics hardware which may be present on the local computer, again causing slow response times for the user.

"Sessions," which describe a molecular scene in sufficient detail to recreate an identical scene on another computer, facilitate collaboration, but current session technology cannot provide real-time interactive collaboration between remote users because of the overhead associated with taking a snapshot of the entire application state, transmitting this to the remote computer, then loading the session state into the application.

The Chimera Collaboratory addresses the remote collaboration issues by providing a facility to synchronize Chimera sessions between users in real-time.

Design considerations

To provide a satisfactory environment for remote collaborative molecular modeling, the following requirements must be met:

Our design utilizes commercial off-the-shelf (COTS) desktop videoconferencing hardware and software to provide audio and video teleconferencing support. However, since there is no standard tool for remote collaborative three-dimensional molecular modeling, we are extending our Chimera molecular modeling system to provide collaborative support. Basing our work on Chimera instead of other possibly more generic visualization tools offers two important benefits: users have access to a rich set of molecular-modeling functionality, and the collaboratory is deployable on a wide variety of platforms due to Chimera's use of widely-accepted programming standards, e.g. OpenGL. Also, since Chimera was designed with extensibility in mind, implementation of prototype and production versions of the collaboratory have been greatly accelerated.

When used as a collaboratory, each researcher has a separate instance of Chimera running on their own workstation. Each running Chimera shows the shared "collaboratory" view of the modeled data. Modification of the modeled data is limited to one instance of Chimera at a time (the "server" instance). Initially, one researcher will start a "Hub", which acts as a "session server". Each researcher then starts Chimera and joins the collaborative session by connecting to the hub. When the "hub" is started, the researcher who started it has full authorization to control the session (via a password). Thereafter, other instances can gain authority by entering the password. Clients can join or leave a collaboratory session at any time.

Except at start-up, synchronization between the collaboratory server and clients involves only communication of viewing state (typically small) rather than molecular data (typically large), and therefore the collaboratory performs relatively well over low-bandwidth connections (compared to, for example, video data and X-windows data). Indeed, collaboratory use between home and office may well be possible, given DSL-type or possibly 56K modem connectivity.

Chimera's architecture divides programmatically-available features into two categories: core and extension. Core features are always available in a Chimera session and typically provide the basic functionality required by most Chimera extensions. Core features include such things as GUI interface presentation methods, three-dimensional graphics rendering, organization of molecular data into atoms, residues, and molecules, and so on. Extension features are typically loaded on user demand and offer functionality not normally of use to other Chimera extensions. An NMR analysis package has been implemented as a Chimera extension, for example, but does not need to be loaded if the user has no need to do this type of data analysis. The Chimera collaboratory is also implemented as an extension. Making the collaboratory an extension means that it is easy to experiment with various alternative implementations, and that other Chimera users will not be burdened loading collaboratory functionality if it is not required.

Internal architecture

The Chimera Collaboratory is written entirely in Python. It uses CORBA, a sophisticated and powerful remote method execution protocol, as the message transport and session management layer. The collaboratory is broken up into two parts, a single "hub" that is started when the collaboratory session is initiated, and "nodes", one for each user who joins the collaboratory session.

When a user interacts with a running instance of Chimera, it invokes a callback registered by the collaboratory node. This callback provides the collaboratory with the necessary information on what changes were made to the Chimera state. The node uses CORBA to send this information to the hub, which then broadcasts it to all the other nodes. These nodes receive the information, and apply the change to their Chimera state.

Project status

The Chimera Collaboratory is being distributed as part of our standard Chimera software distribution. See the Chimera home page for details. Most of the standard features of Chimera are supported, but there are currently a few notable exceptions. See the Chimera User's Guide for details. Future plans include completing support for all Chimera core functionality and the development of a Chimera Extension API so that other Chimera extensions can work within the collaboratory environment. A formal evaluation is planned to assess the effectiveness of the Chimera Collaboratory for carring out scientific collaborations. The current version of the collaboratory has received enthusiastic reviews from a number of users.


Laboratory Overview | Research | Outreach & Training | Available Resources | Visitors Center | Search