Collaboration Bus


This project is addressing the problem of composing new collaborative systems from existing single-user and collaborative systems. It will develop a new software abstraction, called the collaboration bus, that makes it easy to interoperate collaborative systems. The bus will offer two forms of interoperability: (1) inter-service interoperability, which will allow existing implementations of different collaboration services (such as user-interface and real-time services) to be combined in new collaborative systems; and (2) intra-service interoperability, which will resolve inconsistencies among different, competing instances of the same service (such as explicit and implicit schemes for creating joint sessions) provided by different existing systems that need to interoperate with each other.


The concept of a collaboration bus requires a general abstraction that covers the functionality of existing collaborative systems. In particular, the bus must define a reference model that captures similarities and differences among multiple solutions to a problem. In addition, it must provide, when possible, semantic translation to allow dissimilar solutions to the same problem to coexist. It must also define composition functions that allow a service to be composed with other collaboration services. Finally, the bus must not become a bottleneck that significantly increases the response times of users.

The following approach will be used in designing, implementing and evaluating the bus:
(a) Identify the services that a collaborative application requires. (b) Identify a reference model for each of these services. (c) Identify semantics translations and composition functions for each of these services. (d) Incorporate, into the bus, a default implementation of the service and the associated semantic translations and composition functions. (e) Develop mechanisms and policies for replicating and migrating parts of the bus. (f) Develop mechanisms for protecting the operations on the bus. (g) Carry out interoperability experiments involving each of these services using state-of-the-art existing software.

The research group will incorporate and experiment with the collaboration services in several stages. In the first stage, it will investigate application-independent services and conduct (inter-service and intra-service) interoperability experiments that involve these services. Next, it will incorporate a data and user interface model for supporting application-dependent services. It will then research application-dependent collaboration-enabling services, and finally, it will investigate application-dependent collaboration-control services. It will investigate these services in a bottom-up, breadth-first manner, including as much support as is needed to perform the current interoperability experiment, and gradually increasing the scope of the interoperability experiments.

Previous research efforts have addressed generic data models (e.g. CORBA) and multimodal user interfaces (e.g. MASTERMIND). This project will extend this research in three main ways. First, it will evaluate the suitability of existing, general purpose concepts for capturing the data and user-interfaces in the target collaborative applications and make any necessary adaptations. Second, it will add to the general-purpose models common objects found in the collaboration/multimedia domain. Finally, it will define interfaces between the data and user-interface models and other components of the collaboration model.

FY-97 Plans

Technology Transition

New Start

Principal investigator

Prasun Dewan


Date prepared: 31 Oct 96