Академический Документы
Профессиональный Документы
Культура Документы
www.elsevier.com/locate/csi
Received 29 September 2003; received in revised form 28 November 2003; accepted 8 December 2003
Abstract
Due to the popularity of electronic commerce and the maturity of wireless technology, mobile users can access the Internet
anytime anywhere without having to physically hook up any access point. To be able to manage and manipulate data
downloaded from the Internet, there is a strong need for developing mobile database systems for mobile devices. Therefore, in
the paper, we designed and implemented a mobile database system for Java phones. XML is adopted to describe databases. In
addition, XSLT is used to define processing rules for databases so that only a general processor is required to process databases
of different schemata. It is demonstrated that the proposed mobile database system is portable and interoperable.
D 2004 Elsevier B.V. All rights reserved.
0920-5489/$ - see front matter D 2004 Elsevier B.V. All rights reserved.
doi:10.1016/j.csi.2003.12.003
402 E.J.-L. Lu, Y.-Y. Cheng / Computer Standards & Interfaces 26 (2004) 401–410
portability are the biggest challenges faced by devel- addition, because any Java phone with network con-
opers [17]. Since almost every business person carries nectivity such as GPRS or dial-up modem can down-
a cellular phone, and since cellular phones with Java load both data and processing rules from the Internet
capability (called Java phones) are increasingly grow- or other mobile devices, there is no need for an
ing, the major goal of this paper is to design and administrator to manage the mobile database. Further-
implement a portable and interoperable mobile data- more, with the processor, mobile user can perform
base system for Java phones. simple query, update, insert, and delete operations on
Currently, the development of small database sys- the received database.
tems for mobile devices can be divided into two The generic processor is in fact an XSLT processor.
categories. One is to design database systems for However, currently, there is no XSLT processor which
PDAs. Because PDAs have less resource constraints, can run on Java phones [15]. Therefore, a tiny-XSLT
commercial light-weighted database systems such as processor was also developed. The current version of
IBM DB2 Everyplace [10], Oracle 9i Lite, and Micro- the tiny-XSLT processor supports the following XSLT
soft SQL server CE are available for PDAs. However, grammars: xsl:stylesheet, xsl:variable, xsl:template,
because cellular phones generally have fewer resour- xsl:apply-templates, xsl:element, xsl:text, xsl:copy-
ces than PDAs, these light-weighted database systems of, xsl:value-of, and xsl:if. Because the supported
cannot be used on Java phones [2]. In addition, even XLST grammars are a subset of the W3C XSLT
with these commercial databases, it is extremely recommendation, the developed mobile database can
difficult to manipulate an arbitrary database down- also be executed on devices such as PDAs, laptops,
loaded from other devices because of the differences and desktop computers that have full installation of
in database schemata [13,17]. any XSLT processor.
The other category is to design database systems The rest of paper is organized as follows: The
for smart cards [2,8,9,12]. Database smart cards current development of mobile database systems are
generally contain a database engine (i.e. a dedicated discussed in Section 2. In Section 3, the design of the
smart card operating system) which processes and proposed mobile database system is described in
manages data stored in smart cards. To query or details. And then the implementation of the tiny-
update data in a database smart card, the card has to XSLT processor and the mobile database system are
be connected to a host computer and users interact described in Section 4. Finally, we shall conclude this
with the card through a host program. Because it is paper and future works in Section 5.
required that a database smart card has to be attached
to a host computer, the mobility is greatly restrained.
To develop a portable and interoperable mobile 2. Related works
database system for Java phones, several issues have
to be addressed. To ensure database can be exchanged Because of the compactness, convenience, and
and reused between various types of mobile devices, mobility of small mobile devices such as cellular
Extensible Makeup Language (XML) is employed to phones and smart cards, the development of small
describe data. In addition, processing rules are mobile database systems for these mobile devices has
extracted from application programs so that only a emerged as an important research area. In 1996, the
generic processor is required to be installed for each ADEPTE project [8] developed a small database for
Java phone. Extensible Stylesheet Language Trans- smart cards acting as a part of a large federated
formation (XSLT) is adopted to define processing database. Each smart card stored local data related
rules. The processor manipulates XML data based to its owner and references to remote data. When
on the definitions of processing rules. The proposed remote data are queried, the smart card generates
mobile database has the following benefits: Since both remote requests which are passed through its host
data and processing rules are encoded in XML (i.e. computer to remote database and the queried results
XSLT is actually an application of XML.), and since are returned and displayed on the host computer.
the processor is developed in Java, the developed Bobineau et al. [2] designed a small database for
mobile database is interoperable and portable. In smart cards called PicoDBMS. Due to limited memory
E.J.-L. Lu, Y.-Y. Cheng / Computer Standards & Interfaces 26 (2004) 401–410 403
resources on smart cards, the design of PicoDBMS knowledge, there is only a set of APIs, called Jav-
was concentrated on the compactness of storage aPhone [5], designed for developing databases for
model and query executions without consumption Java phones. However, because what JavaPhone pro-
of memory. To reduce space consumption on data vides is a set of APIs, it is extremely difficult for
storage, a storage model based on a combination of mobile users to simply download data from the
flat storage, domain storage, and ring storage is used. Internet or other mobile devices and start manipulat-
To determine the best storage for each attribute, the ing the data. Thus, we attempt to design and imple-
database developers have to know whether or not ment a mobile database for Java phones to fulfill all
attributes need to be indexed as well as the average requirements stated in the pervious section.
length and selectivity factor of the attributes. In query
processing, PicoDBMS constructs an extreme right
deep tree and then uses pipeline technology to avoid 3. Mobile database design
unnecessary memory consumption for intermediate
results. Extensible Markup Language (XML) was officially
Kuramitsu and Sakamura [12] proposed an ubiq- released in February 1998 by W3C. Due to its simplic-
uitous database which allows various applications to ity, flexibility, and richness in structure, it is believed
access data objects in a contactless smart card. The that XML is the de facto standard for data interchanges
database manages data objects from different organ- [15]. Therefore, XML is adopted to describe databases
izations. To represent various types of data objects, in the proposed model so that databases can be easily
each data object is composed of multiple properties exchanged and reused between various types of mobile
and each property is described by its corresponding devices. Fig. 1 shows an example of phone book
object identifier, the property name, type, and value. encoded in XML. As shown in the example phone
When an object is queried, the query language is book, three individuals including cheng, iron, and
transformed into primitive commands on a host com- cheng-rex are recorded in the phone book and each
puter and these primitive commands are then executed
on the smart cards.
By taking advantages of both database and multi-
applications smart card models, Jean et al. [9] proposed
a hybrid smart card model. The hybrid smart card
model uses the embedded database to manage and
control data and programs (called card applets) sharing.
Users can query through either the internal database
engine (i.e. ISO 7816-7 RDBMS) or card applets in
smart cards. Each card applet can accomplish its tasks
individually or cooperatively with other card applets.
Additionally, each card applet can be seen as a ‘‘pack-
age’’ that can be created, deleted, or executed.
Although the reviewed database models for smart
cards are small enough so that they may be considered
to be ported to Java phones, there are a few draw-
backs. The majority of smart cards have a hierarchical
file system defined in ISO 7816-4 [7,12], while the
file structure on Java phones is record stores [6].
Therefore, the data models designed for smart cards
cannot be used in Java phones. Furthermore, because
it is required that a database smart card has to be
attached to a host computer to accomplish a task, the
mobility is greatly restrained. As of writing, to our Fig. 1. An example of XML Phone Book.
404 E.J.-L. Lu, Y.-Y. Cheng / Computer Standards & Interfaces 26 (2004) 401–410
individual is described by using elements such as name, XSLT) can be downloaded and processed by users.
number, age, sex, address, and email. The last benefit increases the portability of the mobile
Because XML documents can be parsed by a database system. Furthermore, since any user can
Document Object Model (DOM) parser, developers download any database and its associated processing
can design programs to query, update, insert, and rules and start processing the database without having
delete elements on XML documents. We utilized to know its schema in advance, this significantly
kXML [4] which is a small DOM parser for Java 2 increase the interoperability of mobile databases.
Micro Edition (J2ME) and designed a mobile database The architecture of the proposed mobile database
for Java phones [14]. This mobile database system is system for Java phones is shown in Fig. 2. The mobile
small and can be installed on any Java phone. How- database system contains a database which is encoded
ever, it lacks both flexibility and interoperability. in XML, a set of processing rules, and a processor
Whenever a database with different schema is down- called DBEngine. The DBEngine contains a control-
loaded, all of its associated programs (called MIDlets) ler, a DOM parser, a tiny-XSLT processor. The
have to be downloaded and installed. This is time controller is in charge of database management and
consuming. In addition, because there is no defined user interface handling. The DBEngine has to be
mechanism that allows different MIDlet suites to installed into a mobile device before the mobile
share persistent data [6], kXML has to be included database system becomes functioning. A user with
in every MIDlet suite which is space consuming. the DBEngine installed on her/his mobile device can
To overcome the above problems, a new approach receive a database and its associated processing rules
is taken in this paper. Instead of embedding process- from the Internet or other mobile devices. After saving
ing rules in programs, the processing rules are the database and processing rules into their mobile
extracted from the programs. The processing rules devices, the user can start manipulating database
are then described in XSLT. This approach has the based on the provided processing rules.
following benefits: (1) XSLT is an application of To delete an element from the database, the process-
XML and thus can be easily exchanged and reused, ing rule encoded in XSLT is designed as shown in Fig.
(2) because the processing rules are extracted from 3. In general, lines 1, 2, and 3 as well as the last line of
programs, only one general processor called DBEn- processing rules are identical for all processing rules. In
gine is required for different databases which makes line 4, xsl:variable is used to define the element and its
maintenance easy, (3) the DBEngine has to be in- value which will be deleted. As shown in Fig. 3, the
stalled only once in each device, and (4) any database Person element whose name is ‘‘cheng’’ is to be
(in XML) and its associated processing rules (in removed. To locate the element, lines 5 and 7 are first
elements to the result tree. Finally, in lines 12 to 19, the fore, a small XSLT processor called tiny-XSLT is
new element is appended to the result tree. developed. The tiny-XSLT processor is not intended
To process processing rules encoded in XSLT, an to be a general-purpose XSLT processor with full
XLST processor must be embedded in the DBEngine. functionality. Rather, it is mainly designed for sup-
Unfortunately, existing XSLT processors that we porting the transformations that are needed in the
know for PC or PDAs are too big to fit into Java mobile database. The tiny-XSLT processor can pro-
phones. Therefore, a small XSLT processor called cess nine XSLT grammars including xsl:stylesheet,
tiny-XSLT was developed for Java phones in this xsl:variable, xsl:template, xsl:apply-templates, xsl:ele-
project. To make the tiny-XSLT processor as small ment, xsl:text, xsl:copy-of, xsl:value-of, and xsl:if.
as possible, the number of required XSLT grammars is Because the supported XSLT grammars are a subset
restrained to nine and they are xsl:stylesheet, xsl:vari- of the standard XSLT recommendation, processing
able, xsl:template, xsl:apply-templates, xsl:element, rules can also be run on PCs and PDAs that have a
xsl:text, xsl:copy-of, xsl:value-of, and xsl:if. regular XSLT processor installed. The size of the
current implementation of DBEngine is about 53 kb.
For a phone book of 100 entries, the average time
4. Implementation and analysis required to insert a new entry is little bit over 1 s,
while the average time required to delete and update
Sun’s J2ME (Java 2 Micro Edition) wireless toolkit an entry is less than 1 s.
supports the development of Java applications that can
be executed on mobile devices. Therefore, J2ME is 4.1. The prototype
adopted to implement the mobile database. To parse
XML documents, a small DOM parser called kXML To be able to download or share a database and its
[11] is employed. As stated previously, there is no associated processing rules in one click, the developed
appropriate XSLT processor for Java phones. There- prototype implements a source file of the format as
E.J.-L. Lu, Y.-Y. Cheng / Computer Standards & Interfaces 26 (2004) 401–410 407
Fig. 8. (A) The installed databases, (B) the functions associated with
Phone Book, and (C, D and E) processing rules and screen shots for
Fig. 6. An example of database to be shared. modification.
408 E.J.-L. Lu, Y.-Y. Cheng / Computer Standards & Interfaces 26 (2004) 401–410
ference on Research Issues in Management, Chaoyang Uni- Eric Jui-Lin Lu received his B.S. degree
versity of Technology, 2003 June, pp. 262 – 271, In tradi- in Transportation Engineering and Man-
tional Chinese. agement from National Chiao Tung Uni-
[15] E.J.-L. Lu, S. Chou, R.-H. Tsai, An empirical study of versity, Taiwan, R.O.C., in 1982; M.S.
XML/EDI, The Journal of Systems and Software 58 (2001) degree in Computer Information Systems
271 – 279. from San Francisco State University, CA,
[16] S.K. Madria, M. Mohania, S.S. Bhowmick, B. Bargava, Mo- in 1990; and Ph.D. degree in Computer
bile data and transaction management, Information Sciences Science from University of Missouri-
141 (2002) 279 – 309. Rolla, MO, in 1996. He is currently an
[17] S. Ortiz Jr., Embedded databases come out of hiding, IEEE associate professor of the Department of
Computer 33 (2000 March) 6 – 19. Information Management and the director
[18] M.I. Seltzer, M.A. Olson, Challenges in embedded database of the Graduate Institute of Networking and Communication Engi-
system administration, Proceeding of the Embedded System neering, at Chaoyang University of Technology, Taiwan, R.O.C. His
Workshop, USENIX Association, 1999 March. current research interests include electronic commerce, distributed
[19] S.J. Shepard, Embedded databases can power emerging world computing, and security.
of information to go, IEEE IT Pro 2 (2000 November/Decem-
ber) 10 – 13. Yung-Yuan Cheng received his M.S. de-
[20] A. Tesanovic, D. Nystrom, J. Hansson, C. Norstrom, Embed- gree in Information Management from
ded databases for embedded real-time systems: a component- Chaoyang University of Technology, Tai-
based approach, Tech. Rep. MDH-MRTC-43/2002-1-SE, wan, R.O.C., in 2003. His research inter-
Malardalen University, 2002 January. ests include mobile commerce and mobile
[21] A. Tsalgatidou, E. Pitoura, Business models and transactions database. He is currently a software engi-
in mobile electronic commerce: requirements and properties, neer at Universal Scientific Industrial Co.,
Computer Networks 37 (2001) 221 – 236. Ltd.
[22] U. Varshney, R. Vetter, Mobile commerce: framework, appli-
cations and networking support, Mobile Networks and Appli-
cations 7 (2002) 185 – 198.