MIME-Version: 1.0 Server: CERN/3.0 Date: Sunday, 01-Dec-96 18:41:39 GMT Content-Type: text/html Content-Length: 3598 Last-Modified: Sunday, 10-Nov-96 18:28:23 GMT Ensemble

THE ENSEMBLE DISTRIBUTED COMMUNICATION SYSTEM

Ensemble is the next generation of the Horus group communication toolkit, also developed at Cornell University. Visit the Horus page for more information about Horus, papers on group communication, and pointers to other sites with related information.

Language support

Note that the current distribution primarily provides support for applications developed in the ML programming language. However, interfaces to several other languages are under developlment and will be made available soon. (You can check out our roadmap for future development to see what our plans are.)

Building applications with Ensemble

For an application builder, Ensemble provides a library of protocols that can be used for quickly building complex distributed applications. An application registers 10 or so event handlers with Ensemble, and then the Ensemble protocols handle the details of reliably sending and receiving messages, transferring state, implementing security, detecting failures, and managing reconfigurations in the system.

A research tool

For a distributed systems researcher, Ensemble is a highly modular and reconfigurable toolkit. The high-level protocols provided to applications are really stacks of tiny protocol "layers." These protocol layers each implement several simple properties: they are composed to provide sets of high-level properties, such as total ordering, security, virtual synchrony, etc.... Individual layers can be modified or rebuilt to experiment with new properties or change the performance characteristics of the system. This makes Ensemble a very flexible platform on which to do research.

Other Information

Mark Hayden