Redundant data management is a must in client server information systems with mobile clients. Based on the level of autonomy of mobile devices/ users techniques for handling such data can be divided into caching, hoarding, and replication. These three terms are often used incorrectly in the literature. To our knowledge the exact definition of the terms has never been published in an international book or journal. We fill this gap with this article. We furthermore explain the terms cache replacement, cache invalidation, cache maintenance, automated hoarding, and synchronization of replicated data.
Many mobile information systems are client/server information systems with mobile, lightweight, portable clients that access data and information over wireless links. This scenario implies various restrictions that must be considered:
Mobile clients must be mobile and therefore need to use rechargeable batteries for power supply.
The availability of wireless links is uncertain and unstable, very often slow, and/or expensive.
Wireless data transmission is energy intensive and reduces the uptime of mobile clients.
The only possibility to react to these limitations is to store and reuse data on the mobile device. Unfortunately, redundant data management also implies a high inconsistency risk. Updates to local stored data items and updates to server side data must be harmonized.Top
Main Thrust: Managing Redundant Data
The literature describes three major classes of approaches for managing redundant data in a client server manner if clients are mobile: caching, hoarding, and replication. The following three general questions help to understand the differences: Is the data on the mobile device read only or can the user update it? Who decides about what data is stored on the mobile device - the user or the system? Is the decision for storing data on the device dynamic or static? Figure 1 illustrates various important aspects in which the three classes differ from each other:
Classiﬁcation of caching, hoarding, and replication (based on (Höpfner et al., 2005))
The grade of possible data manipulations: Are updates allowed on the mobile device?
The possibility to work offline: Is all required data guaranteed to be on the mobile device?
The potential dynamic of data: How often does the data, which are on the mobile device, change?
The required resources: Which kind of software is required for a certain technique?
The influence on local data: Is the user able to specify the data that he or she needs on the mobile device?
In the following we discuss these aspects per technique in more detail.
Key Terms in this Chapter
Synchronization: The process of making replicated data consistent by incorporating client and server updates.
Hoarding: An extension of caching that caches not only the requested data but also additional, potentially necessary data.
Caching: The implicit storage and reuse of requested, received and processed data.
Replication: The explicit (user initiated) creation of redundant data that aims for autonomous (server independent) data processing.
Cache Maintenance: The process of making cached data consistent by patching cached data.
Cache Invalidation: The process of making cached data consistent by discarding cached data in case of updates.