Project

Back to overview

Cooperative Semantic Caching (CoopSC)

English title Cooperative Semantic Caching (CoopSC)
Applicant Stiller Burkhard
Number 134679
Funding scheme Project funding (Div. I-III)
Research institution Institut für Informatik Universität Zürich
Institution of higher education University of Zurich - ZH
Main discipline Information Technology
Start/End 01.04.2011 - 28.02.2013
Approved amount 77'772.00
Show all

Lay Summary (English)

Lead
Lay summary

In mostapplications, database servers are queried by multiple clients. When using theclassic semantic caching approach, clients store and manage their own localcaches independently. If the number of clients is high, the amount of data sentby database server and queries response times can rapidly increase even whencaching is used. The performance can be further improved by allowing clients toshare their entries in a cooperative way. Another limitation of existingsemantic caching solutions is that they do not handle update queries.Modifications performed in the database are not propagated to cache entriesstored by clients.

The probe retrieves the part of the answer which is available in the localcache. Remote probes retrieve those parts of the query which are available incaches of other clients. The remainder retrieves the missing n-tuples from theserver. In order to execute the query rewriting, the cache entries of allclients will be indexed in a distributed data structure built on top of a P2Poverlay that is formed by all clients which are interrogating a particulardatabase server. Such an approach increases the performance of databasessystems and presents economic advantages when used in a cloud-computingenvironment. Thus, CoopSC will use P2P technology in order to develop acooperative caching solution. It will include a suitable and efficientmechanism for handling update queries, it will support select-project queries,where a query predicate is a n-dimensional range condition, it will design aheuristic to dynamically decide when using the cooperative cache is beneficialor not.remainder query and a remote probes,, probe. Therefore,the Cooperative Semantic Caching (CoopSC) approach will extend the generalsemantic caching mechanism by using a P2P (Peer-to-peer) approach in order toenable clients to share their local semantic caches in a cooperative manner.When executing a query, the content of both the local semantic cache andentries stored in caches of other clients can be used. A new query will besplit into a

Direct link to Lay Summary Last update: 21.02.2013

Responsible applicant and co-applicants

Employees

Name Institute

Publications

Publication
Cooperative Database Caching within Cloud Environments.
Vancea Andrei, Machado Guilherme Sperb, d’Orazio Laurent, Stiller Burkhard (2012), Cooperative Database Caching within Cloud Environments., in 6th International Conference on Autonomous Infrastructure, Management, and Security (AIMS 2012), Luxembourg, Luxembourg.
Optimization of Flow Record Handling by Applying a Decentralized Cooperative Semantic Caching Approach.
Vancea Andrei, d’Orazio Laurent, Stiller Burkhard (2012), Optimization of Flow Record Handling by Applying a Decentralized Cooperative Semantic Caching Approach., in 14th IEEE/IFIP Network Operations and Management Symposium (NOMS 2012), Maui, Hawaii, U.S.A..
A Scalable Cooperative Semantic Caching (CoopSC) Approach to Improve Range Queries
Vancea Andrei, d'Orazio Laurent, Stiller Burkhard (2011), A Scalable Cooperative Semantic Caching (CoopSC) Approach to Improve Range Queries, in 7th International Conference on Collaborative Computing: Networking, Applications and Worksharing (C, Orlando, Florida, U.S.A..
CoopSC: A Cooperative Database Caching Architecture.
Vancea Andrei, Stiller Burkhard (2011), CoopSC: A Cooperative Database Caching Architecture., in 19th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterpr, Larissa, Greece.

Scientific events

Awards

Title Year
Best Paper Award (AIMS 2012) 2012

Abstract

A way of achieving scalability in database management systems is to effectively utilize resources (storage, CPU) of client machines. Client side caching is a commonly used technique for reducing the response time of database queries. Semantic caching is a database caching approach, in which results of old queries are cached and used for answering new queries. A new query will be split in a part that retrieves the portion of the result that is available in a local cache (probe query) and a query that retrieves missing n-tuples from the database server (remainder query). This approach is especially suited for low-bandwidth environments or when the database server is under heavy load. Semantic caching was successfully applied for optimizing the execution of queries on mobile clients or over loosely-coupled wide-area networks. Semantic caching requires more resources on clients. Storage is needed for storing cache entries. Clients’ CPU usage will also increase, because they, locally, execute the probe sub-query. In most applications, database servers are queried by multiple clients. When using the classic semantic caching approach, clients store and manage their own local caches independently. If the number of clients is high, the amount of data sent by database server and queries response times can rapidly increase even when caching is used. The performance can be further improved by allowing clients to share their entries in a cooperative way. Another limitation of existing semantic caching solutions is that they do not handle update queries. Modification performed in the database are not propagated to cache entries stored by clients. Peer-to-peer (P2P) networks have been applied successfully for enhancing beyond the traditional client-server communication, thus, they are applicable to the distribution problem outlined. E.g., the CoopNet, uses a cooperative network caching architecture for solving Web flash crow scalability problems. These results show that a cooperative P2P-based caching approach significantly increase the performance of client-server architectures under heavy load. Therefore, the Cooperative Semantic Caching (CoopSC) approach will extend the general semantic caching mechanism by using a P2P approach in order to enable clients to share their local semantic caches in a cooperative manner. When executing a query, the content of both the local semantic cache and entries stored in caches of other clients can be used. A new query will be split into a probe, remote probes, and a remainder query. The probe retrieves the part of the answer which is available in the local cache. Remote probes retrieve those parts of the query which are available in caches of other clients. The remainder retrieves the missing n-tuples from the server. In order to execute the query rewriting, the cache entries of all clients will be indexed in a distributed data structure built on top of a P2P overlay that is formed by all clients which are interrogating a particular database server. Such an approach increases the performance of databases systems and presents economic advantages when used in a cloud-computing environment. Thus, CoopSC will use P2P technology in order to develop a cooperative caching solution.Additionally, CoopSC will design a suitable and efficient mechanism for handling update queries. When the content of the database is changed, modifications must be reflected in the cooperative cache. This can be accomplished with a cooperation from the database server. An active database server component will be developed to handle the execution of update, insert, and delete SQL (Structured Query Language) statements. Furthermore, CoopSC will support select-project queries, where a query predicate is a n-dimensional range condition, which are commonly used in many database applications. Additionally, it will be investigated, if the approach can be generalized for select-project-join queries. Furthermore, because the query rewriting process accesses the distributed index, it can be time-wise expensive. Also, clients have lower hardware resources then a database server. If the database server is not under heavy load, using the distributed cooperative cache for answering queries can be slower then sending queries directly to server. Therefore, a heuristic will be designed that will dynamically decide when using the cooperative cache is beneficial. Thus, a performance optimized CoopSC approach will handle application use cases. This statement is justified since promising results of a restricted and first inital CoopSC prototype implementation are avaliable and presented. A potential application of the CoopSC approach related to cloud-based e-health medical systems is also briefly described.
-