For more than a decade, mobile data has been a focus of research for data and IT specialists due to the inherent challenges that come with its management. Mobile computing is an excellent innovation, and a measure of a company’s digital maturity ”but it comes with a price. This innovation brings with it challenges related to intermittent network connections, low bandwidth, and scarcity of resources or infrastructure. To provide the best possible experience, businesses should find a way to ensure quality of both data and service is maintained. This means that consistency and coherence of data should be the goal, while also providing high availability and quick response times.
Mobility has varying implications on how data is managed, and these implications often decide what methods or strategies to use in mobile data management. It presents challenges at the networking layer but also provides opportunities at the higher layers through leveraging location information to provide personalization and better performance through data prefetching. Mobile data management falls under two distinct infrastructures: single-hop, where each mobile device communicates via a stationary host that routes the data, and multi-hop, where an ad-hoc wireless network is formed between the data source and requester that forms a dissemination tree where in-network processing can be achieved.
Caching provides benefits that improve system performance and availability for both infrastructures because it eliminates the need for performing I/O or remote data retrieval. By keeping data requests in main memory, service time is reduced and network bottlenecks are avoided. In mobile computing, however, improving performance goes beyond increasing speed and mitigating delays in data retrieval; data consistency and efficient data dissemination should also be a focus. Ultimately, the goal should be ensuring the accuracy and correctness of the operations performed on cached data.
Maintaining Data Consistency and Integrity
The challenges related to speed and data consistency in mobile communication are doubled due to the inherent limitations of mobile devices. The limited bandwidth of wireless communication increases response times since data has to be accessed remotely from a mobile host; the high-energy consumption of transmitting and receiving data is also taxing on the relatively small batteries of mobile devices. This poses a challenge because data and the operations performed on the mobile device needs to be synchronized with the mobile host and other sites used to route data.
The complexity of this synchronization is reduced if updates are allowed on the mobile device so that data can be cached. By caching data locally, being disconnected from the network won’t affect performance. Essentially, there are two ways to propagate updates and ensure correctness. First, all copies of an item within a single transaction can be synchronized, which is referred to as eager replication; second, transactions that help keep coherent replicas are run independently as database transactions after the original transaction is done, which is referred to as lazy replication. Serializability, which is one of the main correctness criteria, can be achieved by either of these two methods.
Two-tier Caching for Disconnected Operation
If data can be updated on the mobile device, support for disconnected operation is possible. Disconnected operation allows a mobile client top operate autonomously even if network connectivity is not available. In such cases, prefetching or preloading data in the mobile device’s cache allows for concurrent operation at both the mobile client and host. Data to be prefetched or preloaded is determined by the system automatically through implicit information or manually through explicit instructions provided by the user.
However, optimistic consistency maintenance protocols must be in place to allow multiple sites to access data concurrently while avoiding short-term inconsistencies. In two-tier caching, common consistency protocol characteristics include update propagation performed at the mobile site that follow lazy replication protocols, local data that can be read but not updated without further validation, and integrations at the mobile host that include reconciliation of copies of an item after a conflict resolution protocol.
Update Propagation and Dissemination
When data on the mobile device is read-only, similar to traditional client-server caching, efficient protocols for server update dissemination and propagation to mobile clients is the main issue. Propagation of updates can either be synchronous or asynchronous. Synchronous methods produce a periodical invalidation report broadcasted by the server. This causes latency to the processing of queries since a client has to wait for the latest invalidation report before answering a query.
However, this is better than asynchronous methods because, in case of network disconnection, clients only need to tune in periodically to get the invalidation report instead of listening to the entire broadcast. Special checking should be deployed, however, if the client is to remain inactive for longer than the broadcast period; otherwise, the entire cache must be discarded. Handling network disconnection is also an issue in update dissemination and propagation because network unavailability, even temporary instances, can lead to clients not receiving cache invalidation reports.
Conclusion
Mobile computing is a natural step forward in the evolution of every digital company. The two main limitations of mobile data management can be addressed through caching because it helps address data access delays and reduces energy consumption by limiting data queries to and from the mobile client and host. Since the discussion of mobile computing almost always leads to wireless computing and the use of small, mobile devices, one of the main benefits of caching is how it can help conserve energy by performing the necessary operations on each mobile device, prolonging the life of the devices while also improving data quality and consistency.