You are presented with multiple paper abstracts, alongside the associated literature review and chapter titles. Given the provided information, you are going to do a literature review. Please generate a coherent literature review that synthesizes the content, draws connections between different works, highlights major findings, and identifies any gaps in the existing research.

Literature Review Title: Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey 
Chapter Title:  Self-Adaptive Switching 
1. Abstract of Cited Paper (BIB001):  Elasticity algorithms for cloud infrastructures dynamically change the amount of resources allocated to a running service according to the current and predicted future load. Since there is no perfe ... 
2. Abstract of Cited Paper (BIB002):  In the presence of scale, dynamism, uncertainty and elasticity, cloud software engineers faces several challenges when modeling Quality of Service (QoS) for cloud-based software services. These challenges can be best managed through self-adaptivity because engineers’ intervention is difficult, if not impossible, given the dynamic and uncertain QoS sensitivity to the environment and control knobs in the cloud. This is especially true for the shared infrastructure of cloud, where unexpected interference can be caused by co-located software services running on the same virtual machine; and co-hosted virtual machines within the same physical machine. In this paper, we describe the related challenges and present a fully dynamic, self-adaptive and online QoS modeling approach, which grounds on sound information theory and machine learning algorithms, to create QoS model that is capable to predict the QoS value as output over time by using the information on environmental conditions, control knobs and interference as inputs. In particular, we report on in-depth analysis on the correlations of selected inputs to the accuracy of QoS model in cloud. To dynamically selects inputs to the models at runtime and tune accuracy, we design self-adaptive hybrid dual-learners that partition the possible inputs space into two sub-spaces, each of which applies different symmetric uncertainty based selection techniques; the results of sub-spaces are then combined. Subsequently, we propose the use of adaptive multi-learners for building the model. These learners simultaneously allow several learning algorithms to model the QoS function, permitting the capability for dynamically selecting the best model for prediction on the fly. We experimentally evaluate our models in the cloud environment using RUBiS benchmark and realistic FIFA 98 workload. The results show that our approach is more accurate and effective than state-of-the-art modelings.

Literature Review:
Beyond the utilization of a single self-adaptive module, some auto-scalers have employed a more adaptive framework, which we call self-adaptive switching. In these auto-scalers, they concurrently connect multiple nonadaptive or self-adaptive controllers and actively switch control between controllers based on their observed performance on the application. The included selfadaptive controllers continuously tune themselves in parallel. However, at each moment, only the selected best controller can provision resources. Patikirikorala et al. BIB001 employed this approach, and Ali-Eldin et al. BIB002 proposed a self-adaptive switching approach based on the classification of the application workload characteristics, i.e., their periodicity and the burstiness. Chen et al. BIB003 proposed an approach that trains multiple resource estimation models and dynamically selects the one that performs the best.