Spread Toolkit

From Wikipedia, the free encyclopedia
Jump to: navigation, search
The Spread Toolkit
Developer(s) Spread Concepts LLC
Initial release 1993; 22 years ago (1993)
Stable release 4.2 / June 18, 2012; 2 years ago (2012-06-18)
Development status Active
Written in C
Operating system Cross-platform
Type Group communication system, peer-to-peer
License The Spread Open-Source License
Website www.spread.org

The Spread Toolkit is a computer software package that provides a high performance group communication system that is resilient to faults across local and wide area networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast, group communication, and point to point support. Spread services range from reliable messaging to fully ordered messages with delivery guarantees.

The toolkit consists of a messaging server, and client libraries for many software development environments, including C/C++ libraries (with and without thread support), a Java class to be used by applets or applications, and interfaces for Perl, Python, and Ruby. Interfaces for many other software environments have been provided by third parties.

In typical operation, each computer in a cluster runs its own instance of the Spread server, and client applications connect locally to that server process. The Spread servers, in turn, communicate with each other to pass messages to subscriber applications. It can also be configured so that clients distributed across the network all communicate with a Spread server process on one host.

The Spread Toolkit is developed by Spread Concepts LLC,[1] with much support by the Distributed Systems and Networks Lab (DSN) at Johns Hopkins University,[2] and the Experimental Networked Systems Lab at George Washington University.[3]

Partial funding was provided by the Defense Advanced Research Projects Agency (DARPA) and The National Security Agency (NSA).

Bindings[edit]

Bindings for Spread Toolkit exist for many languages and platforms:

References[edit]

External links[edit]