Spread Toolkit

The Spread Toolkit
Developer(s)Spread Concepts LLC
Initial release1993; 31 years ago (1993)
Stable release
5.0.1 / May 16, 2018; 6 years ago (2018-05-16)[1]
Written inC
Operating systemCross-platform
TypeGroup communication system, peer-to-peer
LicenseThe Spread Open-Source License
Websitewww.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,[2] with much support by the Distributed Systems and Networks Lab (DSN) at Johns Hopkins University,[3] and the Experimental Networked Systems Lab at George Washington University.[4]

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]
  1. ^ "The Spread Toolkit - Release Notes and Changes". spread.org. Retrieved 2021-04-29.
  2. ^ Spread Concepts LLC
  3. ^ Distributed Systems and Networks Lab, Johns Hopkins University
  4. ^ Experimental Networked Systems Lab, George Washington University
[edit]