USENIX Symposium on Internet Technologies and Systems, 1997
Salamander: A Push-based Distribution Substrate for Internet Applications
G. Robert Malan, Farnam Jahanian, and Sushila Subramanian
University of Michigan
The Salamander distribution system is a wide-area network data dissemination
substrate that has been used daily for over a year by several groupware
and webcasting Internet applications. Specifically, Salamander is designed
to support push-based applications and provides a variety of delivery semantics.
These semantics range from basic data delivery, used by the Internet
Performance Measurement and Analysis (IPMA) project, to collaborative
group communication used by the Upper
Atmospheric Research Collaboratory (UARC) project. The Salamander substrate
is designed to accommodate the large variation in Internet connectivity
and client resources through the use of application-specific plug-in modules.
These modules provide a means for placing application code throughout the
distribution network, thereby allowing the application to respond to network
and processor resource constraints near their bottlenecks. The delivery
substrate can be tailored by an application for use with a heterogeneous
set of clients. For example the IPMA and UARC projects send and receive
data from: Java applets and applications; Perl, C and C++ applications;
and Unix and Windows 95/NT clients. This paper illustrates the architecture
and design of the Salamander system driven by the needs of its set of current
applications. The main architectural features described include: the data
distribution mechanism, persistent data queries, negotiated push-technology,
resource announcement and discovery, and support for Application-level
Quality of Service policies.
- View the full text of this paper in
HTML form and
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.