04/19/23 10:01 2
Outline
Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems
04/19/23 10:01 3
Party on Friday
Update Smart Phone’s calendar with guests names.
Make a note to order food from Dinner-on-Wheels.
Update shopping list based on the guests drinking preferences.
Don’t forget to swipe that last can of beer’s UPS label.
The shopping list is always up-to-date.
04/19/23 10:01 4
Party on Friday
AutoPC detects a near Supermarket that advertises sales.
It accesses the shopping list and your calendar on the Smart Phone. It informs you the soda and beer are on sale, and reminds you.
that your next appointment is in 1 hour. There is enough time based on the latest traffic report.
04/19/23 10:01 5
Party on Friday
TGIF… Smart Phone reminds you that you need to order food by
noon. It downloads the Dinner-on-Wheels menu from the Web
on your PC with the guests’ preferences marked. It sends the shopping list to your
CO-OP’s PC. Everything will be delivered by the time
you get home in the evening.
04/19/23 10:01 6
Mobile Applications
Expected to create an entire new class of Applications new massive markets in conjunction with the Web Mobile Information Appliances - combining personal
computing and consumer electronics Applications:
Vertical: vehicle dispatching, tracking, point of sale Horizontal: mail enabled applications, filtered
information provision, collaborative computing…
04/19/23 10:01 7
Mobile and Wireless Computing
Goal: Access Information Anywhere, Anytime, and in Any Way.
Aliases: Mobile, Nomadic, Wireless, Pervasive, Invisible, Ubiquitous Computing.
Distinction:• Fixed wired network: Traditional distributed computing.• Fixed wireless network: Wireless computing.• Wireless network: Mobile Computing.
Key Issues: Wireless communication, Mobility, Portability.
04/19/23 10:01 8
Wireless Communication
Cellular - GSM (Europe+), TDMA & CDMA (US)– FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like
services) Public Packet Radio - Proprietary
– 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Wireless LAN - wireless LAN bridge (IEEE 802.11)
– Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Paging Networks – typically one-way communication
– low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS)
– LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink)
04/19/23 10:01 9
Mobile Network Architecture
FIXED NETWORK
PDA
FIXEDHOSTBASE
STATION
BASESTATION
BASESTATION
Mbps to Gbps
MOBILE HOST
WIRELESS LAN CELL2Kbps - 15Mbps
WIRELESS RADIO CELL9Kbps - 14Kbps
BASESTATION
PDA
04/19/23 10:01 11
Wireless characteristics
Variant Connectivity Low bandwidth and reliability
Frequent disconnections • predictable or sudden
Asymmetric Communication Broadcast medium
Monetarily expensive Charges per connection or per message/packet
Connectivity is weak, intermittent and expensive
04/19/23 10:01 12
Portable Information Devices
PDAs, Personal Communicators Light, small and durable to be easily carried around dumb terminals [InfoPad, ParcTab projects],
palmtops, wristwatch PC/Phone, walkstations
will run on AA+ /Ni-Cd/Li-Ion batteries may be diskless I/O devices: Mouse is out, Pen is in wireless connection to information networks
either infrared or cellular phone specialized HW (for compression/encryption)
04/19/23 10:01 13
Portability Characteristics
Battery power restrictions transmit/receive, disk spinning, display, CPUs,
memory consume power Battery lifetime will see very small increase
need energy efficient hardware (CPUs, memory) and system software
planned disconnections - doze mode
Power consumption vs. resource utilization
04/19/23 10:01 14
Portability Characteristics
Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages
(Mobile Java?) Computation and communication load cannot be
distributed equally Small screen sizes
Asymmetry between static and mobile computers
04/19/23 10:01 15
Mobility Characteristics
Location changes• location management - cost to locate is added to
communication Heterogeneity in services
bandwidth restrictions and variability Dynamic replication of data
• data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static
04/19/23 10:01 16
What Needs to be
Reexamined?
Operating systems File systems Data-based systems Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design PDA design: Interfaces, Languages
04/19/23 10:01 17
Information Processing
Concern moves from CPU time and network delays to battery power and communication costs (including tariffs)
Updates may take the form of long-running transactions nodes may continue in disconnected mode need new transaction models [Chrysanthis 93, Satya 94]
Move data vs. move request for data Context (location) based query responses Consistency, autonomy, recovery
Approximate answers Stable storage for logs, data -- stabilize at servers?
Providing uniform access in a heterogeneous environment Design of human-computer interfaces (pen-based computing) Updated system info: Location information, user profiles
04/19/23 10:01 18
Recurrent Themes
Handling disconnections (planned failures?) caching strategies managing inconsistencies
Delayed write-back and prefetch: use network idle times increases memory requirements
Buffering/batching: allows bulk transfers Partitioning and replication
triggered by relocation Compression: increase effective BW
increases battery power requirements Receiving needs less power than sending
04/19/23 10:01 20
Outline
Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems
04/19/23 10:01 21
Mobility in Db Applications
• Need to adapt to constantly changing environment:
• network connectivity
• available resources and services
• By varying and (re)negotiating:
• the partition of duties between the mobile and static elements
• the quality of data available at the mobile host
Example: Fidelity (degree to which a copy of data matches the reference copy at the
server)
04/19/23 10:01 22
Laissez-Faire Application Transparent
Application-Aware
(+) existing applications continue to work unchanged
(-) too general, cannot take advantage application semantics
(-) may not be attainable (e.g., during a long disconnection)
(-) applications must be re-written which may be very complicated
(-) no focal point of control to resolve potentially incompatible application demands or to enforce limits on resource usage
Adaptability
Where should support for mobility and adaptability be placed?
04/19/23 10:01 23
Adaptive Applications
Need: Measurement of QoS and communication with
application– A mechanism to monitor the level and quality of information
and inform applications about changes. Programmer Interface for Application-Aware
Adaptation – Applications must be agile: able to reveive events in an
asynchronous manner and react appropriately A central point for managing resources and authorizing
any application-initiated request.
04/19/23 10:01 25
Client ServerAgent
Fixed NetworkWireless Link
C-SA-C: Server-side Agent
C-SA-C: The Client/Server-side Agent/Server Model Splits the interaction between the mobile client and
server: client-agent and agent-server
• different protocols for each part of the interaction
• each part may be executed independently of the other
04/19/23 10:01 26
Responsibilities of the Agent
Messaging and queying Manipulate data prior to their transmission to the
client: perform data specific compression batch together requests change the transmission order
04/19/23 10:01 27
Role of the Agent
Surrogate or proxy of the client Any communication to/from the client goes through the
agent Offload functionality from the client to the agent
Application (service) specific provides a mobile-aware layer to specifc services or
applications (e.g., web-browsing or database access) handles all requests from mobile clients
Filters provide agents that operate on protocols E.g., an MPEG-agent or a TCP-agent
04/19/23 10:01 28
C-CA-S: Client-side Agent
C-SA-S: The Client/Client-side Agent/Server Model caching background prefetching and hoarding various communication optimizations
Mobile Host
Client ServerAgent
Fixed NetworkWireless Link
04/19/23 10:01 29
Mobile Host
Client ServerAgent
Fixed Network
Wireless Link
Agent
C-I-S: Client & Server Agents
C-I-S: Client/Intercept/Server Model Caching, prefetching etc various communication optimizations at both ends
– E.g., asynchronous queued RPC relocate computation between the agents Client interoperability
04/19/23 10:01 30
Mobile Agents
Mobile agents are migrating processes associated with an itinerary dynamic code and state deployment
Implement the agents of the previous architectures as mobile agents, E.g., server-side agents can relocate during handoff client-side agent dynamically move on and off the client
– Relocatable dynamic objects (RDO) [Rover] Implement the communication using mobile agents:
clients submit/receive mobile agents to/from the server
04/19/23 10:01 31
A Taxonomy
C-CA-S
C-SA-S
C-I-S
C-CA-MS
C-SA-MS
C-I-MS
Coda
WirelessWeb Browser
Pro-motionRover
WebExpress
Pro-motionOracle mobile
agents
Odyssey
Adaptability
Strategy
Laissez-Faire ApplicationMobilityAware
ApplicationTransparent
Unm
odifi
ed S
erve
rM
odifi
ed S
erve
r
04/19/23 10:01 32
Outline
Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems
04/19/23 10:01 33
Locating Moving Objects
Example of moving objects mobile devices (cars, cellular phones, palmtops, etc) mobile users (locate users independently of the device
they are currently using) mobile software (e.g., mobile agents)
How to find their location - Two extremes Search everywhere Store their current location everywhere Searching vs. Informing
04/19/23 10:01 34
Locating Moving Objects
What (granularity), where (availability) and when (currency) to store
Ava
ilab
ilit
y
nowhere
at all sites
At selective sites (e.g., at frequent callers)
CurrencyNever update
Always update (at each movement)
Granularity
Exact location
the whole network
some partition
04/19/23 10:01 35
Architectures of Location DBs
Two-tier Schemes (similar to cellular phones) Home Location Register (HLR): store the location of
each moving object at a pre-specified location for the object
Visitor Location Register (VLR): also store the location of each moving object mo at a register at the current region
Hierarchical Schemes Maintain multiple registries
04/19/23 10:01 36
Two-tier Location DBs
Search Check the VLR at your current location If object not in, contact the object’s HLR
Update Update the old and new VLR Update the HLR
04/19/23 10:01 37
Hierarchical Location DBs
Maintain a hierarchy of location registers (databases)
A location database at a higher level contains location information for all objects below it
04/19/23 10:01 40
Hierarchical vs. Two-tier
(+) No pre-assigned HLR
(+) Support Locality
(-) Increased number of operations (database operations and communication messages)
(-) Increased load and storage requirements at the higher-levels
04/19/23 10:01 42
Locating Moving Objects
Caching cache the callee’s location at the caller
Replication replicate the location of a moving object at its frequent callers
Forwarding Pointers do not update the VLR and the HLR, leave a forwarding pointer
from the old to the new VLR When and how forwarding pointers are purged?
Concurrency, coherency and recovery/checkpointing of location DBs
04/19/23 10:01 43
Querying Moving Objects
• Besides locating moving objects, answer more advanced queries, e.g.,
• find the nearest service
• send a message to all mobile objects in a specific geographical reafion
• Location queries: spatial, temporal or continuous
•Issues: representation, evaluation and imprecision
Most current research assumes a centralized location database
04/19/23 10:01 44
Querying Moving Objects
How to model the location of moving objects?
Dynamic attribute (its value change with time without an explicit update) [e.g., in MOST]
For example, dynamic attribute A with three sub-attributes: A.value, A.updatetime and A.function
(function of a single variable t that has value 0 at time t=0)
• The value of A at A.updatetime is A.value
• at time A.updatetime + t0 is A.value + A.function(t0)
04/19/23 10:01 45
Querying Moving Objects
How to represent and index moving objects?
Spatial indexes do not work well with dynamically changing values
Value-time representation
• An object is mapped to a trajectory [Kollios 99]
04/19/23 10:01 46
Mobility Middleware in the Market
Most middleware market are based on TCP/IP and socket-oriented connections
Wireless-friendly TCP versions have been proposed but no major products adopted it
Microsoft’s Remote Access supports cellular communication by integrating Shiva’s PPP suite
Shiva’s PPP (Point-to-Point protocol) suit provide a remote access client to either wired or mobile servers E.g., mobile clients can access Tuxedo transaction services
MobileWare Office Server: An agent-based middleware that supports Lotus Notes, Web access, database replication, etc. Connection profiles, checkpointing,compression, security
04/19/23 10:01 47
To Recap
Mobile and wireless computing attempts to deliver today’s and tomorrow’s applications on yesterday’s hardware and communication infrastructure!
04/19/23 10:01 54
BARWAN Project Outline
Enables seamless roaming in a single logical overlay network composed of many heterogeneous (mostly wireless) physical net-works, and provides significantly better TCP performance for these networks
Provides complex scalable and highly available services to enable powerful capabilities across a very wide range of mobile devices, and mechanisms for automated discovery and configuration of localized services
04/19/23 10:01 55
Concerns
How to build this network out of an overlaid collection of networks?
How to seamlessly roam around it? How to make it perform well? How to leverage computing in the infrastructure to
enable new abilities and services for even the simplest mobile devices?
04/19/23 10:01 56
Challenges
Having a ubiquitous localized networking: the net-work as a whole has broad coverage, but connection quality and services vary greatly by location
Need a powerful infrastructure that is highly available, cost effective, and sufficiently scalable to support millions of users
04/19/23 10:01 57
Solutions from Architecture
Seamless mobility both within a network and across heterogeneous networks
A reliable transport layer, based on TCP Automatic discovery and configuration of local
network services Remote control of local environments Thin clients through dynamic adaptation of content
04/19/23 10:01 58
Solutions from Architecture
New abilities for such devices by leveraging computation in the infrastructure
Cluster-based support for scalable, manageable and highly available infrastructure services
A layered programming model for implementing services that allows authors to focus on service content
04/19/23 10:01 61
Key Themes
Dynamic adaptation: a generic solution to varying network conditions
and client heterogeneity Cross-layer Information:
break the OSI networking model to enable smarter adaptation or better performance
04/19/23 10:01 62
Key Themes
Agent-base capabilities: the use of agents in the infrastructure to enable
new abilities and to hide new problems from legacy servers and protocol stacks
Soft sate : state that aids in performance or adds capabilities,
but not required for correctness the importance for simplicity, ease of fault
recovery, and scalability (of agents)
04/19/23 10:01 63
Overlay Networking
the unification of several heterogeneous networks, of varying coverage and performance, into a single logical network that provides coverage that is the union of the networks’ coverage with performance corresponding to the best network in range
In addition to traditional cell-based roaming (horizontal roaming), they provide transparent roaming across the constituent networks (vertical roaming), even when this requires changing the IP address or network interface
04/19/23 10:01 67
Reliable Data Transport Over Wireless Networks
In overlay network, the next immediate challenge is the poor performance of standard TCP over the mobile, wireless and asymmetric networks TCP assumptions of congestion losses and symmetrical
connection may be false Solution: a combination of TCP enhancements and corrective
agents (snoop) in the infrastructure Hiding the effects of wireless losses and asymmetry The keys to making agents work well are to exploit cross-
layer information
04/19/23 10:01 69
The proxy architecture
Why: Inability of (nearly all) servers to handle the incredible variation in software, hardware and networking capabilities of mobile clients
As a smart intermediary between traditional servers and heterogeneous mobile clients
By a powerful agent in the infrastructure to adapt content dynamically to support heterogeneous networks and mobile devices
The proxy enables useful access even from very simple devices
04/19/23 10:01 72
Adaptive Network Services
IP connectivity is not sufficient: mobile users need to discover, configure and use local
services, such as DNS servers, local printers, and in-room control of lights and A/V equipment.
This supports seamless interaction with the current environment as clients roam in overlaid networks
This enables a far richer environment for mobile users, and when combined with the proxy greatly simplifies the creation and use of new services
04/19/23 10:01 73
Mechanism for Adaptive network services
Service Discovery The protocol allows for the maintenance of dynamic
repositories of service information, advertises its availability, and supports queries against it
Remote control extend room devices and collaborative applications with
shared, simplified, remote-control interfaces Access control based on physical locality (scope)
embed tickets, random fixed-length bit vectors, in the mobility beacons and require the current ticket to be included in all communications to servers
04/19/23 10:01 74
Conclusion
Deployed a really useful working network It is possible to roam among several networks and the
performance of the networks is quite good The proxy is highly available and supports thousands of users,
several quality services, and a wide range of mobile devices The support for localized network services enables automatic
configuration of mobile devices