@InProceedings{ LCA2003, author = "Thomas Dreibholz and Michael Tüxen", title = "{High Availability using Reliable Server Pooling}", booktitle = "{Proceedings of the Linux Conference Australia~(LCA)}", numpages = "11", day = "24", month = jan, year = "2003", address = "Perth, Western Australia/Australia", language = "english", keywords = "Reliable Server Pooling~(RSerPool), Server Pooling, RSPLIB", abstract = "{Providing fault tolerancy is crucial for a growing number of IP-based applications. There exist a lot of proprietary solutions for this problem, but free alternatives are rare. Currently, the IETF RSerPool working group is standardizing a protocol suite for Reliable Server Pooling, which copes with the challenge of providing high availability by using redundant servers. Servers for the same service are grouped into a server pool. A server in a pool is called pool element (PE), a user of a pool is called pool user (PU). When a PE fails, its PUs simply select another one from the pool and initiates an application-specific failover procedure. This fail-over is supported by the RSerPool protocol suite. Each PE registers at a name server and is then continously supervised by that specific name server. All name servers of an operational scope provide a redundant system for name resolution from pool handles to transport addresses of pool elements to pool users. RSerPool uses SCTP to provide network fault tolerance and address scoping functionality. The RSPLIB is a prototype implementation of the RSerPool protocol suite, developed under the GNU Public License in cooperation between Siemens and the Computer Networking Technology Group of the University of Essen. It currently runs under Linux, FreeBSD and Darwin. Our paper covers aspects of designing and implementing highly available applications using RSerPool with our RSPLIB implementation. First, we will give an introduction to the RSerPool protocol suite and an overview of the RSPLIB components. Then, we describe the RSPLIB API, especially focussing on the implementation of pool element and pool user programs to provide high reliability. Furthermore, we show our current implementation status and future plans. This will be followed by a short look on the problems that can arise when the RSerPool architecture is used. Finally, we give an example how RSerPool can be used to realize highly available services. And last but not least, we show how distributed computing architectures can make use of the RSerPool architecture.}", url = "https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/RSerPool-Paper.pdf", url.size = "80645", url.md5 = "eac12b5e0912b99b881727f2fc096970", url.mime = "application/pdf", url.pagesize = "595 x 842 pts (A4)", url.checked = "2014-04-02 17:08:16 CEST" }