Beruflich Dokumente
Kultur Dokumente
Cellular Networks
Email/Web/Location services Intranet application access Wireless application protocol
Wireless LANs
Client-Server adaptations Disconnected operations
Ad-hoc Networks
Vehicular applications Emergencies
Mobility
stationary
nomadic (pedestrian speed) mobile (vehicular speed) roaming (mobile across networks)
Source: Helal
Mobile Applications - 1
Vehicles
transmission of news, road condition etc ad-hoc network with near vehicles to prevent accidents
Emergencies
early transmission of patient data to the hospital ad-hoc network in case of earthquakes, cyclones military ...
Traveling salesmen
direct access to central customer files consistent databases for all agents mobile office
Mobile Applications - 2
Web access
outdoor Internet access intelligent travel guide with up-to-date location dependent information
Information services
push: stock quotes; pull: nearest cash ATM find nearest printer (Jini services)
Disconnected operations
file-system caching for off-line work mobile agents, e.g., shopping
Entertainment
ad-hoc networks for multi user games
HTML characteristics
designed for computers with high performance, color highresolution display, mouse, hard disk typically, web pages optimized for design, not for communication; ignore end-system characteristics
Proxies
Client proxy: pre-fetching, caching, off-line use Network proxy: adaptive content transformation for connections Client and network proxy
Enhanced servers
server-aware support for mobility serve the content in multiple ways, depending on client capabilities
New protocols/languages
WAP/WML
Browser
Micro browser, similar to existing web browsers
Script language
Similar to Javascript, adapted to mobile devices
Gateway
Transition from wireless to wired world
Server
Wap/Origin server, similar to existing web servers
Protocol layers
Transport layer, security layer, session layer etc.
WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.
Source: Schiller
Internet
HTML
web server
HTML
Binary WML
Source: Schiller
web server
push content
request
encoded request
Source: Schiller
Features
WMLScript
Provides general scripting capabilities Validity check of user input, local user interaction Access to device facilities (phone call, address book etc.)
WML: Example
<WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="#card_two"/> </DO> This is a simple first card! On the next you can choose ... </CARD> <CARD NAME="card_two"> ... your favorite pizza: <SELECT KEY="PIZZA"> <OPTION VALUE=M>Margherita</OPTION> <OPTION VALUE=F>Funghi</OPTION> <OPTION VALUE=V>Vulcano</OPTION> </SELECT> </CARD> </WML>
Source: Schiller
System-aware, application-transparent
the client/proxy/server model the disconnected operation model
System-transparent, application-aware
dynamic client/server model data broadcasting/caching
System-aware, application-aware
the mobile agent model
Approaches
Replication of data (copying, cloning, caching) Getting data in advance (hoarding, pre-fetching)
Consistency
system keeps record of changes; compares files upon reconnection if different users have changed the same file, manual reintegration of the file into the system is necessary optimistic approach, coarse grained (file size)
Source: Schiller
States of a client
hoarding weak connection write disconnected
strong connection
disconnection
Consistency
asynchronous, background comparison of files system weighs speed of updating against minimization of network traffic
connection
disconnection emulating
Cache misses
function of file size and bandwidth modeling of user patience: how long can a user wait for data without an error message?
Source: Schiller
Skewed (Random):
broadcast different items with different frequencies goal is that the inter-arrival time between two instances of the same item matches the clients' needs
A A B C
Broadcast Disks
Disk1 Disk2
A B
A B A C
Periodic broadcast of one or more disks using a broadcast channel Disks can of different sizes and can be broadcast at different speed Frequency of broadcasting each item depends on its access probability Disk speed can be changed based on client access pattern
Source: Helal
Indexing on Air
inx
inx
inx
inx
inx
inx
inx
inx
inx
inx
Server dynamically adjusts broadcast hotspot Clients read the index, enters into doze mode, and then perform selective tuning
Query Time: time taken from point a client issues a query until answer is received Listening Time: time spent by client listening to the channel
Source: Helal
When?
Synchronous: send invalidation reports periodically Asynchronous: send invalidation information for an item, as soon as its value changes
To whom?
Stateful server: to affected clients Stateless server: broadcast to everyone
What to send?
invalidation: only which items were updated propagation: the values of updated items are sent aggregated information/ materialized views
Another issue
Commit of transactions involving read and write by clients
Mobile agent receives client request and Mobile agent moves into fixed network Mobile agent acts as a client to the server Mobile agent performs transformations and filtering Mobile agent returns back to mobile platform, when the client is connected
Mobile Code
Definition:
Capability to dynamically change the bindings between code fragments and the location where they are executed
Process Migration
Transfer of OS process from one m/c to other Migration mechanisms handle bindings between
process and execution environment (e.g. open fds, env variables)
Provide for load balancing Most of these facilities provide transparent process migration Other like Locus provide for some control
like external signal or migrate( ) system call
Object Migration
Makes possible to move objects among address spaces
finer grained mobility with respect to processes e..g Emerald system : Different granularity levels - small to complex objects does not provide complete transparency COOL (oo extension of Chorus OS) allows total transparent migration
Applications
Not just for load balancing E-commerce, distributed information retrieval, workflow
Example:
Two friends Sita and Gita interact to make a cake (results of service) recipe is needed (know-how about service) also ingredients (movable resources) oven to bake (hard to move resource) a person to mix ingredients as per recipe (computational component responsible for execution of code) prepare the cake (execute the service) where the cake is prepared (site of execution)
Client-Server: CS
Sita would like to have chocolate cake:
she does not know the recipe she does not have the required ingredients nor an oven
Gita tells her the recipe and Sita makes the cake
Mobile Agent: MA
Sita would like to have chocolate cake:
she has the recipe and the required ingredients she does not have an oven
Sita could
prepare the batter go to Gitas place bake the cake
wapforum.org palowireless.com