Siena (
Scalable
Internet
Event
Notification
Architectures) is a research project aimed
at designing and constructing a generic
scalable publish/subscribe
event-notification service. The technical basis of
Siena
is an innovative type of network service called
content-based networking.
Overview
The asynchrony, heterogeneity, and inherent loose coupling that
characterize applications in a wide-area network promote
event
interaction as a natural design abstraction for a growing class of
software systems. An emerging building block for such systems is an
infrastructure called
publish/subscribe event notification
service.
Software systems of a significant dimension, especially those that are
distributed over a computer network, are often engineered by means of
the integration of components. A promising approach to support
component-based software architectures is the so-called event-based
style whereby the interaction of components is modeled with
events. Components emit events to inform other components of a
change in their internal state or to request services from other
components. Upon detecting the occurrence of events, components react
by executing some actions and possibly emitting other events. The glue
that ties components together in an event-based architecture is an
infrastructure that we call event service. The event service
registers the interests of components and then dispatches event
notifications accordingly. The advantage of using an event service
instead of other "classical" integration mechanisms such as direct
or remote invocation is that this method increases the degree of
de-coupling among components thus eliminating static dependencies and
improving interoperability.
We envision a ubiquitous event notification service accessible from
every site on a wide-area network and suitable for supporting highly
distributed applications requiring component interactions ranging in
granularity from fine to coarse. Conceptually, the service is
implemented as a network of servers that provide access points to
clients. Clients use the access points to advertise the
information about events that they generate and to publish
notifications containing that information. They also use the access
points to subscribe for notifications of interest. The service
uses the access points to then notify clients by delivering any
notifications of interest. Clearly, an event notification service
complements other general-purpose middleware services, such as
point-to-point and multicast communication mechanisms, by offering a
many-to-many communication and integration facility.
Given that the primary purpose of an event notification service is to
support notification selection and delivery, the challenge we face in
a wide-area setting is maximizing expressiveness in the
selection mechanism without sacrificing scalability in the
delivery mechanism. Expressiveness refers to the ability of the event
notification service to provide a powerful data model with which to
capture information about events, to express filters and patterns on
notifications of interest, and to use that data model as the basis for
optimizing notification delivery. In terms of scalability, we are
referring not simply to the number of event generators, the number of
event notifications, and the number of notification recipients, but
also to the need to discard many of the assumptions made for
local-area networks, such as low latency, abundant bandwidth,
homogeneous platforms, continuous and reliable connectivity, and
centralized control.
Intuitively, a simple event notification service that provides no
selection mechanism can be reduced to a multicast routing and
transport mechanism for which there are numerous scalable
implementations. However, once the service provides a selection
mechanism, then the overall efficiency of the service and its routing
of notifications are affected by the power of the language used to
construct notifications and to express filters and patterns.
As the power of the language increases, so does the
complexity of the processing. Thus, in practice, scalability and
expressiveness are two conflicting goals that must be traded off.
Siena is an event notification service that we have designed
and implemented to maximize both expressiveness and scalability. A prototype implementation of
Siena is available.
People
Documents
Articles are available in Portable Document Format (
PDF)
or
PostScript®
format and some of them are compressed with
gzip.
Downloading any one of these documents indicates that you agree to
abide by a
copyright
notice.
Papers
-
A. Carzaniga,
M.J. Rutherford,
and A.L. Wolf
"A Routing Scheme for Content-Based Networking".
Proceedings of IEEE INFOCOM 2004. Hong Kong, China.
March, 2004.
- A. Carzaniga and A. L. Wolf
"Forwarding in a Content-Based Network".
Proceedings of ACM SIGCOMM 2003. p. 163-174. Karlsruhe,
Germany. August, 2003.
-
A. Carzaniga,
M.J. Rutherford,
and A.L. Wolf
"A Routing Scheme for Content-Based Networking". Technical Report
pCU-CS-953-03, Department of Computer Science, University of
Colorado, June, 2003.
- M. Caporuscio, A. Carzaniga,
and A.L. Wolf
"Design and Evaluation of a Support Service for Mobile,
Wireless Publish/Subscribe Applications". Technical Report
CU-CS-944-03, Department of Computer Science, University of
Colorado, January, 2003.
-
M. Caporuscio,
A. Carzaniga, and A.L. Wolf
"An
Experience in Evaluating Publish/Subscribe Services in a Wireless
Network". Third International Workshop on Software and
Performance. In conjunction with International Symposium on
Software Testing and Analysis (ISSTA). Rome, Italy. July, 2002.
- A. Carzaniga
and A.L. Wolf
"A Benchmark Suite for Distributed Publish/Subscribe
Systems". Technical Report CU-CS-927-02, Department of
Computer Science, University of Colorado, April, 2002.
-
A. Carzaniga and
A.L. Wolf
"Fast
Forwarding for Content-Based Networking". Technical Report
CU-CS-922-01, Department of Computer Science, University of
Colorado, November, 2001. Revised, September 2002.
-
A. Carzaniga,
and A.L. Wolf
"Content-based Networking: A New Communication
Infrastructure". NSF Workshop on an Infrastructure for Mobile
and Wireless Systems. In conjunction with the International
Conference on Computer Communications and Networks
ICCCN. Scottsdale, AZ. October, 2001.
-
A. Carzaniga,
D.S. Rosenblum, and A.L. Wolf
"Design and Evaluation of a Wide-Area Event Notification
Service". ACM Transactions on Computer Systems,
19(3):332-383, Aug 2001.
-
A. Carzaniga, D.S. Rosenblum, and A.L. Wolf
"Achieving Expressiveness and Scalability in an Internet-Scale
Event Notification Service". Nineteenth ACM Symposium on
Principles of Distributed Computing (PODC2000), Portland OR. July,
2000.
-
A. Carzaniga, D. S. Rosenblum, and A. L. Wolf
"Content-Based Addressing and Routing: A General Model and its
Application". Technical Report CU-CS-902-00, Department of
Computer Science, University of Colorado, January, 2000.
-
A. Carzaniga, D. S. Rosenblum, and A. L. Wolf
"Interfaces and Algorithms for a Wide-Area Event Notification
Service". Technical Report CU-CS-888-99, Department of
Computer Science, University of Colorado, October, 1999 (revised May
2000).
- A. Carzaniga
"Architectures for an Event Notification Service Scalable to
Wide-area Networks".
PhD Thesis. Politecnico di Milano. December, 1998.
-
A. Carzaniga, D. S. Rosenblum, and A. L. Wolf
"Challenges for Distributed Event Services: Scalability
vs. Expressiveness". Engineering Distributed Objects
(EDO '99), ICSE 99 Workshop, Los Angeles CA. May, 1999.
-
A. Carzaniga, E. Di
Nitto, D. S. Rosenblum,
and A. L. Wolf
"Issues in Supporting Event-Based Architectural
Styles". 3rd International Software
Architecture Workshop (ISAW3). Orlando, FL. November, 1998.
-
A. Carzaniga, D. S. Rosenblum, and A. L. Wolf
"Design
of a Scalable Event Notification Service: Interface and
Architecture". Technical Report CU-CS-863-98, Department of
Computer Science, University of Colorado, August, 1998.
-
D. S. Rosenblum and A. L. Wolf
"A Design Framework for Internet-Scale Event Observation and
Notification". 6th European Software
Engineering Conference. Lecture Notes in Computer Science 1301,
Springer, Berlin, 1997, pages 344-360.
-
D. S. Rosenblum, A. L. Wolf and A. Carzaniga
"Critical Considerations and Designs for Internet-Scale,
Event-Based Compositional Architectures". Workshop on
Compositional Software Architectures. Monterey, CA. January, 1998.
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, F30602-97-2-0021,
F30602-98-2-0163, and F30602-99-C-0174; by the Air Force Office of
Scientific Research, Air Force Materiel Command, USAF, under grant
number F49620-98-1-0061; and by the National Science Foundation under
Grant Number CCR-9701973. The content of the information does not
necessarily reflect the position or the policy of the US Government
and no official endorsement should be inferred.
We thank David S. Rosenblum for his foundational contribution to
this project. We also 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.