The Siena Server
Siena (Scalable Internet Event
Notification Architectures) is a research project aimed
at designing and constructing a generic scalable event
service. For full details on the Siena project
go to the Siena
web page.
This is the user documentation for the Siena Server. You should also
check out the on-line
documentation. The following topics are covered here:
License and Credits
Copyright © 1998-2000 University of Colorado.
Siena is free software. you can redistribute it and/or
modify it under the terms of the GNU General
Public License as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.
Siena is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
Authors
Siena is the result of work by: Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf.
Feedback
If you are using Siena, we would appreciate if you could
notify any one of the authors. Any sort of feedback is much
appreciated. Bug reports and/or technical questions should be directed
to Antonio Carzaniga.
Acknowledgments
This work was supported in part by the Air Force Materiel Command,
Rome Laboratory, and the Defense Advanced Research Projects Agency
under Contract Numbers F30602-94-C-0253 and F30602-98-2-0163,
principal investigators Dennis Heimbigner and Alexander L. Wolf. The
content of the information does not necessarily reflect the position
or the policy of the Government and no official endorsement should be
inferred.
We thank Dennis Heimbigner, Richard S. Hall, and André van der
Hoek of the Software Engineering Research Laboratory, University of
Colorado at Boulder, and Giampaolo Cugola, Elisabetta Di Nitto, and
Alfonso Fuggetta of Politecnico di Milano for their contributions to
this work.
Installation
To install Siena from a binary distribution, simply unpack
siena-?.?-?.tar.gz in a convenient directory. If you are installing
the Siena API from sources, you should follow these instructions.
Server
This section covers the usage of the peer-to-peer server. The Java
server is described elsewhere.
Synopsis
siena [-port num] [-identity URI] [-connect URI] [-detach] [-db file] \
[-strikeouts num] [-log file] [-servers num]
Options
- -connect URI
- specifies the URI of the peer
server to which this server connects to at startup
- -db filename
- makes the state of the server
persistent using filename as its repository. If filename
already exists, the server reads the state information saved in
filename. Otherwise an empty filename is created. The
persistent state information includes all the subscriptions and the
peer server connections. Notifications do not persist.
- -detach
- this causes the server to detach as a
background process. With -detach the main command exits
immediately printing the process number of the background server.
- -identity URI
- this forces the server to identify
itself as URI. This may be useful on machines that have two
interfaces (and thus two different IP addresses).
- -log filename
- redirect diagnostic and error
messages to filename. Messages are normally sent to stderr
unless the server is started as a background process with
-detach.
- -monitor hostname
- uses hostname as a
Siena monitor.
- -monitorport number
- specifies the port of the
Siena monitor.
- -port number
- this is the port number that the
server uses to receive subscriptions, notifications, etc.
- -strikeouts number
- when a server fails to
connect to another object for more than number consecutive
times - for example, because the client is not reachable - the server
automatically eliminates that objects from its tables. In other words,
the server assumes that a client or a peer server that do not respond
for more than number times are not alive any more, so it
implicitly unsubscribes all of its subscriptions.