EVpath is designed to be an event transport middleware layer. Specifically, it is designed to allow for the easy implementation of overlay networks, with active data processing, routing and management at all points in the overlay.

EVpath specifically does not encompass global overlay creation, management or destruction functions. Rather it focusses on providing efficient environment for routine transport, while providing interfaces necessary for external management layers.

The package is built around the concept of "stones" (like stepping stones) which are linked to build end-to-end "paths". While the "path" is not an explicitly supported construct in EVpath, the goal is to provide all the local, stone-level, support necessary to accomplish their setup, monitoring, management, modification and tear-down.

Stones in EVpath are lightweight entities that roughly correspond to processing points in dataflow diagrams. Stones of different types perform data filtering, data transformation, mux and demux of data as well as transmission of data between processes over network links.

To see EVPath as it is, please peruse the Doxygen-generated documentation.  It's as much of a manual as exists at this point.

Getting EVpath.

EVPATH is available under the new BSD license. EVPATH requires several packages from the Chaos repository at Georgia Tech: dill, cercs_env, atl, ffs, and evpath.

At present, the easiest way to get EVPath is to build it directly for your environment. In an empty directory do:
   wget http://www.cc.gatech.edu/systems/projects/EVPath/chaos_bootstrap.pl
to download a bootstrapping perl script. If you run this perl script without arguments it will set up an environment for building the latest stable release of EVPath, with an install target of $HOME/{lib,bin,include}. If you wish to change either of these, either run the script with a "-i" (interactive) argument, or specify a version tag as a first argument and an install directory as a second.

After you have bootstrapped, run the installed chaos_build.pl script to build and install EVPath. If there are build failures, please let us know.

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 asking for non-anonymous SVN access for relevant packages.

This page is maintained by  Greg Eisenhauer