Transparent sharing of Java applets: a replicated approach

People interact together in all aspects of life and, as computers have become prevalent, users seek computer support for their interactions. The WWW provides an unprecedented opportunity for users to interact with each other, and the advent of JavaThfl has created a consistent computing environment to support synchronous collaboration. We describe JAMM, a prototype Java runtime environment that supports the shared use of existing Java applets, thus leveraging the existing base of software for synchronous collaboration. Our approach is based on a replicated architecture, where each user maintains their own copy of the Java applet, and the users’ input events are broadcast to each applet copy. We discuss solutions to certain key problems, such as unanticipated sharing, supporting late-joiners, and replicating input sources other than user inputs (e.g., files, sockets, and random number generators).

[1]  J. C. Lauwers,et al.  Replicated architectures for shared window systems: a critique , 1990, COCS '90.

[2]  Keith A. Lantz,et al.  Replicated architectures for shared window systems: a critique , 1990 .

[3]  Atul Prakash,et al.  Supporting multi-user, multi-applet workspaces in CBE , 1996, CSCW '96.

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

[5]  Oliver Jones,et al.  Multidisplay software in X: a survey of architectures , 1993 .

[6]  I. Grief,et al.  Computer Supported Cooperative Work: A Book of Readings , 1988 .

[7]  Josie Taylor,et al.  Preliminary experiments with a distributed, multi-media, problem solving environ-ment , 1990 .

[8]  Michael Weber,et al.  CSCW tools: concepts and architectures , 1994, Computer.

[9]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[10]  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.

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

[12]  Saul Greenberg,et al.  GROUPWARE TOOLKITS FOR SYNCHRONOUS WORK , 1996 .

[13]  Ken Arnold,et al.  The Java programming language (2nd ed.) , 1998 .

[14]  Kevin Jeffay,et al.  Inverting X: an architecture for a shared distributed window system , 1994, Proceedings of 3rd IEEE Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[15]  Matthew T. Nelson Java Foundation Classes , 1998 .

[16]  C.A. Shaffer,et al.  Leveraging Java Applets: Toward Collaboration Transparency in Java , 1997, IEEE Internet Comput..

[17]  Harry C. Forsdick,et al.  MMConf: an infrastructure for building shared multimedia applications , 1990, CSCW '90.

[18]  Hussein M. Abdel-Wahab,et al.  Accommodating latecomers in shared window systems , 1993, Computer.

[19]  Alexander George McManus,et al.  The Internet Foundation Classes , 1998 .

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

[21]  John F. Patterson,et al.  Notification servers for synchronous groupware , 1996, CSCW '96.

[22]  Jean Philippe Favreau,et al.  Using Java for Multimedia Collaborative Applications , 1996 .

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