Understanding Consistency Maintenance in Service Discovery Architectures during Communication Failure

Abstract

Current trends suggest future software systems will comprise collections of components that combine and recombine dynamically in reaction to changing conditions. Service-discovery protocols, which enable software components to locate available software services and to adapt to changing system topology, provide one foundation for such dynamic behavior. Emerging discovery protocols specify alternative architectures and behaviors, which motivate a rigorous investigation of the properties underlying their designs. Here, we assess the ability of selected designs for service-discovery protocols to maintain consistency in a distributed system during catastrophic communication failure. We use an architecture description language, called Rapide, to model two different architectures (two-party and three-party) and two different consistency-maintenance mechanisms (polling and notification). We use our models to investigate performance differences among combinations of architecture and consistency-maintenance mechanism as interface-failure rate increases. We measure system performance along three dimensions: (1) update responsiveness (How much latency is required to propagate changes?), (2) update effectiveness (What is the probability that a node receives a change?), and (3) update efficiency (How many messages must be sent to propagate a change throughout the topology?). We use Rapide to understand how failure-recovery strategies contribute to differences in performance. We also recommend improvements to architecture description languages.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 2002
Accession Number
ADA512623

Entities

People

  • Christopher Dabrowski
  • Jesse Elder
  • Kevin Mills

Organizations

  • National Institute of Standards and Technology

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Application Software
  • Computer Programming
  • Computers
  • Consistency
  • Efficiency
  • Engineering
  • Information Operations
  • Language
  • Maintenance
  • Military Applications
  • Probability
  • Recovery
  • Software Development
  • Specifications
  • Standards
  • Topology

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Networking
  • Database Systems and Applications
  • Distributed Systems and Data Platform Development