Decentralized Software Architecture

Abstract

A centralized (or even distributed) system admits only one correct answer to a question at a time. In contrast, a decentralized one allows several agents to hold different opinions, all equally valid. While the term "decentralization" is familiar from political and economic contexts, it has been applied extensively, if indiscriminately, to describe recent trends in software architecture towards integrating services across organizational boundaries. This technical report investigates how "decentralization" can be defined in the context of software architecture; provides a formal model of two causes of decentralization (latency and agency); reviews historical trends forcing decentralization in software; and designs, implements, and evaluates a proposed software architectural style called DECentralized Event Notification Transfer (DECENT). The author believes its principal contributions will include the following: (1) formally exposing the often-tacit requirement for simultaneity between components; (2) novel rationales for adopting event-based communication, standardized application protocols, and stateless messaging; (3) describing application-layer internetworking of software services across several routers rather than a central bus; (4) a microkernel-like refactoring of traditional messaging middleware on top of a basic event model; (5) techniques for using consistent hashing to increase reliability, availability, and scalability of decentralized services; and (6) evaluation of the effectiveness of DECENT-style architecture for enabling 3rd and 4th parties to add properties such as security and interoperability without modifying the original services.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 2002
Accession Number
ADA441133

Entities

People

  • Rohit Khare

Organizations

  • University of California, Irvine

Tags

Communities of Interest

  • Biomedical
  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Air Force Research Laboratories
  • Application Protocols
  • Computer Networks
  • Computer Programming
  • Computers
  • Computing Devices
  • Electronic Mail
  • Electronic Messaging
  • Internet
  • Law
  • Network Protocols
  • Network Science
  • Operating Systems
  • Quantum Computing
  • Software Design
  • Software Development
  • User Interface

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Database Systems and Applications
  • Economics