Download Database Access in Mobile Environments

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Database wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
Database Access in Mobile Environments
Andreas Heuer
Computer Science Department, University of Rostock, D-18051 Rostock
[email protected]
Astrid Lubinski†
Computer Science Department, University of Rostock, D-18051 Rostock
[email protected]
Abstract
Mobility is the cause for new requirements on database systems. Database systems used in classical LAN- or hostbased environments provide these new features deficiently. New concepts are needed in mobile environments.
The conventional client-server architecture has to extended in a client-agent-server architecture. We describe new
approaches in database technology to meet the new requirements like adaptive database system components and
intensified use of query statistics. This includes the management of queries and query results. The access to
the information will be done via an OQL-like interface. The OQL query will be transformed into queries of the
underlying relational or object-oriented database systems used by the information servers.
Mobile computing with the help of small devices via wireless networks is in our opinion only one possible
mobile scenario. In this paper we present a new and more general interpretation of mobility based on mobility
of users. The work on mobile database access in this paper is part of the project “Mobile Visualization” (MoVi).
Users not only get access to heterogeneous information from different places, with different technical environments and with different aims, in a homogeneous way, but also want to visualize this data adequately.
1 Introduction
Worldwide, there is a lot of multimedia information available electronically. They form a Universe of Information,
the so called Infoverse, where people travel on information superhighways. These information superhighways are
of increasing interest even in business and not only in science. An easy and descriptive access to this information is
not possible up to now. It is desirable to support the access to and search for information in different and changing
environments and to visualize the information in an application-specific way. Most of these “mission-critical” data
are heterogeneous and kept in database systems. In our opinion mobility consists of
the mobility of users,
the mobility of computers and
the mobility of information.
Therefore, users and mobile computers cannot be seen as a “mobile unit” as in [IB93, IVB94]. Users, computers
and information are mobile with respect to their environments. This environment can include other humans, devices
or computing systems, respectively, and information as well as the location.
In Figure 1 we show a general scenario of mobile computing, where the mobility of humans is the main focus.
The mobility arises from mobility of users either with the help of mobile hardware (devices and networks) or by
changing the terminal. The scenario of a human who is using a stationary server via a fixed network is also a
mobile scenario, because it is a special case of mobility. The full mobility inherits all problems of the “normal”
stationary distributed computing, but adds new features.
Every kind of mobility results in a changing mobile environment, which influences decisively the information
access, transfer and the visualization.
The
† This
paper is submitted to the DEXA’96
work has been supported by the German Research Association under contract Schu 887/3-1
1
stationary
unit
fixed
(stationary)
network
HUMAN
wireless
(mobile)
network
mobile
unit
Fig. 1: Definition of Mobility
The contents of the mobile environment is situation dependent. We call it the Context. All applications have
to adjust to the varying context. The remainder of this paper is organized as follows: After an introduction of
examples of mobile information access in Section 2 and the overview of the different problems of mobility in
Section 3 we will describe the context concept in Section 4. We introduce an architecture of an object manager
supporting the mobile and heterogeneous information access and in Section 5 the query interpretation and transformation techniques used in mobile environments. The last Section 5 summarizes the results, and mentions some
open research issues.
2 Mobile Application Scenarios
We have investigated several application scenarios for requirements in mobile environments and we have detected
that all of them have different, sometimes overlapping requirements. They depend on the concrete requirements of
the mobile persons and their tasks, goals and intentions, on the characteristics of the terminals and networks and
on the properties of the accessed information. Now we will present two of them. One application is an information
server for data about the conditions of forests, the other one is the software support for a highly mobile furniture
production and Sale planning system.
2.1 Management of the Conditions of Forests
The data for the conditions of forests has been supplied by the forestry office of the state Mecklenburg-Vorpommern in Germany. The information is heterogeneous and includes multimedia. During an interval of ten years, the
conditions are yearly reassessed automatically. After ten years this information deviates from the real conditions
and has to be updated. Every ten years the forest stand of Mecklenburg-Vorpommern will be “set up”. The
forest workers need for this process the reassessed information, a forest map and a satellite picture of their current
location. Then they insert the new conditions of forest, which are the base for planning usage and effects of
industry buildings or special activities on the conditions of forests. The forest workers will be mobile using mobile
devices as small as possible like PDA’s. Special requirements in their mobile environment are related to the limited
resources of the device and the network, and their location dependent work.
2.2 Furniture Production and Sale
The data for the furniture production have been supplied by a local company. They have different production
plants with local information servers. Therefore, the information is distributed but homogeneous because of one
underlying (relational) database system. The production process is coordinated by means of a laptop in a mobile
environment (a van) and is totally client-driven. Due to the high communication costs, disconnections are planned
and quite frequent. The other mobile persons are truck drivers and representatives who make contracts with cus-
2
tomers. The representatives use laptops, the drivers small devices installed in the trucks. The main problems in
this environment are related to dynamic and replicated information under frequent disconnections because of high
communication costs.
3 Effects of Mobility
Mobility results in several new challenges for the efficient access to information. Since the Infoverse is heterogeneous and distributed, we need to have a transparent access to the information without knowing the underlying data
models, schemes, and location of the information which can all be changing dynamically. Most of the information
will be multimedia data which have to be handled efficiently. In a mobile environment, disconnections can be
quite frequent and have to be supervised by the system. The optimization of queries against this Infoverse has to
be adapted dynamically due to changing aims of optimizations. The restricted resources have to be considered.
And last but not least, the protection of the privacy is even more important in a mobile environment.
We will explain each of these challenges in turn.
3.1 An Architecture for Mobile Database Access
The access to the Infoverse has to be transparent to the user. The user should not need to know the specific structure
of the stored data and the physical location of these data. Additionally, a user should not need to know which kinds
of information are used to realize his access. Localization of data in a world-wide environment and the resourcespecific preparation of this information is a typical requirement for mobile information access. Current database
systems, even distributed ones, do not support these features in an adequate way.
The architecture used for mobile database access is a component of the architecture for mobile visualization
([KHK+ 95]). The classical client-server architecture is replaced by a client-agent-server architecture as in other
approaches, too. Nevertheless, the functionality of these agents is different.
In the Oracle-in-Motion approach [Ora95], the agent accepts messages from a mobile node, executes programs,
and makes data available for the transfer.
In [ZD95], an agent called intermediary is introduced to filter or delay all but the most essential data that would
travel over the slow link. This agent works bandwidth-dependent.
In [BBK+ 95], agents (here called station and domain managers) only exist on the server. These managers
maintain available resources and services of a domain of sites.
Within the MoVi project, we introduced an Information Agent which is available on each of the mobile and
some of the stationary nodes (the contact servers). The architecture of this information agent is presented in
[Kir96]. It contains an object manager (see Figure 2) for additional database functionality, and information and
message handlers for intelligent mediaspecific information transfer and application of different exchange strategies
like level-of-detail or prefetch. The communication between nodes is controlled by these information agents. The
server, which is contacted first, is in most cases a stationary server to “log in” from the mobile node and not the
“home server” of the user. As a special case of a mobile node, the contact server in turn can be connected to another
server, e.g. the home server of the user. The contact server plays a special role in the case of limited resources
on the used node, so the functionality of applications including database systems have to distribute among the end
node and the contact server. The information agent of the contact server manages further connections.
This object manager is a database system enlarged by special functionality for mobile environments.
Queries and query results will be cached on the mobile client and on the contact server as long as resources
are available. This cache management is also part of the information manager. It will support the recovery from
disconnections and the optimization of other queries by using locally available information.
3.2 Problems of Information Management in Mobile Environments
3.2.1 Disconnections and Dynamically Changing Information
Due to cost reduction and technical reasons, a connection between the computer of a mobile user and a contact
server will be frequently interrupted, either user-driven or system-dr iven. Therefore, the information on the mobile
node may be inconsistent. If the information is very dynamic and if it is replicated for efficiency reasons, this
consistency problem will be even more important to solve.
In the scenario of mobile furniture production the article prices are a dynamic information, which can be
inconsistent because of many cost dependent disconnections.
One approach to check the consistency of information on the mobile node is to attach a timestamp with the
data, which indicates the expiry time. The prices in the furniture production and sale - scenario expire for example
weekly while the forest information is valid one year.
This expiry time is either estimated, stored with the data on the server or fixed by the context of the information.
3
global and local
Metadata
- global scheme
- local scheme
- fragmentation scheme
- contexts
- access rights
Database Management
System
- ODMG component
- cache management
- context management
- aggregation component
n I formation
Objectbus
application
(visualization),
remote Object
Manager
- local information
- cache:
- queries
- query results
Fig. 2: Architecture of the Object Manager
For example, traffic information for a specific region is only interesting as long as the user has not left this region.
Additionally, traffic information should not be older than a few minutes.
Disconnections have to be prepared by the system by transaction protocols and active recovery and connection
reestablishing mechanisms.
3.2.2 Multimedia and Distributed Information in Federative Systems
The information in the Infoverse is distributed, heterogeneous, and consisting of multimedia data. Since the access
should be transparent with respect to location and data model, one can use global and distributed meta schemes to
maintain structure and contents of information servers in the Infoverse.
Within the MoVi project, the reengineering of the heterogeneous information to a global meta scheme is assumed to be done. The global meta scheme integrating the different database models like relational, hierarchical,
object-oriented but also non-database models like files, hypertexts and hypermedia, is represented as a ODMG-93
schema [Cat94]. ODMG-93 is the current standard for object-oriented database models which has to be slightly
extended within this project to reflect the needs of multimedia and mobile environments.
While considering heterogeneous data models and schemes, we do not consider differences in specific systems
and operating system platforms up to now. More details on the representation of schemes in MoVi will be given in
Section 5.
The information in the scenario of conditions of forests is managed in a heterogeneous manner, distributed in
an objectoriented (O2 ) and a relational (Ingres) database system. The maps of the forest and the satellite picture
are graphical information. They have to reduce for their application on the PDA.
3.3 Dynamic Database Components
3.3.1 Adaptive Optimization due to Changing Optimization Aims
Queries from the computer of the mobile user against the Infoverse have to be optimized due to changing cost
functions (see also [BA95]). While in classical centralized or distributed database systems the costs to be optimized
are query response time or transaction throughput, in mobile environments there are different cost functions which
have to be optimized dependent on the context:
query costs (money for the connections between computers),
energy (of a mobile battery-driven computer),
4
available resources like amount of free secondary storage, or screen parameters like resolution, colour and
size.
The optimization aims and the parameters can be changed dynamically, for example, in changing from battery
mode to plugged mode. Hence, adaptive optimization techniques have to be used in this mobile environment. The
cost parameters which have to be considered to calculate the cost functions are not only database-specific parameters like amount of data and complexity of query operators but also parameters for compression, decompression,
transport and visualization complexity of the involved (multimedia) data.
3.3.2 Dynamic Database Kernels
Restricted resources of the mobile computer like free main or secondary storage, size and resolution of the screen
and energy not only affect the query optimization process but also the context-dependent transformation and adjustment of queries and their results.
The notion of context used in the MoVi project and its application to the query interpretation, transformation
and optimization process will be explained in Section 4.
Restricted resources adress also restricted database functionality. On most mobile PC’s or PDA’s, it is not
possible to use existing database systems or intelligent database clients. Since it is not sufficient to simply install
query interfaces on these machines which only send an SQL-query to the server, we have to implement a platformindependent minimal database kernel capable of querying and managing databases according to ODMG-93. This
kernel should include at least some parts of the query optimizer and transformer.
Since resources are changing, the kernel should be adaptable and extensible by features otherwise provided
on the contact server. If it is possible, these features should be implemented on the mobile client, too. Loading
database modules from the contact server to the mobile client is one topic of further research. A candidate for
implementing this is the Java language.
3.3.3 Privacy and Data Security
Several problems in mobile information access are concerned with the protection of privacy. How can it be guaranteed to communicate without observation? How can actions be proven? How to do identification and authorization
of a mobile user? How can patterns of motion be protected against misuse?
There are some approaches in this area which shall be integrated into the MoVi project. One example is the
work of [TF95].
4 Contexts — Possible Classification and Usage
The notion of context that we use in this paper has the general meaning: Contexts affect the semantics of information or the semantics of processing this information in some way.
After a classification of possible (concrete) contexts in mobile environment we show how to use contexts,
especially in query interpretation and aggregation.
4.1 Context Classification
If we look at the way contexts affect the semantics of information, we can classify them as follows:
1. User attributes like preferences, wishes, skills, and his roles. The user-specific context information affects
the selection of information, the visualization of information, and the design of the user interface.
2. Environment attributes with respect to local, historical, cultural, traffic, and temporal information. Queries
will be adjusted to the concrete environment of the user, in general with respect to local (where) and temporal
(when) information.
3. Application attributes like priorities (significance of information for the query result), storage and processing
sites, timestamps as expiry time or valid time for dynamically changing information, criteria for lossless
information reduction (especially for image and video data), and processing times.
4. Resource attributes of used computers (mobile, stationary), used servers, network information, and so on. A
special context information in this case are
screen parameters like resolution and size,
energy parameters like battery or plugged mode, battery capacity, and power consumption with respect
to specific actions,
computer parameters like available free secondary or main storage, type of processor, and so on,
5
network parameters like bandwidth (the current bandwidth, the average bandwidth in comparable situations),
functionality (available programs and services).
These classes of contexts are not orthogonal. To adjust a query to restricted resource, application and environment
attributes can be used while resources attributes are given. The available contexts show how a query can be
restricted to meet the restricted resources while preserving the application-specific semantics of the result.
4.1.1 Contexts in the conditions of forest - scenario
The main contexts are
1. Every forest worker needs a personal view of the forest information, its presentation and processing order.
These are user contexts.
2. The location affects the query in limiting the query result by expanding the where-clause with the location
(see Figure 3,4).
3. Application attributes are for example priorities among information because of their kind of media.
4. The forest workers plan to use PDA’s for their work because of the small weight and extent. Then there are
many restrictions in database access and visualization due to restricted screen and memory parameters. The
wireless network brings additional problems.
The main contexts in the furniture-production scenario are disconnections and the dynamics of the information.
4.2 Use of Contexts
Contexts affect the query interpretation and transformation in various ways. Among others, they influence selection, localization, aggregation, optimization, and visualization of informations. In the remainder of this section,
we will sketch some of these.
4.2.1 Context-dependent Query Interpretation and Transformation
Queries can be changed using contexts, as already shown in [SSR94] with C-SQL (Context-SQL). Due to user
attributes or environment attributes, the original query can be interpreted if it seems to be incomplete or not
meeting the user needs. A query “give me the city map” will be interpreted as “give me the city map of the city
the user is just staying at”. A query can be transformed due to application or resources attributes. For example,
if a video is requested which cannot be shown in full resolution and colour on the mobile PC due to reasons like
storage capacity and processing speed, a “projection” or abstraction to a video with lower resolution or to the start
sequence of the video has to be performed.
A OQL-query in the conditions of forest - scenario can be the following: In Figure 4 the same query is enlarged
Fig. 3: A query in the conditions of forest - scenario
by the location context of the forest worker automatically. The location context is determined by a GPS and will
be transformed in a location in the forest map.
4.2.2 Context-dependent Aggregation
The requested information can be aggregated to a query result by different types of aggregations (sets, lists, tuples, . . . ). Resource attributes like frequent disconnections or restricted local storage can affect this aggregation.
Priorities can be used to order the list so that the most important information will be used first.
6
Fig. 4: The same query, changed by the location context
This technique is called modulation of the query result. Besides context-dependent aggregation, other abstraction mechanisms will be used to reduce the amounts of details in a query result.
4.3 Context Management
The context information should be managed where it arises or where it is used, i.e. with the information to be
affected by the contexts. Classical database systems have data dictionaries or catalogs with a fixed structure, so
that they cannot easily be used for this task.
In general, the object manager of the information agent will manage the contexts. The object manager can replicate these contexts on the contact server and the computer of the mobile user. Resources contexts are exceptions
since they can be very dynamic. In this case they are calculated or estimated on request.
5 Query Processing in Mobile Environments
Heterogeneous, distributed multimedia information in the Infoverse is stored in different databases with different
data models and schemes. As mentioned before, we use a global but distributed meta scheme which represents
the information in the ODMG-93 object-oriented database model [Cat94], since object-oriented models proved
to be useful as a global interface to federative systems [DAO+ 95]. The transformation of such structures into
relations of a relational database systems are well-known, e.g. according to [Heu89]. On the other hand, queries
are generated in OQL notation [Cat94] and transformed into queries of the underlying database systems. Such
kinds of transformations can be found e.g. in [VdBH93]. Before this transformation will be processed, the contextdependent interpretation and transformation of the query will take place.
5.1 Interpretation and Transformation of the Global Query
As explained in Section 4, the query is firstly interpreted due to user and environment attributes and then transformed due to application and resources attributes. The result of adjusting the query in a context-dependent way is
another OQL query. The simplest way is an enlargement of the where-clause.
5.2 Using the Local Cache
For the modified OQL query, a lookup of the cache of queries and query results will be performed. If a query
result for a query equivalent to the given one or more general to the given one is found, the query result will be
retrieved from the local cache. In the case of a more general query, the new query has to be processed against this
preliminary result. If there is a more specific query in the cache, the given query can be modified to only retrieve
those parts of the result from the server not available on the mobile client.
If the expiry time of the query result has passed, the complete query has to be transformed into queries for the
specific server systems.
Another approach to cache management can be found in [BI95].
7
5.3 Transformation to Location-Specific Queries
If only some parts of the query results are available on the mobile client, the request has to be sent to the contact
server. The first step of the query optimization indicates where the transformation of the OQL query to locationdependent queries should be done (on the mobile client, in most cases on the contact server, in parts on other
information servers). The localization of the information will be done by meta scheme information.
After optimizing the location-specific queries, the estimated costs of the query processing and the structure of
the query results to be aggregated are sent to the mobile client and may influence the initial query transformation
again due to resource restrictions: if more data are expected than the mobile client can process, the query is further
restricted due to context information.
After this second modification of the initial query, the query processing is transformed on the different servers,
aggregated at the contact server and then sent to the mobile client using context-specific aggregation concepts.
6 Summary and Further Research
We presented the object manager as part of the information agent of the MoVi project. Requests to the object
manager are formulated as OQL queries and interpreted and transformed according to different contexts. Then,
queries are transformed into queries specific to different database systems. The query evaluation process has to be
optimized in an adaptive way due to changing optimization aims and changing parameters for the cost functions.
The notion of context affecting the query interpretation and transformation process was introduced.
Existing database techniques have been extended to integrate the local cache management (caching queries and
query results), to manage the contexts, and to change the standard optimization and evaluation process. All these
features shall be integrated in a database kernel which is supported at the mobile client or the contact server.
Further research topics will be
the extension of the cache and replication management, especially the detection of (partial) queries with
results already cached on the mobile client,
the extension of cost functions and integration into a cost-based, distributed optimizer which will evolve into
a global planner for the whole MoVi project,
the development of a self-adaptable database kernel which can be adjusted to the resources available at the
mobile node,
and the special support of mobile users instead of mobile computers.
Another global topic is to extend the results to “virtual mobility” where the information is highly mobile while the
user’s mobility is replaced by videoconferencing and so on. Even if the user is not mobile anymore in this scenario,
aspects of research for mobile environments can also be applied for this case.
6.1 Restrictions in MoVi
The prototype implementation of the MoVi information agent and especially the object manager is restricted in
several ways.
We concentrated on queries and did not consider updates and transactions up to now. Especially for transactions, new concepts have to be realized in a mobile environment.
We assumed the availability of a global distributed meta schema. since the reengineering of database
schemes and file structures into an object-oriented description is a hard problem in general, this should
be solved separately from the MoVi project.
We do not actively localize and connect to the mobile computers from the server. For us, the mobile user
with his computer is active, not the server in getting contact to the mobile users.
The problems of cooperation between users with mobile or stationary computers are not considered up to
now. The user only “cooperates” with the Infoverse.
On the other hand, the platforms we use up to now are restricted to
relational database systems (INGRES),
object-oriented database systems (O2 ),
for the servers, both running under UNIX, and Windows-based PCs for the mobile computers.
8
Acknowledgements We would like to thank all our colleagues within the MoVi project, especially Thomas
Kirste and Jörge Bönigk, for discussions on the object manager architecture. Additionally, we have to thank
Monika Ludwig and Henning Zingler, both students implementing parts of the object manager on top of O2 and
INGRES. Jörn Waterstraat worked on his master’s thesis on contexts and gave several hints to specify and use context information in mobile environments. Many thanks also to the “Landesamt für Forstwirtschaft, Schwerin”, the
forestry office of Mecklenburg-Vorpommern. While preparing this paper, we had a lot of help from our colleagues
in the database research group, Guntram Flach, Uwe Langer and especially Jürgen Schlegelmilch and Joachim
Kröger.
References
[BA95]
B. Bhargava and M. Annamalai.
Communication Costs in Digital Libraries.
In Proc. of the 6th Database and Expert Systems Applications (DEXA), London, 1995.
[BBK+ 95] W. Böhmak, B. Bellmann, S. Kümmel, T. Reigler, and A. Schill.
Systemunterstützung für verteilte Mobilrechner-Anwendungen.
In GI-Fachtagung “Kommunikation in verteilten Systemen”, Chemnitz, pages 243–257, 1995.
[BI95]
D. Barbara and T. Imielinski.
Sleepers and Workaholics: Caching Stragies in Mobile Environments.
In VLDB Journal 4, 1995.
[Cat94]
R.G.G. Cattell, editor.
The Object Database Standard: ODMG - 93.
Morgan Kaufmann, San Mateo, CA, 1994.
[DAO+ 95] A. Dogac, M. Altinel, C. Ozkan, B. Arpinar, I. Durusoy, and A. Altinas.
METU Object-Oriented DBMS Kernel.
In Proc. of the 6th Database and Expert Systems Applications (DEXA), London, 1995.
[Heu89]
A. Heuer.
A data model for complex objects based on a semantic database model and nested relations.
In Nested Relations and Complex Objects in Databases, volume 361, pages 297–312. LNCS, 1989.
[IB93]
T. Imielinski and B.R. Badrinath.
Data Management for Mobile Computing.
In SIGMOD RECORD, Vol 22, Nr. 1, 1993.
[IVB94]
T. Imielinski, S. Viswanathan, and B.R. Badrinath.
Data on Air: Organization and Access.
In IEEE Transaction in Knowledge and Data Engineering, 1994.
[KHK+ 95] T. Kirste, A. Heuer, B. Kehrer, H. Schumann, and B. Urban.
Concepts for Mobile Information Visualization: The MoVi-Project.
In Proc. of the Sixth Eurographics Workshop on Visualization in Scientific Computing, 1995.
[Kir96]
T. Kirste.
The MOVI project: Introduction and modeling concepts.
In Proc. of the IMC’96, 1996.
[Ora95]
Oracle in motion.
Technical report, Oracle, 1995.
Draft paper.
[SSR94]
S. Sciore, M. Siegel, and A. Rosenthal.
Using Semantic Values to Facilitate Interoperability Among Heterogeneous Information.
In Transaction on Database Systems, 1994.
[TF95]
J. Thees and H. Federrath.
Methoden zum Schutz von Verkehrsdaten in Funknetzen.
In H.H. Brüggemann and W. Gerhardt-Häckl, editors, VIS 95 (Verteilte IT-Systeme), Braunschweig, Wiesbaden, 1995. Vieweg.
[VdBH93] J. Van den Bussche and A. Heuer.
Using SQL with object-oriented databases.
Information Systems, 18(7):461–487, 1993.
[ZD95]
B. Zenel and D. Duchamp.
Intelligent Communication Filtering for Limited Bandwidth Environments.
In Proc. of the Fifth Workshop on Hot Topics in Operating Systems, Rosario, 1995.
9