Sponsors: DARPA Information Technology Office (ONR 66001-96-C-8507) --- IC&V ProgramFaculty : Prasun Dewan, Hussein Abdel-Wahab, Siddhartha Chatterjee, Kevin Jeffay, John McHugh, Lars Nyland, Jan Prins, John Smith, Dave Stotts Students : Dennis Brown, Goopeel Chung, Michele Clark, Qian Li, Mike Meehan, Emad Eldin Mohamed, Jon Munson, Peter Nee, Vassil Roussev, Anshu Sharma Description : In this project, we will address the problem of composing new collaborative systems from existing single-user and collaborative systems. We propose to develop a new software abstraction, called the collaboration bus, that makes it easy to compose collaborative systems. The collaboration bus will be an extensible infrastructure that provides general definitions of collaboration services, default implementations of these services, rules for interconnecting these services, and mechanisms for extending the set of supported services.
The set of generic services supported by the bus will include (a) a data model for defining shared workspaces consisting of structured objects; (b) a user interface model that allows shared objects to be manipulated using user interfaces that support text, graphics, audio, video, and virtual reality; (c) a coupling model that enables users in a joint session to share data and user-interface objects and controls their interactions to ensure security and consistency contraints are not violated; (d) an awareness model that allows users in the session to be aware of the ``out of band,'' actions of others, that is actions not visible through direct coupling; (e) migration and replication mechanisms that ensure that the bus does not become a bottleneck; and (f) real-time services, consisting of scheduling algorithms and network protocols, for ensuring real-time coupling among the collaborators. Previous work has addressed the heterogeneity problem in other domains such as software engineering, operating systems, and database systems. Our project will extend this research by providing an interconnection technology for the collaboration domain. It 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 following diagram illustrates the capabilities of the collaboration bus.
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.
Our plans for the next year are to: (a) Identify potential clients of the collaboration bus and scenarios of how these clients would interoperate with each other. (b) Characterize real-time requirements of collaborative virtual environments based on initial experiments. (c) Design version 1 of the collaboration bus, which will include reference models, semantic translations, and composition functions for session management, coupling, and virtual environments. (d) Start a Java-based implementation of version 1 of the bus.
IC & V Meeting Talk Postscript - 4 slides on one page - does not work with gv, use gs or print it.
Quad Chart Postscript
Site Visit 97 Talks
Related Duke Projects
DARPA Intelligent Visualization and
Collaboration (IC&V) Projects
DARPA Intelligent Visualization and Collaboration (IC&V) Projects