Finally, we examine the adaptation of Beehive to global changes in the parameter of the overall query distribution. We issue queries from Zipf-like distributions generated with different values of the Zipf parameter at each 24 hour interval. We seeded these simulations with 4096 objects.
Figure 8 shows the lookup performance of Beehive as it adapts to changes in the parameter of the query distribution. Beehive effectively detects changes in the Zipf parameter and redistributes object replicas to meet targeted performance objectives. Figure 9 shows the average number of objects replicated at each node in the system by Beehive. As the Zipf parameter varies, so do the number of replicas Beehive creates on each node. Beehive increases the number of replicated objects per node as the Zipf parameter decreases to meet the targeted performance goal, and reduces the number of replicas as the Zipf parameter increases to reclaim space. The number of replicas per node shown in Figure 9 agrees with optimal solution provided by the analytical model. Overall, continuously monitoring and estimating the Zipf parameter of the query distribution enables Beehive to adjust the extent and level of replication to compensate for drastic, global changes.