Browse Prior Art Database

Method and system for dynamic management of cache eviction in multitenant environments

IP.com Disclosure Number: IPCOM000239143D
Publication Date: 2014-Oct-16
Document File: 3 page(s) / 47K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to use a dynamically changing traffic factor for dynamic management of cache eviction in a multitenant environment. The traffic factor is adjusted based on the system resource consumption, and allows providers to provide more effective caching to the important tenants while effectively using system resources.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Method and system for dynamic management of cache eviction in multitenant environments

Caching is one of the most critical and fundamental components of modern Web applications . Without proper caching strategy, it is impossible to achieve reasonable scalability on the Internet and deliver good user experience. In addition, a sound caching strategy, with more efficient use of hardware resources, can help reduce total cost of ownership (TCO).

The fundamental principle of caching is that some highly accessed component (e.g., static widget on the page, information that is not frequently updated, etc.) should be cached and delivered to the user without executing expensive business logic or input/output (I/O) operations. Advanced caching allows the reuse of personalized content as well reduced system overhead for targeted users. The caching resources (e.g., memory), however, are limited; therefore, achieving high cache hit ratios is extremely important for acceptable performance results.

While constructing an effective caching strategy (e.g., finding the correct cache keys, invalidation triggers, etc.) is a difficult task, it becomes more difficult in multi-tenant environments, especially when it comes to cache eviction policies.

For classical single tenant scenarios, cache eviction is usually based solely on cache-hit ratio metric. The most hit web pages or other data are stored in cache and the lesser used ones are evicted. This approach allows us to achieve the optimal performance, since the most "in demand" pages are cached.

This principle however is not always applicable to multitenant environments. To demonstrate it, consider the following example:

A multitenant eCommerce Software as a Solution (SaaS) application hosts two tenants: Retailer A and Retailer B. The traffic on the Retailer A site is high, although the revenue numbers are quite small. The traffic on the Retailer B site is much lower, but revenues are quite large in comparison to Retailer A.

In classic scenario of cache-hit eviction, it is likely that almost no pages for the Retailer B store will be cached, and therefore the site is likely to have rather bad performance. That can be a big issue if the revenue for the eCommerce SaaS provider is based on a model of revenue percentage from tenants, if Retailer B is a reference customer, or in any other situation in which the "most visited" tenant is not equivalent to the "most important tenant". In fact, most visited sites with low conversion drive higher system utilization while not offering much in revenue to the provider.

The only existing solution is to try to allocate to each tenant a specific, limited amount of a shared resource. This is not only difficult to execute (e.g., when tenants share the same virtual machine's heap), but also fails to allow the effective utilization of

1


Page 02 of 3

system resources. For example, one tenant can be very hot a...