Predicate Based Caching for Large Scale Mobile Distributed On-line Applications
Abhinav Vora (RMIT University, Australia), Zahir Tari (RMIT University, Australia) and Peter Bertok (RMIT University, Australia)
Copyright: © 2003
Robust mobile middlewares are crucial for online applications as they provide solutions for the core issues of mobility, data interoperability, and security. This chapter describes our experience in designing such middlewares for one of the largest Australian transport companies (CMS Transport Systems). We focus on the design of a predicate-based caching technique for mobile object-based middlewares that optimises the performance of the mobile medium by better utilising the available bandwidth. Several caching techniques have been proposed to improve system and application performance. Such techniques, along with consistency control mechanisms, are used to reduce the communication load between clients and servers, which is particularly important in wireless networks. Caching techniques are generally classified as either ID-based or predicate-based. In this chapter we propose a predicate-based caching scheme, in which the predicates are used in combination with updates and are broadcast by servers in a set of appropriate messages called cache invalidation reports. Each report/message contains information about the data items that have been updated in the server during a given period. A function mapping the predicate into binary representation is defined for each attribute. Because not all updates are relevant to a cache, there is a matching algorithm for detecting relevancy between the cache predicate and the predicates in the cache invalidation reports. The predicate-based cache invalidation reports inform the client cache manager concisely about items that need to be refreshed and about those that need to be discarded, and ensure efficient bandwidth usage.