Review of Data Management Mechanisms on Mobile Devices
Total Page:16
File Type:pdf, Size:1020Kb
Schwerpunktthema This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. copyright by the permission with written allowed is only Other use only. use your personal for this article and distribute copy You may law. copyright German by protected is This article it 2/2009 Review of Data Management Mechanisms on Mobile Devices Überblick über Datenmanagementmechanismen auf mobilen Endgeräten Hagen Höpfner, Essam Mansour, International University in Germany, Bruchsal, Daniela Nicklas, University of Oldenburg Summary The design of data management for mobile ap- Zusammenfassung Der Entwurf des Datenmana- plications is a non-trivial task. Even with today’s much more gements mobiler Anwendungen ist eine nichttriviale Aufgabe. powerful devices, we must consider limited resources: size Selbst mit den heute gängigen leistungsstärkeren Endgeräten and persistence of the local data storage, limited bandwidth müssen Ressourcenbeschränkungen wie die Größe und Persis- and reliability of connection for data transmissions to remote tenz lokaler Daten, limitierte Bandbreite und Netzverfügbarkeit servers, and constraint energy consumption of the used al- bei der Kommunikation mit Servern oder der Energiebedarf gorithms. In this article we focus on client/server approaches. der Datenspeicherung berücksichtigt werden. In diesem Artikel We classify existing techniques and support the designer of fokussieren wir auf Client/Server-Verfahren. Wir klassifizieren data management functionalities for mobile applications with existierende Techniken und unterstützen den Designer der a set of fundamental characteristics of replication, hoarding and Datenmanagementfunktionalität mobiler Anwendungen durch caching solutions. eine Zusammenstellung fundamentaler Charakteristika von replizierenden, hortenden und cachenden Lösungen. KEYWORDS H.2.4 [Information Systems: Database Management: Systems]; H.2.8 [Information Systems: Database Man- agement: Database Applications]; H.3.2 [Information Systems: Information Storage and Retrieval: Information storage]; H.3.4 [Information Systems: Information Storage and Retrieval: Systems and Software]; caching, hoard- ing, replication, mobile information systems / Caching, Horten, Replikation, mobile Informationssysteme 1 Introduction servers are involved in the sys- ing data on the mobile device with- and Motivation tem, like in so called peer-to-peer out any communication requires Data management in mobile envi- (P2P) approaches, network stability a deeper look into the systems. ronments is affected by the char- is even worse and data redundancy In many cases only rudimentary acteristics of used networks and becomes essential. However, in this data managing methods are pro- devices. Mobile devices are battery article we focus on client/server ap- vided to the application developer. powered and wireless networks are, proaches. We classify existing tech- Therefore, we give also a brief in- compared to wired networks, un- niques and support the designer troduction in how to store/manage reliable. Furthermore, wireless data of data management functionalities data on mobile devices. transmission is energy intensive. for mobile applications with a set The remainder of the paper Extensive communication reduces of fundamental characteristics of is structured as follows: Section 2 the operation time of mobile de- replication, hoarding and caching describes the storage of data on mo- vices [12]. Even client/server sys- solutions. Hence, we guide the de- bile devices. Section 3 focuses on tems with mobile clients that use veloper to decide, based on the approaches for managing data in fixed networked components as specifics of the target application, client/server systems with mobile backbone must support redundant to use a proper data management clients. Section 4 summarizes the data storage and handling. If no strategy. Furthermore, even manag- paper. it – Information Technology 51 (2009) 2 / DOI 10.1524/itit.2009.0526 © Oldenbourg Wissenschaftsverlag 79 Schwerpunktthema This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. copyright by the permission with written allowed is only Other use only. use your personal for this article and distribute copy You may law. copyright German by protected is This article 2 Storing Data on Mobile tween server and clients. Therefore, Devices datahastobecopiedtothemo- Mobile devices like PDAs, mo- bile devices where it then can be bile phones or other programmable used offline, too. One can find three lightweight devices are able to store major classes of approaches for data in various ways, but hand- managing such redundant data in ling data storage very often strongly a client server manner in the litera- depends on the operating system ture: caching, hoarding, and replica- and the supported programming tion. The following questions need languages. Furthermore, mobile de- to be answered in order to deter- vices differ in used storage me- Figure 1 RMS structure. mine the appropriate approach for dia. Some use volatile memory a given application scenario [19]. (like older Palm devices), some use • Is the data on the mobile device non-volatile flash memory, some sides storing data with the RMS di- read only or mutable? useharddisks,andsomecombine rectly, one can also use systems like • Who decides what data is stored these media. Current trends go in Pointbase Micro or NanoBase [5] on the mobile device, the user or the direction of a desktop like that are built on top of the Record the system? filesystem for mobile devices and Store Manager but support a higher • Is the decision for storing data many mobile devices, e. g., such that level of abstraction. Unfortunately, on the device a dynamic or use Windows Mobile, do provide in September 2007 IBM acquired a static decision? such a storage mechanism already. DataMirror, the company that de- Nevertheless, there are many devices veloped Pointbase Micro. The cur- Figure 2 illustrates, based on [10], onthemarketthatarenotableto rent status is that IBM will stop any various important aspects in which store data in files but in propri- support for the product at the end of the three classes differ from each etary formats. Most current mobile September 2009 [15]. As NanoBase other: phones support Java’s Mobile Infor- is new to the community, no release The grade of possible data manipu- mation Device Profile (MIDP) [26] is available at the moment. How- lations: Are updates allowed on and are equipped with non-volatile ever, the authors of the cited paper the mobile device? flash memory. For security pur- promised on request that they are The possibility to work offline: Is all poses J2ME-applications (so called still finishing the website of the sys- required data guaranteed to be MIDlets) must not save files to tem. on the mobile device? the file system directly. However, Some newer mobile devices also The potential dynamic of data: How one can use MIDP’s Record Man- support accessing PIM data or often does the data that is on the agement Systems (RMS) in order handling files through their Java mobile device change? to store data permanently on such Virtual Machine. However, not all The required resources: Which kind a device. The data is stored in the manufacturers implement the re- of software is required for a cer- form of device dependent binary spective optional Java Specification tain technique? record stores but the API pro- Requests (JSR 75) [31]. Unfortu- The influence on local data: Is the vides functions for accessing it de- nately, there is no manufacturer user able to specify the data vice independently. An application independent list that summarizes needed on the mobile device? can manage various record stores. which mobile devices support which Each of them is a collection of JSR, and to focus on a certain manu- We discuss these aspects based uniquely identified byte arrays. The facturer would be out of scope for on [11] per technique in more de- ID is assigned incrementally start- this article. Hence, a developer has tails in the following sub-sections. ing with 1. IDs of deleted records to carefully check system specifica- are not reused. The RMS API allows tions before implementing certain 3.1 Caching MIDlets to add and remove records. functions. The easiest way to provide a mo- Furthermore, it is possible to share bile user with data locally is to records within the same applica- 3 Client/Server Approaches cache data once it has been re- tion (see Fig. 1). Sharing data be- Recent mobile information systems ceived. So, data is requested impli- tween applications is possible with work mostly in a client/server- citly. Web and WAP browsers, for MIDP 2.0. manner where clients are mobile example, automatically cache WML A good starting point for work- and servers are static, powerful de- or HTML pages and pictures. We ing with RMS in MIDP 1.0 is the vices. Due to the unreliability of know caching approaches from net- online article [24]. The MIDP 1.0 energy intensive wireless data trans- work based desktop applications as and MIDP 2.0 specifications are mission it is not possible to guar- well as from database based infor- also available online [29; 30]. Be- antee a permanent connection be- mation systems. The research on 80 Review of Data Management Mechanisms on Mobile Devices This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. copyright by the permission with written allowed is only Other use only. use your personal for this article and distribute copy You may law. copyright German by protected is This article mantic caching, the performance of location-dependent queries of mobile users can be improved by exploiting the movement patterns of the user. For example, in [33], the cache is organized in semantic segments that represent results of location-dependent queries.