A Software Architecture for Network Communication

Abstract

A distributed system is based on a layered set of abstractions of network communication. At a low level, current distributed systems use primitives such as datagrams, request/reply message-passing, reliable virtual circuits, or a combination of these. Future distributed systems will use high- performance large-scale communication networks, and will support a range of communication-intensive applications. What are the appropriate communication abstractions for such systems? In answer to this question, we have developed a communication abstraction called Real-Time Message Streams (RMS). An RMS is a simplex (unidirectional) stream with several performance and security parameters. These parameters express 1) the needs of RMS clients (user programs and communication protocols), and 2) the capabilities of the RMS provider (network and higher layers). This information can be used in two ways. First, RMS providers can eliminate unnecessary or redundant work, and can optimally schedule resources such as network bandwidth and CPU. Second, the RMS client can use the parameters to select optimal methods for achieving whatever reliability and flow control are needed. RMS is the communication primitive of the DASH distributed system currently being developed at UC Berkeley. This paper describes 1) the RMS abstraction itself, 2) the role of RMS and DASH communication architecture, and 3) techniques and algorithms for providing RMS at various system levels. (KR)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 30, 1987
Accession Number
ADA197290

Entities

People

  • David P. Anderson

Organizations

  • University of California, Berkeley

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Bandwidth
  • Classification
  • Communication Channels
  • Communication Systems
  • Computer Science
  • Computing System Architectures
  • Data Encryption
  • Flow
  • Hypervelocity Flow
  • Multiplexing
  • Networks
  • Packet Loss
  • Reliability
  • Software Design
  • Transport Protocols
  • User Interface

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Database Systems and Applications
  • Inertial Navigation Systems.