Supriya Ghosh (Editor)

Spread Toolkit

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Spread Concepts LLC

Written in
  
C

Development status
  
Active

Operating system
  
Cross-platform

Initial release
  
1993; 24 years ago (1993)

Stable release
  
4.4.0 / May 28, 2014; 2 years ago (2014-05-28)

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, with much support by the Distributed Systems and Networks Lab (DSN) at Johns Hopkins University, and the Experimental Networked Systems Lab at George Washington University.

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

Bindings

Bindings for Spread Toolkit exist for many languages and platforms:

  • Ada
  • C
  • C++
  • C#
  • Haskell
  • Java
  • Lua
  • Microsoft Excel
  • OCaml
  • Perl
  • PHP
  • Python
  • Ruby
  • Squeak
  • Scheme
  • TCL
  • References

    Spread Toolkit Wikipedia