A multistate service based on deltas and its application to support collaborative work

In many applications, the representation and management of change is of primary interest, often being as important as the representation and management of state. The concurrency control policies of database management systems, which are focused on the maintenance of single consistent states, present an obstacle to the support of such applications. The research presented here has resulted in the development of theory to support new data storage techniques that overcome such obstacles without losing the other benefits provided by database systems. This theory, called Heraclitus (OO), is centered on the use of delta values, which capture state changes as first class objects available for manipulation by applications and users. The theory has been applied in the development of the H2O/SST data storage manager. In the general area of cooperative work support, authoring systems and related applications are in particular need of support for flexible management of change as well as support for the resolution of resulting conflicts. To this end, this research has also developed an architecture by which H2O/SST can be used to support such applications. This architecture, called Coral, is designed to allow for the encorporation of application specific policies regarding the management of change and conflict. The principles of Coral have been demonstrated through the implementation of a prototype authoring system. Additionally, the development of applications based on Coral and H2O/SST is illustrated through an example system design. This system design includes the design of procedures to support authoring through delta values and the specification of particular delta values to support text documents.

[1]  Clarence A. Ellis,et al.  Design and implementation of GORDION, an object base management system , 1987, 1987 IEEE Third International Conference on Data Engineering.

[2]  Boris Magnusson,et al.  A Model for Semi-(a)Synchronous Collaborative Editing , 1993, ECSCW.

[3]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

[4]  Jennifer Widom,et al.  Active Database Systems: Triggers and Rules For Advanced Database Processing , 1994 .

[5]  François Bancilhon,et al.  Building an Object-Oriented Database System, The Story of O2 , 1992 .

[6]  Richard Hull,et al.  Applications of Heraclitus in Telecommunications Information Processing , 1996 .

[7]  Shamkant B. Navathe,et al.  Version management of composite objects in CAD databases , 1991, SIGMOD '91.

[8]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[9]  Randy H. Katz,et al.  Toward a unified framework for version modeling in engineering databases , 1990, CSUR.

[10]  Roy Rada,et al.  Groupware and authoring , 1996 .

[11]  Matthias Jarke,et al.  Distributed Cooperation in Integrated Information Systems , 1993, Int. J. Cooperative Inf. Syst..

[12]  David J. DeWitt,et al.  Object and File Management in the EXODUS Extensible Database System , 1986, VLDB.

[13]  Prasun Dewan,et al.  A flexible object merging framework , 1994, CSCW '94.

[14]  Guy M. Lohman,et al.  Differential files: their application to the maintenance of large databases , 1976, TODS.

[15]  J. D. Uiiman,et al.  Principles of Database Systems , 2004, PODS 2004.

[16]  Shahram Ghandeharizadeh,et al.  Heraclitus: elevating deltas to be first-class citizens in a database programming language , 1996, TODS.

[17]  Thomas Tesch,et al.  Towards a Cooperative Transaction Model - The Cooperative Activity Model , 1995, VLDB.

[18]  Jeffrey D. Ullman,et al.  Principles of Database Systems, 2nd Edition , 1982 .

[19]  ScioreEdward Versioning and configuration management in an object-oriented data model , 1994, VLDB 1994.

[20]  Joan Peckham,et al.  Implementing Relationships and Constraints in an Object-Oriented Database Using a Monitor Construct , 1993, Rules in Database Systems.

[21]  Divyakant Agrawal,et al.  Semantic Locking in Object-Oriented Database Systems , 1994, OOPSLA.

[22]  Richard Hull,et al.  Structures for manipulating proposed updates in object-oriented databases , 1996, SIGMOD '96.

[23]  Jörg M. Haake,et al.  Supporting collaborative writing of hyperdocuments in SEPIA , 1992, CSCW '92.

[24]  Susan A. Dart,et al.  Concepts in configuration management systems , 1991, SCM '91.

[25]  Noel Williams,et al.  Computers and Writing: State of the Art , 1992 .

[26]  Thomas W. Reps,et al.  The use of program dependence graphs in software engineering , 1992, International Conference on Software Engineering.

[27]  Leonid Libkin,et al.  Incremental maintenance of views with duplicates , 1995, SIGMOD '95.

[28]  David Maier,et al.  Readings in Object-Oriented Database Systems , 1989 .

[29]  C. J. Date An introduction to database systems (7. ed.) , 1999 .

[30]  Maurice Herlihy,et al.  Hybrid Concurrency Control for Abstract Data Types , 1991, J. Comput. Syst. Sci..

[31]  R. G. G. Cattell,et al.  The Object Database Standard: ODMG-93 , 1993 .

[32]  Shamkant B. Navathe,et al.  Database Supported Cooperative Problem Solving , 1993, Int. J. Cooperative Inf. Syst..

[33]  Harold Ossher,et al.  Coordinating concurrent development , 1990, CSCW '90.

[34]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[35]  Richard Hull,et al.  Language Constructs for Programming Active Databases , 1991, VLDB.

[36]  Geneviève Jomier,et al.  Managing Entity Versions within their Contexts: A Formal Approach , 1994, DEXA.

[37]  Richard Hull,et al.  On Detecting Conflict Between Proposed Updates , 1995, DBPL.

[38]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[39]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[40]  Gabriel M. Kuper,et al.  The logical data model , 1993, TODS.

[41]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[42]  Frank Wm. Tompa,et al.  Efficiently updating materialized views , 1986, SIGMOD '86.

[43]  Masahiro Honda,et al.  Object management in a CASE environment , 1989, ICSE '89.

[44]  Mike Sharples,et al.  Computer Supported Collaborative Writing , 1993, Computer Supported Cooperative Work.

[45]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[46]  8390 Passau,et al.  CoAUTHOR A HYPERMEDIA GROUP AUTHORING ENVIRONMENT , 1990 .

[47]  Irene Greif,et al.  Computer-supported cooperative work: a book of readings , 1988 .

[48]  Mike Sharples,et al.  Research Issues in the Study of Computer Supported Collaborative Writing , 1993 .

[49]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[50]  Sunil K. Sarin,et al.  Data sharing in group work , 1986, TOIS.

[51]  Mauricio Cortes,et al.  DCWPL: a programming language for describing collaborative work , 1996, CSCW '96.

[52]  Gunter Schlageter,et al.  A General Model for Version Management in Databases , 1986, VLDB.

[53]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

[54]  Matthias Jarke,et al.  Sharing Processes: Team Coordination in Design Repositories , 1992, Int. J. Cooperative Inf. Syst..

[55]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[56]  Jennifer Widom,et al.  Change detection in hierarchically structured information , 1996, SIGMOD '96.

[57]  David Kaufer,et al.  Flexible Diff-ing in a collaborative writing system , 1992, CSCW '92.

[58]  Matthias Jarke,et al.  CoAUTHOR—a hypermedia group authoring environment , 1990 .

[59]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

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

[61]  Randy H. Katz,et al.  Version modeling concepts for computer-aided design databases , 1986, SIGMOD '86.

[62]  Ronald M. Baecker,et al.  Readings in Groupware and Computer-Supported Cooperative Work: Assisting Human-Human Collaboration , 1992 .

[63]  Kaizhong Zhang,et al.  Simple Fast Algorithms for the Editing Distance Between Trees and Related Problems , 1989, SIAM J. Comput..