Evolving Persistent Objects in a Distributed Environment.

Abstract

In distributed systems, it is useful to classify persistent objects as either immutable or mutable. The contents of an immutable object cannot be changed while the contents of a mutable object can. In a distributed system, multiple copies of an immutable object can exist at different places and can be used freely without the need for any special synchronization. Mutable objects, however, require synchronization. When and object is about to be changed, all current users need to be notified. When two users both try to change the same object, only one should be permitted to succeed. This kind of synchronization requires that for each mutable object there be a single point in the network that controls use for that object. If a network becomes temporarily partitioned into two isolated subnetworks, only one will have control over each mutable object. This paper considers a class of objects called incrementally mutable objects that are intermediate between mutable and immutable objects. Intuitively the only permitted modifications to an incrementally mutable object are those that add new information to the object while preserving existing information. Changes to incrementally mutable objects do not require central synchronization. When a network becomes partitioned, the same incrementally mutable object can be safely modified in each subnetwork. A mutable object can be modeled by a set of immutable objects that represent each value of the object over time and an incrementally mutable object that relates each immutable object to its successor. Multiple successors are permitted to represent parallel changes. Keywords: Computer programs; Computer applications.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1987
Accession Number
ADA188924

Entities

People

  • John Nestor

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Classification
  • Computer Programming
  • Computer Programs
  • Computers
  • Databases
  • Department Of Defense
  • Directories
  • Engineering
  • Environment
  • Language
  • Manufacturing
  • Networks
  • Personal Information Managers
  • Security
  • Software Development
  • Technical Information Centers

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Computer Vision.
  • Educational Psychology