Extending the representational state transfer (rest) architectural style for decentralized systems

  • Authors:
  • Richard N. Taylor;Rohit Khare

  • Affiliations:
  • -;-

  • Venue:
  • Extending the representational state transfer (rest) architectural style for decentralized systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Because it takes time and trust to establish agreement, traditional consensus-based architectural styles cannot safely accommodate resources that change faster than it takes to transmit notification of that change, nor resources that must be shared across independent agencies. There are physical and logical limits that make simultaneous agreement (a strong form of consensus for read/write variables) expensive and ultimately, impossible. In practice, software architects resolve this contradiction by assuming that network latency is negligible and that computers operated by independent agencies are reliable—two increasingly shaky assumptions about integrating services across the Internet. Our approach to this challenge is architectural: proposing constraints on the configuration of components and connectors that induce desired properties of the whole application. Specifically, we present, implement, and evaluate variations of the World Wide Web's REpresentational State Transfer (REST) architectural style that are optimized for centralized, distributed, estimated, and decentralized systems. For centralized resources, we enforce simultaneous agreement by extending REST into an event-based architectural style by adding Asynchronous event notification and Routing through active proxies (ARREST). For distributed control of shared resources, we enforce ACID transactions by further extending REST with end-to-end Decision functions that enable each component to serialize all updates (ARREST+D). The alternative to simultaneous agreement is decentralization : permitting independent agents to make their own decisions. This requires accommodating four intrinsic sources of uncertainty that arise when communicating with remote agencies: loss, congestion, delay, and disagreement. Their corresponding constraints are Best-effort data transfer, Efficient summarization of data to be sent, Approximate estimates of current values from data already received, and Self-centered trust management. These so-called ‘BASE’ properties can be enforced by replacing references to shared resources with end-to-end Estimator functions. Such extensions to REST can increase precision of measurements of a single remote resource (ARREST+E); as well as increase accuracy by assessing the opinions of several different agencies (ARRESTED). The contributions of this dissertation include: a formal definition of decentralization; an analysis of the limitations of consensus-based software architectural styles; derivation of new architectural styles that can enforce the required properties; and implementations that demonstrate the feasibility of those styles and sample applications.