A Survey of Event Systems
This work-in-progress lists existing and proposed
systems and protocols for event notification. Please also see our
bibliography of event notification
papers. We are hoping to annotate the systems below with short
descriptions as soon as possible.
- Application Control Architecture (Digital) -
see [Patrick, 1993]
- Active Software -
http://www.activesw.com/
- Actors -
see [Agha, 1986] and
[Agha, 1990] and
[Frolund and Agha, 1995] and
[Agha, 1997] and
http://www-osl.cs.uiuc.edu/
- Active Databases -
http://liinwww.ira.uka.de/bibliography/Database/adc.html
- AFS (Andrew File System) caching and promises -
see [Kazar, 1988] and
[Macklem, 1994]
- AppleEvents -
http://developer.apple.com/techpubs/mac/Toolbox/Toolbox-29.html
- Amalgame -
see [Franchitti and King, 1993]
- Atlantis -
see [Valetto and Kaiser, 1996] and
http://www.psl.cs.columbia.edu/atlantis/atlantis.html
- Backweb -
http://www.backweb.com/html/communication.html
Middleware push.
- Bart -
see [Beach et al., 1992]
A software bus to support improved control and data integration
relative to BMS.
- BEA Tuxedo -
http://www.beasys.com/
Middleware transaction processing monitor.
- BLIP (Basic Lightweight Information Protocol) -
http://www.blip.org/
Provides application-level message services based on the
publish-and-subscribe model; MIME message notifications are delivered
in real-time streams, and application-level transaction services
are available.
- C2 Architectural Style -
see [Whitehead et al., 1995] and
[Taylor et al., 1996] and
http://www.ics.uci.edu/pub/arch/c2.html
- CAI (Century Analysis Inc.) -
http://www.cainc.com/
Applications integration middleware with message broker.
- CISCO Publish & Subscribe Open Reference Specification -
http://www.cisco.com/warp/public/146/standards.html
- COM+ (Component Object Model) Events -
http://www.microsoft.com/com/complus.htm
- COMANDOS -
see [Balter et al., 1991]
Software communication and synchronization through shared objects
instead of BMS-style messages.
- Consul -
http://www.cs.arizona.edu/ftol/consul/
Communication substrate that allows construction of
fault-tolerant programs based on replicated processing.
Abstractions include a multicast service, a membership service, and a
recovery service.
- CORBA (Common Object Request Broker Architecture) Notification RFP -
http://www.omg.org/library/schedule/Notification_Service_RFP.htm
- CORBA transaction events -
http://www.omg.org/corba/sectrans.htm#event
- Cricket -
see [Gorlick, 1992]
Message bus scheme with domains for tool integration.
- Cronus OS
Operating system that allows the construction of WAN-based and
multi-organisational applications, investigation into the integration
of distributed systems and network management systems, and work in
high-performance distributed computing.
- CrossWorlds -
http://www.crossworlds.com/
Front-end and back-end application integration messaging middleware.
- DCE (Distributed Common Environment) -
see [Open Software Foundation,
1990] and
http://www.opengroup.org/dce/
Control integration using RPCs.
- DEEDS -
see [Liang et al., 1994]
- Desert -
see [Reiss, 1996] and
http://www.cs.brown.edu/software/desert/
- Design Pattern: Mediator -
see [Gamma et al., 1995]
- DHCP (Dynamic Host Configuration Protocol) -
ftp://ftp.isi.edu/in-notes/rfc2131.txt
- DIS (Distributed Interactive Simulation) -
see [IEEE, 1995] and
http://www.stl.nps.navy.mil/dis-java-vrml/AnnotatedReferences.html
- Discrete Event Simulations -
http://liinwww.ira.uka.de/bibliography/Misc/Discrete.event.html
- DNS (Domain Name System) Notifications -
ftp://ftp.isi.edu/in-notes/rfc1996.txt
- DRP (Distribution and Replication Protocol over HTTP, by Marimba) -
http://www.w3.org/TR/NOTE-drp-19970825
Middleware push.
- DSN (Delivery Status Notifications) -
ftp://ftp.isi.edu/in-notes/rfc1894.txt
- EBI (Event-Based Integration) -
see [Barrett et al., 1996]
- e-cast (Lucent) -
http://www.bell-labs.com/project/e-cast/rms_aboutrms.html
- Elvin -
http://www.dstc.edu.au/Elvin/
- ENP (Event Notification Protocol) -
http://www.ietf.org/internet-drafts/draft-skreddy-enpreq-00.txt /
http://www.ietf.org/internet-drafts/draft-reddy-enp-protocol-00.txt
Uses WebDAV extensions to HTTP in a service allowing users to register
interest in resources for later notifications of property and state
value changes.
- Ensemble -
http://simon.cs.cornell.edu/Info/Projects/Ensemble/index.html
- Facilitators -
see [Tenenbaum et al., 1992]
Federation architecture for enterprise integration rather than
using a central repository of enterprise knowledge.
- FIELD -
see [Reiss, 1989] and
[Reiss, 1990]
Academic tool integration using a central anonymous broadcast message
server (BMS).
Can integrate messages tightly into tools (by providing message send
and receive calls) or loosely (by invoking command line-oriented tools
from scripts that include message send and receive commands).
- finger -
ftp://ftp.isi.edu/in-notes/rfc1288.txt
- FUSE (Digital Equipment Corporation) -
see [Digital Equipment
Corporation, 1991]
Commercial broadcast message server based on FIELD.
DEC EnCASE wraps tools.
- GENA (General Event Notification Architecture) -
http://www.ietf.org/internet-drafts/draft-cohen-gena-p-base-01.txt
HTTP extensions that allow the transmission of notifications between
HTTP resources.
- Glish -
see [Paxson and Saltmarsh, 1993]
Interpreted language for building distributed systems from modular,
event-oriented programs. Centralized communication model where
interprocess communication passes through a central interpreter,
but also supports point-to-point communication for efficiency.
- GtK (Getting to Know) -
see [Ramduny, Dix, and Rodden,
1998]
An experimental notification server that supports impedance matching.
- HORUS -
http://simon.cs.cornell.edu/Info/Projects/HORUS/
- HTTP (HyperText Transfer Protocol) -
http://www.ics.uci.edu/pub/ietf/http/ /
ftp://ftp.isi.edu/in-notes/rfc2068.txt
- HyperWeb -
see [Ferrans et al., 1992]
Control integration based on a FIELD-like message server,
data integration using a PCTE-based object management system,
plus support of hypermedia and scripting language. Academic.
- iBus -
http://www.softwired.ch/ibus.htm
A lightweight publish/subscribe information bus that is standalone and
only depends on the standard Java classes. iBus' protocol composition
framework borrows from the design of Horus and of the x-kernel.
- ICQ -
http://www.icq.com/
- IDIP (IDentity Infrastructure Protocol) -
ftp://ietf.org/internet-drafts/draft-fujimoto-idip-00.txt
Supports the coordinated communications between online identities.
- iFlame -
http://www-swiss.ai.mit.edu/~dml/iflame.html
Extensions to Zephyr with extended security.
- Information Bus -
see [Skeen, 1992] and
[Oki et al., 1993
- Infospheres Global Event Model (GEM) -
see [Chandy and Rifkin, 1997] and
[Chandy et al., 1998] and
http://www.infospheres.caltech.edu/
- Intermind -
http://www.intermind.com/
- Iona OrbixTalk -
http://www.iona.com/
Events through an Object Request Broker.
- IP Multicast -
http://www.stardust.com/ipmulticast/
- IPP (Internet Printing Protocol) -
http://www.pwg.org/ /
http://www.ietf.org/internet-drafts/draft-ietf-ipp-not-01.txt
- IRC (Internet Relay Chat) -
http://www.irchelp.org/
- ISIS -
http://simon.cs.cornell.edu/Info/Projects/ISIS/ISIS.html
Reliable messaging using protocol stacks and virtual synchrony.
- Java AWT event model -
http://java.sun.com/products/jdk/1.1/docs/guide/awt/designspec/events.html
- Java Beans -
http://splash.javasoft.com/beans/glasgow.html /
http://splash.javasoft.com/ejb/
- Java Beans event model for delegation -
http://java.sun.com/docs/books/tutorial/ui/components/eventintro.html
- Java Distributed Events -
http://www.ics.uci.edu/IRUS/wisen/abs_waldo.html /
http://www.javasoft.com/products/javaspaces/specs/ev.pdf
- Java Foundation Classes Swing event model -
http://java.sun.com/products/jfc/swingdoc-static/what_is_swing.html
- Java InfoBus -
http://java.sun.com/beans/infobus/
- Java OS event model -
http://www.sun.com/microelectronics/embedded/javaos.html
- JavaSpaces -
http://java.sun.com/products/javaspaces/ /
http://www.javasoft.com/products/javaspaces/whitepapers/jspaper.pdf
- Java Transaction Service -
http://splash.javasoft.com/jts/jts.html
- JEDI (Java Event-based Distributed Infrastructure) -
see [Cugola et al., 1998] and
http://www.cefriel.it/se/ArchMiddl.html#JEDI
- JINI -
http://java.sun.com/products/jini/index.html
- Keryx (Hewlett Packard) -
see [Brandt and Kristensen,
1997] and
http://keryxsoft.hpl.hp.com/
- LDAP (Lightweight Directory Access Protocol) Change Notification
Mechanism using Persistent Search -
http://www.ietf.org/internet-drafts/draft-ietf-ldapext-psearch-01.txt
- Leases -
see [Gray and Cheriton, 1989]
- Linda tuple spaces -
http://www.cs.yale.edu/HTML/YALE/CS/Linda/linda.html
- Logical Clocks -
see [Lamport, 1978]
- Maisie discrete events -
http://may.cs.ucla.edu/projects/maisie/
Language based on C for parallel programming and simulation.
- Majordomo -
http://www.greatcircle.com/majordomo/
- Mariposa distributed database management system -
http://mariposa.cs.berkeley.edu/
- Mediators -
see Sullivan and Notkin, 1992]
Tools implicitly invoke mediators that integrate them.
Similar to software brokers and facilitators.
- Mentat -
http://csissun13.ee.virginia.edu/~mentat/homepage.html
Language based on C++ for parallel programming and simulation.
- Message Bus -
see [Kaplan et al., 1992] and
[Denimal et al., 1993]
Connects local area network tools such as ConversationBuilder to
support collaborative work activities.
- MessageQ -
http://www.messageQ.com/
A vendor-independent source for information about
message-oriented business process integration.
- MFTP (Multicast File Transfer Protocol, from Starburst OmniCast) -
http://www.starburst.com/
- MMS (Manufacturing Message Specification) -
http://litpc13.epfl.ch/MMS/mms_main.htm
- MSMQ (Microsoft Message Queue)
Windows NT operating system feature providing loosely-coupled and
reliable network communications services based on message queueing.
- MQ*Series (IBM) -
http://www.software.ibm.com/ts/mqseries/integrator/
Messaging software enabling business applications to exchange
information across over twenty-five different operating system
platforms.
- MTP (Multicast Transport Protocols) -
http://www.roads.lut.ac.uk/DS-Archive/MTP.html
- MTS (Microsoft Transaction Service) -
http://www.microsoft.com/com/mts.htm
- NNTP (Network News Transfer Protocol) -
http://www.academ.com/academ/nntp/ /
ftp://ftp.isi.edu/in-notes/rfc977.txt
- NSTP (Notification Service Transfer Protocol) -
see [Day et al., 1996]
- OPC (OLE for Process Control) -
http://www.opcfoundation.org/alarmsevents.htm
- OpenDoc -
http://cil.org/
- Ousterhout's event preference to threads -
see [Ousterhout, 1996]
- Pilgrim -
see [DiBella and Bhandaru, 1992]
- PIP-DEMO -
ftp://ietf.org/internet-drafts/draft-mohr-pip-pipdemo-00.txt
An interoperable presence information protocol.
- PIPR (Presence Information Protocol Requirements) -
http://www.ietf.org/internet-drafts/draft-dusseault-pipr-00.txt /
http://www.ietf.org/internet-drafts/draft-day-rpim-00.txt /
http://egg.microsoft.com/rvp/archive/9805/msg00005.html
- PLAN (Programming Language for Active Networks) -
http://www.cis.upenn.edu/~switchware/PLAN/
- Pointcast -
http://www.pointcast.com/
- POLYLITH -
see [Purtilo, 1994]
Program units interface directly to the software bus and not to each
other. Module interconnection language guides static interface
activities such as stub generation and compilation.
- Q -
see [Maybee, 1993]
Academic set of matched interfaces that enable interprocess
communication between Ada and C programs, with a communication
model and a type model.
- REXX -
see [Cowlishaw, 1985]
Standard macro language for coordinating operations between
applications running within a single operating system.
- RIP (Routing Information Protocol) -
ftp://ftp.isi.edu/in-notes/rfc1058.txt
- RMP (Reliable Multicast Protocol) -
http://research.ivv.nasa.gov/RMP/links.html
- Rosenblum/Wolf Internet-scale event notifications model -
see [Rosenblum and Wolf, 1997]
- RPCs (Remote Procedure Calls) -
see [Birrell and Nelson, 1984]
- RVP (RendezVous Protocol) -
http://www.ietf.org/internet-drafts/draft-calsyn-rvp-01.txt /
http://egg.microsoft.com/wilma/wilma/rvp
Loosely based on HTTP, RVP accommodates notifications for people
subscribing to other peoples' status information.
- Schooner Interconnection System -
http://www.cs.arizona.edu/schooner/
A software interconnection system connects components into a single
program in a manner that is transparent to the user, and provides
configuration and execution control over the resulting computation.
- SDL BMS (Broadcast Message Server) -
see [Barrett, 1993]
Academic message routing service built on top of Q.
- SGAP (Simple General Awareness Protocol) -
http://www.ietf.org/internet-drafts/draft-day-rpim-00.txt /
http://www.ietf.org/internet-drafts/draft-day-sgap-01.txt /
http://www.ietf.org/internet-drafts/draft-day-envy-00.txt /
http://egg.microsoft.com/rvp/archive/9805/msg00005.html
Provides notifications of changes that users, groups, or resources of
interest are available.
- SHADE -
see [Gruber et al., 1991]
Loosely-coupled tools in collaborative environment with
a shared design representation.
- SIENA (Scalable Internet Event Notification Architecture) -
see [Rosenblum, Wolf, and
Carzaniga, 1998] and
http://www.cs.colorado.edu/users/serl/dot/siena.html
- SIMNET -
see [Calvin et al., 1993] and
http://www.columbia.edu/~rk35/vr/vr.html
- SIN (Simple Internet Notifications) -
http://www.ietf.org/internet-drafts/draft-nerenberg-sin-00.txt
- SIP (Session Invitation Protocol) -
http://www.cs.columbia.edu/~hgs/sip/ /
http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sip-08.txt
An application-layer control protocol for creating, modifying, and
terminating sessions with one or more participants.
- SMTP (Simple Mail Transfer Protocol) -
ftp://ftp.isi.edu/in-notes/rfc821.txt
- SNMP (Simple Network Management Protocol) Traps -
ftp://ftp.isi.edu/in-notes/rfc1157.txt
- SoftBench (Hewlett Packard) -
see [Cagan, 1990] and
[Gerety, 1990] and
http://www.hp.com/esy/go/softbench.html
Commercial broadcast message server based on FIELD.
HP Encapsulator wraps tools.
- SOFTPEN -
see [BSO France SA, 1992]
Uses common language for tool-to-tool integration.
- Software Brokers -
see [Arnold et al., 1992]
Intermediaries to simplify the connection between tools.
- Software Bus (Eureka) -
see [Verrall, 1991] and
[Fernstrom et al., 1992]
Commercial heterogeneous CASE tool integration.
- Sophtalk -
see [Jacobs et al., 1993]
Multicast communication, asynchronous and synchronous I/O, and
interprocess communication services.
- SRM (Scalable Reliable Multicast) -
http://www-nrg.ee.lbl.gov/floyd/srm.html
- SWAP (Simple Workflow Access Protocol) -
http://www.ics.uci.edu/pub/ietf/swap/ /
http://www.ietf.org/internet-drafts/draft-swenson-swap-prot-00.txt
Uses HTTP to transfer structured work control and monitoring information.
- SwitchWare -
http://www.cis.upenn.edu/~switchware/
- Talarian SmartSockets -
http://www.talarian.com/
Sockets allowing multiple processes to work together over a
heterogeneous network (LAN, WAN, or the Internet).
- Taligent -
http://www.software.ibm.com/ad/taligent/
- Talkd -
see BSD Unix Manual
- Teamwave -
http://www.teamwave.com/
- Tibco Rendezvous Software Bus -
http://www.rv.tibco.com/
Proprietary subject-based (instead of address-based) public-subscribe
interchange of information between applications running on
heterogeneous platforms. Real-time and transactional delivery
guarantees.
- TICKLE -
see [Julienne and Holtz, 1994]
Commercial RPC-based system for tool integration using messages.
- Ubique -
http://www.ubique.com/
- VIE Systems Copernicus
- Virtual Worlds -
http://www.research.microsoft.com/vwg/
Online social interaction that supports a sense of history or a memory
of what people build, share, and exchange.
- Vitria -
http://www.vitria.com/
Realtime application integration using messaging.
- VMTP -
see [Cheriton and Williamson, 1989]
- Waldo's events-over-RPC -
see [Waldo et al., 1995]
A networked point-to-point event notification system implemented over RPCs.
- WBEM (Web-Based Enterprise Management) -
http://wbem.freerange.com/wbem/standards.htm
- Win32 windowing event model -
see Charles Petzold, Programming Windows 95
- WhoDP (Widely Hosted Object Data Protocol) -
http://www.activerse.com/ding/info/whodp.html
- X Windows server/client event model -
http://www.x.org/
- Yahoo Pager -
http://pager.yahoo.com/pager/
- Yeast (Yet another Event-Action Specification Tool) -
see [Krishnamurthy
and Rosenblum, 1995]
Client-server system in which distributed clients register event-action
specifications with a centralized server, which performs event detection
and specification management.
- Zephyr -
see [DellaFera et al., 1988] and
ftp://athena-dist.mit.edu/ftp/pub/ATHENA/zephyr/OLD/doc/progman.PS
Adam Rifkin,
http://www.ifindkarma.com/attic/
Rohit Khare,
http://www.ics.uci.edu/~rohit/
Last modified: Sun Jul 12 21:53:24 PDT 1998