Reliable Server Pooling (RSerPool)
Welcome to Thomas Dreibholz's
Reliable Server Pooling (RSerPool) Page
Quick Navigation
- Latest News
- RSerPool/RSPLIB in the Media
- Upcoming RSerPool Presentations and Events
- What is Reliable Server Pooling (RSerPool)?
- RSerPool RFCs and Internet Drafts
- A Screenshot
- Publications and Presentations
- Teaching Material
- Our Implementation RSPLIB
- Our Simulation Model RSPSIM
- Our Mailing Lists
- Recommended Links
Latest News
- February 13, 2012
Added latest versions of userland SCTP library (sctplib, socketapi). Note: in the usual case, you do not need userland SCTP to run RSPLIB. Instead, RSPLIB in most cases just runs with kernel SCTP. - February 06, 2012
The RSPSIM simulation model of RSerPool for OMNeT++ has been released as Open Source! See the corresponding code contribution paper in the Research section. - January 01, 2012
Happy new year! This is the 10th year of the RSPLIB implementation! - November 18, 2011
The new stable version 2.7.13 of RSPLIB is now available in the Download section! It contains some bugfixes as well as some improvements of the CSP pool monitoring. - August 27, 2011
The new stable version 2.7.12 of RSPLIB is now available in the Download section! This version improves the CSP monitoring of the pools. - July 20, 2011
Updated Internet Drafts - May 12, 2011
Added slides of LinuxTag 2011 talk. - May 05, 2011
The new stable version 2.7.11 of RSPLIB is now available in the Download section! - March 02, 2011
A new beta version is available. - February 19, 2011
The new stable version 2.7.10 of RSPLIB is now available in the Download section! This version fixes two bugs which may lead to wrong load state information in certain cases. An update is highly recommended. - February 02, 2011
The new stable version 2.7.8 of RSPLIB is now available in the Download section! This version fixes a problem with handling rsplib initialization error cases. - January 25, 2011
The new stable version 2.7.7 of RSPLIB is now available in the Download section! Furthermore, socketapi has been updated to 2.2.3. - January 01, 2011
Happy New Year! The new stable version 2.7.6 of RSPLIB is now available in the Download section! The RSerPool Internet Drafts in the Internet Drafts section have been updated to the latest versions. - December 03, 2010
The release candidate for the upcoming RSPLIB version 2.7.6 is now available in the Download section. - November 23, 2010
Linked new journal article on RSerPool security in the International Journal on Intelligent Information and Database Systems (IJIIDS). - October 27, 2010
Our cooperation project with Hainan University on RSerPool optimizations has been awarded with the "Scientific Research Accomplishments of Institutions of Higher Education of Hainan Province Award"! More details can be found in the Media section! - October 20, 2010
A demo of RSPLIB will be presented on December 8 at the IEEE Global Communications Conference (GLOBECOM) in Miami, Florida/U.S.A.. - August 19, 2010
RSPLIB has just been added to the FreeBSD ports collection! To install RSPLIB on FreeBSD, just go to /usr/ports/net/rsplib and run "make && make install"! - August 09, 2010
Interested in research on protocols and applications with multi-homing support? Have a look at the Call for Papers of the 1st International Workshop on Protocols and Applications with Multi-Homing Support (PAMS 2011)! - July 24, 2010
Added BibTeX and updated RSerPool Internet Drafts in the Internet Drafts section to the latest versions - July 23, 2010
The new stable version 2.7.5 of RSPLIB is now available in the Download section! This version contains a bug fix for the scripting service, which is recommended for users of SimProcTC. - July 8, 2010
The new stable version 2.7.4 of RSPLIB is now available in the Download section! This version contains some scripting service improvements, which are required for the upcoming version of SimProcTC. - June 30, 2010
The new stable version 2.7.2 of RSPLIB is now available in the Download section! - June 19, 2010
The new stable version 2.7.1 of RSPLIB is now available in the Download section! - May 24, 2010
Added the SERA 2010 presentation slides to the Research section. - April 10, 2010
Added the SERA 2010 paper to the Research section. - January 04, 2010
Updated the RSerPool Internet Drafts in the Internet Drafts section to the latest versions. - December 29, 2009
The userland SCTP packages sctplib and socketapi have been updated to the latest stable versions. Note: these packages are only necessary when using RSPLIB on systems providing no kernel SCTP support (e.g. PlanetLab nodes). - December 7, 2009
The new stable version 2.7.0 of RSPLIB is now available in the Download section! Furthermore, a new section "RSerPool/RSPLIB" in the Media" can be found here. - November 30, 2009
I have been awarded for my work on RSerPool with the award "Wissenschaftspreis der Sparkasse Essen". Read the press release here! Photos of the awarding ceremony can be found here. - News Archive
RSerPool/RSPLIB in the Media
October 27, 2010
Our cooperation project with Hainan University on RSerPool optimizations has been awarded with the "Scientific Research Accomplishments of Institutions of Higher Education of Hainan Province Award". A scan of the award document, including an English translation, can be found here!
November 30, 2009
I have been awarded for my work on RSerPool with the award "Wissenschaftspreis der Sparkasse Essen".
News Articles
Photos
September 26, 2008
RSerPool/RSPLIB presentation to software developers and press in Haikou, Hainan/China.
TV Report
- Report on Hainan-TV (Xvid-encoded video)
News Articles
Photos
RSerPool Presentations and Events
Interested in a presentation of RSerPool? Do not hesitate to contact us! Write e-mail to Thomas Dreibholz.
- Presentation at the LinuxTag, Berlin/Germany on May 12, 2011.
- Further presentation schedules coming soon!
What is Reliable Server Pooling?
Introduction
The development and standardization of an application-independent server pooling architecture has been set as the goal of the IETF RSerPool WG. As a result, the working group has created their concept Reliable Server Pooling abbreviated as RSerPool, which at the moment consists on one RFC, several Internet Drafts and our prototype RSPLIB as reference implementation.
Requirements to the Reliable Server Pooling Architecture
As key requirements to the Reliable Server Pooling architecture, the following points has been identified:
Lightweight
The RSerPool solution may not require a significant amount of resources (e.g. CPU power or memory). In particular, it should be possible to realize RSerPool-based systems also on low-power devices like mobile phones, PDAs and embedded devices.
Real-Time
Real-time services like telephone signalling have very strict limitations on the duration of failovers. In the case of component failures, it may be necessary that a "normal" system state is re-established within a time frame of only a few hundreds of milliseconds. In telephone signalling, such a feature is in particular crucial when dealing with emergency calls.
Scalability
Providing services like Distributed Computing, it is necessary to manage pools of many hundreds or even thousands of servers (e.g. animation rendering pools). The RSerPool architecture must be able to efficiently handle such pools. But amount and size of pools are limited to a company or organization. In particular, it is not a goal of RSerPool to handle the global Internet in one pool set.
Extensibility
It must be possible to easily adapt the RSerPool architecture to future applications. In particular, this means to have the possibility to add new server selection procedures. That is new applications can define special rules on which server of the pool is the most appropriate to use for the processing of a request (e.g. the least-used server). The configuration effort of RSerPool components (e.g. adding or removing servers) should be as small as possible. In the ideal case, the configuration should happen automatically, i.e. it should e.g. only be necessary to turn on a new server and it will configure automatically.
The Reliable Server Pooling Architecture

The figure above shows the building blocks of the RSerPool architecture, which has been defined by the IETF RSerPool WG in [draft-ietf-rserpool-arch]. In the terminology of RSerPool a server is denoted as a Pool Element (PE). In its Pool, it is identified by its Pool Element Identifier (PE ID), a 32-bit number. The PE ID is randomly chosen upon a PE's registration to its pool. The set of all pools is denoted as the Handlespace. In older literature, it may be denoted as Namespace. This denomination has been dropped in order to avoid confusion with the Domain Name System (DNS). Each pool in a handlespace is identified by a unique Pool Handle (PH), which is represented by an arbitrary byte vector. Usually, this is an ASCII oder Unicode name of the pool, e.g. "DownloadPool" or "WebServerPool".
Each handlespace has a certain scope (e.g. an organization or company), denoted as Operation Scope. It is an explicit non-goal of RSerPool to manage the global Internet's pools within a single handlespace. Due to the limitation of operation scopes, it is possible to keep the handlespace "flat". That is, PHs do not have any hierarchy in contrast to the Domain Name System with its top-level and sub-domains. This constraint results in a significant simplification of the handlespace management.
Within an operation scope, the handlespace is managed by redundant Registrars. In literature, this component is also denoted as ENRP Server or Name Server. Since "registrar" is the most expressive term, this denotation is used in the whole document. PRs have to be redundant in order to avoid a PR to become a single point of failure (SPoF). Each PR of an operation scope is identified by its Registrar ID (PR ID), which is a 32-bit random number. It is not necessary to ensure uniqueness of PR IDs. A PR contains a complete copy of the operation scope's handlespace. PRs of an operation scope synchronize their view of the handlespace using the Endpoint HaNdlespace Redundancy Protocol (ENRP) defined in [draft-ietf-rserpool-enrp,draft-ietf-rserpool-common-param]. Older versions of this protocol use the term Endpoint Namespace Redundancy Protocol; this naming has been replaced to avoid confusion with DNS, but the abbreviation has been kept. Due to handlespace synchronization by ENRP, PRs of an operation scope are functionally equal. That is, if any of the PRs fails, each other PR is able to seamlessly replace it.
Using the Aggregate Server Access Protocol (ASAP), defined in [draft-ietf-rserpool-asap,draft-ietf-rserpool-common-param] a PE can add itself to a pool or remove it from by requesting a registration or deregistration from an arbitrary PR of the operation scope. In case of successful registration, the PR chosen for registration becomes the PE's Home-PR (PR-H). A PR-H not only informs the other PRs of the operation scope about the registration or deregistration of its PEs, it also monitors the availability of its PEs by ASAP Keep-Alive messages. A keep-alive message by a PR-H has to be acknowledged by the PE within a certain time interval. If the PE fails to answer within a certain timeout, it is assumed to be dead and immediately removed from the handlespace. Furthermore, a PE is expected to re-register regularly. At a re-registration, it is also possible for the PE to change its list of transport addresses or its policy information (to be explained later).
To use the service of a pool, a client - called Pool User (PU) in RSerPool terminology - first has to request the resolution of the pool's PH to a list of PE identities at an arbitrary PR of the operation scope. This selection procedure is denoted as Handle Resolution. For the case that the requested pool is existing, the PR will select a list of PE identities according to the pool's Pool Member Selection Policy, also simply denoted as Pool Policy.
Possible pool policies are e.g. a random selection (Random) or the least-loaded PE (Least Used). While in the first case it is not necessary to have any selection information (PEs are selected randomly), it is required to maintain up-to-date load information in the second case of selecting the least-loaded PE. Using an appropriate selection policy, it is e.g. possible to equally distribute the request load onto the pool's PEs.
After reception of a list of PE identities from a PR, a PU will write the PE information into its local cache. This cache is denoted as PU-side Cache. Out of its cache, the PU will select exactly one PE - again using the pool's selection policy - and establish a connection to it using the application's protocol, e.g. HTTP over SCTP or TCP in case of a web server. Using this connection, the service provided by the server is used. For the case that the establishment of the connection fails or the connection is aborted during service usage, a new PE can be selected by repeating the described selection procedure. If the information in the PU-side cache is not outdated, a PE identity may be directly selected from cache, skipping the effort of asking a PR for handle resolution. After re-establishing a connection with a new PE, the state of the application session has to be re-instantiated on the new PE. The procedure necessary for session resumption is denoted as Failover Procedure and is of course application-specific. For an FTP download for example, the failover procedure could mean to tell the new FTP server the file name and the last received data position. By that, the FTP server will be able to resume the download session. Since the failover procedure is highly application-dependent, it is not part of RSerPool itself, though RSerPool provides far reaching support for the implementation of arbitrary failover schemes by its Session Layer mechanisms.
To make it possible for RSerPool components to configure automatically, PRs can announce themselves via UDP over IP multicast. These announces can be received by PEs, PUs and other PRs, allowing them to learn the list of PRs currently available in the operation scope. The advantage of using IP multicast instead of broadcast is that this mechanism will also work over routers (e.g. LANs connected via a VPN) and the announces will - for the case of e.g. a switched Ethernet - only be heard and processed by stations actually interested in this information. For the case that IP multicast is not available, it is of course possible to statically configure PR addresses.
A Migration Path for Legacy Applications
RSerPool is a completely new protocol framework. To make it possible for existing specialized or proprietary server pooling solutions to iteratively migrate to a RSerPool-based solution, it is mandatory to provide a migration path. For clients without support for RSerPool, the RSerPool concept provides the possibility of a Proxy PU (PPU). A PPU handles requests of non-RSerPool clients and provides an intermediation instance between them and the RSerPool-based server pool. From a PE's perspective, PPUs behave like regular PUs. Similar to a PPU allowing the usage of a non-RSerPool client, it is possible to use a Proxy PE (PPE) to continue using a non-RSerPool server in a RSerPool environment.
The Protocol Stack

The figure above shows the protocol stack of PR, PE and PU. The ENRP protocol is only used for the handlespace synchronization between PRs, all communications between PE and PR (registration, re-registration, deregistration, monitoring) and PU and PR (handle resolution, failure reporting) is based on the ASAP protocol. The failover support, based on an optional Session Layer between PU and PE, is also using ASAP. In this case, the ASAP protocol data (Control Channel) is multiplexed with the application protocol's data (Data Channel) over the same connection. Using the Session Layer functionality of ASAP, a pool can be viewed as a single, highly available server from the PU's Application Layer perspective. Failure detection and handling is mainly handled automatically in the Session Layer, transparent for the Application Layer.
The transport protocol used for RSerPool is usually SCTP. The important properties of SCTP requiring its usage instead of TCP are the following:
Multi-homing and path monitoring by Heartbeat messages for improved availability and verification of transport addresses,
Address reconfiguration (Add-IP, see [draft-ietf-tsvwg-addip-sctp]) to enable mobility and interruption-free address changes (e.g. adding a new network interface for enhanced redundancy),
Message framing for simplified message handling (especially for the Session Layer),
Security against blind flooding attacks by 4-way handshake and verification tag, and
Protocol identification by Payload Protocol Identifier (PPID) for protocol multiplexing (required for the ASAP Session Layer functionality).
For the transport of PR announces by ASAP and ENRP via IP multicast, UDP is used as transport protocol. The usage of SCTP is mandatory for all ENRP communication between PRs and the ASAP communication between PEs and PRs. For the ASAP communication between PU and PR and the Session Layer communication between PE and PU it is recommended to use SCTP, but the usage of TCP together with an adaptation layer defined in [draft-ietf-rserpool-tcpmapping] is possible. This adaptation layer adds functionalities like Heartbeats, message framing and protocol identification on top of a TCP connection. But nevertheless, some important advantages of SCTP are missing - especially the high immunity against flooding attacks and the multi-homing property. The only meaningful reason to use TCP is when the PU implementation cannot be equipped with an SCTP stack, e.g. when using a proprietary embedded system providing only a TCP stack.
A Screenshot
Watch a RSerPool/RSPLIB demonstration video here (Xvid codec required)!
A screenshot of our fractal graphics demo application: two PEs provide a fractal graphics computation service, which is requested by two PUs.

RSerPool RFCs and Internet Drafts
RFC 3237
Requirements for Reliable Server Pooling
Previous versions:
draft-ietf-rserpool-reqts-02, Version 01, Version 00
Historic versions:
draft-tuexen-rserpool-reqts-01, Version 00RFC 5351
An Overview of Reliable Server Pooling Protocols
Historic versions:
draft-ietf-rserpool-overview-06 Version 05, Version 04, Version 03, Version 02, Version 01, Version 00RFC 5352
Aggregate Server Access Protocol (ASAP)
Previous versions: draft-ietf-rserpool-asap-21 Version 20, Version 19, Version 18, Version 17, Version 16, Version 15, Version 14, Version 13, Version 12, Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00
Historic versions: draft-xie-rserpool-asap-01, Version 00RFC 5353
Enpoint Handlespace Redundancy Protocol (ENRP)
Previous versions: draft-ietf-rserpool-enrp-21 Version 20, Version 19, Version 18, Version 17, Version 16, Version 15, Version 14, Version 13, Version 12, Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00
Historic versions: draft-xie-rserpool-enrp-01, Version 00RFC 5354
Aggregate Server Access Protocol and Endpoint Handlespace Redundancy Protocol Common Parameters
Previous versions:
draft-ietf-rserpool-common-param-18 Version 17, Version 16, Version 15, Version 14, Version 13, Version 12, Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00RFC 5355
Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats
Previous versions:
draft-ietf-rserpool-threats-13 Version 12, Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00
Historic versions: draft-stillman-rserpool-threats-02, Version 01, Version 00RFC 5356
Reliable Server Pooling Policies
Previous versions:
draft-ietf-rserpool-policies-10 Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00
Historic versions: draft-tuexen-rserpool-policies-00RFC 5525
Reliable Server Pooling: Management Information Base using SMIv2
Previous versions: Version 12, Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00
Historic versions: draft-mulik-rserpool-mib-00draft-dreibholz-rserpool-asap-hropt-10.txt
Handle Resolution Option for ASAP
Previous versions: Version 09 Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-dreibholz-rserpool-enrp-takeover-07.txt
Takeover Suggestion Flag for the ENRP Handle Update Message
Previous versions: Version 06 Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-dreibholz-rserpool-delay-09.txt
Definition of a Delay Measurement Infrastructure and Delay-Sensitive Least-Used Policy for Reliable Server Pooling
Previous versions: Version 08 Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-coene-rserpool-applic-ipfix-13.txt
Reliable Server Pooling Applicability for IP Flow Information Exchange
Previous versions: Version 12 Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-dreibholz-rserpool-applic-distcomp-12.txt
Applicability of Reliable Server Pooling for Real-Time Distributed Computing
Previous versions: Version 11 Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-dreibholz-rserpool-applic-mobility-11.txt
Applicability of Reliable Server Pooling for SCTP-Based Endpoint Mobility
Previous versions: Version 10 Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-dreibholz-rserpool-score-10.txt
Reliable Server Pooling (RSerPool) Bakeoff Scoring
Previous versions: Version 09 Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-ietf-rserpool-api-00.txt
Reliable Server Pooling Sockets API Extensions
Historic versions: draft-silverton-rserpool-api-01, Version 00draft-ietf-rserpool-service-02.txt
Services Provided By Reliable Server Pooling
Previous versions: Version 01, Version 00
Historic versions: draft-conrad-rserpool-service-03, Version 02, Version 01, Version 00draft-ietf-rserpool-tcpmapping-03.txt
TCP Mapping for Reliable Server Pooling Failover Mode
Previous versions: Version 02, Version 01, Version 00
Historic versions: draft-conrad-rserpool-tcpmapping-01, Version 00draft-ietf-rserpool-arch-12.txt
Architecture for Reliable Server Pooling
Previous versions: Version 11, Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-ietf-rserpool-comp-11.txt
Comparison of Protocols for Reliable Server Pooling
Previous versions: Version 10, Version 09, Version 08, Version 07, Version 06, Version 05, Version 04, Version 03, Version 02, Version 01, Version 00draft-ietf-rserpool-applic-02.txt
Reliable Server pool applicability Statement
Previous versions: Version 00, Version 00
Historic versions: draft-coene-rserpool-applic-01 Version 00draft-xie-rserpool-redundancy-model-03.txt
RSerPool Redundancy-Model Policy
Previous versions: Version 02, Version 01, Version 00
If something is missing, see the Internet Draft archive at Watersprings.org. Please also contact me in case of missing or dead links.
Publications and Presentations
- Thomas Dreibholz, Martin Becke, Hakim Adhari, Erwin Paul Rathgeb
RspSim -- A Simulation Model of the Reliable Server Pooling Framework
OMNeT++ Code Contribution, University of Duisburg-Essen, Institute for Experimental Mathematics
February 2012
Code Contribution as PDF file BibTeX - Thomas Dreibholz
Server-Redundanz und Lastverteilung einfach in eigene Anwendungen integrieren – mit Reliable Server Pooling und RSPLIB
LinuxTag - Where .com meets .org
May 2011
Berlin/Germany
Paper as PDF file BibTeX
Slides as PDF file
Script "povray-distribute"
Script "run-povray-for-files" - Thomas Dreibholz, Xing Zhou, Martin Becke, Jobin Pulinthanath, Erwin P. Rathgeb, Wencai Du
On the Security of Reliable Server Pooling Systems
International Journal on Intelligent Information and Database Systems (IJIIDS)
Volume 4, Number 6
December 2010
Paper as PDF file BibTeX
Thomas Dreibholz, Martin Becke
The RSPLIB Project - From Research to Application
Demo Presentation at the IEEE Global Communications Conference (GLOBECOM)
December 2010
Miami, Florida/U.S.A.
Demo proposal as PDF file BibTeX- Xing Zhou, Thomas Dreibholz, Martin Becke, Jobin Pulinthanath, Erwin P. Rathgeb, Wencai Du
The Software Modeling and Implementation of Reliable Server Pooling and RSPLIB
8th ACIS International Conference on Software Engineering Research, Management and Applications (SERA 2010)
Montreal/Canada
May 2010
Paper as PDF file BibTeX
Slides as PDF file - Thomas Dreibholz, Erwin P. Rathgeb
Overview and Evaluation of the Server Redundancy and Session Failover Mechanisms in the Reliable Server Pooling Framework
International Journal on Advances in Internet Technology (IJAIT)
June 2009
Paper as PDF file BibTeX
Complete journal as PDF file Thomas Dreibholz, Xing Zhou, Erwin P. Rathgeb, Wencai Du
A PlanetLab-Based Performance Analysis of RSerPool Security Mechanisms
10th International Conference on Telecommunications (ConTEL 2009)
Zagreb, Croatia
June 2009
Paper as PDF file BibTeX
Slides as PDF fileXing Zhou, Thomas Dreibholz, Erwin P. Rathgeb, Wencai Du
"Takeover Suggestion" - A Registrar Redundancy Handling Optimization for Reliable Server Pooling Systems
10th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2009)
Daegu, South Korea
May 2009
Paper as PDF file BibTeX
Slides as PDF fileXing Zhou, Thomas Dreibholz, Fu Fa, Wencai Du, Erwin P. Rathgeb
Evaluation and Optimization of the Registrar Redundancy Handling in Reliable Server Pooling Systems
23rd IEEE International Conference on Advanced Information Networking and Applications (AINA 2009)
Bradford, United Kingdom
May 2009
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb, Xing Zhou
SimProcTC - The Design and Realization of a Powerful Tool-Chain for OMNeT++ Simulations
2nd ACM/ICST International OMNeT++ Workshop 2009
Rome, Italy
March 2009
Web-site of the tool-chain SimProcTC, including download
Paper as PDF file BibTeX
Poster as PDF file
Slides as PDF fileXing Zhou, Thomas Dreibholz, Wencai Du, Erwin P. Rathgeb
Evaluation of Attack Countermeasures to Improve the DoS Robustness of RSerPool Systems by Simulations and Measurements
16. ITG/GI Fachtagung Kommunikation in Verteilten Systemen (KiVS 2009)
Kassel, Germany
March 2009
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb
Towards the Future Internet -- An Overview of Challenges and Solutions in Research and Standardization
2nd GI/ITG KuVS Workshop on The Future Internet (Future Internet 2008)
Karlsruhe, Germany
November 2008
Abstract as PDF file BibTeX
Slides as PDF filePascal Schöttle, Thomas Dreibholz, Erwin P. Rathgeb
On the Application of Anomaly Detection in Reliable Server Pooling Systems for Improved Robustness against Denial of Service Attacks
IEEE Local Computer Networks Conference 2008
Montreal, Canada
October 2008
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Xing Zhou
SCTP and RSerPool: Architectures and Protocols for the Future Internet
Haikou, Hainan/People's Republic of China
September 2008
English version of the slides as PDF file (2.3 MBytes!) BibTeX
Chinese version of the slides as PDF file (2.1 MBytes!)
Talk photo 1
Talk photo 2
Talk photo 3
Talk photo 4Thomas Dreibholz, Erwin P. Rathgeb, Xing Zhou
On Robustness and Countermeasures of Reliable Server Pooling Systems against Denial of Service Attacks
IFIP Networking
Singapore
May 2008
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb
An Evalulation of the Pool Maintenance Overhead in Reliable Server Pooling Systems
International Journal of Hybrid Information Technology (IJHIT)
Volume 1, Number 2
April 2008
Paper as PDF file BibTeXThomas Dreibholz, Erwin P. Rathgeb
A Powerful Tool-Chain for Setup, Distributed Processing, Analysis and Debugging of OMNeT++ Simulations
1st International OMNeT++ Workshop
Marseille, France
March 2008
Web-site of the tool-chain SimProcTC, including download
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz
An Introduction to Reliable Server Pooling and the RSPLIB Implementation
Invited Talk at the Hainan University, College of Information Science and Technology
Haikou, Hainan/People's Republic of China
November 2007
Slides as PDF file (7.5 MBytes!) BibTeXThomas Dreibholz, Erwin P. Rathgeb
Reliable Server Pooling -- A Novel IETF Architecture for Availability-Sensitive Services
2nd IEEE International Conference on the Digital Society (ICDS)
Sainte Luce, Martinique
February 2008
IARIA Best Paper Award
Paper as PDF file BibTeX
Slides as PDF fileXing Zhou, Thomas Dreibholz, Erwin P. Rathgeb
A New Server Selection Strategy for Reliable Server Pooling in Widely Distributed Environments
2nd IEEE International Conference on the Digital Society (ICDS)
Sainte Luce, Martinique
February 2008
Paper as PDF file BibTeX
Slides as PDF fileXing Zhou, Thomas Dreibholz, Erwin P. Rathgeb
A New Approach of Performance Improvement for Server Selection in Reliable Server Pooling Systems
15th IEEE International Conference on Advanced Computing and Communication (ADCOM)
Guwahati, India
December 2007
Paper as PDF file BibTeX
Slides as PDF file (10.0 MBytes!)Thomas Dreibholz, Erwin P. Rathgeb
An Evalulation of the Pool Maintenance Overhead in Reliable Server Pooling Systems
IEEE International Conference on Future Generation Communication and Networking (FGCN)
Jeju Island, South Korea
November 2007
Paper as PDF file BibTeX
Slides as PDF file (6.5 MBytes!)Xing Zhou, Thomas Dreibholz, Erwin P. Rathgeb
Evaluation of a Simple Load Balancing Improvement for Reliable Server Pooling with Heterogeneous Server Pools
IEEE International Conference on Future Generation Communication and Networking (FGCN)
Jeju Island, South Korea
November 2007
Paper as PDF file BibTeX
Slides as PDF file (7.0 MBytes!)Xing Zhou, Thomas Dreibholz, Erwin P. Rathgeb
Improving the Load Balancing Performance of Reliable Server Pooling in Heterogeneous Capacity Environments
3rd Asian Internet Engineering Conference (AINTEC)
Phuket, Thailand
November 2007
Paper as PDF file BibTeX
Slides as PDF file (7.5 MBytes!)Thomas Dreibholz
Hochverfügbarkeit mit Reliable Server Pooling
Linuxtage in Essen
Essen, Germany
November 2007
Slides as PDF file (7.5 MBytes!) BibTeXThomas Dreibholz, Erwin P. Rathgeb
Towards the Future Internet -- A Survey of Challenges and Solutions in Research and Standardization
A poster presentation at the Joint EuroFGI and ITG Workshop on "Visions of Future Generation Networks" (EuroView2007)
Würzburg, Germany
July 2007
Demo Proposal as PDF file BibTeX
Poster as PDF file (6.5 MBytes!)Thomas Dreibholz, Xing Zhou, Erwin P. Rathgeb
A Performance Evaluation of RSerPool Server Selection Policies in Varying Heterogeneous Capacity Scenarios
33rd IEEE EuroMicro Conference
Lübeck, Germany
August 2007
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz
Reliable Server Pooling -- Evaluation, Optimization and Extension of a Novel IETF Architecture
Ph.D. Thesis
University of Duisburg-Essen, Faculty of Economcs, Institute for Computer Science and Business Information Systems (ICB)
March 2007
Thesis as PDF file (9 MBytes!) BibTeX
Slides of the defense as PDF file (3 MBytes!)Thomas Dreibholz, Erwin P. Rathgeb
On Improving the Performance of Reliable Server Pooling Systems for Distance-Sensitive Distributed Applications
15. ITG/GI Fachtagung Kommunikation in Verteilten Systemen
Bern, Switzerland
February 2007
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz
RSPLIB - Eine Open Source Implementation von Reliable Server Pooling
Linuxtage in Essen
Essen, Germany
September 2006
Slides as PDF file (7.5 MBytes!) BibTeXThomas Dreibholz, Erwin P. Rathgeb
The Performance of Reliable Server Pooling Systems in Different Server Capacity Scenarios
IEEE Tencon 2005
Melbourne, Australia
November 2005
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb
On the Performance of Reliable Server Pooling Systems
IEEE Local Computer Networks Conference 2005
Sydney, Australia
November 2005
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb
RSerPool - Providing Highly Available Services using Unreliable Servers
31st IEEE EuroMicro Conference
Porto, Portugal
August 2005
Paper as PDF file BibTeX
Slides as PDF file (1.9 MBytes!)Thomas Dreibholz
draft-ietf-rserpool-mib-01.txt - Management Information Base Defintion for Reliable Server Pooling
63rd IETF Meeting
Paris, France
July 2005
Slides as PDF file (2.2 MBytes!) BibTeXThomas Dreibholz
Das RSPLIB-Projekt - Hochverfügbarkeit mit Reliable Server Pooling
LinuxTag 2005
Karlsruhe, Germany
June 2005
Paper as PDF file (in German language) BibTeX
Slides as PDF file (in German language)Thomas Dreibholz, Erwin P. Rathgeb
Implementing the Reliable Server Pooling Framework
IEEE International Conference on Telecommunications (ConTEL 2005)
Zagreb, Croatia
June 2005
Paper as PDF file BibTeX
Slides as PDF fileThomas Dreibholz, Erwin P. Rathgeb, Michael Tüxen
Load Distribution Performance of the Reliable Server Pooling Framework
IEEE International Conference on Networking (ICN 2005)
Saint Gilles Les Bains, Reunion Island
April 2005
Paper as PDF file BibTeXThomas Dreibholz, Erwin P. Rathgeb
An Application Demonstration of the Reliable Server Pooling Framework
An RSPLIB prototype demonstration at the IEEE Infocom Conference 2005
Miami, Florida, U.S.A.
March 2005
Demo Proposal as PDF file BibTeX
Poster as PDF fileThomas Dreibholz
Campus Meeting 2004, Essen: Reliable Server Pooling Demo
Institute for Experimental Mathematics at the University of Duisburg-Essen, Computer Networking Group
December 2004
Slides as PDF file
Slides as OpenOffice presentationThomas Dreibholz
draft-ietf-rserpool-policies-00.txt - Definition of Member Selection Policies
61th IETF Meeting
Washington DC, U.S.A.
August 2004
Slides as PDF file (2.7 MBytes!) BibTeXThomas Dreibholz
An Overview of the Reliable Server Pooling Architecture
IEEE International Conference on Network Protocols (ICNP 2004)
Berlin, Germany
October 2004
Poster proposal as PDF file BibTeX
Poster slides as PDF fileThomas Dreibholz
Member Selection Policies for the Reliable Server Pooling Protocol Suite
60th IETF Meeting
San Diego, California, U.S.A.
August 2004
Slides as PDF file (3.3 MBytes!) BibTeXThomas Dreibholz, Andreas Jungmaier, Michael Tüxen
A new Scheme for IP-based Internet Mobility
The 28th Annual IEEE Conference on Local Computer Networks (LCN 2003)
Königswinter, Germany
November 2003
Paper as PDF file BibTeXThomas Dreibholz
Policy Management in the Reliable Server Pooling Architecture
Multi-Service Networks Conference 2004
Cosener's House, Abingdon, Oxfordshire, United Kingdom
July 2004
Slides as PDF file (4.5 MBytes!) BibTeXThomas Dreibholz, Michael Tüxen
High Availability using Reliable Server Pooling
Linux Conference Australia (LCA'2003)
Perth, Australia
January 2003
Paper as PDF file BibTeX
Paper as PostScript/GZip file
Photo of the conference speakers (JPEG)Thomas Dreibholz
An Efficient Approach for State Sharing in Server Pools
The 27th Annual IEEE Conference on Local Computer Networks (LCN 2002)
Tampa, Florida, U.S.A.
November 2002
Paper as PDF file (short version) BibTeX
Paper as PostScript/GZip file (short version)
Paper as PDF file (long version, PDF)
Paper as PostScript/GZip file (long version)
Teaching Material
LaTeX source versions of the following teaching material is available on request. Write e-mail to Thomas Dreibholz.
Thomas Dreibholz
SCTP and RSerPool - A Practical Exercise
July 2010
Student version as PDF file
Instructor version as PDF file
Our Implementation RSPLIB
RSPLIB, socketapi and sctplib are released under the GNU Public Licence (GPL).
Current Stable Version: 2.7.13
Please have a look at the Handbook and the ReadMe files before installation!
- rsplib-2.7.13.tar.gz, GnuPG signature rsplib-2.7.13.tar.gz.asc
- ReadMe file with installation instructions
- The RSPLIB Handbook
If you do not use kernel SCTP, you also need our userland SCTP implementation sctplib/socketapi. Only in this case, you also need the following two packages. However, in most cases, you just want kernel SCTP. If you are unsure, use kernel SCTP. See the handbook for details!
- socketapi-2.2.5.tar.gz, GnuPG signature socketapi-2.2.5.tar.gz.asc
- sctplib-1.0.11.tar.gz, GnuPG signature sctplib-1.0.11.tar.gz.asc
Development Version
The development version is intended for testing. For production use, install the stable release!
- No public beta yet.
Old Stable Versions
Please have a look at the ReadMe file before trying this version!
- rsplib-2.7.12.tar.gz, GnuPG signature rsplib-2.7.12.tar.gz.asc
- rsplib-2.7.11.tar.gz, GnuPG signature rsplib-2.7.11.tar.gz.asc
- rsplib-2.7.10.tar.gz, GnuPG signature rsplib-2.7.10.tar.gz.asc
- rsplib-2.7.8.tar.gz, GnuPG signature rsplib-2.7.8.tar.gz.asc
- rsplib-2.7.7.tar.gz, GnuPG signature rsplib-2.7.7.tar.gz.asc
- rsplib-2.7.6.tar.gz, GnuPG signature rsplib-2.7.6.tar.gz.asc
- rsplib-2.7.5.tar.gz, GnuPG signature rsplib-2.7.5.tar.gz.asc
- rsplib-2.7.4.tar.gz, GnuPG signature rsplib-2.7.4.tar.gz.asc
- rsplib-2.7.3.tar.gz, GnuPG signature rsplib-2.7.3.tar.gz.asc
- rsplib-2.7.2.tar.gz, GnuPG signature rsplib-2.7.2.tar.gz.asc
- rsplib-2.7.1.tar.gz, GnuPG signature rsplib-2.7.1.tar.gz.asc
- rsplib-2.7.0.tar.gz, GnuPG signature rsplib-2.7.0.tar.gz.asc
- rsplib-2.6.4.tar.gz, GnuPG signature rsplib-2.6.4.tar.gz.asc
- rsplib-2.6.2.tar.gz, GnuPG signature rsplib-2.6.2.tar.gz.asc
- rsplib-2.6.1.tar.gz, GnuPG signature rsplib-2.6.1.tar.gz.asc
- rsplib-2.6.0.tar.gz, GnuPG signature rsplib-2.6.0.tar.gz.asc
- rsplib-2.5.0.tar.gz, GnuPG signature rsplib-2.5.0.tar.gz.asc
- rsplib-2.4.0.tar.gz, GnuPG signature rsplib-2.4.0.tar.gz.asc
- rsplib-2.3.1.tar.gz, GnuPG signature rsplib-2.3.1.tar.gz.asc
- rsplib-2.2.0.tar.gz, GnuPG signature rsplib-2.2.0.tar.gz.asc
- rsplib-2.1.0.tar.gz, GnuPG signature rsplib-2.1.0.tar.gz.asc
- rsplib-2.0.1.tar.gz, GnuPG signature rsplib-2.0.1.tar.gz.asc
- rsplib-2.0.0.tar.gz, GnuPG signature rsplib-2.0.0.tar.gz.asc
- rsplib-1.0.0.tar.gz, GnuPG signature rsplib-1.0.0.tar.gz.asc
- rsplib-0.3.2.tar.gz, GnuPG signature rsplib-0.3.2.tar.gz.asc
- rsplib-0.1.0.tar.gz, GnuPG signature rsplib-0.1.0.tar.gz.asc
The files have been signed using my GnuPG key. You can find my public key here. You will also find a mirror for the stable version files here: http://www.sctp.de/rserpool.html.
Ubuntu binary package installation
I have created Ubuntu binary packages in a Launchpad PPA repository. To use the repository, add the following lines to /etc/apt/sources.list (Important: you may have to replace "precise" by the name of your actual Ubuntu distribution, e.g. oneiric, natty, maverick, lucid, karmic, jaunty, hardy):
deb ppa.launchpad.net/dreibh/ubuntu precise main
deb-src ppa.launchpad.net/dreibh/ubuntu precise main
Furthermore, also add my GnuPG key to ensure that the packages are valid:
gpg --keyserver keyserver.ubuntu.com --recv-keys CCEB82DF916C56E0 && gpg --export -a CCEB82DF916C56E0 | sudo apt-key add -
After sources configuration, you can install the RSPLIB packages. The following packages are available:
- rsplib-registrar - RSerPool registrar
- rsplib-tools - RSerPool test tools
- librsplib-dev - Headers for RSerPool core API library rsplib
- librsplib2 - RSerPool core API library rsplib
- rsplib-services - Example RSerPool services
FreeBSD ports installation
To install RSPLIB under FreeBSD from the ports collection, just go to "/usr/ports/net/rsplib" and run "make && make install" (as root!).
Installation from sources
- 1. If you are using kernel SCTP, skip this step. Else, get a compatible version of the sctplib from http://www.sctp.de/sctp.html
- Install it:
prompt> tar xzvf sctplib-XXXX.tar.gz
prompt> cd sctplib-XXX
prompt> ./configure
prompt> make
prompt> make install (as root!) - Now, the sctplib should be installed under /usr/local.
- Install it:
- 2. If you are using kernel SCTP, skip this step. Else, get a compatible version of the socketapi from http://www.sctp.de/sctp.html
- Install it:
prompt> ./configure
If configure fails due to incompatible version of the sctplib, go to step 1 and install a compatible version first. Then, try again.
prompt> make
prompt> make install (as root!)
- Install it:
- 3. Install RSPLIB:
- Install it:
prompt> ./configure
To use userland SCTP, use the parameter --disable-kernel-sctp!
prompt> make - Read the ReadMe file in the main directory for how to use the examples.
- Install it:
Our Simulation Model RSPSIM
RSPSIM is released under the GNU Public Licence (GPL).
Downloads:
Our Mailing Lists
- RSPLIB Announcement List sctp-announce (at) sctp.de:
Mailing Archives,
Subscribe/Unsubscribe. - RSPLIB General Discussion List rsplib-discussion (at) sctp.de:
Mailing Archives,
Subscribe/Unsubscribe. - sctplib and socketapi General Discussion List sctp-discussion (at) sctp.de:
Mailing Archives,
Subscribe/Unsubscribe.
Recommended Links
RSerPool Introductions on Wikipedia
- English
- German (thanks to Jobin Pulinthanath)
- Chinese (thanks to Xing Zhou)
- Bosnian (thanks to Nihad Cosic)
- Croatian (thanks to Nihad Cosic)
- Italian
- French
- Spanish
What about helping Wikipedia by adding an article in your language?


