Replication and Reconfiguration in a Distributed Mail Repository.

Abstract

Conventional approaches to programming produce centralized programs that run on a single computer. However, an unconventional approach can take advantage of low-cost communication and small, inexpensive computers. A distributed program provides service through programs executing at several nodes of a distributed system. Distributed programs can offer two important advantages over centralized programs: high availability and scalability. In a highly-available system, it is very likely that a randomly-chosen transaction will complete successfully. A scalable system's capacity can be increased or decreased to match changes in the demands placed on the system. When a node unavailable because of maintenance or a crash, transactions may fail unless copies of the node's information are stored at other nodes. Thus, high availability requires replication of data. Both the maintenance of a highly-available system and scalability require the ability to modify and extend a system while it is running, called dynamic reconfiguration or simply reconfiguration. This thesis considers the problem of building scalable and highly-available distributed programs without using special processors with redundant hardware and software. It describes a design and implementation of an example distributed program, an electronic mail repository. The thesis focuses on how to design and implement replication and reconfiguration for the distributed mail repository, considering these questions in the context of the programming language Argus, which was designed to support distributed programming.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1987
Accession Number
ADA186967

Entities

People

  • Mark S. Day

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies
  • Engineered Resilient Systems
  • Materials and Manufacturing Processes
  • Weapons Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Application Protocols
  • Communications Protocols
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Data Storage Systems
  • Debugging
  • Electronic Mail
  • Engineering
  • Language
  • Local Area Networks
  • Network Protocols
  • Software Development
  • Standards
  • User Interface

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.

Technology Areas

  • Microelectronics