mobile computing and databases - Lyle School of Engineering

Download Report

Transcript mobile computing and databases - Lyle School of Engineering

IEEE ICDE ‘98 Tutorial:
Mobile Computing and Databases
Margaret H. Dunham
Southern Methodist University
Dept of Computer Science and
Engineering
Dallas, Texas 75275
[email protected]
http://www.seas.smu.edu/~mhd
Outline
Introduction & Data Management Issues
Query Processing
Caching
Data Broadcasting
Transaction Processing
Agents
Projects & Products
Conclusion
2/24/98
ICDE/SMU - Dunham
2
Mobile Computing Architecture
2/24/98
ICDE/SMU - Dunham
3
Terminology
Fixed Network (FN)
Base Station (BS) (Mobile Support Station (MSS))
Fixed Hosts (FH)
Cell - Area covered by BS (1-2 miles)
Handoff - Changing BS by intercell move
Mobile Host (MH) (Mobile Unit (MU))
2/24/98
ICDE/SMU - Dunham
4
Wireless Networks
Cellular
High Cost
Scalability Issue
Limited Bandwidth: 10 Kbps
Wireless LAN
Traditional LANs with wireless interface
Low Cost
Limited range: 10-100 meters
Bandwidth: 10Mbps
NCR Wavelan,ICDE/SMU
Motorola
ALTAIR
2/24/98
- Dunham
5
Wireless Networks (cont’d)
Satellite Services
Wide Coverage
Very Expensive
Low Bandwidth: 1-2Mbps
Paging Networks
Wide Coverage
Sky Tel, Motorola
Slow: (Ethernet: 10Mbps; FDDI or switched
Ethernet: 100Mbps; ATM: 155Mbps)
2/24/98
ICDE/SMU - Dunham
6
Handoff
Changing BS due to
movement between cells
State information
transferred
Current handoffs in
cellular phones may
take up to a few seconds with
breaks in conversation of 100-300 ms.
Soft - Temporarily connected to two BSs
Hard - Only connected to one BS
2/24/98
ICDE/SMU - Dunham
7
Location Management
Tracking mobile user
User associated with home
A
location server (Home Agent)
A
May augment by searching
in local
S
area first
M
May augment with user profiles
Mobile IP [11,14]
h
f
Triangle Routing
Route Optimization
Location Control (Routing Agent)
2/24/98
ICDE/SMU - Dunham
S
Ah
Af
M
8
Location Management (cont’d)
Active Badge (Cambridge,[2])
Track employees and route telephone calls
Unique code emitted every 15 seconds
Sensors placed in offices and corridors
Location Information Replications
No HLR
Hierarchy of Location Servers
Each server maintains information about its subtree
2/24/98
ICDE/SMU - Dunham
9
Mobile Applications
Information Services (Yellow Pages)
Law Enforcement and Medical Emergencies
Sales and Mobile Offices
Weather, Traffic, Sports, Entertainment
Trucking
Cellular Subscribers in the United States:
90,000 in 1984;4.4 million in 1990;
13 million in 1994
Handheld computer market will grow to $1.77
billion by 2002
2/24/98
ICDE/SMU - Dunham
10
Technology Push
Internet: ftp, telnet, email, http,html
Advancing Wireless Communication
Technologies
Laptop, Notebook, and Palmtop Computers
2/24/98
ICDE/SMU - Dunham
11
Classification of Mobile Database
Systems
2/24/98
ICDE/SMU - Dunham
12
Data Management Issues
Speed of wireless link
Scalability
Mobility
Location dependent data; Location specific
queries
Limited by battery power
Disconnection (Voluntary, Involuntary)
Replication/Caching
Handoff
2/24/98
ICDE/SMU - Dunham
13
Insurance Example
2/24/98
ICDE/SMU - Dunham
14
Medical Example
911 Call
Ambulance arrives/departs
Closest hospital
Access patient records
Send vital signs
Update patient records
Page hospital personnel
Order medical supplies
2/24/98
ICDE/SMU - Dunham
15
MC/DB Research
Transaction Processing
Caching - Replication
Broadcast Disks
Agents
Mobility
Location Dependent Data
Recovery
ACID (?)
2/24/98
ICDE/SMU - Dunham
16
Outline
Introduction & Data Management Issues
Query Processing
Location Dependent Queries and Data
New Query Types
Query Optimization
Caching
Data Broadcasting
Transaction Processing
Agents
Projects & Products
Conclusion
2/24/98
ICDE/SMU - Dunham
17
Location Dependent Data
Value of data depends on location
Temporal Replication - One consistent value at
one time
Spatial Replication - Multiple different correct
data values at one time
Temporal Consistency - All data objects satisfy a
given set of integrity constraints.
Spatial Consistency - Consistency constraints
satisfied within Data Region.
SMU/University of Missouri at Kansas City, [17]
2/24/98
ICDE/SMU - Dunham
18
Location Dependent Queries
Result depends on location
Different from traditional distributed goal of
location independence
Ex: Yellow Pages, Directions, Map
Predicates based on location: “Find the
cheapest hotel in Dallas.”
Location constraints: “Find the nearest hotel (to
me).”
2/24/98
ICDE/SMU - Dunham
19
Similarity to Spatial Queries
Spatial Data: Data associated with space
occupied by object.
Types of spatial queries: contains, contained in,
intersects, neighboring, east of, etc.
Spatial data structures
Spatial operators
Spatial selects and joins
PSQL - extend SQL, [18,20]
2/24/98
ICDE/SMU - Dunham
20
Differences from Spatial Queries
Client is actually moving
Location of client may be
Spatial data is dynamic
part of the query itself
May depend on direction of movement
Data may not directly contain location
information
Includes temporal features as well
2/24/98
ICDE/SMU - Dunham
21
Querying Moving Objects
Moving Objects Spatio-Temporal (MOST) data
model
Dynamic Attributes - Change over time
Queries over temporal history:
Instantaneous - Ex: “Find all restaurants I’ll reach in the
next half hour. ”
Continuous - Ex: “Find all restaurants within 5 miles.” The
answer continuously changes as the MU moves.
Persistent - Ex: “Find the cars that travel greater than 10
miles in the next half hour.”
Future Temporal Logic (FTL) language
University of Illinois, [20]
2/24/98
ICDE/SMU - Dunham
22
Query Optimization
How best to satisfy the information request
made by the client?
Different Cost Factors: I/O, network
Different Access Options: cache, FN, broadcast
Dynamic and Adaptable - environment changes
Alternative plans include deciding (based on
state of MH and environment) whether to
access in the cache at the MH, to request a
mobile transaction, or to obtain from a broadcast
disk.
2/24/98
ICDE/SMU - Dunham
23
Outline
Introduction & Data Management Issues
Query Processing
Caching
Overview
Types
Research
Data Broadcasting
Transaction Processing
Agents
Projects & Products
2/24/98
ICDE/SMU - Dunham
Conclusion
24
Caching
Placing data at MU. Usually on disk.
Faster to access from MU than from DBMS in
fixed network.
Facilitates disconnected operation.
Adaptive to connection mode.
Not just another replica
Pull based
Most work on files not databases
2/24/98
ICDE/SMU - Dunham
25
Caching Functions
Data fetching
Granularity (Page, file, table, semantic)
Replacement
Coherency
Callback - Servers send invalidation messages to
clients.
Detection - Clients send queries to servers to.
Updating during disconnect
Data integration when reconnected
2/24/98
ICDE/SMU - Dunham
26
Connectivity and File Systems
Table 3.2 from [15]
2/24/98
ICDE/SMU - Dunham
27
MU Replica Control Protocols
Traditional Replication Protocol problems:
May hinder mobility
Quorum Consensus: Can’t get quorum if
disconnected; Avoid using MU replicas to make up
quorum
Location information not always readily available
Primary Copy: Should not be stored at MU
First class/Second class replicas
2/24/98
ICDE/SMU - Dunham
28
Checkpointing
Table 3.4 from [15]
2/24/98
ICDE/SMU - Dunham
29
Prefetching vs.. Hoarding
Both prefetch data in anticipation of future use.
Prefetching
Objective is to improve performance (throughput or
response time).
Cache miss not catastrophic.
Hoarding
Objective is to fetch all needed data into MU cache
prior to disconnect. Thus the goal is to facilitate
disconnected operation.
Cache miss is catastrophic.
OK to overfetch
2/24/98
ICDE/SMU - Dunham
30
Hoarding/Spying
Listening to and recording file accesses
Performed during a snapshot interval
May be combined with user profiles.
Results limited to the snapshot.
2/24/98
ICDE/SMU - Dunham
31
Disconnected Issues
Table 3.1 from [15]
2/24/98
ICDE/SMU - Dunham
32
Coda
First project to demonstrate disconnected
operation.
Optimistic Locking
Granularity - sets of files.
Coherency - callbacks
Hoard Walking: Periodically (every 10 min)
evaluate contents of cache. Recalculate priorities.
On a callback break, object is purged, refetching
on demand or during next hoard walk.
Venus - cache manager at MU
2/24/98
ICDE/SMU - Dunham
33
Coda (cont’d)
Venus states:
hoarding,emulating,write
disconnected (earlier
reintegrating).
Cache misses during
disconnection are treated as
failures.
During disconnection, a log
(Change Modify Log) of
operations is created.
2/24/98
ICDE/SMU - Dunham
Hoarding
Write
Disconnected
Emulating
Adapted from Fig 2 in [34]
34
Coda (cont’d)
During integration, log applied. Conflicting updates
are determined and user assists in resolution
Timestamps at volume and object level used to
determine conflicts.
Trickle Reintegration used to asynchronously
propagate updates.
Hoard Profile - list of files and priorities.
Lowest priority objects chosen for replacement.
Weak Connectivity - low bandwidth, high latency,
high cost, or intermittent
CMU, [29,34]
2/24/98
ICDE/SMU - Dunham
35
Little Work
Disconnected AFS
Cache operations depends on type of
connection
Connected - Continuous; High bandwidth; Normal
operation
Partially Connected - Continuous; Dialup; Delayed
writes
Fetch Only - On demand; Cellular; Optimistic
replication
Disconnected - Fail if cache miss
2/24/98
ICDE/SMU - Dunham
36
Little Work (cont’d)
Caches 64KB chunks of files
Fetch only mode
Modifications sent back to primary file server
Conflicts stored separately and user notified
Michigan, [25,26]
2/24/98
ICDE/SMU - Dunham
37
Seer
Ficus
Uses semantic information to determine
contents of cache.
Semantic distance between files measured in
number of file accesses on average between
two files.
Access is defined as open-close.
Distance measure used to cluster files.
Fetching of a cluster based on user hints and
LRU information.
UCLA, [24,30]
2/24/98
ICDE/SMU - Dunham
38
Summary
Table 3.1 from [15]
2/24/98
ICDE/SMU - Dunham
39
Sleepers and Workaholics
Cache invalidation report
Periodically (synchronous) the server
broadcasts report of changed data.
MU waits for next report prior to answering
query.
Sleepers - frequently disconnected; cache
invalidation based on signatures.
Workaholics - rarely disconnected; periodic
broadcast of changes.
False Invalidation
MITL
and Rutgers,ICDE/SMU
[21] - Dunham
2/24/98
40
Transparent Analytic Spying
File Working Sets
Continually observe and
record (in a log) file access. At
hoard time, reference the log
to determine hoard.
Trees for a process are
created reflecting file access
pattern. One tree per program
execution is generated.
2/24/98
ICDE/SMU - Dunham
A
B
D
C
E
F
Access Tree
41
Transparent Analytic Spying (cont’d)
Hoard all files or only those in in the most recent
execution.
Tracing adds about 2% CPU overhead.
Average space for file log record is 100 bytes.
Implemented on Unix, NFS, Mach
Cache miss rate over wireless slightly higher
than on wired.
Prefetching overall reduced cache misses and
elapsed time
Columbia, [36]
2/24/98
ICDE/SMU - Dunham
42
Predictive File Caching
Analyze file access patterns in different environments:
Personal productivity, Programming, Commercial
Working Set Statistics: Mean working-set sizes small
(18MB per day)
Attention Shift Statistics: 0.6 per user per week
Conflict Statistics: Depends on environment
Conclusion:
Hoarding is possible due to small working set size
LRU caching insufficient
UCLA, [31]
2/24/98
ICDE/SMU - Dunham
43
Virtual Primary Copy
Mobile Primary Copy (MPC) at MU
Virtual Primary Copy (VPC) at BS
Global transactions access VPC
Consistency of VPC maintained by BS
BS monitors MU disconnect
Multilayered approach is transparent to other
sites
Monash, [23]
2/24/98
ICDE/SMU - Dunham
44
Roam
MC Replication System
MU Peer to Peer
communication allowed
Ward Model:
Ward: Grouping of replicas for
locations that frequently
communicate
Ward Set: Set of replicated data
stored in a ward.
Ward Master: Doorway into
ward. Maintains consistency
2/24/98 between wards.
ICDE/SMU - Dunham
45
Roam (cont’d)
Ward members are “close”
No “pre-motion” operations
Intra-ward synchronization easier than interward
Reconciliation- Synchronization process
Selective replication at file level
Scales well
UCLA, [33]
2/24/98
ICDE/SMU - Dunham
46
Semantic Cache
Caching granularity at a predicate level
SPJ query - Materialized view
Advantages: reduces network overhead,
reduces cache space
Disadvantages: Indexing, query trimming
Semantic Cache - C = {Si}
Semantic Segment - Si=<Sr,Sa,Sp,Sc>
SMU
2/24/98
ICDE/SMU - Dunham
47
Outline
Introduction & Data Management Issues
Query Processing
Caching
Data Broadcasting
Overview
Indexing
Research
Transaction Processing
Agents
Projects & Products
Conclusion
2/24/98
ICDE/SMU - Dunham
48
Data Broadcasting
Server continually broadcasts data to MUs.
Scalability: Cost does not depend on number of
users listening.
Mobile Unit may/may not have cache.
Facilitates data access during disconnected periods.
Allows location dependent data access.
No need to predict with 100% accuracy the future
data needs.
Broadcast based on probability of access.
Periodic broadcasting of all data.
2/24/98
ICDE/SMU - Dunham
49
Data Broadcasting (cont’d)
Classification:
Coverage - Everything, Subset
Content - Static, Dynamic
Indices - Index, Self Descriptive
Data Stream - Flat, Skewed, Multiple Disks
Client - Passive, Active
For uniform page access, flat disk has best
expected performance.
With skewed page access, nonflat disks are
better.
Push based.
2/24/98
ICDE/SMU - Dunham
50
Broadcast Disks
Simulate multiple
disks of varying
sizes and speeds.
Data of higher
interest on smaller
faster disks
Figure 4.1 from [15]
(broadcast more frequently).
Each “disk” contains data with similar access
behavior.
Combination of caching and broadcast disks.
2/24/98
ICDE/SMU - Dunham
51
Broadcast Disks (cont’d)
Don’t want to store hottest pages. They may be
broadcast frequently.
Store in cache if probability of access (P) is
greater than the frequency of broadcast (X).
Cost based page replacement.
Replace cache page with smallest P/X - PIX.
Too expensive to implement.
LIX - PIX approximation. Works well particularly
with noise.
Brown, MITL, Maryland, [37,38,39]
2/24/98
ICDE/SMU - Dunham
52
Air-Cache
Dynamic - Adapts to system workload.
Define temperature of data:
Vapor (Steamy) Hot - Accessed frequently
and broadcast.
Liquid Warm - Accessed often, not
broadcast, but kept in server’s main memory.
Frigid (Icy) Cold - Accessed infrequently and
stored on secondary storage.
2/24/98
ICDE/SMU - Dunham
53
Air-Cache (cont’d)
Three level memory hierarchy based on
temperature.
Sparks (access) to data can increase
temperature. No sparks, results in a reduction
of temperature.
Simulation results predict very good
performance.
Maryland, [43]
2/24/98
ICDE/SMU - Dunham
54
Adaptive Protocols
Dynamically modify broadcast contents.
Constant Broadcast Size (CBS) Server Protocol:
Limited size and periodic
Priority
Popularity Factor (PF)
Ignore Factore (IF)
Variable Broadcst Size (VBS) Server Protocol:
Aperiodic
All data above threshold PF included.
Arizona and UMKC, [40]
2/24/98
ICDE/SMU - Dunham
55
Outline
 Introduction & Data Management Issues
 Query Processing
 Caching
Data Broadcasting
Transaction Processing
Overview
Transaction Model
Concurrency
Recovery
Research
 Agents
 Projects & Products
 Conclusion
2/24/98
ICDE/SMU - Dunham
56
Mobile Transaction (MT)
Database transaction requested from a MU.
May execute in FN or MU
Issues
Disconnect/Handoff
Mobility
Location Dependent Data
Error Prone
MU Resources/ Power
Recovery/Restart
Management
2/24/98
ICDE/SMU - Dunham
57
MT Requirements
Keep autonomy of local DBMS
LLT
Interactive
Advanced transaction models
Nested
Multidatabase
Request from MU
Execute anywhere
Capture movement
ACID (?)
2/24/98
ICDE/SMU - Dunham
58
MT Approaches
No consensus on accepted approach
MU may not have primary copy of data [45]:
Transaction Proxy: MU does no transaction
processing
Read Only Transaction: MU only reads data
Weak Transaction: Read and update cached data;
Must synchronize updates with primary copy on FN.
MU may have primary copy of data
MU may access data on other MUs
First class and second class transactions
2/24/98
ICDE/SMU - Dunham
59
MT Recovery
Transaction, site, media, network failure - More
frequent than in wired network.
Different types of failures (partial)
Handoff
Voluntary disconnection
Battery problems
Lose computer??
Checkpoint data at MU to BS
Checkpoint at handoff
Database log plus transaction log
May
need compensating
transactions
2/24/98
ICDE/SMU - Dunham
60
Atomicity for MT
Weaken or provide different types of atomicity
May decompose transaction into
subtransactions
May require atomicity at lower than transaction
level
Atomic commitment difficult (expensive)
Global commit/Local Commit
2/24/98
ICDE/SMU - Dunham
61
Consistency for MT
Weakening isolation and atomicity may weaken
this as well.
May divide data into clusters with consistency
within clusters.
Reintegration of updates after reconnect may
cause many conflicts.
May use bounded inconsistency.
Impacted by location dependent data
2/24/98
ICDE/SMU - Dunham
62
Isolation for MT
May be too restrictive
Can’t always do at MU (disconnection)
Isolation at lower levels in transaction
Commitment at different levels of transaction
Cooperating transactions
2/24/98
ICDE/SMU - Dunham
63
Durability for MT
Durability for partial results
May want durability for parts of transactions.
Due to conflicts at reconnect, even durability of
subtransactions may not be guaranteed.
Local commit vs.. Global commit
2/24/98
ICDE/SMU - Dunham
64
MT Concurrency Control
Mobility of MUs
may increase
message traffic
for lock
management
MU failure may
leave some data
locked /unlocked
2/24/98
1) T1: Lock(Xa);
Read(Xa)
2) T1 moves to B
Server A
Cell A
Server B
Cell B
Xb
Yb
Xa
Ya
3) T1: Lock(Yb);
Read(Yb)
6) T1: Unlock(Yb);
Commit;
6) T1: Unlock(Xa);
Commit;
Fig 2 from [48]
ICDE/SMU - Dunham
Xc
Yc
Zc
Server C
Cell C
4) T1 moves to C
5) T1: Lock(Zc);
Write(Zc);
Unlock(Zc);
Commit
65
Revised Optimistic Locking
 O2PL-MT
 Read locks may be
executed at multiple
servers.
 Read unlock can be
executed at any site
 Benefit shown using
analytic model
 Purdue, [48]
2/24/98
LOCK
HELD
W_INTEND R_LOCK W_LOCK
LOCK
REQUEST
W_Intend No
Yes
No
R_Lock
No
Yes
No
W_Lock
No
No
No
Figure 3 from [48]
ICDE/SMU - Dunham
66
Kangaroo Transaction (KT)
Built on top of global transactions
Captures data and movement behavior
DAA as BS - Maintains logging and transaction
status
Logging at BS
Flexible atomicity
Restart after disconnect
Management moves
2/24/98
ICDE/SMU - Dunham
67
Kangaroo Transaction (cont’d)
Local Transaction - Sequence of read and write
operations ending in commit or abort
Global Transaction - Sequence of global or local
transactions
Joey Transaction - Sequence of global and local
transactions ending in commit, abort, or split
Kangaroo Transaction - Sequence of one or
more Joeys with last one ending in commit or
abort. All earlier end in split
SMU, [47]
2/24/98
ICDE/SMU - Dunham
68
KT and Movement
2/24/98
ICDE/SMU - Dunham
69
Reporting and Co-Transactions
Mobile transaction is a special type of
multidatabase transactions.
GDMS exists at each base station.
Subtransactions of the mobile transaction will
commit or abort independently.
Atomic and non-compensatable transactions.
Reporting and co-transactions.
Pittsburgh, [46]
2/24/98
ICDE/SMU - Dunham
70
Clustering Model
Views mobile transaction as beginning on
mobile and nonmobile hosts.
Transaction migration
Transaction model is designed to maintain
consistency of the database.
Database is divided into clusters.
Data is divided into core and quasi copies.
Mobile transactions and operations are
decomposed into a set of weak and strict
transactions.
2/24/98
ICDE/SMU - Dunham
71
Clustering Model (cont’d)
Weak operations access only data in the same
cluster. Strict operations allowed database wide
access. Two copies of data can be maintained
(strict and weak).
Clusters defined based on location and user
profile.
Transaction Proxy: dual transaction of one
executed at mobile host which includes only the
updates.
Purdue, [51,52]
2/24/98
ICDE/SMU - Dunham
72
Mobile Transactions and
Ambulatory Care
Medical Personal Digital Assistant (MPDA)
Battlefield - Cache copy of soldiers’ medical
records in MPDA
Distributed Medical Database - EMT obtains
patient’s medical record and updates.
BSA (Base Station Agent) is responsible for
logging and recovery.
Recovery based on sagas with save-points.
Mailboxes used to save information.
Purdue, [49,50]
2/24/98
ICDE/SMU - Dunham
73
Semantics-Based Mobile
Transaction Processing
Views mobile transaction processing as a
concurrency and cache coherency problem.
A stationary database server dishes out the
fragments of an object on a request from a
Mobile Unit.
On completion of the transaction, the Mobile
Units return the fragments to the server.
These fragments are put together again by the
merge operation at the server.
Pittsburgh, [54]
2/24/98
ICDE/SMU - Dunham
74
Multidatabase Transaction
Processing Manager
Mobile transactions built on top of multidatabase
global transactions.
Timestamps used to enforce ordering
Allows voluntary disconnections.
MU part of MDS
Message Queuing Facility (MQF)
MU sends request to designated coordinating
node on FN.
Monash, [56]
2/24/98
ICDE/SMU - Dunham
75
PRO-MOTION
MC/Database Transaction Processing approach
Multiple transaction types
Controlled divergence
ACID
Update cache and later DB at FH
Compact - Compact Agent at MU, Mobility
Manager at BS, Compact Manager at Server
Pittsburgh, [55]
2/24/98
ICDE/SMU - Dunham
76
MT Research Limitations
Architectural Assumptions
No support for location dependent data
Few Implementations
2/24/98
ICDE/SMU - Dunham
77
MT Management Options
MU
BS
Combination
Fixed/Relocatable/Moving
Agent
2/24/98
ICDE/SMU - Dunham
78
Outline
Introduction & Data Management Issues
Query Processing
Caching
Data Broadcasting
Transaction Processing
Agents
Overview
Client-Agent-Server Model
Mobile Agent
Projects & Products
Conclusion
2/24/98
ICDE/SMU - Dunham
79
Agent
Application dispatched by and
working for the client.
Agent:
Solves disconnect problem
Solves slow bandwidth problem
Client
Client
Agent
Server
Server
Client-Agent-Server
Agent Classification:
Type - Client,Server,Application,User
Movement - Static, Relocatable, Migrating (Mobile)
Number - Single, Multiple, Clonable
2/24/98
ICDE/SMU - Dunham
80
Itinerant Agent (Mobile Agent)
Program dispatched from mobile unit that roams
through the fixed network to satisfy client’s data
request.
At a server the agent is sent to an Agent
Meeting Point (AMP) where desired server
functions are determined and requested.
Client, Migrating, Single
IBM, [58]
2/24/98
ICDE/SMU - Dunham
81
Migrating User Agent
User process that mimics MU.
Process migrates as user moves.
Client, Migrating, Single
Massachusetts, AT&T, [63]
2/24/98
ICDE/SMU - Dunham
82
Remote Programming
Language for communication required.
User and server communication without using
network.
Places - Meeting points for agents and servers
Agents - Application is set of agents. Agent is
either at a place or travelling between places.
Travel - Go instruction
Meetings - Agents communicating at a place.
General Magic Telescript, [59]
2/24/98
ICDE/SMU - Dunham
83
Concordia
User
Agent
Oracle
Server
Query
Agent
Collaboration
Query
Agent
Adapted from Fig 6 in [61]
ICDE/SMU - Dunham
Concordia
2/24/98
Concordia
Mitsubishi Electra ITA
Java Objects; JDBC
Collaborating Agents
Agent Server - FN
User Agent - MU to BS
Query Agents- BS to
Server
Collaborator - BS
Mitsubishi Electric ITA,
[60,61]
Notes
Server
84
Outline
Introduction & Data Management Issues
Query Processing
Caching
Data Broadcasting
Transaction Processing
Agents
Projects & Products
Conclusion
2/24/98
ICDE/SMU - Dunham
85
Some DB/MC Projects URLs
 MobiDick - Monash Univ. (Australia);
http://www.ct.monash.edu.au/~mobidick
 Mobisaic - Univ. of Washington;
http://www.cs.washington.edu/homes/voelker/mobisaic
 Purdue; http://www.cs.purdue.edu/research/cse/mobile
 SMU; http://www.seas.smu.edu/~mhd/mobile.html
 MCC - Collaboration Managment Infrastructure;
http://www.mcc.com/projects/transaction
 University of Ioanina; http://zeus.cs.uoi.gr/
 Michigan - CITI;
http://www.citi.umich.edu/projects/mobile.html
 UCLA - Ficus; http://ficus-www.cs.ucla.edu/ficus
2/24/98
ICDE/SMU - Dunham

Columbia; http://www.mcl.cs.columbia.edu
86
Rover
 Figure 6.1 from [15]
2/24/98
ICDE/SMU - Dunham
87
Oracle Mobile Agent
Commercial Product
Application, Static,
Multiple
Message Manager - MU
Message Gateway - BS
Agent - FN (Server)
[67,69]
Message Manager
Gateway
Corporate
Network
Agent
Database Server
2/24/98
ICDE/SMU - Dunham
88
Sybase - SQL Anywhere
Designed for
Windows, (95, 3.x,
NT), OS/2, DOS
Limited memory
requirements
Full TP capabilities
Includes SQL Remote
Compatible with
Sybase SQL Server
[68]
2/24/98
ICDE/SMU - Dunham
Remote Database
SQL Anywhere standalone engine
Message agent
Consolidated Database
SQL Anywhere network server
Message agent
89
Sybase (cont’d) - SQL Remote
Two way replication based on
Consolidat
message passing.
ed
DB
Remote database are synchronized
with consolidated DB
Message Agent required at DB server
Replication of subscribed fragments
Remote Databases
Periodic changes sent from consolidated
DB to remote DBs
Updates from committed transactions at remote
submitted to consolidated database.
Conflicts:
Consolidated
is master; Triggers used. 90
2/24/98
ICDE/SMU - Dunham
Informix
I-Mobile 1.0 discontinued:
No replication
Three tier approach appropriate for long term, but in
the short term users wanted to be able to use
existing client-server applications (not rewrite).
Small DBMS server to run on mobile client
Only dial up needed for now
Informix Dynamic Server/Personal Edition
(IDS/PE) for Windows 95/NT. Mobiles and
desktop clients
[64,66]
2/24/98
ICDE/SMU - Dunham
91
Outline
Introduction & Data Management Issues
Query Processing
Caching
Data Broadcasting
Transaction Processing
Agents
Products
Conclusion
2/24/98
ICDE/SMU - Dunham
92
Future
Combine different approaches
Semantic caching
Query Optimization
Adaptive Data Broadcasting
Performance Benchmarks
Security
Location Dependent Queries
2/24/98
ICDE/SMU - Dunham
93
Acknowledgements and URL
Bibliographies
 Earlier version of this tutorial presented at the 1996
Brazilian Database Symposium.
 We particularly want to thank Evaggelia Pitoura for
providing several tables and figures from her recent
book [15].
 Some slide information obtained from slides presented
at a database class at the University of Massachusetts,
http://www-ccs.cs.umass.edu/mobile.
Online bibliographies
http://www.seas.smu.edu/~mhd/mobile.html
http://www.ct.monash.edu.au/~mobidick
2/24/98
ICDE/SMU - Dunham
94