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:  SESSION STICKINESS 
1. Abstract of Cited Paper (BIB001):  Cloud data centers are becoming the preferred deployment environment for a wide range of business applications because they provide many benefits compared to private in-house infrastructure. However, the traditional approach of using a single cloud has several limitations in terms of availability, avoiding vendor lock-in, and providing legislation-compliant services with suitable Quality of Experience (QoE) to users worldwide. One way for cloud clients to mitigate these issues is to use multiple clouds (i.e., a Multi-Cloud). In this article, we introduce an approach for deploying three-tier applications across multiple clouds in order to satisfy their key nonfunctional requirements. We propose adaptive, dynamic, and reactive resource provisioning and load distribution algorithms that heuristically optimize overall cost and response delays without violating essential legislative and regulatory requirements. Our simulation with realistic workload, network, and cloud characteristics shows that our method improves the state of the art in terms of availability, regulatory compliance, and QoE with acceptable sacrifice in cost and latency.

Literature Review:
A session is a series of interactions between a client and the application. After each operation, the client waits for the reply given by the application and then proceeds. To ensure a seamless experience, it is necessary to keep the intermediate statuses of clients during their sessions. Otherwise, the operations conducted by the clients will be lost and they have to repeat the previous operations to proceed. Taking a social network application as an example, a session may involve the following operations: the client first accesses the home page and then logs into the application; after that, he or she performs several actions such as viewing his or her and friends' timeline, uploading photos, and updating his or her status, before quitting the application. This session-based access pattern has caused issues in efficiently utilizing elastic resources in the cloud because the stateful nature of the session forces the user to be connected to the same server each time he or she submits a request within the session if the session data is stored in the server. Such sessions are considered sticky. They limit the ability of the auto-scaler to terminate underutilized instances when there are still unfinished sessions handled by them. Therefore, it is regarded as a prerequisite to transforming stateful servers into stateless servers before an autoscaler can manage them. There are multiple ways to achieve this, and a complete introduction to them is out of the scope of this article. The most adopted approach is to move the session data out of the web servers and store them either at the user side or in a shared Memcached cluster. Though most auto-scalers require the scaling cluster to be stateless, some auto-scalers are designed to handle stateful instances. Chieu et al. BIB001 proposed an auto-scaler based on the number of active sessions in each server. Their approach requires a server to clear all its active sessions before it can be terminated. Grozev et al. BIB002 proposed a better approach by integrating a similar auto-scaler with a load balancing algorithm that consolidates sessions within as few instances as possible.