The following paper was originally published in the Proceedings of the USENIX Symposium on Internet Technologies and Systems Monterey, California, December 1997
Salamander: A Push-based Distribution Substrate for Internet Applications
G. Robert Malan, Farnam Jahanian, and Sushila Subramanian University of Michigan
For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: [email protected] 4. WWW URL:http://www.usenix.org/
Salamander: A Push-based Distribution Substrate
for Internet Applications
G. Rob ert Malan, Farnam Jahanian Sushila Subramanian
Department of EECS School of Information
University of Michigan University of Michigan
1301 Beal Ave. 550 East University Ave
Ann Arbor, Michigan 48109-2122 Ann Arbor, Michigan 48109-1092
frmalan,[email protected] [email protected]
Abstract 1 Intro duction
The availability of ubiquitous network connec-
The Salamander distribution system is a wide-
tions in conjunction with signi cant advances in
area network data dissemination substrate that has
hardware and software technologies have led to the
b een used daily for overayear by several group-
emergence of a new class of distributed applications.
ware and web casting Internet applications. Sp eci -
The Salamander data distribution substrate pro-
cally, Salamander is designed to supp ort push-based
vides the systems supp ort needed for two of these
applications and provides a variety of delivery se-
applications: groupware and web casting. Partic-
mantics. These semantics range from basic data de-
ipants in these wide-area distributed applications
livery, used by the Internet Performance Measure-
vary in their hardware resources, software supp ort
ment and Analysis IPMA pro ject, to collab ora-
and quality of connectivity[11]. In an environment
tive group communication used by the Upp er At-
such as the Internet they are connected by network
mospheric Research Collab oratory UARC pro ject.
links with highly variable bandwidth, latency, and
The Salamander substrate is designed to accom-
loss characteristics. In fact, the explosive growth of
mo date the large variation in Internet connectivity
the Internet and the proliferation of intelligent de-
and client resources through the use of application-
vices is widening an already large gap b etween these
sp eci c plug-in mo dules. These mo dules provide a
memb ers. These conditions make it dicult to pro-
means for placing application co de throughout the
vide a level of service that is appropriate for every
distribution network, thereby allowing the applica-
memb er of a collab oratory or web casting receiver.
tion to resp ond to network and pro cessor resource
Web casting applications use push technology to
constraints near their b ottlenecks. The delivery
send data from network servers to client machines.
substrate can b e tailored by an application for use
In group collab oratories, p eople from a global p o ol
with a heterogeneous set of clients. For example the
of participants come together to p erform work or
IPMA and UARC pro jects send and receive data
take part in meetings without regard to geographic
from: Java applets and applications; Perl, C and
lo cation. A distributed collab oratory provides: 1
C++ applications; and Unix and Windows 95/NT
human-to-human communications and shared soft-
clients. This pap er illustrates the architecture and
ware to ols and workspaces; 2 synchronized group
design of the Salamander system driven by the needs
access to a network of data and information sources;
of its set of current applications. The main archi-
and 3 remote access and control of instruments for
tectural features describ ed include: the data distri-
data acquisition. A collab oratory software environ-
bution mechanism, p ersistent data queries, negoti-
ment includes to ols such as whiteb oards, electronic
ated push-technology, resource announcement and
noteb o oks, chat b oxes, multi-party data acquisition
discovery, and supp ort for Application-level Qual-
and visualization software, synchronized informa-
ity of Service p olicies.
tion browsers, and video conferencing to facilitate
e ectiveinteraction b etween disp ersed participants.
This work is supp orted by the National Science Foun-
Akey challenge for the designers of wide-area col-
dation under the co op erative agreement IRI-92-16848 and a
lab oratories is the creation of scalable distribution generous gift from the Intel Corp oration.
and dissemination mechanisms for the shared data. transparently connect di erent p ortions of a wide-
area application. This connectivityisachieved
The Salamander substrate provides supp ort for
through the use of a channel subscription service.
b oth web casting and groupware applications by pro-
Second, Salamander allows for the addition of appli-
viding virtual distribution channels in an attribute-
cation plug-in mo dules along the distribution path
based data space. In a Salamander system, a tree of
to allowforavariety of data mo di cations and deliv-
distribution no des servers can b e dynamically con-
ery decisions. The remainder of the pap er will fur-
structed to provide p oints of service into the data
ther describ e the Salamander substrate. Section 2
space. Clients can connect to this tree to b oth pub-
provides background material on Salamander's cur-
lish and subscrib e to data channels. The data is
rent applications. Section 3 enumerates the main ar-
pushed from suppliers to the clients through the dis-
chitectural features. Section 4 provides an overview
tribution tree. Opaque data ob jects are constructed
of the Salamander application programming inter-
by clients that are describ ed using text-based at-
face API as well as describ es its administration
tribute lists. Clients provide p ersistent queries to
and security features. Section 5 gives b oth a quali-
the Salamander substrate using attribute expres-
tative and quantitative p erformance evaluation. Fi-
sions that represent the data ows they wish to re-
nally, in Section 6 we conclude and describ e our cur-
ceive, thereby subscribing to a virtual data chan-
rent and future researchinterests.
nel. Salamander connections are rst-class ob jects
and are addressable if desired. This addressability
allows for feedback from subscrib ers to data pub-
lishers. Additionally, Salamander allows for plug-in
2 Application Domain
mo dules at any p oint in the distribution tree for ap-
plication co de to a ect the data distribution. These
The Salamander substrate currently supp orts two
plug-in mo dules provide the mechanism to supp ort
applications with diverse needs: the UARC and
application-level Quality of Service p olicies.
IPMA pro jects. The Upp er Atmospheric Research
Although the terminology is relatively new, Push
Collab oratory UARC[3, 17] is a distributed sci-
technologies have b een around for manyyears. The
enti c collab oratory over the Internet. The UARC
seminal push technology is electronic mail . Email
pro ject is a multi-institution research e ort, whose
has b een pushed from publisher to subscrib ers for
fo cus is the creation of an exp erimental testb ed
decades through mailing lists. Moreover, USENET
for wide-area scienti c collab oratory work. The
news[9] has b een used to push data ob jects arti-
UARC system provides a collab oratory environment
cles based on text attributes group names. Ex-
in which a geographically disp ersed communityof
tending netnews, the SIFT to ol[18] has b een used
space scientists p erform real-time exp eriments at
to redistribute netnews articles based on text-based
a remote facilities, in lo cations such as Greenland,
user pro les. Atalower level the combination
Puerto Rico, and Alaska. Essentially, the UARC
of nativeIPmulticast supp ort and sp eci c Mb one
pro ject enables this group to conduct team science
[5] routers provides a mechanism for the push of
without ever leaving their home institutions. These
IP datagrams throughout p ortions of the Internet.
scientists p erform exp eriments on remote instru-
Multicast datagrams are pushed based on a single
ments, evaluate their work, and discuss the exp eri-
attribute, namely the IP multicast group address.
mental results in real-time over the Internet. This
Recently, many commercial push-based compa-
community of space scientists has extensively used
nies have started: BackWeb, IFusion, InCommon,
the UARC system for over three years; during the
Intermind, Marimba, NETdelivery,PointCast, and
winter months, a UARC campaign { the scientists
Wayfarer. These commercial ventures promise to
use the term campaign to denote one of their exp eri-
manage the complexity of the web by providing data
ments { takes place almost every day. This commu-
to users by means of subscription; similar to what
nity has grown to include regular users from such
current mailing lists provide, only more intrusively.
geographically diverse sites as: SRI International
In fact, many of these pro ducts are really pol l and
in Menlo Park, California; the Southwest Research
pul l instead of push. The clients in these systems
Institute; the Danish Meteorological Institute; the
p erio dically p oll the servers for new data, and then
Universities of Alaska, Maryland, and Michigan;
fetchitifitisavailable, reducing scalability.
and the Lo ckheed Palo Alto Research Lab oratory.
The UARC system provides a variety of services The Salamander substrate di ers from past tech-
to its users including shared synchronized displays nologies in several ways. First, it is not user-centric,
for instrument data, multipartychat b oxes, a shared but application-centric. Salamander is an under-
annotation database, and a distributed text editor. lying substrate that applications can plug into to
However, the primary mechanism for collab oration which provides a graphical lo ok at real-time condi-
is the real-time distribution of atmospheric data to tions across an instrumented network.
the exp eriment's participants. This data is collected
at remote sites such as Kangerlussuaq, Greenland,
and is distributed over the Internet to the scien-
ti c collab oratory using the Salamander substrate
describ ed in this pap er. Figure 1 shows several dif-
ferent data feeds displayed during a real-time cam-
paign.
Figure 2: Example screen grab from ASExplorer
session.
3 Architecture
The Salamander substrate's architecture can b e
Figure 1: Example screen grab from April 1997
describ ed in terms of its coarse-grained pro cesses,
UARC campaign.
channel subscription interfaces, and distribution se-
mantics. The key contributions of the architecture
The second pro ject that uses Salamander is the
are its:
Internet Performance Measurement and Analysis
IPMA pro ject[8 ], a joint e ort of the University
Channel Subscription Service: The Sala-
of Michigan and Merit Network. The IPMA pro ject
mander substrate uses a publish/subscrib e ser-
collects a variety of network and interdomain p erfor-
vice that combines the strength of database re-
mance and routing statistics at Internet Exchange
trieval with a dynamic distribution mechanism.
Points IXPs, internal ISP backb ones, and campus
This service is used to provide a continuous ow
LAN/WAN b orders. A key ob jective of the IPMA
of data from publishers to subscrib ers.
pro ject has b een to develop and deploy to ols for
real-time measurement, analysis, dissemination and
Application-level Quality of Service:
visualization of p erformance statistics. Two ma jor
Application-level quality of service p olicies are
to ols from the IPMA pro jects are ASExplorer and
supp orted that provide the ability to adapt
NetNow. They b oth use Salamander to web cast the
the delivery channels in resp onse to changes in
real-time data from the IPMA Web servers to their
client and network resources and subscriptions.
connected Java applets. ASExplorer is intended to
These p olicies are supp orted by the use of ap-
explore real-time autonomous system AS routing
plication sp eci c plug-in mo dules that can b e
top ology and instability in the Internet. It supp orts
used for data ow manipulation.
measurement and analysis of interdomain routing
statistics, including: route ap, growth of routing Lightweight Data Persistence: Salamander
tables, network top ology,invalid routing announce- employs the use of a caching and archival mech-
ments, characterization of network growth and sta- anism to provide the basis for high-level mes-
bility. An example of the ASExplorer client is shown sage orderings. A two-tiered cache keeps cur-
in Figure 2. NetNow is to ol for measuring network rent data in memory while migrating older data
loss and latency. The NetNow daemon collects a to p ermanent storage. This storage takes the
variety of loss and latency statistics b etween net- form of a lightweight temp oral database tai-
work p eers. The NetNow clientisaJava applet lored to Salamander's needs.
A Salamander-based system is comp osed from used by Salamander to \lo okup" destinations for the
two basic units: servers that act as distribution ob ject. Subscrib ers place p ersistent queries to the
p oints and are usually collo cated with Web servers; Salamander substrate using lists of attribute expres-
and clients that act as b oth data publishers and sub- sions that can b e used to match b oth current and
scrib ers. These units can b e connected together in future ob jects published to the Salamander space.
arbitrary top ologies to b est supp ort a given applica- Alternatively, this pro cedure can b e thoughtofas
tion see Figure 3 for an example. The Salamander accessing a distributed database where the queries
server is designed from a utilitarian p ersp ective, in are p ersistent. These p ersistent queries are matched
that it can stand alone, or like a software backplane by b oth the ob jects archived in Salamander's p er-
can b e multiplied to increase scalability. The cur- sistent rep ositories as well as future up dates to the
rentversion of the server is a POSIX thread imple- database space. These future up dates and additions
mentation on Solaris. Salamander clients can b oth are dynamically matched with outstanding queries
publish and subscrib e to virtual data channels. In that are then pushed to the queries' corresp onding
b oth the IPMA and UARC pro jects, the main data clients. The query asp ect of Salamander's attribute-
suppliers are written in either Perl or C; whereas based subscription service di ers those in traditional
the mainstay of the subscrib ers are Java applets. nameservice and database systems, in that instead
Applet development has progressed for over a year of the queries acting once on a static snapshot of
and a half on the UARC pro ject, and Web browsers the dataspace, they are dynamic entities that act
are the de facto subscrib er platform. In the absence on b oth the current state of the system and fu-
of multicast supp ort in Java 1.0.2, and the lackof ture up dates. Publishers may come and go with-
universal Mb one[5] connectivity, the decision was out a ecting the connection b etween the Salaman-
made to create our own distribution top ology using der database and the subscrib ers.
Salamander servers in place of existing Mb one in-
Salamander allows for feedback from subscrib ers
frastructure. With the adventofJava 1.1 we are
to their publishers in the form of negotiated push.
b eginning to implement the Salamander interface
This is accomplished though the combination of
using nativemulticast supp ort.
unique endp oint addresses, endp oint namespace
registration, and the ability to send unicast mes-
Saarullik (Greenland)
ween Salamander clients. Each Salaman- sages b et