Mobile Ad-Hoc Network Data Mgmt
Mobile Ad-Hoc Network Data Mgmt
c 2004
i
CONTENTS CONTENTS
ii
1
CONTENTS
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Origins of Mobile Peer-to-Peer Computing Model . . . . . . . . . . . . 3
1.3 Data Management Challenges in Mobile Ad-Hoc Networks . . . . . . . 3
1.3.1 Communications Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Discovery Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Location Management Layer . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 Data Management Layer . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.5 Transaction Management Layer . . . . . . . . . . . . . . . . . . . . . . 18
1.3.6 Security and Privacy Plane . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.7 System Management Plane . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Peer-to-Peer Data Management Model for Mobile Ad-Hoc Networks . . 20
1.4.1 Data Representation Model . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.2 MoGATU Architecture Model . . . . . . . . . . . . . . . . . . . . . . 24
1.4.3 Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.4 Data Management Layer . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.5 Communications Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1 Introduction
The overall goal of data management and processing in mobile ad-hoc networks is to allow
individual devices to compute what information each device needs, when the device needs it, and
c 2004
1
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
how it can obtain the information. This chapter identifies the fundamental challenges and outlines
ongoing and needed future work in order to achieve this goal.
Until recently, the research on mobile data management was dominated by the client-proxy-
server model requiring an infrastructure support. In this model, mobile devices connect to the Inter-
net and serve as client end-points. They initiate actions and receive information from servers, which
reside on the network and provide the infrastructure support to the clients. This earlier research
focuses primarily on the development of protocols and techniques that deal with disconnection
management, low bandwidth and device resource constraints. This allows applications built for the
wired world, e.g., World Wide Web and databases, to run in wireless domains using proxy based
approaches [Bharadvaj et al., 1998; Joshi, 2000]. In systems based on the cellular network infras-
tructure or wireless local area network infrastructure, the traditional client-proxy-server interaction
is perhaps an appropriate model where the client database can be extremely lightweight [Bobineau
et al., 2000], has a (partial) replica of the main database on the wired side [Imielinski et al., 1997;
Tait et al., 1995] or where selected data is continuously broadcast into the environment and cached
by the clients [Acharya et al., 1995; Goodman et al., 1997].
With the widespread use of short-range ad-hoc networking technologies, such as Bluetooth [Blue-
tooth SIG], an alternative data management model becomes necessary. These networking technolo-
gies allow spontaneous connectivity among mobile devices, including hand helds, wearables, com-
puters in vehicles, computers embedded in the physical infrastructure, and (nano)sensors. Mobile
devices can suddenly become both sources and consumers of information. There is no longer a
clean distinction between clients and servers, instead devices are now peers. To further complicate
the matter, there also is no longer a guarantee of infrastructure support. Consequently, for obtain-
ing data, devices cannot simply depend on a help of some fixed, centralized server [Perich et al.,
2003]. Instead, the devices must be able to cooperate with others in their vicinity in order to pursue
individual and collective tasks. This will lead devices to become more autonomous, dynamic and
adaptive with respect to their environments.
This chapter describes the origins of this novel mobile peer-to-peer computing model and relates
it to the traditional mobile models.
More importantly, this chapter introduces problems that arise in traditional mobile data manage-
ment systems as well as additional problems specifically related to mobile ad-hoc networks. The
three fundamental sources of these problems represent the underlying wireless ad-hoc networking
technologies, the traditional issues relating to data management in any mobile computing paradigm,
and the problems related to context awareness.
This chapter also surveys proposed solutions to each problem category. Despite the fact that
wireless ad-hoc networking technologies and peer-to-peer based data management paradigms at-
tempt to solve similar problems, the chapter will illustrate that there is a very limited effort on
cross-layer interaction, which is essential for mobile ad-hoc networks. This gap between the re-
search on networking, data management, and context-awareness in pervasive computing environ-
ments is the fundamental problem of allowing a device to compute what information the device
needs, when the device needs it, and how it can obtain the information.
To overcome this problem, this chapter then presents the MoGATU model [Perich et al., 2002a,b,
2003, 2004a,b,c] – a novel peer-to-peer data management model for mobile ad-hoc networks. The
key focus of MoGATU is to narrow the gap to its minimum by enabling mobile devices to pro-
actively learn their current context and adjust their computing functionality according to their users’
needs and preferences. MoGATU abstracts all devices using Communication Interfaces, Informa-
tion Managers, Information Consumers, and Information Providers. The Information Manager is
the fundamental component of the model. It is responsible for majority of the data management
and communication functionality. It is composed of multiple components, which are responsible
for: (i) data and service discovery, (ii) query processing, (iii) join query processing, (iv) caching,
(v) transactions, (vi) reputation, and (vii) for data-based routing among peer devices.
2
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
Mobile computing applications can be classified into three categories – client-server, client-
proxy-server and peer-to-peer – depending on the interaction model.
In the client-server model, a large number of mobile devices connect to a small number of
servers residing on the wired network, organized in a cluster. This model is a direct evolution of
the distributed object-oriented systems like CORBA and DCOM [Sessions, 1997]. Here, mobile
devices terminal-like client end-points, initiating actions and receiving information from servers on
the network. The servers then represent powerful machines with high bandwidth wired network
connectivity and the capability to connect to wireless devices. Primary data and services reside on
and are managed by the servers. Servers are also responsible for handling lower level networking
details, such as disconnection and retransmission.
The advantages of this model are simplicity of the client design and straightforward cooperation
among cluster servers. The main drawback, however, is the prohibitively large overhead on servers
to handle each mobile client separately, in terms of transcoding and connection handling, which
severely decreases system scalability.
In the client-proxy-server model, a proxy is introduced between the client and the server, typi-
cally on the edge of the wired network. The logical end-to-end connection between a server and a
client is split into two physical connections – server-to-proxy and proxy-to-client. This model in-
creases overall system scalability since servers interact only with a fixed number of proxies, which
in turn are responsible for handling transcoding and wireless connections to the clients.
There have been substantial research and industry efforts [Bharadvaj et al., 1998; Brooks et al.,
1995; Joshi et al., 1996; Zenel, 1995] in developing client-proxy-server architectures. Additionally,
intelligent proxies [Pullela et al., 2000] may act as a computational platform for processing queries
on behalf of resource-limited mobile clients.
Transcoding, i.e., conversion of data and image formats to suit target systems, is an important
problem introduced by client-server and client-proxy-server architectures. Unlike mobile devices,
servers and proxies are powerful machines that can handle data formats of any type and image
formats of high resolution. Therefore, data on the wired network must be transcoded to suit different
mobile devices. It is important for a server or proxy to recognize the characteristics of a client
device. Standard techniques for transcoding, such as those included in the WAP stack, include
XSLT [Muench and Scardina, 2001] and Fourier transformation. The W3C CC/PP standard [Klyne
et al., 2001] enables clients to specify their characteristics when connecting to HTTP servers using
profiles.
The widespread use of short-range ad-hoc networking technologies created an additional model
based on peer interaction. In this peer-to-peer model, all devices, mobile and static, are treated as
peers. Suddenly, mobile devices act as both servers and clients. Ad-hoc networking technologies,
such as Bluetooth, allow mobile devices to utilize peer resources in their vicinity in addition to
accessing servers on the wired network. Server mobility is, however, an important issue in this
model. The set of services available to a client is dynamically changing with respect to location
and time. Consequently, this requires mobile devices to implement protocols for data and service
discovery [Chakraborty et al., 2002a; Rekesh, 1999], collaboration and composition [Chakraborty
et al., 2002b; Mao et al., 2001]. Although, the disadvantage of this model is the burden on the
mobile devices in terms of energy consumption and network traffic handling, the key advantage is
that each device may have access to more up-to-date location dependent information and interact
with peers without the need of an infrastructure support. Particularly, the second advantage plays
an important role in enabling and revolutionizing mobile ad-hoc networks.
3
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
.
%
! / 0 1 ! /
" # # $ % # & '
( ) * + + , + -
6
;
!
:9
8 9
5 6
2 3
.
! / '
Figure 1.1: Layered data management framework for mobile ad-hoc networks.
The aim of mobile ad-hoc networks is to extend the vision of mobile computing paradigm and
enable people to accomplish their tasks anywhere and anytime, by using all computing resources,
i.e., data and services, currently available in their vicinity. This goal, however, raises many chal-
lenges from in multiple research areas.
There are three key sources of these issues and challenges: (i) One set of challenges emanates
from the networking component, and includes problems relating to device discovery, message rout-
ing, and physical limitation of the underlying networking technology. (ii) A second set of challenges
is due to a device’s difficulty to be context aware by discovering and maintaining location of other
devices and information in a network, since the topology is dynamic. (iii) The third key source of
challenges is then the actual data management layer with issues such as transactional support or
consistency among data objects.
Figure 1.1 illustrates the various layers that are essential for designing and developing a data
management framework for mobile ad-hoc networks. Correspondingly, this section describes each
layer individually by identifying key challenges and by offering a survey of existing approaches.
1.3.1 Communications Layer
The communications layer represents wireless ad-hoc networking technologies that enable mobile
devices to communicate with other devices in their vicinity. It is responsible for establishing and
maintaining logical end-to-end connections between two devices, for data transmission, and for data
reception. This layer encompasses the first four layers of the standard 7-layer Open Standards In-
terconnection (OSI) stack – physical, medium access control (MAC), network, and transport layers.
The primary task of the physical and MAC layers is to provide node discovery, and establish
and maintain physical connections between two or more wireless entities. Each ad-hoc network-
ing technology implements these functions differently. For example, in Bluetooth, node discovery
is accomplished through the use of the inquiry command by the baseband (MAC) layer. In IEEE
802.11b, the MAC layer employs the RTS-CTS (i.e., Request-To-Send and Clear-To-Send) mecha-
nism in order to enable nodes to discover each other, when they are operating in an ad-hoc mode.
When IEEE 802.11b nodes are operating in an infrastructure mode, a base station periodically
broadcasts beacons, which other nodes use to discover the base station and to establish physical
connections with it. The establishment of physical connections is a process in which the nodes ex-
4
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
change operational parameters such as baud rate, connection mode (e.g. full-duplex or half-duplex),
power mode (e.g. low-power, high-power) and timing information for synchronization, if required.
In order to maintain the connection, some or all of these parameters are periodically refreshed by
the nodes.
The link layer may not be part of the specifications of all wireless technologies. Some, such
as IEEE 802.11b, use existing link layer protocols such as HDLC or PPP (for point-to-point con-
nections) to establish data or voice links between the nodes. Bluetooth, on the other hand, uses a
proprietary protocol, L2CAP, for establishing and maintaining links. This protocol is also responsi-
ble for other common link-layer functions such as framing, error correction and quality-of-service.
The task of the link layer in is more difficult in wireless networks than in wired networks because of
the high probability of errors either during or after transmission. Thus, error correction at the link
layer must be robust enough to withstand the high bit-error rate of wireless transmissions.
The network layer in mobile computing stacks must deal with device mobility, which may cause
existing routes to break or become invalid with no change in other network parameters. Device
mobility may also be the cause of packet loss. For example, if the destination device, to which
a packet is already enroute, moves out of range of the network, then the packet must be dropped.
Thus, both route establishment and route maintenance are important problems that the network layer
must tackle. As the mobility of a network increases, so do route failures and packet losses. Thus,
the routing protocol must be robust enough to either prevent route failures or recover from them as
quickly as possible.
Mobile applications, unlike Internet applications, tend to generate or require small amounts of
data (of the order of hundreds or at most thousands of bytes). Thus, protocols at the transport layer
should be aware of the short message sizes, packet delays due to device mobility and non-congestion
packet losses. TCP is ill-suited for wireless networks. Numerous variations of TCP and transport
protocols designed exclusively for wireless networks ensure that both ends of a connection agree
that packet loss has occurred before the source retransmits the packet. Additionally, some of these
protocols choose to defer packet transmission if they detect that current network conditions are
unsuitable.
5
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
only upon an explicit source initiated request. When a device requires a route to a destination, it
initiates a route discovery process within the network. Upon discovering a proper route, a route
maintenance procedure is executed to maintain the route until every path from the source is no
longer available. DSR consists of a route learning and maintenance policy accompanied by a route
discovery process. When a mobile device needs to send a message, it first verifies the destination
by matching it with known routes. Alternatively, the device initiates a route discovery and waits
for a route reply message that is generated by the destination device. The reply is routed back
from destination throughout the same path as it was received on. Lastly, route maintenance is
accomplished through the use of route error and acknowledgment messages.
Ad-Hoc On-Demand Distance Vector Routing Algorithm (AODV) [Perkins and Royer, 1999] is
an on-demand table-driven algorithm. AODV is an improvement upon DSDV because every node
is not required to maintain a complete list of routes for all other nodes in the network. Instead, each
node in the network maintains route information for only those paths in which it is actively involved.
Similar to DSR, this algorithm consists of two parts: path discovery and path maintenance. Each
node maintains a sequence number and broadcast ID. During the path discovery, a source node
broadcasts a route request with a unique ID for the desired destination. When an intermediate node
knows a path to the destination it replies with that information by reversing the path, otherwise it
broadcasts the request further. This algorithm therefore requires the use of symmetric links because
path replies and other messages are sent back along the reverse path of the path discovery messages.
To reflect topology changes, the algorithm considers two possibilities. When a source node moves,
it re-initiates the path discovery procedure. When an intermediate or destination node moves, its
upstream neighbor detects the change and propagates link failure message to the source node along
the reverse path. The source node may then choose to again re-initiate the path discovery procedure
for the given destination.
6
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
Protocol (SDP) is another example of a peer-to-peer service discovery protocol. In SDP, services
are represented using 128-bit unique identifiers. SDP does not provide any information on how
to invoke the service. It only provides information on the availability of the service on a specific
device.
The service discovery protocols discussed in this section use simple interface, attribute, or
unique identifier based matching techniques to locate appropriate sources. Jini uses interface match-
ing, SDP uses identifier matching, while the Service Location Protocol and Ninja Secure Service
Discovery Systems discover services using attribute-based matching. The drawbacks of these tech-
niques include lack of rich representation of services, inability to specify constraints on service de-
scriptions, lack of inexact matching of service attributes and lack of ontology support [Chakraborty
et al., 2001]. Semantic matching is an alternative technique that addresses these issues. DReggie
[Chakraborty et al., 2001] and Bluetooth Semantic Service Discovery Protocol (SeSDP) [Avan-
cha et al., 2002] both use a semantically rich language, called DARPA Agent Markup Language
(DAML), to describe and match both services and data. Semantic descriptions of services and
data allow greater flexibility in obtaining a match between the query and the available information.
Matching can now be inexact. This means that parameters such as functional characteristics, hard-
ware and device characteristics of the service provider may be used in addition to service or data
attributes to determine whether a match can occur.
The Service Location Protocol (SLP) [Guttman et al., 1999] is a language independent protocol
for automatic resource discovery on IP networks utilizing an agent-oriented infrastructure. The
basis of the SLP discovery mechanism lies on predefined service attributes, which can be applied
to universally describe both software and hardware services. The architecture consists of three
types of agents: User Agent, Service Agent and Discovery Agent. The User Agents is responsible
for discovering available Directory Agents, and acquiring service handles on behalf of end-user
applications that request services. The Service Agent is responsible for advertising the service
handles to Directory Agents. Directory Agent is responsible for collecting service handles and
maintaining the directory of advertised services. SLP uses multi-casting for service registration and
discovery, and unicasting for service discovery responses from Directory/Service Agents.
The Ninja Secure Service Discovery System (SDS) [Czerwinski et al., 1999] is a research level
service discovery engine developed at University of California, Berkeley. The architecture consists
of clients, services and SDS servers. The SDS server architecture is a scalable, fault-tolerant, secure
and highly available service discovery repository. SDS servers are hierarchically arranged for scal-
ability and availability purposes across both local and wide area networks. Service descriptions and
messages used to send query and answers between devices are encoded using eXtensible Markup
Language (XML). Additionally, the SDS uses encryption to ensure interaction privacy and uses
capability-based access control to limit the clients in discovering only permissible services. Ninja
services and clients then use well-known global SDS multicast channels to communicate with the
service discovery servers.
Universal Plug and Play (UPnP) [UPNP Forum] extends the original Microsoft Plug and Play
peripheral model to support service discovery provided by network devices from numerous vendors.
UPnP works and defines standards primarily at the lower-layer network protocol suites, so that the
devices can natively, i.e., language and platform independently, implement these standards. UPnP
uses the Simple Service Discovery Protocol (SSDP) for discovery of services over IP networks,
which can operate with or without a lookup service in the network. In addition, the SSDP oper-
ates on the top of the existing open standard protocols utilizing HTTP over both unicast (HTTPU)
and multicast UDP (HTTPMU). When a new service wants to join the network, it transmits an an-
nouncement to indicate its presence. If a lookup service is present, it can record this advertisement
to be subsequently used to satisfy clients’ service discovery requests. Additionally, each service on
the network may also observe these advertisements. When a client wants to discover a service, it can
either contact the service directly through the URL that is stored within the service advertisement,
or it can send out a multicast query message, which can be answered by either the directory service
7
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
8
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
of measured signal strengths is chosen. The location of the user is that corresponding to the (x,y)
co-ordinates associated with the stored pattern. Outdoor location management technologies have
achieved technical maturity and have been deployed in vehicular and other industrial navigational
systems. Location management, indoor and outdoor, remains a strong research field with the rising
popularity of technologies such as IEEE 802.11b and Bluetooth.
The notion of location can be dealt with at multiple scales. Most “location determination”
techniques actually deal with position determination, with respect to some global (lat/long) or local
(distances from the “corner” of a room) grid. Many applications are not interested in the absolute
position as much as they are in higher order location concepts (inside or outside a facility, inside or
outside some jurisdictional boundary, distance from some known place, at a mountaintop, in a rain
forest region etc.) Absolute position determinations can be combined with GIS type data to infer
locations at other levels of granularity.
Expanding the notion of location further leads us to consider the notion of context. Context is
any information that can be used to characterize the situation of a person or a computing entity [Dey
and Abowd, 2000]. So for instance, context covers things such as location, device type, connection
speed, and direction of movement. Context even arguably involves a users mental states (beliefs,
desires, intentions) etc. This information can be used by the layers described next for data and
service management. However, the privacy issues involved are quite complex. It is not clear who
should be allowed to gather such information, under what circumstances should it be revealed, and
to whom. So for instance a user may not want her GPS chip to reveal her current location except to
emergency response personnel. A more general formulation of such issues can be found in [Chen
et al., 2003], which defines semantically rich policies and a Decision Logic based reasoner for
specifying and reasoning about a users privacy preferences as related to context information.
9
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
Mobile ad-hoc networks only exacerbate the issues. This can be illustrated by classifying the
mobile ad-hoc network model along four orthogonal axes that represent autonomy, distribution, het-
erogeneity and mobility of mobile databases [Dunham and Helal, 1995]. Autonomy refers to control
distribution. It indicates the degree to which each mobile device can operate independently from the
servers in the fixed infrastructure. It is a function of numerous factors defining the restrictions on
execution of transactions as well as consistency requirements. Dimension classifies the data distri-
bution model among all mobile and fixed devices in the system. At one extreme, all data can reside
only on one device (usually the server), while at the other extreme all data can reside on all devices
within one system (i.e., full replication). Heterogeneity defines the hardware as well as software
(primarily protocol) heterogeneity supported by a system. Lastly, mobility defines the degree of
mobility that a particular system provides.
Mobile ad-hoc networks are highly autonomous since there is no centralized control of the
individual client databases. They are heterogeneous as entities can only speak to each other in some
neutral format. The mobile ad-hoc networks are clearly distributed as parts of data may reside
on different devices and there is replication as entities cache data and their respective metadata.
Mobility is of course given – in mobile ad-hoc networks, devices can change their locations and
no fixed set of entities is always accessible to a given device. The last point is perhaps the most
important. It is also the main reason why a direct use of solutions developed for mobile information
access is inappropriate. In mobile distributed systems, disconnections of mobile devices from the
network are viewed only as temporary events. Additionally, these systems often assume that all data
managers are located at fixed positions in the wired network and that their locations are known by
every client a priori [Bukhres et al., 1997; Kottkamp and Zukunft, 1998; Lauzac and Chrysanthis,
1998]. Finally, an additional limitation is the naming schema for defining data and for locating both
data and devices in the traditional system. Here, each client must know the precise server location
as well as its corresponding database schema in order to utilize the data properly.
Much like the arguments made in [Dunham and Helal, 1995], the status of data management in
wireless networks versus wired networks can be compared to that of distributed data management
versus centralized data management in the late 60s. The issues are often the same, but the solutions
are different. Therefore, first the traditional challenges of any distributed data management are
described, which are then followed by additional challenges specific to mobile ad-hoc networks.
This overview is based on [Dunham and Helal, 1995; Franklin, 2001; Imielinski and Badrinath,
1994; Oezsu and Valduriez, 1999; Zaslavsky and Tari, 1998].
Query Processing and Optimization Query processing is highly affected by the addition of mo-
bility to distributed data management systems in mobile environments. The mobility of a device
can affect both the type of queries as well as the optimization techniques that can be applied.
Traditional query processing approaches advocated location transparency, where a query should
return the same outcome irrespective of the client’s location. These techniques thus considered
only the aspects of data transfer and processing to optimize a given query. On the other hand, in
the mobile computing environment, the query processing approaches promote location awareness
[Kottkamp and Zukunft, 1998]. For example, a mobile device can ask for a location of the closest
Greek restaurant, and the server should understand that the starting search point refers to the current
position of the device.
Caching With the possibility of disconnection of mobile devices from the wired infrastructure, the
mobile devices require data be cached on their locally available storage. Data caching allows mobile
devices to operate even in disconnected mode. At the same time, this may require a weaker notion of
10
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
consistency as the mobile device may operate on stale data without the knowledge that the primary
copy located in the wired infrastructure was altered. Hence, different consistency constraints as well
as intelligent caching methods are required to allow a disconnected mode of operation.
Replication Another issue arises when one mobile device holds a complete replica of a database.
The traditional replica control protocols are often based on implicit assumptions, which are no
longer valid in the mobile environment. They assume that the communication among devices is
symmetric. They also assume that all replicas are always reachable. This is not the case in the
mobile environment. This may limit the ability to synchronize the replica located on the mobile
device. It may also limit the ability of accepting data modification even in the wired infrastructure,
as one of the replica owners may be unavailable to vote.
Name Resolution Name resolution also plays an important role in data management in mobile
environments. As devices may move from one location to another or become disconnected, it is
necessary to provide a global naming strategy to be able to locate a mobile station, which may hold
the required data. This can be solved by broadcasting a request for the device such as a device
discovery in Bluetooth networks. This however introduces reachability limitations as well as a high
communication overhead. Alternatively, name resolution can be done by creating a “home” base
station for each mobile device, which keeps track of the particular mobile device’s location, and can
act as proxy to transmit messages to the mobile device if reachable over the network. This solution
was studied extensively in [Perkins, 2002].
Transaction Management Lastly, the bandwidth limitations and possible long spanned discon-
nections of mobile devices require a new model for transactions as well as transaction processing
techniques. This functionality is further described in the next Section 1.3.5.
Additionally, mobile ad-hoc networks impose the following issues that are primarily related
to the randomness of every device’s neighborhood at any instance of time. The neighborhood,
also referred to as vicinity, consists of all reachable devices that a particular (mobile) device can
communicate with and all available data that is accessible at that time.
Spatio-temporal variation of data and data source availability. As devices move, their vicin-
ity changes dynamically affecting data and data source availability. Additionally, current wireless
networking technologies cannot support stable connections under high mobility.
Lack of a global catalog and schema. As the neighborhood changes dynamically, a mobile de-
vice has no prior knowledge of the current set of available data. There is no global catalog that it
may contact and ask for a location of a given data item.
No guarantee of reconnection. When a device moves away from a current neighborhood it may
affect any ongoing interaction among other devices of that neighborhood. As there is no guarantee
that the mobile devices will ever again be able to communicate among themselves, this may cause
an inconsistent global state.
No guarantee of collaboration. The issues of privacy and trust are very important for mobile
ad-hoc networks where random devices interact in random transactions [Undercoffer et al., 2003].
A device may have reliable information but refuses to make it available to others. A device may be
willing to share information; however that information is unreliable. Lastly, when a device makes
information available to other devices questions regarding protection of future changes and sharing
of that data arise.
11
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
One consequence of these challenges is that query answering is highly serendipitous. The an-
swer obtained will depend on information sources accessible in the current vicinity. Consequently,
each device in mobile ad-hoc networks must gather information pro-actively and much of the in-
teraction among devices should happen in the background, without an explicit human intervention
[Franklin, 2001; Perich et al., 2004a]. This requires that devices adapt themselves to the needs and
preferences of their users and the current context.
12
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
sources including data warehouses may not support explicit versions of data. In such a case, the
view holder will query the source in order to extract the data at a given moment. A timestamp for
this implicit version could be the last time the tuple, attribute, or table was modified and found by
querying the catalog of the data source.
[Kottkamp and Zukunft, 1998] present optimization techniques of query processing in mobile
database systems of queries that include location information. Query processing in mobile database
systems is a special challenge due to the resource limitations and constantly changing location of
the mobile host. The authors concentrate on the optimization of queries that include location in-
formation, and suggest the use of a location management component. The location management
component is responsible for updating the information about the actual location of the mobile host
and resides on the wired network either at the location of home station for a particular mobile host
or at some other centralized and fixed location on the wired network. All ad-hoc queries that use
location information about the mobile host have to access the location component. Depending on
the used localization strategy, the ad-hoc queries are associated with a different cost. Therefore, the
authors develop and present a cost model for query optimization incorporating mobility specific fac-
tors like energy and connectivity. Additionally, the authors argue that a query processing in mobile
database systems is significantly different from that in stationary systems and must be performed
using different techniques. The query processing subsystem of a DBMS is organized into several
phases: translation, optimization, and execution. The authors concentrate primarily on query op-
timization. In the phase of query optimization, potential query execution plans are generated and
evaluated using a cost function. The cheapest plan is chosen for execution. In stationary systems,
disk and main memory accesses are the foremost optimization criteria. In a mobile environment,
additional constraints like the energy consumption of a query have to be taken into account. Mobile
database systems must be able to choose an execution site for the different phases dependent on
their current environment and should be able to revise that decision as flexible as possible. The
authors then examine different localization strategies for mobile users. To validate their optimiza-
tion strategies, the authors have developed a simulation model of mobile query processing and
performed various experiments. They show that no single localization strategy performs acceptably
under all conditions and identify the critical factors for adapting a query processing subsystem to
the employed location management strategy.
[Bukhres et al., 1997] consider an infrastructure-based mobile network model consisting of
mobile hosts and mobile support stations utilizing an IP-type communication and addressing. Ac-
cording to their description, a mobile host is an intelligent device, which can move freely while
maintaining its connection to the network. The mobile support station is connected to the network
via a wired medium and provides a wireless interface that allows the mobile host to interact with
the static network. Each mobile support station is responsible for a geographical cellular region
and is required to maintain the addresses of the mobile hosts, which are located within its region.
Similar to [Kottkamp and Zukunft, 1998], the authors consider location dependent queries under
disconnected operation mode. To overcome the issue of mobility, the authors introduce the con-
cept of a mailbox for each mobile host. The mailbox is the recipient of all the query messages
and results from the network and must be always accessible by its respective mobile host owner.
Mailboxes thus provide a central repository for all of the mobile host’s query responses and logs.
This is similar to the concept of voice mailboxes in standard telecommunication cellular and wired
networks. Additionally, the mailbox can be used during the process of a mobile transaction re-
covery, as all messages destined for a particular mobile host are always sent to it. Therefore, any
DBMS is able to resolve and recover from any transactional conflicts by simply interacting with
the mobile hosts’ mailboxes and does not require the mobile hosts to be always accessible over the
wireless network. Lastly, it helps reducing the load on the system as the messages may be sent only
within the wired network between the query processor and the mailbox for the particular mobile
host. The authors then consider issues related to the cellular region based infrastructure, namely:
mobile support router hand-off and zone-crossing. Mobile support router hand-off occurs when a
13
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
mobile computer moves within a given cellular zone, while zone-crossing occurs when a mobile
computer moves between two cellular zones. The authors address these problems using a mobile
protocol adapted from the Columbia host protocol proposal [Ioannidis et al., 1991].
[Pitoura, 1996] presents a replication schema appropriate for environments where connectivity
is partial, weak and variant such as in mobile computing. She considers a distributed database with
data located both at mobile and stationary hosts to allow autonomous operation during disconnec-
tions. Transactions are distributed and can be initiated both at mobile and at stationary hosts. As an
alternative for requiring a mutual consistency of all copies of data items, their proposed approach
allows bounded inconsistencies. Pitoura groups together all data located at strongly connected hosts
to form a cluster. While all data inside a cluster are consistent, various degrees of inconsistency are
defined for replicas at different clusters. To maximize local processing and to reduce network access,
her proposed mechanism enhances the interface offered by the database systems with operations us-
ing weaker consistency guarantees, which allow access to data that exhibit bounded inconsistency.
Pitoura introduces two new types of operation, weak reads and weak writes. These operations allow
users to operate on data with bounded inconsistency. The traditional read and write operations are
referred to as strict read and strict write, respectively. Additionally, Pitoura also defines two strict
and weak transactions. The strict transaction again represents the traditional notion of transaction
in distributed database systems, while weak transaction is defined a transaction consisting of strict
operations and at least one weak operation. The weak transaction, however, requires two types of
commit: local and global. The local commit point is expressed by an explicit commit protocol, and
updates made by locally committed weak transactions are visible only by weak transactions in the
same cluster. These updates become permanent and visible by strict transactions only after reconcil-
iation when local transactions become globally committed. Pitoura then continues by presenting an
implementation, wherein schema distinguishes copies into quasi and core. Core copies are copies
whose values are up-to-date and permanent, while quasi copies are copies whose values may be
obsolete and are only conditionally committed. Lastly, Pitoura introduces protocols for enforcing
the schema and evaluates the performance of the weak consistency schema for various networking
conditions.
[Demers et al., 1994] present the system architecture of the Bayou System which is a platform of
replicated, highly available, variable-consistency, mobile databases on which to build collaborative
applications. The emphasis is on supporting application-specific conflict detection and resolution,
and on providing application-controlled inconsistency. The system is intended to run in a mobile
computing environment that includes portable machines with less than ideal network connectivity,
and the goal of the system is to support data sharing among mobile users. The authors predomi-
nantly consider the issue of disconnected operations, which they call an experience of extended and
sometimes involuntary disconnection from many or all of the other devices with which a particular
mobile device wishes to share data. The system architecture is based on client–server model, where
servers store data, and clients read and write data managed by servers. A server is any machine that
holds a complete copy of one or more databases, which loosely denotes a collection of data items
instead of the traditional database notion. Clients are able to access data residing on any server to
which they can communicate, and any machine holding a copy of a database must also act as a
server accessible by others. Therefore, in their architecture, servers do not have to reside on a wired
network, and instead any mobile device can also operate as a server. For example, when several
users become disconnected from the rest of the system, they can continue to actively collaborate
among themselves if at least one user is able to utilize its mobile device as the group’s server. To
allow any two devices that are able to communicate with each other to propagate updates between
themselves, the system employs a peer-to-peer reconciliation. Therefore, even machines that never
directly communicate can exchange updates via intermediaries. Reconciliation can be structured
as an incremental process so that even servers with very intermittent or asymmetrical connections
can eventually bring their databases into a mutually consistent state. To resolve update conflicts,
the system detects and resolves them in an application-specific manner. A write operation, thus,
14
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
includes not only the data being written or updated but also a dependency set. The dependency set
is a collection of queries and their expected results. A conflict is detected if the queries are exe-
cuted at a server and do not return the expected outcome. The write operation also specifies how
to automatically resolve conflicts using a procedure called mergeproc. This procedure is invoked
when a write conflict is detected. Hence, Bayou’s write operation consists of a proposed update, a
dependency set, and a mergeproc. The dependency set and mergeproc are both dictated by an appli-
cation’s semantics and may vary for each write operation issued by the application. The verification
of the dependency check, the execution of the mergeproc, and the application of the update set are
done atomically with respect to other database accesses on the server.
[Walborn and Chrysanthis, 1997] present a mobile transaction-processing system Pro-Motion.
The underlying transaction-processing model of Pro-Motion is the concept of nested-split transac-
tions. Nested-split transactions are an example of open nesting, which relaxes the top-level atomic-
ity restriction of closed nested transactions where an open nested transaction allows its partial results
to be observed outside the transaction. Consequently, one of the main issue for describing the lo-
cal transaction processing on the mobile host (MH) is visibility and allowing new transactions to
see uncommitted changes (weak data), which may result in undesired dependencies and cascading
aborts. At the same time, when an update is made on a disconnected MH, subsequent transactions
using the same data would be unable to proceed until a connection occurs and the mobile trans-
actions could commit. Pro-Motion considers the entire mobile sub-system as one extremely large,
long-lived transaction, which executes at the server with a sub-transaction executing at each MH.
Each of these MH sub-transactions, in turn, is a root of another nested-split transaction. The results
of local transactions on MH are automatically made visible for subsequent local access. In this
way, local visibility and local commitment can reduce the blocking of transactions during discon-
nection and minimize the probability of cascading aborts. It is built on generalized client–server
architecture with a mobile agent called compact agent, a stationary server front-end called compact
manager, and an intermediate array of mobility managers to help manage the flow of updates and
data between the other components of the system. Its fundamental building block is the compact,
which functions as the basic unit of replication for caching, prefetching, and hoarding. A compact
is defined as a satisfied request to cache data, with its obligations, restrictions and state information.
It represents an agreement between the database server and the mobile host where the database
server delegates control of some data to the MH to be used for local transaction processing. The
database server need not to be aware of the operations executed by individual transactions on the
MH, but, rather, sees periodic updates to a compact for each of the data items manipulated by the
mobile transactions. Compacts are defined as objects encapsulating the cached data, methods for
the access of the cached data, current state information, consistency rules, obligations and the inter-
face methods. The management of compacts is performed by the compact manager on the database
server and the compact agent on each mobile host cooperatively. Compacts are obtained from the
database by requesting when a data demand is created by the MH. If data is available to satisfy
the request, the database server creates a compact with the help of compact manager. The compact
is then recorded to the compact store and transmitted to the MH to provide the data and methods
to satisfy the needs of transactions executing on the MH. It is possible to transmit the missing or
outdated components of a compact, which avoids the expensive transmission of already available
compact methods on the MH. Once the compact is received by the MH, it is recorded in the compact
registry, which is used by the compact agent to track the location and status of all local compacts.
Each compact has a common interface, which is used by the compact agent to manage the compacts
in the compact registry list and to perform updates submitted by transactions run by applications
executing on the MH. Compact agent also performs disconnected processing when the mobile host
is disconnected from the network and the compact manager is processing transactions locally. The
compact manager maintains an event log, which is used for managing transaction processing, recov-
ery, and resynchronization on the MH. Local commitment is permitted to make the results visible
to other transaction on the MH, accepting the possibility of an eventual failure to commit at the
15
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
server. Transactions, which do not have a local option, will not commit locally until the updates
have committed at the server. As more than one compact may be used in a single transaction, the
commitment of a transaction is performed using a two-phase commit protocol where all participants
reside on the MH. On the other hand, resynchronization occurs when the MH reconnects to the net-
work and the compact agent is reconciling the updates committed during the disconnection with the
fixed database.
[Dunham et al., 1997] define a mobile transaction model, called Kangaroo Transaction (KT),
which addresses the movement behavior of transactions in a mobile computing environment. This
transaction model incorporates the property that transactions in a mobile environment hop from one
base station to another as the mobile device moves. The model captures this movement behavior and
the data behavior reflecting the access to data located in databases throughout the static network.
The authors assume an architecture where each base station hosts a Data Access Agent (DAA),
which is used for accessing data in the database. When DAA receives a transaction request from a
mobile user, the DAA forwards it to a specific base station or a fixed host that contains the required
data. DAA acts as a Mobile Transaction Manager (MTM) and data access coordinator for the
site. It is built on top of an existing Global Database System, which assumes that the local DBMS
performs the required transaction processing functions including recovery and concurrency. DAA
is, however, unaware of the mobile nature of some nodes or of the implementation details of each
requested transaction. A hopping property is added to model the mobility of the transactions. Each
subtransaction represents the unit of execution at one base station and is called a Joey Transaction
(JT). The authors define a Pouch to be the sequence of global and local transactions, which are
executed under a given KT. Each KT has a unique identification number consisting of the base
station number and unique sequence number within the base station. When a mobile unit moves
from one cell to another, the control of the KT changes to a new DAA at another base station.
The DAA at the new base station creates a new JT as the result of the hand-off process. JTs have
sequenced identification numbers consisting of both the KT identification number and an increasing
number. The mobility of the transaction model is captured by the use of split transactions. The
old JT is committed independently of the new JT. If a failure of any JT occurs, which in turn
may result in undoing the entire KT, a compensation for any previously completed JTs must be
assured. Therefore, a Kangaroo Transaction could be in a Split Mode or in a Compensating Mode.
A split transaction divides an ongoing transaction into serialized subtransactions. Earlier created
subtransaction may be committed and the remaining ones can continue in its execution. However,
the decision on as to abort or commit a currently executing subtransaction is left up to the main
DBMS. Previous JTs may not be compensated so that neither Splitting Mode nor Compensating
Mode guarantees serializability of kangaroo transactions. Although Compensating Mode assures
atomicity, isolation may be violated because locks are obtained and released at the local transaction
level. With the Compensating Mode, Joey subtransactions are serializable. The MTM keeps a
Transaction Status Table on the base station DAA to maintain the status of those transactions. It
also keeps a local log into which the MTM writes the records needed for recovery purposes. Most
records in the log are related to KT transaction status and some compensating information.
16
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
17
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
be classified either into client and servers to as peers. In the client–server replication, all updates
must be first propagated to a server device that further propagates them to all clients. Peer–to–peer
systems, on the other hand, allow any replica to propagate updates to any other replica. Although,
the client–server approach simplifies the system design and maintenance, the peer–to–peer system
can propagate updates faster by making the use of any available connectivity. Lastly, the last di-
mension differentiates between an immediate propagation versus a periodic reconciliation. In the
first case, an update must be propagated to all replicas as soon as it is (locally) committed, while
in the latter case a batch method can be employed to conserve the constrained resources, such as
bandwidth and battery. The authors, therefore, decided to design Rumor as an optimistic, peer–to–
peer, reconciliation-based replicated file system. Rumor operates on file sets known as volumes. A
volume is a continuous portion of the file system tree, larger than a directory but smaller than a file
system. Reconciliation then operates at the volume granularity, which increases the possibility of
conflicting updates and large memory and data requirement for storage and synchronization. At the
same time, this approach does not introduce a high maintenance overhead. Additionally, the Rumor
system employs a selective replication method and a per-file reconciliation mechanism to lower the
unnecessary cost.
[Holliday et al., 2000] have investigated an epidemic update protocol that guarantees consis-
tency and serializability in spite of a write-anywhere capability and conduct simulation experiments
to evaluate this protocol. The authors argue that the traditional replica management approaches
suffer from significant performance penalties. This is due to the requirement of a synchronous exe-
cution of each individual read and write operation before a transaction can commit. An alternative
approach is a local execution of operations without synchronization with other sites. In their ap-
proach, changes are propagated throughout the network using an epidemic approach, where updates
are piggy-backed on messages. This ensures that eventually all updates are propagated through-
out the entire system. The authors advocate that the epidemic approach works well for single item
updates or updates that commute; however, when used for multi-operation transactions, these tech-
niques do not ensure serializability. To resolve these issues, the authors have developed a hybrid
approach where a transaction executes locally, and uses epidemic communication to propagate all
its updates to all replicas before actually committing. Transaction is only committed, once a site
is ensured that updates have been incorporated at all copies throughout the system. They present
experimental results supporting this approach as an alternative to eager update protocols for a dis-
tributed database environment where serializability is needed. The epidemic protocol relieves some
of the limitations of the traditional approach by eliminating global deadlocks and by reducing delays
caused by blocking. Additionally, the authors claim that the epidemic communication technique is
more flexible than the reliable, synchronous communication required by the traditional approach,
and justify this by presenting results of their performance evaluations. These results indicate that
for moderate levels of replication, epidemic replication is an acceptable solution while significantly
reducing the transmission cost.
18
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
ping one consistent state of a database onto another consistent state. Isolation requires that the data
changes triggered by a transaction are hidden from others until the transaction commits. Lastly,
duration of a transaction implies that an outcome of committed transaction is permanent and cannot
be subsequently removed. Another important feature of a transaction is that it always terminates,
by either committing the changes or by aborting all its updates.
The transaction problems in mobile environments arise due to the traditional concurrency con-
trol technique. The control technique often relies on locking, where a client wishing to modify
data on the server database must first acquire a valid lock. For example, in the two-phase commit
protocol (2PC) [Eswaran et al., 1976; Oezsu and Valduriez, 1999] each participant and coordinator
enter a state, where they are waiting on a message from one another. The only other escape from the
idle state is only triggered by an expired timer. Since mobile devices may become involuntarily dis-
connected, this technique raises serious problems. If lock is established on a mobile device, which
becomes disconnected, the lock may be active for a long time, thus blocking the termination of a
transaction. On the other hand, when a lock is established on a wired device by a mobile device,
which since becomes disconnected, the data availability is reduced. These problems have spurred
numerous solutions [Bukhres et al., 1997; Demers et al., 1994; Dunham et al., 1997; Lauzac and
Chrysanthis, 1998; Pitoura, 1996]. These approaches are usually based on modeling a novel breed
of mobile transactions by proposing different transaction processing techniques, such as [Dunham
et al., 1997], and/or by relaxing the ACID properties as for example in [Walborn and Chrysanthis,
1997].
Having relaxed the ACID properties, one can no longer guarantee that all replicas are synchro-
nized. Consequently, the data management layer must address this issue. Traditional replica control
protocols, based on voting or lock principles [Ellis and Floyd, 1983], assume that all replica hold-
ers are always reachable. This is often invalid in mobile environments and may limit the ability to
synchronize the replica located on mobile devices. Approaches addressing this issue include data
division into volume groups and the use of versions for pessimistic [Demers et al., 1994] or opti-
mistic updates [Kistler and Satyanarayanan, 1991; Guy et al., 1998]. Pessimistic approaches require
epidemic or voting protocols that first modify the primary copy before other replicas can be updated
and their holders can operate on them. On the other hand, optimistic replication allows devices to
operate on their replicas immediately, which may result in a conflict that will require a reconcilia-
tion mechanism [Holliday et al., 2000]. Alternatively, the conflict must be avoided by calculating a
voting quorum [Keleher and Cetintemel, 1999] for distributed data objects. Each replica can obtain
a quorum by gathering weighted votes from other replicas in the system and by providing its vote
to others. Once a replica obtains a voting quorum, it is assured that a majority of the replicas agree
with the changes. Consequently, the replica can commit its proposed updates.
19
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
ing exchanged. The current Bluetooth security protocol uses procedures that have low computation
complexity, so they are susceptible to attacks. To secure data at the routing layer in client-server
and client-proxy-server architectures, IPSec [Kent and Atkinson, 1998] is used in conjunction with
Mobile IP. Research in securing routing protocols for networks using peer-to-peer architectures
has resulted in interesting protocols such as Ariadne [Yih-Chun Hu and Adrian Perrig and David
B. Johnson, 2002] and Security-Aware Ad-hoc Routing [Yi et al., 2001]. The Wireless Transport
Layer Security protocol is the only known protocol for securing transport layer data in mobile net-
works. This protocol is part of the WAP stack. WTLS is a close relative of the Secure Sockets Layer
protocol that is de jure in securing data in the Internet. Transaction and application layer security
implementations are also based on SSL.
The widespread adoption of short-range ad-hoc networking technologies allows mobile devices
to interact with other devices in their current vicinity without the need of a back-end wired infras-
tructure. As a result, a mobile device can be both an information consumer, i.e., a client in the
traditional mobile model, or an information provider, i.e., a server in the traditional mobile model.
Consequently, there are no longer explicit clients and servers in this paradigm. Instead, they become
peers that can both consume and provide different services and data.
Postulate 2 All devices in mobile ad-hoc networks are semi-autonomous, self-describing, highly
interactive, and adaptive.
The characteristics of mobile ad-hoc networks imply that a device’s vicinity is highly volatile.
Since all devices in the vicinity may be mobile, there is no guarantee about the duration of a con-
nection among any pair of mobile devices. Consequently, mobile devices must be autonomous in
order to operate correctly while their vicinity changes constantly. Additionally, as mobile devices
move and as new data may arrive at any moment, there is no guarantee about the type of information
20
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
available at any given time and space. Mobile devices must be adaptive to this nature of the envi-
ronment in that they must be able to change their functionality and needs based on what is currently
available to them. Mobile devices must also be self-describing. They must be able to articulate their
needs, which together with adaptivity will allow them to better utilize their vicinity. Finally, mobile
devices must be highly interactive by offering data and services to their peers and by querying the
information available on those peers.
Postulate 3 All devices in mobile ad-hoc networks require cross-layer interaction between their
data management and communication layers.
It is insufficient for mobile devices to employ mobile data management solutions that do not con-
sider the underlying network characteristics. At the same time, it is simply not enough to attempt
to solve the underlying networking problems, including device discovery and routing of traffic be-
tween devices, independently from the data management aspect. Such solutions would waste the
limited bandwidth and other resources. They would also fail due to the inability to allow mobile
devices to completely satisfy their individual and collective tasks. As argued in previous section,
it is imperative that all mobile devices employ a model that considers both the networking and the
data management aspects of the environments.
Figure 1.2 illustrates the corresponding representation of mobile devices from the MoGATU
model’s perspective. Applying definitions from [Yang and Garcia-Molina, 2001], the model can be
classified as chained architecture with a random replication and local incremental policy.
The model is a chained architecture because each data source, or consumer, registers with a local
Information Manager only. Remote Information Managers present on other devices in the system
are unaffected. When a query is placed, first the local Information Manager attempts to answer it.
If it is unable to answer the query, only then the Information Manager, forwards the query to some
remote Manager to which it is currently connected, i.e., to which it is chained.
The model employs a random replication policy because any mobile device can obtain and cache
a specific data objects. There is no prior knowledge that can determine the location of all copies of
a specific data object with respect to time and space.
The model also employs a local incremental update policy because there is no guarantee how
long two devices may be able to communicate with each other. In order to overcome short session
durations and network bandwidth limitations, Information Managers do not attempt to load all in-
formation their peers have available. Instead, an Information Manager only learns incrementally the
capabilities of its peers as it queries them or through receiving remote advertisements.
Specifically, the MoGATU model addresses the data management challenges from Section 1.3.4
as follows:
• Autonomy. As described above, all devices are treated as independent entities acting au-
tonomously from others.
• Mobility. The model does not place any restriction on the mobility patterns of devices.
• Heterogeneity. Mobile ad-hoc networks are highly heterogeneous in terms of devices, data
resources, and networking technologies. The model addresses this issue by having each de-
vice implement an Information Manager. Each stored information and service that is able to
generate additional information are further abstracted by Information Providers. Lastly, net-
working technologies are abstracted in terms of Communication Interfaces that allow devices
to interact regardless of the underlying networks.
21
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
• Distribution. Mobile devices may have multiple Information Providers, each holding a dis-
tributed subset of the global data repository. The model allows devices to advertise, solicit,
exchange and modify such data with their peers.
• Lack of a global catalog and schema. The model does not require a global catalog or
schema. Instead, the model employs ontologies based on a semantically rich language – a set
of common vocabularies. These ontologies enable devices to describe information provided
by any Information Provider. These ontologies are also used to advertise, discover, and query
such information among devices.
• No guarantee of reconnection. To remedy the effects of reconnection, the model is a best-
effort only and relies on pro-actively cached information. Additionally, a data-based routing
algorithm is introduced, which allows closer devices to provide answers to queries placed by
their peers whenever data is more important than its origin.
• Spatio-temporal variation of data and data source availability. The model encourages
every device to gather information pro-actively without a human interaction. A user profile
is used for representing the necessary information in order to allow devices to act indepen-
dently. The profile is also annotated in a semantically rich language and is used by devices
for adapting their caching and querying behavior.
The model abstracts each peer device in terms of Information Providers, Information Con-
sumers, and Information Managers. Additionally, the model defines abstract Communication In-
terfaces for supporting multiple networking technologies. This is illustrated in Figure 1.2.
Information Providers, described in Section 1.4.3.1, represent the available data sources. Every
Information Provider holds a partial distributed set, a fragment, of heterogeneous data available in
the whole mobile ad-hoc network. The data model, described in Section 1.4.1, is a set of ontologies
with data instances expressed in a semantic language. Each Information Provider stores its data in
the data’s base form according to the ontology definition. Data involving one ontology is already
expressed in its base form and stored in the format in which it was obtained. For data involving
multiple ontologies, a Provider decomposes the data into their base forms and maintains a view
linking to the base forms. Using this approach a view is represented as a list of pointers to the re-
spective base fragments. It may be impossible to maintain global consistency among all Information
Providers because the mobile ad-hoc network frequently remains partitioned. As a result, mobile
nodes attempt to be vicinity-consistent only.
22
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
Information Consumers, described in Section 1.4.3.2, represent entities that query and update
data available in the environment. Information Consumers can represent human users but also
pro-active agents that actively pre-fetch context-sensitive information from other devices in the
environment.
Lastly, an instance of an Information Manager, described in Section 1.4.4.1, must exist on every
mobile device. Information Managers are responsible for network communication and for most of
the data management functions. Each Information Manager is responsible for maintaining infor-
mation about peers in its vicinity. This information includes the types of devices and information
they provide. An Information Manager also maintains a data cache for storing information gathered
from other mobile devices and for caching information generated by its local Providers.
Not illustrated in Figure 1.2 is the fact that each Information Manager also includes a user’s
profile reflecting some of user’s beliefs, desires, and intentions (BDI). The BDI model has been ex-
plored in multi-agent interactions [Bratmann, 1987]. For profiles, it significantly extends [Cherniak
et al., 2002], which explicitly enumerates data and its utility. In contrast, by using the BDI concept,
profiles adapt to the environment by varying both data and their utility over time and present sit-
uations. Therefore, a profile enables pro-active device behavior because mobile devices can adapt
their operation and functionality dynamically based on the current context and user’s needs with-
out waiting explicitly for a user’s input. The Information Manager uses the profile for adapting its
caching strategies and for initiating collaboration with peers in order to obtain desired information.
23
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
P Q R S T U V W X S Q P Q R S T U V W X S Q P Q R S T U V W X S Q P Q R S T U V W X S Q
< = = > ? @ A B ? C D
] ]
Y T S Z X [ \ T Y T S Z X [ \ T S Q ^ _ U \ T S Q ^ _ U \ T
` ` ` ` ` `
E A F G H
P Q R S T U V W X S Q b V Q V c \ T
i \ j _ W V W X S Q k T V Q ^ V a W X S Q
I A B A
J A D A K G L G D B
]
V a d X Q c e _ \ T f X Q c h S X Q e _ \ T f X Q c
E A F G H
g X ^ a S Z \ T f i S _ W X Q c
M
C L L N D ? @ A B ? C D O
] ] ]
S U U _ Q X a V W X S Q S U U _ Q X a V W X S Q S U U _ Q X a V W X S Q
E A F G H P Q W \ T R V a \ P Q W \ T R V a \ P Q W \ T R V a \
` ` `
24
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
Each Information Provider describes its capabilities in terms of ontologies defined in a seman-
tically rich language. The MoGATU model employs OWL. Moreover, the design is based on the
OWL-S standard [The OWL Services Coalition, 2003], which attempts to comprehensively describe
services for the World Wide Web. Using this approach, each Provider can describe itself by defin-
ing the service model it implements, the process model that provides the information, and the input,
i.e., query, restrictions, and requirements. Moreover, the language supports efficient discovery and
matching approaches required for locating Information Providers, cached answers, or for answering
queries [Chakraborty et al., 2001].
Upon start-up, each Information Provider registers itself with the local Information Manager by
sending a registration message including the service model s, process models p and input restrictions
I:
registration = s, p, I, t, a (1.1)
Each Provider also defines a lifetime t, for specifying the time the Provider will be available,
and whether it is willing to answer queries originating from remote devices, denoted as a. Each
Provider, however, communicates with its local Information Manager only, which in turn routes
messages between the Provider and other devices in the vicinity.
The Information Manager adds this Provider into its cache of local providers, and discards the
entry once the lifetime expired and the Provider has not renewed its registration. Additionally,
Information Manager may advertise the Provider to other devices in the vicinity if the Provider is
willing to process queries for remote devices. The advertisement frequency is a tunable parameter
for each Information Manager.
Each query defines the set of ontologies used for constructing the filtering clause and for final
projection of the matching data instances. The set can include a specific ontology multiple times if
the filtering clause consists of a join over multiple data streams represented in that ontology. The
size of the ontology list, therefore, specifies the degree of the query. The degree represents the
number of joins that must be performed for obtaining an answer. The filtering clause represents
a combination of boolean conjunctive and disjunctive predicates. A device uses its cached data
and context information including current geographical position and time of the day as inputs to
these predicates. This allows a mobile device to place a dynamic query asking for the closest
local gas station. It also allows a device to pose a static query, for example, asking for a Chinese
restaurant located on the W 72nd Street. Along with string and numeric comparisons the filtering
clause supports basic calculations, such as addition and multiplication. Additionally, the filtering
25
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
clause supports more advanced predicates based on the ontology specification, such as a distance
computation between two geographical objects. The cardinality constraints of the query specify
the minimum and maximum size of a required answer. Lastly, the temporal constraint specifies the
relative deadline when the query should be completed. This is used by the device in order to query
periodically its peers when time permits and the device has not yet cached a sufficient answer, given
an implicit query.
1. Information Manager does not cache any remote advertisements or answers to queries,
26
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
2. Information Manager caches remote advertisements only for the lifetime specified in the mes-
sage or until replaced by another entry,
3. Information Manager caches both advertisements and answers, and
4. Information Manager caches all advertisements and answers, and makes them available to
other peers. This type of an Information Manager can effectively serve as a temporary partial
catalog for all peers in the current vicinity.
In order to present all functionalities of the Information Managers, the following description
assumes the most advanced type of an Information Manager, i.e., type 4. The remaining part of this
section presents the most important components of the Information Manager including:
• Data and Service Discovery Component
• Query Processing Component
• Join Query Processing Component
• Caching Component
• Transaction Component
• Reputation Component
27
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
28
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
registration = n, p) (1.3)
29
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
n o p q r s t u v q o n o p q r s t u v q o
w t o t x y r w t o t x y r
l m l m
n o p q r s t u v q o n o p q r s t u v q o
w t o t x y r w t o t x y r
l m l m
The network type is a specific service instance of the OWL-S ontology, while the process model
allows the Information Manager to interact with Communication Interfaces in the same manner
as with Information Providers. While a Communication Interface is responsible for sending and
receiving date over the transmission medium, the Information Manager is still network aware. This
is because it can infer the network constraints and requirements from the information contained
in the registered capabilities. The advantage of using an abstract representation for the underlying
networks is two fold:
First, the addition of a new networking technology does not require changes to the Information
Manager component. An Information Manager is not burdened by different packet formats and
message sizes for different networking technologies.
Moreover, the abstraction allows an Information Manager to route data across multiple network
technologies at once. An Information Manager can accept data over one network technology and
route it through an interface of another network technology. For example, this allows an Information
Manager to talk to its peer using Bluetooth while the peer forwards the data to another peer using
its Ad-Hoc IEEE 802.11 interface. One such scenario is illustrated in Figure 1.4.
This is because each Information Manager only maintains information about what Communi-
cation Interface it needs to use in order to interact with a specific peer. Additionally, since the
underlying network is hidden, Information Managers use only the identity of the peer Information
Manager as a destination of data instead of the network-specific address, which could otherwise
be incompatible with other network standards. This is similar to the concept of Internet Protocol
addresses allowing devices connected to the Internet to communicate over heterogeneous network
technologies like Ethernet and ATM.
An Information Manager can thus abstract its current vicinity as a graph, where nodes represent
other devices in the environment and edges represent a connection between two peers over any
technology. The Information Manager can then apply any link state or dynamic vector routing
algorithm for computing path to a desired destination, e.g., AODV, DSDV, or DSR.
In data-intensive environments, an answer can often be provided by more than one device, e.g.
cached by Information Managers, or available by local Providers. The querying source may not be
interested in who it interacts with as long as it receives a correct answer. In order to improve the
performance of the system, an Information Managers can intercept routed queries at the communi-
cation level.
MoGATU defines a hybrid mechanism combining discovery and routing for queries or data
discovery among peer Information Managers in multi-hop networks. The algorithm uses a source-
initiated approach similar to AODV and DSR. The algorithm works on a best-effort basis as it
attempts to rebuild disconnected routes; however, it does not guarantee message delivery. More-
30
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
over, each Information Manager can intercept all messages it receives or routes in order to provide
shortcuts for cached routes. Here, each Information Manager maintains a route entry for one-hop
peers. The Information Manager also maintains a route entry for peers more than one hop away if
those peers are used in on-going interactions or the Information Manager is caching advertisements
for those peers.
This section outlines the future work that is required for achieving the overall goal of data
management and processing in mobile ad-hoc networks to allow individual devices to compute what
information each device needs, when the device needs it, and how it can obtain the information.
In particular, because of restrictions on query-answering power in mobile ad-hoc networks, one
important direction of work will be on intelligently applying precomputed information.
For processing user queries, many devices use cached information, which can also be referred
to as materialized views. In many current approaches, the cached data mainly represent stored an-
swers to queries that a device issued in the past. Much is to be gained if one changes the current
approaches to caching data on devices, by doing purpose-driven data caching and view materializa-
tion. Since previously cached information is kept around in order to enable processing of current
queries, the first step is to determine which precomputed information would benefit precisely the
expected current queries. In many scenarios, expected queries can be extracted from the current
context, from past queries on the given device, or from user profiles stored on the device. Once
the system has collected a workload of expected queries, purpose-driven data caching can be done
in advance, in order to enable maximally efficient processing of queries. For instance, rather than
caching full answers to some past queries, it makes sense to precompute and store on a device par-
tial answers to multiple expected queries. A variety of approaches is possible, from purely ad-hoc
to fully formal approaches [Chirkova et al., 2002; Afrati and Chirkova, 2005]. As mobile ad-hoc
networks use relatively simplified ways of query processing, approaches based on multiquery opti-
mization, such as [Roy et al., 2000], may be, however, able to guarantee better solution optimality
than in standard standalone or distributed database scenarios. Additionally, to further improve the
quality of stored data, precomputed for a given set of expected queries, it may be possible to use
constraints that come from user profiles. Finally, it is also worth exploring restrictions on the size
of cached data that need to be stored on a device in order to enable efficient processing of expected
queries, such as [Chirkova and Li, 2003].
Once useful data are precomputed and cached on a device, one has to keep them consistent and
up-to-date as the source data may be continuously updated in the network over time. To deal with
changes in the source data over time, it is necessary to incorporate view-maintenance mechanisms
[Roussopoulos, 1998] as well as lightweight approaches to concurrency control and invalidation
[Gwertzman and Seltzer, 1996; Cao and Liu, 1998; Worrell, 1994].
Finally, as the location of a device may change over time, and thus the prevalent expected queries
also change, there is a need to periodically change the definitions of the derived data that need to be
stored on the devices, to accommodate new expected queries. Suppose a device already has access
to “good-quality” locally cached data, which has been precomputed to address the needs of the
device’s expected important queries. The next question is how to use the cached data to process the
queries. As mobile ad-hoc networks tend to experience spatio-temporal data variation and have no
guarantee of reconnection or collaboration in query processing, in many cases the best we can hope
for is to get approximate answers to the queries. Among others, the reasons are that not all sources
can be taken into account when answering a query and that stored data are not necessarily up-to-
date. A promising direction here is to explore purpose-driven approximate query answering, where
31
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
a device chooses just some of the more useful sources for the purposes of the task related to the
query. We can call this direction purpose-driven data integration, where, in particular, part of query
processing is to use the advertised purposes of other data sources to collect only the information
that is the most relevant for the query. In approximate query answering, we need to do formal
analysis of the quality of answers to the queries using the currently available data. Another aspect
of collaborative query answering is trust and security; one interesting direction here is to use, in
query processing, trusted devices in the current context to verify the quality of information from
potentially unreliable primary sources of the data [Perich et al., 2004c].
References
S. Acharya, R. Alonso, M. Franklin, and S. Zdonik. Broadcast disks: data management for asym-
metric communication environments. In Proceedings of ACM SIGMOD, pages 199–210, 1995.
F. Afrati and R. Chirkova. Selecting and using views to compute aggregate queries. In Proceedings
of ICDT, 2005.
32
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
S. Avancha, P. D’souza, F. Perich, A. Joshi, and Y. Yesha. P2P M-Commerce in Pervasive Environ-
ments. In ACM SIGEcom Exchanges, 2003.
S. Avancha, A. Joshi, and T. Finin. Enhancing the Bluetooth Service Discovery Protocol. Technical
report, CSEE, UMBC, August 2001. TR-CS-01-08.
S. Avancha, A. Joshi, and T. Finin. Enhanced Service Discovery in Bluetooth. IEEE Computer, 35
(6):96–99, June 2002.
P. Bahl and V. N. Padmanabhan. RADAR: An in-building RF-based user location and tracking
system. In IEEE INFOCOM, volume 2, pages 775–784, Tel Aviv, Israel, March 2000.
M. Bratmann. Intentions, Plans, and Practical Reason. Harvard University Press, 1987.
D. Brickley and R. Guha. Resource Description Framework (RDF) Schema Specification 1.0 - W3C
Recommendation. http://www.w3.org/TR/2000/CR-rdfschema-20000327, 2000.
P. Cao and C. Liu. Maintaining strong cache consistency in the world wide web. IEEE Transactions
on Computers, 47(4):445–457, 1998.
D. Chakraborty, A. Joshi, T. Finin, and Y. Yesha. GSD: A novel group-based service discovery pro-
tocol for MANETS. In 4th IEEE Conference on Mobile and Wireless Communications Networks
(MWCN), pages 301–306, Stockholm, Sweden, September 2002a.
D. Chakraborty, F. Perich, S. Avancha, and A. Joshi. DReggie: A smart Service Discovery Tech-
nique for E-Commerce Applications. In Workshop at 20th Symposium on Reliable Distributed
Systems, October 2001.
D. Chakraborty, F. Perich, S. Avancha, and A. Joshi. DReggie: Semantic Service Discovery for
M-Commerce Applications. In Workshop on Reliable and Secure Applications in Mobile Envi-
ronment, SRDS, October 2001.
D. Chakraborty, F. Perich, A. Joshi, T. Finin, and Y. Yesha. A Reactive Service Composition Ar-
chitecture for Pervasive Computing Environments. In 7th Personal Wireless Communications
Conference (PWC), pages 53–62, Singapore, October 2002b.
H. Chen, T. Finin, and A. Joshi. Semantic Web in a Pervasive Context-Aware Architecture. Artificial
Intelligence in Mobile System 2003, pages 33–40, October 2003.
33
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
M. Cherniak, E. Galvez, D. Brooks, M. Franklin, and S. Zdonik. Profile Driven Data Management.
In 28th International Conference on Very Large Databases, August 2002.
R. Chirkova, A. Halevy, and D. Suciu. A formal perspective on the view selection problem. VLDB
Journal, 11(3):216–237, 2002.
R. Chirkova and C. Li. Materializing views with minimal size to answer queries. In Proceedings of
PODS, 2003.
S. Czerwinski, B. Zhao, T. Hodes, A. Joseph, and R. Katz. An Architecture for a Secure Service
Discovery Service. In Fifth Annual International Conference on Mobile Computing and Networks
(MobiCom ’99), pages 24 – 35, Seattle, WA, 1999.
DARPA. DARPA Agent Markup Language + Ontology Inference Layer (DAML+OIL). http:
//www.daml.org.
A. K. Dey and G. D. Abowd, editors. Towards a Better Understanding of Context and Context-
Awareness, The Hague, The Netherlands, April 2000. GVU, Georgia Institute of Technology.
M. Dunham and A. Helal. Mobile Computing and Databases: Anything New? SIGMOD Record,
pages 5–9, 1995.
M. Dunham, A. Helal, and S. Balakrishnan. A Mobile Transaction Model That Captures Both the
Data and Movement Behavior. Mobile Networks and Applications, pages 149–162, 1997.
C. S. Ellis and R. A. Floyd. The Roe File System. In 3rd Symposium on Reliability in Distributed
Software and Database Systems, pages 175 – 181, Clearwater Beach, Florida, 1983. IEEE.
K. P. Eswaran, J. Gray, R. A. Lorie, and I. L. Traiger. The Notion of Consistency and Predicate
Locks in a Database System. Communications of the ACM, 19(11):624–633, December 1976.
T. Gaasterland and J. Lobo. Qualified Answers That Reflect User Needs and Preferences. In VLDB,
1994.
D. Goodman, J. Borras, N. Mandayam, and R.Yates. INFOSTATIONS : A New System Model for
Data and Messaging Services. In Proc. of IEEE VTC’97, volume 2, pages 969–973, 1997.
J. Grant, J. Gryz, J. Minker, and L. Raschid. Semantic Query Optimization for Object Databases.
In ICDE, 1997.
E. Guttman, C. Perkins, J. Veizades, and M. Day. RFC 2068: Service Location Protocol, version 2,
1999. ftp://ftp.isi.edu/in-notes/rfc2608.txt.
R. G. Guy, P. L. Reiher, D. Ratner, M. Gunter, W. Ma, and G. J. Popek. Rumor: Mobile data access
through optimistic peer-to-peer replication. In ER Workshops, pages 254–265, 1998.
J. Gwertzman and M. I. Seltzer. World wide web cache consistency. In USENIX Annual Technical
Conference, pages 141–152, 1996.
34
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
35
Data Management for Mobile Ad-Hoc Networks Perich, Joshi, & Chirkova
F. Perich, S. Avancha, D. Chakraborty, A. Joshi, and Y. Yesha. Profile driven data management for
pervasive environments. submitted to a conference, 2002a.
F. Perich, S. Avancha, D. Chakraborty, A. Joshi, and Y. Yesha. Profile Driven Data Management
for Pervasive Environments. In 13th International Conference on Database and Expert Systems
Applications (DEXA 2002), Aix en Provence, France, September 2002b.
F. Perich, A. Joshi, T. Finin, and Y. Yesha. On Data Management in Pervasive Computing Environ-
ments. IEEE Transactions on Knowledge and Data Engineering, 2004a. accepted for publication.
F. Perich, A. Joshi, Y. Yesha, and T. Finin. Collaborative Joins in a Pervasive Computing Environ-
ment. VLDB Journal, December 2004b.
C. Perkins and E. Royer. Ad hoc On-Demand Distance Vector Routing. In Proceedings of the 2nd
IEEE Workshop on Mobile Computing Systems and Applications, pages 90–100, New Orleans,
LA, February 1999.
C. Pullela, L. Xu, D. Chakraborty, and A. Joshi. A Component based Architecture for Mobile
Information Access. In Workshop in conjunction with International Conference on Parallel Pro-
cessing, pages 65–72, August 2000.
J. Rekesh. UPnP, Jini and Salutation - A look at some popular coordination frameworks for future
network devices. Technical report, California Software Labs, 1999. URL http://www.cswl.
com/whitepaper/tech/upnp.html.
N. Roussopoulos. Materialized views and data warehouses. SIGMOD Record, 27(1), 1998.
P. Roy, S. Seshadri, S. Sudarshan, and S. Bhobe. Efficient and extensible algorithms for multi query
optimization. In W. Chen, J. F. Naughton, and P. A. Bernstein, editors, Proceedings of the 2000
ACM SIGMOD International Conference on Management of Data, May 16-18, 2000, Dallas,
Texas, USA, pages 249–260. ACM, 2000. ISBN 1-58113-218-2.
R. Sessions. COM and DCOM: Microsoft’s Vision for Distributed Objects. John Wiley & Sons,
New York, NY, October 1997.
R. Smith. Readings in Distributed Artificial Intelligence, chapter The Contract Net Protocol: High-
Level Communication and Control in a Distributed Problem Solver. 1988.
36
Perich, Joshi, & Chirkova Data Management for Mobile Ad-Hoc Networks
C. Tait, H. Lei, S. Acharya, and H. Chang. Intelligent File Hoarding for Mobile Computers. In Proc.
of the First ACM International Conference on Mobile Computing and Networking - MobiCom’95,
1995.
The OWL Services Coalition. OWL-S: Semantic Markup For Web Services.
http://www.daml.org/services/, 11 2003.
J. Undercoffer, F. Perich, A. Cedilnik, L. Kagal, and A. Joshi. A Secure Infrastructure for Service
Discovery and Access in Pervasive Computing. ACM MONET: Special Issue on Security in
Mobile Computing Environments, 8(2):113–125, 2003.
UPNP Forum. Understanding Universal Plug and Play: A White Paper. http://upnp.org/
download/UPNP_UnderstandingUPNP.doc.
J. Veizades, E. Guttman, C. E. Perkins, and S. Kaplan. RFC 2165: Service location protocol, June
1997.
G. Walborn and P. Chrysanthis. PRO-MOTION : Management of mobile transactions. In Selected
Areas in Cryptography, pages 101–108, 1997.
J. R. Walker. Unsafe at any key size; An analysis of the WEP encapsulation. IEEE Document
802.11-00/362, October 2000.
World Wide Web Consortium (W3C). Ontology web language (owl). http://www.w3.org/.
K. J. Worrell. Invalidation in large scale network objects caches. Master’s thesis, 1994. URL
citeseer.ist.psu.edu/worrell94invalidation.html.
B. Yang and H. Garcia-Molina. Comparing Hybrid Peer-to-Peer Systems. In 27th VLDB Confer-
ence, 2001.
S. Yi, P. Naldurg, and R. Kravets. Security-aware ad hoc Routing for Wireless Networks. In 2nd
ACM Symposium on Mobile Ad Hoc Networking and Computing, pages 299–302, Long Beach.
California. USA., October 2001.
Yih-Chun Hu and Adrian Perrig and David B. Johnson. Ariadne: A secure on-demand routing
protocol for ad hoc networks. In 8th ACM International Conference on Mobile Computing and
Networking, pages 12–23, Atlanta, Georgia. USA., September 2002. ACM Press.
A. B. Zaslavsky and Z. Tari. Mobile computing: Overview and current status. Australian Computer
Journal, 30(2):42–52, 1998.
B. Zenel. A Proxy Based Filtering Mechanism for The Mobile Environment. PhD thesis, Department
of Computer Science, Columbia University, New York, NY, December 1995.
37