A framework for shared applications with a replicated architecture

The interaction history of a document can be modelled as a tree of command objects. This model not only supports recovery (undo/redo), but is also suitable for cooperation between distributed users working on a common document. Various coupling modes can be supported. Switching between modes is supported by regarding different versions of a document as different branches of the history. Branches can then be merged using a selective redo mechanism. Synchronous cooperation is supported by replicating the document state and exchanging command objects. Optimistic concurrency control can be applied, because conflicting actions can later be undone automatically.

[1]  Atul Prakash,et al.  DistEdit: a distributed toolkit for supporting multiple group editors , 1990, CSCW '90.

[2]  Michael Spenke,et al.  From undo to multi-user applications: the demo , 1993, INTERCHI.

[3]  Erich Gamma,et al.  Design and Implementation of ET++, a Seamless Object-Oriented Application Framework 1 , 1989 .

[4]  Atul Prakash,et al.  Undoing actions in collaborative work , 1992, CSCW '92.

[5]  Keith A. Lantz,et al.  Collaboration awareness in support of collaboration transparency: requirements for the next generation of shared window systems , 1990, CHI '90.

[6]  Thomas Berlage,et al.  The GINA Interaction Recorder , 1992, Engineering for Human-Computer Interaction.

[7]  James R. Rhyne,et al.  Tools for supporting the collaborative process , 1992, UIST '92.

[8]  Simon J. Gibbs,et al.  LIZA: an extensible groupware toolkit , 1989, CHI '89.

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

[10]  Robert E. Kraut,et al.  Collaborative document production using quilt , 1988, CSCW '88.

[11]  Erich Gamma,et al.  Design and Implementation of ET++, a Seamless Object-Oriented Application Framework , 1989, Struct. Program..

[12]  Thomas Berlage,et al.  From Undo to Multi-User Applications , 1993, VCHCI.

[13]  Steven L. Rohall,et al.  Rendezvous: an architecture for synchronous multi-user applications , 1990, CSCW '90.

[14]  Prasun Dewan,et al.  Flexible user interface coupling in a collaborative system , 1991, CHI.

[15]  Gregory D. Abowd,et al.  Giving Undo Attention , 1992, Interact. Comput..

[16]  Michael Spenke,et al.  An overview of GINA—the generic interactive application , 1991 .

[17]  Alain Karsenty,et al.  Transparency and awareness in a real-time groupware system , 1992, UIST '92.

[18]  Brad A. Myers A new model for handling input , 1990, TOIS.

[19]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[20]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

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

[22]  Brian R. Gaines,et al.  A minimalist approach to the development of a word processor supporting group writing activities , 1991, COCS '91.