Flexible support for application-sharing architecture

Current application-sharing systems support a single architecture for all collaborations, though different systems support different architectures. We have developed a system that supports a wide range of architectural mappings, which include, to the best of our knowledge, all of the existing architectures defined So far including the centralized, replicated, and hybrid architectures. Instead of being bound to a specific I/O protocol such as the X protocol, it is based on a simple abstract I/O protocol to which specific I/O protocols must be mapped by client-supplied code. We have used the system to perform experiments that compare the performance of the centralized and replicated architectures. Our experiments show that the choice of the architecture depends on the computers used by the collaborators, the speed of the connections between the computers, and the cost of the operations performed by the shared application Under some conditions the centralized architecture gives better performance, while under others the replicated architecture gives better performance. Our results contradict the popular belief that the replicated architecture always gives better performance, and show the need for supporting both architectures in a system.

[1]  Guruduth Banavar,et al.  Responsiveness and consistency tradeoffs in interactive groupware , 1998, CSCW '98.

[2]  L. S. Jackson,et al.  Java object-sharing in Habanero , 1998, CACM.

[3]  James Gettys,et al.  The X window system , 1986, TOGS.

[4]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[5]  Daniel G. Bobrow,et al.  WYSIWIS revised: early experiences with multiuser interfaces , 1987, TOIS.

[6]  H.M. Abdel-Wahab,et al.  XTV: a framework for sharing X Window clients in remote synchronous collaboration , 1991, Proceedings of TRICOMM `91: IEEE Conference on Communications Software: Communications for Distributed Applications and Systems.

[7]  Prasun Dewan,et al.  An editing-based characterization of the design space of collaborative applications , 1994 .

[8]  Prasun Dewan,et al.  A high-level and flexible framework for implementing multiuser user interfaces , 1992, TOIS.

[9]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[10]  Keith A. Lantz,et al.  An experiment in integrated multimedia conferencing , 1986, CSCW '86.

[11]  Prasun Dewan,et al.  A mechanism for supporting client migration in a shared window system , 1996, UIST '96.

[12]  T. C. Nicholas Graham,et al.  Efficient distributed implementation of semi-replicated synchronous groupware , 1996, UIST '96.

[13]  Hussein Abdel-Wahab,et al.  Java-Based Multimedia Collaboration and Application Sharing Environment | NIST , 1998 .

[14]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[15]  Atul Prakash,et al.  DistView: support for building efficient collaborative applications using replicated objects , 1994, CSCW '94.

[16]  Steven L. Rohall,et al.  The Rendezvous architecture and language for constructing multiuser applications , 1994, TCHI.

[17]  Prasun Dewan,et al.  Architectures for Collaborative Applications , 1999 .

[18]  E KrasnerGlenn,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[19]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[20]  Andy Hopper,et al.  Integrating synchronous and asynchronous collaboration with virtual network computing , 2000, IEEE Internet Computing.

[21]  Prasun Dewan Tools for implementing multiuser user interfaces , 1993 .

[22]  Atul Prakash,et al.  Developing adaptive groupware applications using a mobile component framework , 2000, CSCW '00.

[23]  Prasun Dewan,et al.  Coupling the user interfaces of a multiuser program , 1995, TCHI.