mod_backhand is project that allows seamless redirection of HTTP requests from one web server to another. This redirection can be used to target machines with under-utilized resources, thus providing fine-grained, per-request load balancing of web requests. Backhand is a project that was initiated in class at The Johns Hopkins University in The Department of Computer Science. After a simple proof of concept, written in C++, the project was pursued as a graduate qualifier project.
A proof of concept was realized, but a deployable product was needed. In order for public use, testing and, ultimately, acceptance, we wished to provide drop-in functionality in the most popular web server on the net.
mod_backhand was born. This drop-in module for the Apache Web Server provides a turnkey solution for intra-cluster redirection of HTTP on a per-request basis. The redirection is based on various system resources available within the cluster. This service is provided seamlessly, preserving remote host information for access/authentication purposes. As with the methodology of Apache, the redirection mechanism can be enabled or disable for individual directories.
System resources are announced by the module to the cluster via ethernet broadcasts and/or IP multicasts. These resources are made available to the decision making algorithms that drive mod_backhand.