Spread has been used in a variety of open source and commercial applications in addition to research projects. Below is a list of some of these projects.
Please let us know if you would like your project to be added to this list.
Research Projects
Secure
Spread
The Secure Spread research project studies
the integration of security services with reliable group
communication.
Wackamole
Wackamole
is a high-availability virtual cluster support
application that manages virtual IP addresses and
guarantees that no matter what machines in the cluster
are working, all of the virtual IP addresses are covered
by exactly one machine. Wackamole also tries to balance
the number of virtual IP addresses handled by each
server. See also N-Way
Fail-Over Infrastructure for Reliable Servers and
Routers.
Oasis
A
distributed storage system for small scale clusters
implemented in-memory using a distributed shared memory.
A research project at UC Riverside. Papers about it can
be found here.
MEAD
Proactively
Reconfigurable, Adaptive, Reliable Middleware. A
software distribution and papers are available from the
website. A research project at CMU led by Priya
Narasimhan.
ATLAS RepDB*
RepDB* is an Open Source Software data management component for replicating
autonomous databases or data sources in a cluster system. It has been
developed in the context of the Leg@net RNTL project. RepDB* supports
preventive advanced data replication capabilities which are independent of
the underlying DBMS. It uses general, non intrusive techniques. It is
implemented in Java on Linux and supports various DBMS: Oracle, PostGresQL
and BerkeleyDB. It has been validated on the Atlas 8-node cluster and another
32-node cluster at INRIA-Rennes.
Applications
Secure
Spread
A commercially available high performance
multicast and group communication service that ensures
the confidentiality and integrity of messages, and is
resilient to faults across local area or wide area
networks.
mod_log_spread
An
Apache module that provides reliable distributed logging
of a cluster of Apache webservers. A logging patch for
thttpd
is also available. This is currently used by sites as
large as 60+ machines to provide centralized logs of the
entire cluster, as well as multiple log copies for
redundency and auditablity reasons.
Fedora Unity Spread Logging
This is an online article explaining how Fedora Unity deployed Spread logging for Apache
to centralize their logging. They also provide a new perl-based logging client to replace
mod_log_spread which doesn't work well in Apache 2
Splash
A
caching module for Apache-SSL that allows a cluster of
SSL enabled webservers to share the cache of active SSL
connections. This improves the performance of the
cluster by preventing renegotiation of keys when a
client changes which webserver it is connecting to.
MySQL Message API
The MySQL Message API is a set of User-Defined Functions (UDFs)
that enable MySQL database servers to send and receive messages
across a network. They allow MySQL users to do this using simple SQL queries
that result in a message being sent to other applications or service using Spread.
The code can be downloaded at either the main site or a Google Code
Download Location.
Zope
Replication Services
The Zope Replication Service
increases the reliability and performance for all Zope
enterprise clusters by providing standby servers that
maintain redundant data storage and eliminate the
storage system as a single point of failure.
Spread
Management Tools
Several tools that make it
easier to manage a Spread network. One tool is a
liveness tester for the Spread daemon that can be used
with the Nagios/NetSaint NMS. A second tool is a small
program to count the number of messages sent to a Spread
group and plot a graph of the messages over time on a
web page.
Ssrc Wisp™ Event-based distributed service framework
Ssrc Wisp™ (pronounced source wisp) allows you to rapidly build event-based distributed services in C++. Events are delivered as native C++ data structures, avoiding the complexity and performance cost of manipulating intermediate serialization formats. Services may send/receive point-to-point messages or send/receive events to/from groups of services using the same communication API.
Perl
Messaging:Courier library
A Perl Messaging API
that uses Spread as it's underlying messaging
implementation. It describes itself as providing
"asynchronous and synchronous access to a message
queue.".
Perl Spread-Queue module
Spread-Queue provides a set of perl modules that provide a shared queue that multiple workers can pull messages from to share a workload.
User/Flooder
The
user and flooder programs are provided with the Spread
distribution. They provide demonstrations of the Spread
API, working test programs, and a simple performance
benchmark.
Congruity
Replication
Multi-master (peer) replication,
supporting a range of application semantics. Provides
low latency and high throughput replication in
environments that may experience server crashes and
network partitions.
RESTGroups
RESTGroups is a group communication API for developing resilient RESTful Web Services. Our current implementation is based on Spread Toolkit. Contrary to exisiting group communication systems, RESTGroups represents group communication abstractions as resources on the Web, addressed by URIs, and has a small API that consists of just four methods of the HTTP protocol. This provides Web application developers with a uniform way of using group communication, aiding software integration and reuse.