The ECho Event Delivery System

Version 2.2

ECho is an event delivery middleware system developed at Georgia Tech. ECho is distinguished by efficient and flexible support for event typing and the ability to assign event handlers to specific threads for transparent support of both inter- and intra-process communication. ECho also introduces the concept of a "derived event channel." ECho uses dynamic code generation to implement derived event channels and exploit their ability to move user-level processing to remote locations. ECho is described in the following publications:

ECho's supported platforms include: Sun Sparc SunOS 4.1, Sun Sparc Solaris 2.x, x86 Solaris 2.x, SGI MPIS Irix 5.x, SGI MIPS (32 and 64-bit) Irix 6.x, and x86 Linux. Windows NT/2K support is forthcoming.

ECho Version 2 is now based on the Connection Manager (CM) library. CM is a DLL-based messaging middleware that is designed to help manage the complexity of systems with multiple communication links between heterogenous machines.  It provides an infrastructure to assist in building networks of entities communicating application-specific data. The previous, DataExchange-based version of ECho is no longer being maintained. No new program sets should be developed for it. Users of the DE-based ECho may with to refer to the porting guide in order to update their programs to the new version. Note that programs based on the DataExchange-based version of ECho will not interoperate with the CM-based version of ECho.

Getting ECho.

ECho source is available for academic research purposes. Users outside College of Computing, please Email for access. CoC users can download a source tarball directly. Alternatively, for binary installations we have :

Be aware that you need to customize the /usr/local/lib/cercs_config (or ${HOME}/cercs_config) file to reflect your systems configuration if you use it on a non CoC machine. Installation instructions available.

However, if you're going to be making changes, porting to a new platform or doing anything else that may require closer ties to our source trees, please consider a CVS checkout for relevant packages.

This page is maintained by  Greg Eisenhauer