The Spread Toolkit is a computer software package that provides a high performance
group communication system that is resilient to faults across
local
Local may refer to:
Geography and transportation
* Local (train), a train serving local traffic demand
* Local, Missouri, a community in the United States
Arts, entertainment, and media
* ''Local'' (comics), a limited series comic book by Bria ...
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
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
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
The Johns Hopkins University (often abbreviated as Johns Hopkins, Hopkins, or JHU) is a private university, private research university in Baltimore, Maryland, United States. Founded in 1876 based on the European research institution model, J ...
, and the Experimental Networked Systems Lab at
George Washington University.
Experimental Networked Systems Lab
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
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
* Lua
*Microsoft Excel
Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
*OCaml
OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
* Perl
* PHP
* Python
* Ruby
*Squeak
Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imaginee ...
* Scheme
* TCL
References
External links
*{{Official website
Middleware