[Spread-users] Announcing a major new version of the Spread Toolkit 3.17.0 - www.spread.org
Yair Amir
yairamir at cnds.jhu.edu
Mon Sep 30 14:29:39 EDT 2002
Spread Concepts LLC and Johns Hopkins Center for Networking and Distributed
System are happy to announce the release of a new stable version, 3.17.0,
of the Spread toolkit.
This release includes new features, substantial build improvements and
some bugfixes that break backwards compatibility. This break with
backwards compatibility and the new features are the reason for the
increase in minor version number.
Spread is a toolkit that provides a high performance messaging service
that is resilient to faults across external or internal networks. Spread
functions as a unified message bus for distributed applications, and
provides highly tuned application-level multicast and group communication
support. Spread services range from reliable message passing to fully
ordered messages with delivery guarantees, even in case of computer
failures and network partitions.
Spread is designed to encapsulate the challenging aspects of asynchronous
networks and enable the construction of scalable distributed applications,
allowing application builders to focus on the differentiating components
of their application.
Note, that the library name change from libsp to libspread requires any
application using Spread to change how they link. Some new functions
were also added to the C API to provide access to certain membership
fields, these functions replace the hardcoded byte offsets that were
previously documented and should be used instead of those fixed offsets
in all applications.
The new features are:
1) Enhance the group membership algorithm so very large groups and very
large numbers of groups will be merged correctly during a membership.
With this change Spread should correctly handle groups with thousands
of members and thousands of groups. This also includes the optimization
of sending groups messages as FIFO and AGREED instead of SAFE.
Thanks to Ryan Caudy from Hopkins for doing this work.
2) Revamped build setup using autoconf instead of manual Makefiles. Thanks
to Theo Schlossnagle for writing this and updating it. Some small changes
were made to Theo's 3.16.2 patch to incorporate it.
3) Applied Daniel Rall's SO_REUSEADDR patch. This adds a new configuration
option SocketPortReuse that can either force SO_REUSEADDR on or off
for TCP server sockets, or set it to an auto mode that uses REUSEADDR
if specific interfaces are specified in the spread.conf file and
does not use it if the default of INADDR_ANY is used. If you force
this on, be aware that it can open up a security risk where other
processes can steal Spread's traffic.
4) Changed library name from libsp to libspread. This is both more descriptive
and should fix the problem with library clashes with other libsp's.
5) Applied Daniel Rall's patch to make the spread execution directory and
the user and group it runs as configurable at runtime.
Bugfixes:
6) Fix GGT bug where Spread gets stuck or crashes if you reach GGT state.
This bug was introduced when Spread 3.x adopted the research version of
the session layer.
7) Make sure service_type is set to 0 before using it in SP_receive calls
in sample programs (spuser, spflooder, simple_user).
8) Fix Mem_Alloc blocks so they can be freed without assertion failure.
9) Fix hanging bug where token rotates, but ARU is stuck.
Documentation:
10) Split the growing changelog at the beginning of Readme.txt into a
separate file.
11) Updates to man pages. Clarify service_type handling. Add info on accessor
functions for membership message body.
With the Spread Open Source License, the toolkit may be freely
used under some conditions. For example, the license includes the
requirement that all advertising materials (including web pages)
mentioning software that uses Spread display a specific acknowledgement.
Please review the license agreement for more details.
http://www.spread.org/license/
Other commercial licenses or other licensing arrangements are available.
Please contact michal at spreadconcepts.com. We are looking for partners
interested in using group communication and/or replication to solve
demanding, real-world problems.
/===========================================================================\
| The Spread Group Communication Toolkit. |
| Copyright (c) 1993-2002 Spread Concepts LLC |
| All rights reserved. |
| |
| The Spread package is licensed under the Spread Open-Source License. |
| You may only use this software in compliance with the License. |
| A copy of the license can be found at http://www.spread.org/license |
| |
| This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF |
| ANY KIND, either express or implied. |
| |
| Spread is developed at Spread Concepts LLC and the Center for Networking |
| and Distributed Systems, The Johns Hopkins University. |
| |
| Creators: |
| Yair Amir yairamir at cs.jhu.edu |
| Michal Miskin-Amir michal at spreadconcepts.com |
| Jonathan Stanton jonathan at cs.jhu.edu |
| |
| Major Contributors: |
| Cristina Nita-Rotaru crisn at cnds.jhu.edu - group communication security.|
| Theo Schlossnagle jesus at omniti.com - Perl, skiplists, autoconf. |
| Dan Schoenblum dansch at cnds.jhu.edu - Java interface. |
| John Schultz jschultz at d-fusion.net - contribution to process |
| group membership. |
| |
| Contributors: |
| Ryan Caudy wyvern at cnds.jhu.edu - Group membership |
| Ben Laurie ben at algroup.co.uk - FreeBSD port and warning fixes |
| Daniel Rall dlr at finemaltcoding.com - Java & networking fixes, |
| configuration improvements |
| Marc Zyngier - Windows fixes |
| |
| Special thanks to the following for providing ideas and/or code: |
| Ken Birman, Danny Dolev, Mike Goodrich, Ben Laurie, |
| David Shaw, Robbert VanRenesse. |
| |
| Partial funding provided by the Defense Advanced Research Projects Agency |
| (DARPA) and The National Security Agency (NSA) since 2000. The Spread |
| toolkit is not necessarily endorsed by DARPA or the NSA. |
| |
| WWW : http://www.spread.org and http://www.cnds.jhu.edu |
| Contact: spread at spread.org |
| |
| Version 3.17.0 Built 25/September/2002 |
\===========================================================================/
More information about the Spread-users
mailing list