Stable and fault-tolerant object allocation

Support for efficient dynamic migration and replication of objects is essential for achieving adequate performance and scalability. Traditional solutions to the problem focused on competitiveness. This means that the algorithm's complexity matches the offline adversary's complexity within an acceptable ratio. We define and study the allocation problem under two new measures: stability and fault tolerance. Stability considers the performance of an object allocation algorithm when the object access patterns at the individual nodes of a distributed system stabilize. We present a new algorithm for uniform networks based on the idea of sliding windows. Besides being optimally competitive, the algorithm also exhibits good stability. For fault-tolerance, we consider the performance of allocation algorithms when at least t copies need to be maintained. We derive a lower bound on the competitiveness of such algorithms. Finally, we modify our earlier solution so that it is also optimally fault-tolerant.