• Studieninteressierte
  • Studierende
  • Forschende
  • Unternehmen
  • Alumni
  • Presse
  • DE
  • EN
  • NL
Institut:Institut für Informatik und WirtschaftinformatikICB

Haupt-Navigation

  • IEM
  • Aktuelle Meldungen
  • Ausschreibungen
  • Studium & Lehre
  • Forschung
    • Forschungsprojekte
      • Reliable Server Pooling
      • SCTP
      • G-Lab
      • SUNsHINE
      • Peer-to-Peer Networking
      • VoIP Security
    • Abgeschlossene Projekte
    • Publikationen
    • ITG-Fachgruppe
  • Wirtschaft & Praxis
  • Workshops
  • Team
TDR

Sie befinden sich gerade hier:

  • Home
  • Forschung
  • Forschungsprojekte
  • Reliable Server Pooling
  • Reliable Server Pooling - News Archive

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 

    Go to the 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

  • Campus Aktuell 12/09
  • University of Duisburg-Essen Pressemitteilungen

Photos

  • Photo 1
  • Photo 2

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

  • Article on Hainan News
  • Article on China News

Photos

  • Photo 1
  • Photo 2
  • Photo 3
  • Photo 4

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 00 

  • RFC 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 00 

  • RFC 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 00 

  • RFC 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 00 

  • RFC 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 00 

  • RFC 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 00 

  • RFC 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-00 

  • RFC 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-00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-ietf-rserpool-api-00.txt 
    Reliable Server Pooling Sockets API Extensions 
    Historic versions: draft-silverton-rserpool-api-01, Version 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-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 00 

  • draft-ietf-rserpool-applic-02.txt 
    Reliable Server pool applicability Statement 
    Previous versions: Version 00, Version 00 
    Historic versions: draft-coene-rserpool-applic-01 Version 00 

  • draft-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 file 

  • Xing 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 file 

  • Xing 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 file 

  • Thomas 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 file 

  • Xing 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 file 

  • Thomas 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 file 

  • Pascal 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 file 

  • Thomas 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 4 

  • Thomas 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 file 

  • Thomas 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 BibTeX 

  • Thomas 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 file 

  • Thomas 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!) BibTeX 

  • Thomas 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 file 

  • Xing 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 file 

  • Xing 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!) BibTeX

  • Thomas 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 file 

  • Thomas 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 file 

  • Thomas Dreibholz 
    RSPLIB - Eine Open Source Implementation von Reliable Server Pooling 
    Linuxtage in Essen 
    Essen, Germany 
    September 2006 
    Slides as PDF file (7.5 MBytes!) BibTeX 

  • Thomas 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 file 

  • Thomas 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 file 

  • Thomas 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!) BibTeX 

  • Thomas 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 file 

  • Thomas 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 BibTeX 

  • Thomas 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 file 

  • Thomas 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 presentation 

  • Thomas 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!) BibTeX 

  • Thomas 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 file 

  • Thomas 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!) BibTeX 

  • Thomas 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  BibTeX 

  • Thomas 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!) BibTeX 

  • Thomas 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. 
  • 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!) 
  • 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.

Our Simulation Model RSPSIM

RSPSIM is released under the GNU Public Licence (GPL).

Downloads:

  • rspsim-5.0.tar.gz
  • Code Contribution (PDF)

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?

Other Sources

  • IETF RSerPool Status Pages
  • IETF Document Stats: Thomas Dreibholz
  • Michael Tüxen's SCTP page
  • Lode Coene's SCTP page
  • Michael Tüxen's RSerPool page
  • Randy Stewart's SCTP page

Etiam pulvinar sapien sagittis enim dapibus rhoncus sed et magna. Quisque rutrum varius enim, et tincidunt tellus facilisis quis. Maecenas tortor neque, semper eu hendrerit ac, sollicitudin id nisi. Nulla quam mauris, aliquam quis pretium ac, sagittis eget leo. Nulla dictum dolor nec justo auctor consectetur. Donec sed ipsum arcu, at cursus velit. Vestibulum nulla elit, volutpat non interdum et, sollicitudin in lectus.

Neben-Navigation

  • Aktuelle Meldungen
  • Ausschreibungen
  • Kontakt
  • Suche
  • Sitemap
  • Impressum