System and method for an application space server cluster

Abstract

A system and method for implementing a scalable, application-space, highly-available server cluster. The system demonstrates high performance and fault tolerance using application-space software and commercial-off-the-shelf hardware and operating systems. The system includes an application-space dispatch server that performs various switching methods, including L4/2 switching or L4/3 switching. The system also includes state reconstruction software and token-based protocol software. The protocol software supports self-configuring, detecting and adapting to the addition or removal of network servers. The system offers a flexible and cost-effective alternative to kernel-space or hardware-based clustered web servers with performance comparable to kernel-space implementations.