Load Balancing of Autonomous Applications and Databases in a Cluster System
Résumé
Clusters of PC servers make new businesses like Application Service Provider (ASP) economically viable. In the ASP context, hosted applications and databases can be update-intensive and must remain autonomous so they can be subject to definition changes to accommodate customer requirements. In this paper, we propose a new solution for load balancing of autonomous applications and databases. Our solution is similar to Distributed Shared Memory in that it provides a shared address space to applications with distributed and replicated databases. The main idea is to allow the system administrator to control the tradeoff between consistency and performance when placing applications and databases onto cluster nodes. Application requirements are captured through rules stored in a shared catalog. They are used (at run time) to allocate cluster nodes to user requests in a way that optimizes load balancing. They are also used with the database logs to detect and repair inconsistency problems.