Download as pdf or txt
Download as pdf or txt
You are on page 1of 82

10.

1
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
Mobile Communications
Chapter 10: Support for Mobility
File systems
Data bases
WWW and Mobility
WAP (Wireless Application Protocol), i-mode & Co.
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.2
Mobile, bearable multimedia
equipment
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.3
File systems - Motivation
Goal
efficient and transparent access to shared files within a
mobile environment while maintaining data consistency
Problems
limited resources of mobile computers (memory, CPU, ...)
low bandwidth, variable bandwidth, temporary disconnection
high heterogeneity of hardware and software components
(no standard PC architecture)
wireless network resources and mobile computer are not
very reliable
standard file systems (e.g., NFS, network file system) are
very inefficient, almost unusable
Solutions
replication of data (copying, cloning, caching)
data collection in advance (hoarding, pre-fetching)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.4
File systems - consistency problems
THE big problem of distributed, loosely coupled systems
are all views on data the same?
how and when should changes be propagated to what users?
Weak consistency
many algorithms offering strong consistency (e.g., via
atomic updates) cannot be used in mobile environments
invalidation of data located in caches through a server is
very problematic if the mobile computer is currently not
connected to the network
occasional inconsistencies have to be tolerated, but conflict
resolution strategies must be applied afterwards to reach
consistency again
Conflict detection
content independent: version numbering, time-stamps
content dependent: dependency graphs
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.5
File systems for limited connectivity I
Symmetry
Client/Server or Peer-to-Peer relations
support in the fixed network and/or mobile computers
one file system or several file systems
one namespace for files or several namespaces
Transparency
hide the mobility support, applications on mobile computers
should not notice the mobility
user should not notice additional mechanisms needed
Consistency model
optimistic or pessimistic
Caching and Pre-fetching
single files, directories, subtrees, partitions, ...
permanent or only at certain points in time
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.6
File systems for limited connectivity
II
Data management
management of buffered data and copies of data
request for updates, validity of data
detection of changes in data
Conflict solving
application specific or general
errors
Several early experimental systems exist (late 80s)
Coda (Carnegie Mellon University), Little Work (University of
Michigan), Ficus (UCLA) etc.
Many systems use ideas from distributed file systems
such as, e.g., AFS (Andrew File System)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.7
mobile client
File systems - Coda I
Application transparent extensions of client and server
changes in the cache manager of a client
applications use cache replicates of files
extensive, transparent collection of data in advance for
possible future use (Hoarding)
Consistency
system keeps a record of changes in files and compares files
after reconnection
if different users have changed the same file a manual
reintegration of the file into the system is necessary
optimistic approach, coarse grained (file size)
cache application server
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.8
File systems - Coda II
Hoarding
user can pre-determine a file
list with priorities
contents of the cache
determined by the list and LRU
strategy (Last Recently Used)
explicit pre-fetching possible
periodic updating
Comparison of files
asynchronous, background
system weighs speed of
updating against minimization
of network traffic
Cache misses
modeling of user patience: how
long can a user wait for data
without an error message?
function of file size and
bandwidth
hoarding
write
disconnected
emulating
disconnection
disconnection
connection
strong
connection
weak
connection
States of a client
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.9
File systems - Little Work
Only changes in the cache manager of the client
Connection modes and use
Connected Partiall y
Connected
Fetch onl y Disconnected
Method normal delayed write
to the server
optimistic
replication of files
abort at cache
miss
Network
requirements
continuous
high
bandwidth
continuous
bandwidth
connection on
demand
none
Application office, WLAN packet radio cellular systems
(e.g., GSM) with
costs per call
independent
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.10
File systems - further examples
Mazer/Tardo
file synchronization layer between application and local file system
caching of complete subdirectories from the server
Redirector responses to requests locally if necessary, via the
network if possible
periodic consistency checks with bi-directional updating
Ficus
not a client/server approach
optimistic approach based on replicates, detection of write conflicts,
conflict resolution
use of gossip protocols: a mobile computer does not necessarily
need to have direct connection to a server, with the help of other
mobile computers updates can be propagated through the network
MIo-NFS (Mobile Integration of NFS)
NFS extension, pessimistic approach, only token holder can write
connected/loosely connected/disconnected
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.11
Database systems in mobile
environments
Request processing
power conserving, location dependent, cost efficient
example: find the fastest way to a hospital
Replication management
similar to file systems
Location management
tracking of mobile users to provide replicated or location
dependent data in time at the right place (minimize access
delays)
example: with the help of the HLR (Home Location Register)
in GSM a mobile user can find a local towing service
Transaction processing
mobile transactions can not necessarily rely on the same
models as transactions over fixed networks (ACID:
atomicity, consistency, isolation, durability)
therefore models for weak transaction
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.12
World Wide Web and mobility
Protocol (HTTP, Hypertext Transfer Protocol) and
language (HTML, Hypertext Markup Language) of the Web
have not been designed for mobile applications and
mobile devices, thus creating many problems!
Typical transfer sizes
HTTP request: 100-350 byte
responses avg. <10 kbyte, header 160 byte, GIF 4.1kByte,
JPEG 12.8 kbyte, HTML 5.6 kbyte
but also many large files that cannot be ignored
The Web is no file system
Web pages are not simple files to download
static and dynamic content, interaction with servers via
forms, content transformation, push technologies etc.
many hyperlinks, automatic loading and reloading,
redirecting
a single click might have big consequences!
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.13
WWW example
Request t o por t 80: GET / HTTP/ 1. 0
or : GET / HTTP/ 1. 1
Host : www. i nf . f u- ber l i n. de
Response f r omser ver
HTTP/ 1. 1 200 OK
Dat e: Wed, 30 Oct 2002 19: 44: 26 GMT
Ser ver : Apache/ 1. 3. 12 ( Uni x) mod_per l / 1. 24
Last - Modi f i ed: Wed, 30 Oct 2002 13: 16: 31 GMT
ETag: " 2d8190- 2322- 3dbf dbaf "
Accept - Ranges: byt es
Cont ent - Lengt h: 8994
Connect i on: cl ose
Cont ent - Type: t ext / ht ml
<DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 01 Tr ansi t i onal / / EN" >
<ht ml >
<head>
<t i t l e>FU- Ber l i n: I nst i t ut f &uuml ; r I nf or mat i k</ TI TLE>
<base hr ef =" ht t p: / / www. i nf . f u- ber l i n. de" >
<l i nk r el =" st yl esheet " t ype=" t ext / css" hr ef =" ht t p: / / www. i nf . f u- ber l i n. de/ st yl es/ homepage. css" >
<! - - scr i pt l anguage=" J avaScr i pt " sr c=" f ui nf . j s" - - >
<! - - / scr i pt - - >
</ head>
<body onResi ze=" sel f . l ocat i on. r el oad( ) ; " >
. . .
non persistent
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.14
HTTP 1.0 (old) and mobility I
Characteristics
stateless, client/server, request/response
needs a connection oriented protocol (TCP), one connection
per request (some enhancements in HTTP 1.1)
primitive caching and security
Problems
designed for large bandwidth (compared to wireless access)
and low delay
big and redundant protocol headers (readable for humans,
stateless, therefore big headers in ASCII)
uncompressed content transfer
using TCP
huge overhead per request (3-way-handshake) compared with
the content, e.g., of a GET request
slow-start problematic
DNS lookup by client causes additional traffic
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.15
HTTP 1.0 (old) and mobility II
Caching
quite often disabled by information providers to be able to
create user profiles, usage statistics etc.
dynamic objects cannot be cached
numerous counters, time, date, personalization, ...
mobility quite often inhibits caches
security problems
how to use SSL/TLS together with proxies?
today: many user customized pages, dynamically generated
on request via CGI, ASP, ...
POSTing (i.e., sending to a server)
can typically not be buffered, very problematic if currently
disconnected
Many unsolved problems!
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.16
HTML and mobile devices
HTML
designed for computers with high performance, color high-
resolution display, mouse, hard disk
typically, web pages optimized for design, not for communication
Mobile devices
often only small, low-resolution displays, very limited input
interfaces (small touch-pads, soft-keyboards)
Additional features
animated GIF, Java AWT, Frames, ActiveX Controls, Shockwave,
movie clips, audio, ...
many web pages assume true color, multimedia support, high-
resolution and many plug-ins
Web pages ignore the heterogeneity of end-systems!
e.g., without additional mechanisms, large high-resolution pictures
would be transferred to a mobile phone with a low-resolution
display causing high costs
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.17
Approaches toward WWW for mobile
devices
Application gateways, enhanced servers
simple clients, pre-calculations in the fixed network
compression, filtering, content extraction
automatic adaptation to network characteristics
Examples
picture scaling, color reduction, transformation of the document
format (e.g., PS to TXT)
detail studies, clipping, zoom
headline extraction, automatic abstract generation
HDML (handheld device markup language): simple language similar
to HTML requiring a special browser
HDTP (handheld device transport protocol): transport protocol for
HDML, developed by Unwired Planet
Problems
proprietary approaches, require special enhancements for browsers
heterogeneous devices make approaches more complicated
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.18
Some new issues that might help
mobility?
Push technology
real pushing, not a client pull needed, channels etc.
HTTP/1.1
client/server use the same connection for several request/response
transactions
multiple requests at beginning of session, several responses in
same order
enhanced caching of responses (useful if equivalent responses!)
semantic transparency not always achievable: disconnected,
performance, availability -> most up-to-date version...
several more tags and options for controlling caching
(public/private, max-age, no-cache etc.)
relaxing of transparency on app. request or with warning to user
encoding/compression mechanism, integrity check, security of
proxies, authentication, authorization...
Cookies: well..., stateful sessions, not really integrated...
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.19
mobile client
browser
integrated
enhancement
System support for WWW in a mobile
world I (some historical)
Enhanced browsers
Pre-fetching, caching, off-line use
e.g. Internet Explorer
Additional, accompanying application
Pre-fetching, caching, off-line use
e.g. original WebWhacker
web
server
mobile client
browser
additional
application
web
server
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.20
System support for WWW in a mobile
world II (some historical)
Client Proxy
Pre-fetching, caching, off-line use
e.g., Caubweb, TeleWeb, Weblicator,
WebWhacker, WebEx, WebMirror,
...
Network Proxy
adaptive content transformation
for bad connections, pre-fetching,
caching
e.g., TranSend, Digestor
mobile client
browser
network
proxy
web
server
mobile client
browser
client
proxy
web
server
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.21
System support for WWW in a mobile
world III (some historical)
Client and network proxy
combination of benefits plus
simplified protocols
e.g., MobiScape, WebExpress
Special network subsystem
adaptive content transformation
for bad connections, pre-fetching,
caching
e.g., Mowgli
Additional many proprietary server
extensions possible
channels, content negotiation, ...
mobile client
browser
web
server
mobile client
browser
client
proxy
web
server
network
proxy
client
proxy
network
proxy
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.22
WAP - Wireless Application Protocol
Goals
deliver Internet content and enhanced services to mobile devices
and users (mobile phones, PDAs)
independence from wireless network standards
open for everyone to participate, protocol specifications will be
proposed to standardization bodies
applications should scale well beyond current transport media and
device types and should also be applicable to future developments
Platforms
e.g., GSM (900, 1800, 1900), CDMA IS-95, TDMA IS-136, 3rd
generation systems (IMT-2000, UMTS, W-CDMA, cdma2000 1x EV-
DO, )
Forum
was: WAP Forum, co-founded by Ericsson, Motorola, Nokia,
Unwired Planet, further information www.wapforum.org
now: Open Mobile Alliance www.openmobilealliance.org
(Open Mobile Architecture + WAP Forum + SyncML + )
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.23
WAP - scope of standardization
Browser
micro browser, similar to existing, well-known browsers in the
Internet
Script language
similar to Java script, adapted to the mobile environment
WTA/WTAI
Wireless Telephony Application (Interface): access to all telephone
functions
Content formats
e.g., business cards (vCard), calendar events (vCalender)
Protocol layers
transport layer, security layer, session layer etc.
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.24
WAP 1.x - reference model and
protocols
Bearers (GSM, CDPD, ...)
Security Layer (WTLS)
Session Layer (WSP)
Application Layer (WAE)
Transport Layer (WDP)
TCP/IP,
UDP/IP,
media
SSL/TLS
HTML, J ava
HTTP
Internet WAP
WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.
Transaction Layer (WTP)
additional services
and applications
WCMP
A-SAP
S-SAP
TR-SAP
SEC-SAP
T-SAP
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.25
WAP - network elements
wireless network fixed network
WAP
proxy
WTA
server
filter/
WAP
proxy
web
server
filter
PSTN
Internet
Binary WML: binary file format for clients
Binary WML
Binary WML
Binary WML
HTML
HTML
HTML
WML
WML
HTML
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.26
WDP - Wireless Datagram Protocol
Protocol of the transport layer within the WAP architecture
uses directly transports mechanisms of different network
technologies
offers a common interface for higher layer protocols
allows for transparent communication using different transport
technologies (GSM [SMS, CSD, USSD, GPRS, ...], IS-136, TETRA,
DECT, PHS, IS-95, ...)
Goals of WDP
create a worldwide interoperable transport system with the help of
WDP adapted to the different underlying technologies
transmission services such as SMS, GPRS in GSM might change,
new services can replace the old ones
Additionally, WCMP (wireless Control Message Protocol) is used
for control/error report (similar to ICMP in the TCP/IP protocol
suite)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.27
WDP - Service Primitives
T-SAP T-SAP
T-DUnitdata.req
(DA, DP, SA, SP, UD)
T-DUnitdata.ind
(SA, SP, UD)
T-DUnitdata.req
(DA, DP, SA, SP, UD)
T-DError.ind
(EC)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.28
Usage of WDP
GSM-SMS
GSM-CSD
WTLS
WTLS
WDP &
Adaptation
WDP &
Adaptation
SMS
SMS
Wireless Data Gateway
WTLS
WTLS
WDP &
Adaptation
WDP &
Adaptation
Tunnel
Tunnel
Subnetwork
Subnetwork
SMS
SMS
Tunnel
Tunnel
Subnetwork
Subnetwork
WAP
Proxy
WTLS
WTLS
UDP
UDP
WTLS
WTLS
UDP
UDP
IP
IP
PPP
PPP
CSD-RF
CSD-RF
IP
IP
Subnetwork
Subnetwork
IP
IP
PPP
PPP
CSD-RF
CSD-RF
PSTN
Circuit
PSTN
Circuit
Subnetwork
Subnetwork
Interworking
Function
Internet Service Provider
Remote Access Service
PSTN
Circuit
PSTN
Circuit
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.29
WTLS - Wireless Transport Layer
Security
Goals
data integrity
prevention of changes in data
privacy
prevention of tapping
authentication
creation of authenticated relations between a mobile device and
a server
protection against denial-of-service attacks
protection against repetition of data and unverified data
WTLS
is based on the TLS (Transport Layer Security) protocol
(former SSL, Secure Sockets Layer)
optimized for low-bandwidth communication channels
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.30
Secure session, full handshake
SEC-Create.req
(SA, SP, DA, DP, KES, CS, CM)
SEC-Create.ind
(SA, SP, DA, DP, KES, CS, CM)
originator
SEC-SAP
peer
SEC-SAP
SEC-Create.cnf
(SNM, KR, SID, KES, CS, CM)
SEC-Create.res
(SNM, KR, SID, KES, CS, CM)
SEC-Exchange.req
SEC-Exchange.ind
SEC-Exchange.res
(CC)
SEC-Commit.req
SEC-Exchange.cnf
(CC)
SEC-Commit.ind
SEC-Commit.cnf
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.31
SEC-Unitdata - transferring
datagrams
SEC-Unitdata.req
(SA, SP, DA, DP, UD)
SEC-Unitdata.ind
(SA, SP, DA, DP, UD)
sender
SEC-SAP
receiver
SEC-SAP
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.32
WTP - Wireless Transaction Protocol
Goals
different transaction services, offloads applications
application can select reliability, efficiency
support of different communication scenarios
class 0: unreliable message transfer
class 1: reliable message transfer without result message
class 2: reliable message transfer with exactly one reliable
result message
supports peer-to-peer, client/server and multicast
applications
low memory requirements, suited to simple devices (<
10kbyte )
efficient for wireless transmission
segmentation/reassembly
selective retransmission
header compression
optimized connection setup (setup with data transfer)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.33
Details of WTP I
Support of different communication scenarios
Class 0: unreliable message transfer
Example: push service
Class 1: reliable request
An invoke message is not followed by a result message
Example: reliable push service
Class 2: reliable request/response
An invoke message is followed by exactly one result message
With and without ACK
Example: typical web browsing
No explicit connection setup or release is available
Services for higher layers are called events
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.34
Details of WTP II
Used Mechanisms
Reliability
Unique transaction identifiers (TID)
Acknowledgements
Selective retransmission
Duplicate removal
Optional: concatenation & separation of messages
Optional: segmentation & reassembly of messages
Asynchronous transactions
Transaction abort, error handling
Optimized connection setup (includes data transmission)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.35
WTP Class 0 transaction
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=0, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=0, H)
initiator
TR-SAP
responder
TR-SAP
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.36
WTP Class 1 transaction, no user ack
& user ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=1, H)
initiator
TR-SAP
responder
TR-SAP
A
c
k
P
D
U
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=1, H)
initiator
TR-SAP
responder
TR-SAP
A
c
k
P
D
U
TR-Invoke.res
(H)
TR-Invoke.cnf
(H)
TR-Invoke.cnf
(H)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.37
WTP Class 2 transaction, no user ack,
no hold on
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H)
initiator
TR-SAP
responder
TR-SAP
R
e
s
u
lt P
D
U
TR-Result.req
(UD*, H)
TR-Result.ind
(UD*, H)
A
c
k
P
D
U
TR-Invoke.cnf
(H)
TR-Result.res
(H)
TR-Result.cnf
(H)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.38
WTP Class 2 transaction, user ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H)
initiator
TR-SAP
responder
TR-SAP
R
e
s
u
lt P
D
U TR-Result.ind
(UD*, H)
A
c
k
P
D
U
TR-Invoke.res
(H)
TR-Invoke.cnf
(H)
A
c
k
P
D
U
TR-Result.req
(UD*, H)
TR-Result.res
(H)
TR-Result.cnf
(H)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.39
WTP Class 2 transaction, hold on, no
user ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H)
In
v
o
k
e
P
D
U
TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H)
initiator
TR-SAP
responder
TR-SAP
R
e
s
u
lt P
D
U
TR-Result.req
(UD*, H)
TR-Result.ind
(UD*, H)
A
c
k
P
D
U
A
c
k
P
D
U
TR-Invoke.cnf
(H)
TR-Result.res
(H)
TR-Result.cnf
(H)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.40
WSP - Wireless Session Protocol
Goals
HTTP 1.1 functionality
Request/reply, content type negotiation, ...
support of client/server, transactions, push technology
key management, authentication, Internet security services
session management (interruption, resume,...)
Open topics
QoS support
group communication
isochronous media objects
management
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.41
WSP protocols
WSP
Connectionless mode
(uses WDP or WTLS)
Connection mode
(uses WTP)
Session Management (class 0, 2)
Method Invocation (Kl. 2)
Error Report
Push (class 0)
Confirmed Push (class 1)
Session suspend/resume (class 0, 2)
Method Invocation
Push
(in general unreliable)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.42
WSP/B session establishment
S-Connect.req
(SA, CA, CH, RC)
C
o
n
n
e
c
t P
D
U
S-Connect.ind
(SA, CA, CH, RC)
client
S-SAP
server
S-SAP
C
o
n
n
R
e
p
ly
P
D
U
S-Connect.res
(SH, NC)
S-Connect.cnf
(SH, NC)
WTP Class 2
transaction
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.43
WSP/B session suspend/resume
S-Suspend.req
S
u
s
p
e
n
d
P
D
U
S-Suspend.ind
(R)
client
S-SAP
server
S-SAP
R
e
p
ly
P
D
U
S-Resume.res
WTP Class 2
transaction
S-Suspend.ind
(R)
~ ~
S-Resume.req
(SA, CA)
S-Resume.ind
(SA, CA)
R
e
s
u
m
e
P
D
U
S-Resume.cnf
WTP Class 0
transaction
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.44
WSP/B session termination
D
is
c
o
n
n
e
c
t P
D
U
S-Disconnect.ind
(R)
client
S-SAP
server
S-SAP
S-Disconnect.ind
(R)
WTP Class 0
transaction
S-Disconnect.req
(R)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.45
WSP/B method invoke
S-MethodInvoke.req
(CTID, M, RU)
M
e
th
o
d
P
D
U
S-MethodInvoke.ind
(STID, M, RU)
client
S-SAP
server
S-SAP
R
e
p
ly
P
D
U
S-MethodInvoke.res
(STID)
S-MethodInvoke.cnf
(CTID)
WTP Class 2
transaction
S-MethodResult.req
(STID, S, RH, RB)
S-MethodResult.ind
(CTID, S, RH, RB)
S-MethodResult.res
(CTID)
S-MethodResult.cnf
(STID)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.46
WSP/B over WTP - method invocation
S-MethodInvoke.req
S-MethodInvoke.ind
client
S-SAP
server
S-SAP
S-MethodInvoke.res
S-MethodInvoke.cnf
S-MethodResult.req
S-MethodResult.ind
S-MethodResult.res
S-MethodResult.cnf
TR-Invoke.req
initiator
TR-SAP
TR-Result.ind
TR-Invoke.cnf
TR-Result.res
TR-Invoke.ind
responder
TR-SAP
TR-Invoke.res
TR-Result.req
TR-Result.cnf
In
v
o
k
e
(
M
e
th
o
d
)
R
e
s
u
lt(
R
e
p
ly
)
A
c
k
P
D
U
A
c
k
P
D
U
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.47
WSP/B over WTP - asynchronous,
unordered requests
S-MethodInvoke_1.req
S-MethodInvoke_1.ind
client
S-SAP
server
S-SAP
S-MethodInvoke_2.req
S-MethodInvoke_3.req
S-MethodResult_1.ind
S-MethodInvoke_4.req
S-MethodResult_3.ind
S-MethodResult_4.ind
S-MethodResult_2.ind
S-MethodInvoke_3.ind
S-MethodInvoke_2.ind
S-MethodResult_1.req
S-MethodResult_2.req
S-MethodResult_3.req
S-MethodResult_4.req
S-MethodInvoke_4.ind
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.48
WSP/B - confirmend/non-confirmed
push
S-Push.req
(PH, PB)
client
S-SAP
server
S-SAP
C
o
n
fP
u
s
h
P
D
U
WTP Class 1
transaction
S-Push.ind
(PH, PB)
S-ConfirmedPush.res
(CPID)
S-ConfirmedPush.ind
(CPID, PH, PB)
WTP Class 0
transaction
P
u
s
h
P
D
U
S-ConfirmedPush.req
(SPID, PH, PB)
client
S-SAP
server
S-SAP
S-ConfirmedPush.cnf
(SPID)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.49
WSP/B over WDP
S-Unit-MethodInvoke.req
(SA, CA, TID, M, RU)
client
S-SAP
server
S-SAP
S-Unit-MethodResult.ind
(CA, SA, TID, S, RH, RB)
S-Unit-Push.ind
(CA, SA, PID, PH, PB)
S-Unit-MethodInvoke.ind
(SA, CA, TID, M, RU)
S-Unit-MethodResult.req
(CA, SA, TID, S, RH, RB)
S-Unit-Push.req
(CA, SA, PID, PH, PB)
M
e
th
o
d
P
D
U
R
e
p
ly
P
D
U
P
u
s
h
P
D
U
WDP Unitdata
service
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.50
WAE - Wireless Application
Environment
Goals
network independent application environment for low-bandwidth,
wireless devices
integrated Internet/WWW programming model with high
interoperability
Requirements
device and network independent, international support
manufacturers can determine look-and-feel, user interface
considerations of slow links, limited memory, low computing power,
small display, simple user interface (compared to desktop
computers)
Components
architecture: application model, browser, gateway, server
WML: XML-Syntax, based on card stacks, variables, ...
WMLScript: procedural, loops, conditions, ... (similar to JavaScript)
WTA: telephone services, such as call control, text messages,
phone book, ... (accessible from WML/WMLScript)
content formats: vCard, vCalendar, Wireless Bitmap, WML, ...
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.51
Origin Servers
WAE logical model
web
server
other content
server
Gateway Client
other
WAE
user agents
WML
user agent
WTA
user agent
encoders
&
decoders
encoded
request
encoded
response
with
content
request
response
with
content
push
content
encoded
push
content
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.52
Wireless Markup Language (WML)
WML follows deck and card metaphor
WML document consists of many cards, cards are grouped to
decks
a deck is similar to an HTML page, unit of content
transmission
WML describes only intent of interaction in an abstract
manner
presentation depends on device capabilities
Features
text and images
user interaction
navigation
context management
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.53
WML example I
<?xml ver si on=" 1. 0" ?>
<! DOCTYPE wml PUBLI C " - / / WAPFORUM/ / DTD WML 1. 1/ / EN"
" ht t p: / / www. wapf or um. or g/ DTD/ wml _1. 1. xml " >
<wml >
<car d i d=" car d_one" t i t l e=" si mpl e exampl e" >
<do t ype=" accept " >
<go hr ef =" #car d_t wo" / >
</ do>
<p>
Thi s i s a si mpl e f i r st car d!
<br / >
On t he next one you can choose . . .
</ p>
</ car d>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.54
WML example II
<car d i d="car d_t wo" t i t l e="Pi zza sel ect i on">
<do t ype="accept " l abel ="cont ">
<go hr ef ="#car d_t hr ee"/ >
</ do>
<p>
. . . your f avor i t e pi zza!
<sel ect val ue="Mar " name="PI ZZA">
<opt i on val ue="Mar ">Mar gher i t a</ opt i on>
<opt i on val ue="Fun">Funghi </ opt i on>
<opt i on val ue="Vul ">Vul cano</ opt i on>
</ sel ect >
</ p>
</ car d>
<car d i d="car d_t hr ee" t i t l e="Your Pi zza! ">
<p>
Your per sonal pi zza par amet er i s <b>$( PI ZZA) </ b>!
</ p>
</ car d>
</ wml >
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.55
WMLScript
Complement to WML
Provides general scripting capabilities
Features
validity check of user input
check input before sent to server
access to device facilities
hardware and software (phone call, address book etc.)
local user interaction
interaction without round-trip delay
extensions to the device software
configure device, download new functionality after deployment
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.56
WMLScript - example
f unct i on pi zza_t est ( pi zza_t ype) {
var t ast e = "unknown";
i f ( pi zza_t ype = "Mar gher i t a") {
t ast e = "wel l . . . ";
}
el se {
i f ( pi zza_t ype = "Vul cano") {
t ast e = "qui t e hot ";
};
};
r et ur n t ast e;
};
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.57
Wireless Telephony Application (WTA)
Collection of telephony specific extensions
Extension of basic WAE application model
content push
server can push content to the client
client may now be able to handle unknown events
handling of network events
table indicating how to react on certain events from the network
access to telephony functions
any application on the client may access telephony functions
Example
calling a number (WML)
wt ai : / / wp/ mc; 07216086415
calling a number (WMLScript)
WTAPubl i c. makeCal l ( " 07216086415" ) ;
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.58
WTA logical architecture
other
servers
client
repository
WTA
user agent
WAP gateway
encoders
&
decoders
other telephone networks
WTA server
WTA & WML
server
WML
scripts
WML
decks
WTA
services
mobile
network
firewall
third party
servers
network operator
trusted domain
device
specific
functions
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.59
Voice box example
Service Indication
WTA-User-Agent WTA-Server Mobile network Voice box server
Generate newdeck
Display deck;
user selects
Call setup
Accept call
Voice connection
Indicate new voice message
Play requested voice message
Setup call
Accept call
Accept call
WTA-Gateway
Push URL
Display deck;
user selects
WSP Get
HTTP Get
Respond with content
WML
Binary WML
WSP Get
HTTP Get
Respondwith card
for call
WML
Binary WML
Wait for call
Setup call
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.60
WTAI - example with WML only
<?xml ver si on=" 1. 0" ?>
<! DOCTYPE wml PUBLI C " - / / WAPFORUM/ / DTD WML 1. 1/ / EN"
" ht t p: / / www. wapf or um. or g/ DTD/ wml _1. 1. xml " >
<wml >
<car d i d=" car d_one" t i t l e=" Tel e vot i ng" >
<do t ype=" accept " >
<go hr ef =" #car d_t wo" / >
</ do>
<p> Pl ease choose your candi dat e! </ p>
</ car d>
<car d i d=" car d_t wo" t i t l e=" Your sel ect i on" >
<do t ype=" accept " >
<go hr ef =" wt ai : / / wp/ mc; $di al no" / >
</ do>
<p> Your sel ect i on:
<sel ect name=" di al no" >
<opt i on val ue=" 01376685" >Mi ckey</ opt i on>
<opt i on val ue=" 01376686" >Donal d</ opt i on>
<opt i on val ue=" 01376687" >Pl ut o</ opt i on>
</ sel ect >
</ p>
</ car d>
</ wml >
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.61
WTAI - example with WML and
WMLScript I
f unct i on vot eCal l ( Nr ) {
var j = WTACal l Cont r ol . set up( Nr , 1) ;
i f ( j >=0) {
WMLBr owser . set Var ( "Message", "Cal l ed") ;
WMLBr owser . set Var ( "No", Nr ) ;
}
el se {
WMLBr owser . set Var ( "Message", "Er r or ! ") ;
WMLBr owser . set Var ( "No", j ) ;
}
WMLBr owser . go( "showResul t ") ;
}
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.62
WTAI - example with WML and
WMLScript II
<?xml ver si on=" 1. 0" ?>
<! DOCTYPE wml PUBLI C " - / / WAPFORUM/ / DTD WML 1. 1/ / EN"
" ht t p: / / www. wapf or um. or g/ DTD/ wml _1. 1. xml " >
<wml >
<car d i d=" car d_one" t i t l e=" Tel e vot i ng" >
<do t ype=" accept " > <go hr ef =" #car d_t wo" / > </ do>
<p> Pl ease choose your candi dat e! </ p>
</ car d>
<car d i d=" car d_t wo" t i t l e=" Your sel ect i on" >
<do t ype=" accept " >
<go hr ef =" / myscr i pt s#vot eCal l ( $di al no) " / > </ do>
<p> Your sel ect i on:
<sel ect name=" di al no" >
<opt i on val ue=" 01376685" >Mi ckey</ opt i on>
<opt i on val ue=" 01376686" >Donal d</ opt i on>
<opt i on val ue=" 01376687" >Pl ut o</ opt i on>
</ sel ect > </ p>
</ car d>
<car d i d=" showResul t " t i t l e=" Resul t " >
<p> St at us: $Message $No </ p>
</ car d>
</ wml >
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.63
WAP push architecture with proxy
gateway
Push Access Protocol
Content transmission between server and PPG
First version uses HTTP
Push OTA (Over The Air) Protocol
Simple, optimized
Mapped onto WSP
Client
User Agents
Push Proxy
Gateway
Coding,
checking
Push OTA
Protocol
Push Initiator
Push
Access
Protocol
Server
application
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.64
Push/Pull services in WAP I
Service Indication
Service announcement using a pushed short message
Service usage via a pull
Service identification via a URI
<?xml ver si on=" 1. 0" ?>
<! DOCTYPE si PUBLI C " - / / WAPFORUM/ / DTD SI 1. 0/ / EN"
" ht t p: / / www. wapf or um. or g/ DTD/ si . dt d" >
<si >
<i ndi cat i on
hr ef =" ht t p: / / www. pi i i i zza4u. de/ of f er / sal ad. wml "
cr eat ed=" 2007- 10- 30T17: 45: 32Z"
si - expi r es=" 2007- 10- 30T17: 50: 31Z" >
Sal ad speci al : The 5 mi nut e of f er
</ i ndi cat i on>
</ si >
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.65
Push/Pull services in WAP II
Service Loading
short message pushed to a client containing a URI
User agent decides whether to use the URI via a
pull
Transparent for users, always looks like a push
<?xml ver si on=" 1. 0" ?>
<! DOCTYPE sl PUBLI C " - / / WAPFORUM/ / DTD SL 1. 0/ / EN"
" ht t p: / / www. wapf or um. or g/ DTD/ sl . dt d" >
<sl
hr ef =" ht t p: / / www. pi i i i zza4u. de/ of f er / sal ad. wml " >
</ sl >
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.66
Examples for WAP protocol stacks
(WAP 1.x)
WAE
WSP
WTP
UDP
IP
(GPRS, ...)
WDP
non IP
(SMS, ...)
WTLS
WAE user agent
WAP standardization
outside WAP
WTP
UDP
IP
(GPRS, ...)
WDP
non IP
(SMS, ...)
WTLS
UDP
IP
(GPRS, ...)
WDP
non IP
(SMS, ...)
WTLS
transaction based
application
datagram based
application
typical WAP
application with
complete protocol
stack
pure data application
with/without
additional security
3.
1.
2.
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.67
i-mode first of all a business model!
Access to Internet services in Japan provided by NTT DoCoMo
Services
Email, short messages, web, picture exchange, horoscope, ...
Big success (in some countries) millions of users
Many use i-mode as PC replacement
For many this was the first Internet contact
Very simple to use, convenient
Technology
9.6 kbit/s (enhancements with 28.8 kbit/s), packet oriented (PDC-P)
Compact HTML plus proprietary tags, special transport layer (Stop/go,
ARQ, push, connection oriented)
PDC-P
TL
HTTP(S)
cHTML + tags
mobile terminal
PDC-P
TL
mobile network gateway content provider
L1
L2
IP
TCP
L1
L2
IP
TCP
L1
L2
IP
TCP
L1
L2
IP
TCP
HTTP(S)
cHTML + tags
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.68
Email example: i-mode push with
SMS
application
WSP
WTP
WDP
SMS
Operator sends an SMS containing a
push message if a new email has
arrived. If the user wants to read the
email, an HTTP get follows with the
email as response.
Popular misconception:
WAP was a failure, i-mode is different
and a success wrong from a
technology point of view, right from a
business point of view
i-mode as a business model:
- content providers get >80%
of the revenue.
- independent of technology
(GSM/GPRS in Europe,
PDC-P in J apan but also
UMTS!)
- not successful in e.g.
Germany (stopped in 2008)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.69
i-mode protocol stack based on WAP
2.0
user equipment gateway
i-mode can use WAP 2.0/Internet protocols (example: i-mode in Germany over GSM/GPRS)
server
cHTML
HTTP
WTCP
IP
L2
L1
SSL
WTCP
IP
L2
L1
TCP
IP
L2
L1
cHTML
HTTP
SSL
TCP
IP
L2
L1
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.70
i-mode technical requirements
Functions Descriptions Status Requirement
WEB Access Portal Site / Internet Access M i-mode HTML (cHTML+tags)
E-mail Internet e-mail and inter-terminal email M HTTP 1.1
Security End-End security O SSL (Version 2, 3), TLS 1
Java Java application made available O Compatible i-mode JAVA
Ringing tone download Ringing melody download M SMF based
Image download Stand-by screen download M GIF (O: JPEG)
Voice call notification
during i-mode session
Voice termination notified and responded during i-mode
communications
M 3GPP standard system
Content charge billing Per content charge billed to user M Specifications depend on each
operators billing system
Third party payment
collection
Content charge collection on behalf of Content Provider M Specifications depend on each
operators billing system
Reverse billing Packet usage charges can be billed to third party O Specifications depend on each
operators billing system
Subscriber ID transmission Hashed subscriber ID from the operators portal to the CP
transmission on each content access
M The ID generation algorithm
should be determined by each
operator and has to be secret
Number of characters per
e-mail
Number of characters (byte) per e-mail M To be defined by operators
(e.g. 500 byte, 1K byte, 10K
byte)
Character code set
supported
Character code set supported by browser and used to
develop content
M To be defined by operators
User Agent Browser specifications to be notified M HTTP 1.1
i-mode button Dedicated button O Hard or soft key
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.71
i-mode very first examples I
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.72
i-mode very first examples II
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.73
i-mode very first examples III
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.74
WAP 2.0 (July 2001)
New for developers
XHTML
TCP with Wireless Profile
HTTP
New applications
Color graphics
Animation
Large file download
Location based services
Synchronization with PIMs
Pop-up/context sensitive menus
Goal: integration of WWW, Internet, WAP, i-mode
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.75
WAP 2.0 architecture
Service
discovery
Security
services
A
p
p
l
i
c
a
t
i
o
n
f
r
a
m
e
w
o
r
k
P
r
o
t
o
c
o
l

f
r
a
m
e
w
o
r
k
External
services EFI
Provisioning
Navigation
Discovery
Service
Lookup
Crypto
libraries
Authenti-
cation
Identification
PKI
Secure
transport
Secure
bearer
S
e
s
s
i
o
n
T
r
a
n
s
f
e
r
T
r
a
n
s
p
o
r
t
B
e
a
r
e
r
Multimedia Messaging
(Email)
WAE/WTA User Agent
(WML, XHTMLMP)
Content
formats
Push
IPv4
IPv6
CSD
SMS
USSD
FLEX
GPRS
MPAK
...
...
Datagrams
(WDP, UDP)
Connections
(TCP with
wireless profile)
Hypermedia transfer
(WTP+WSP, HTTP)
Strea-
ming
MMS
Push
OTA
Capability Negotiation
Synchronisation
Cookies
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.76
WAP 2.0 example protocol stacks
bearer
WDP
WTLS
WTP
WSP
WAE
WAP device
bearer
WDP
WTLS
WTP
WSP
IP
TCP
TLS
HTTP
IP
TCP
TLS
HTTP
WAE
Web server WAP gateway
WAP 1.x Server/Gateway/Client
IP
TCP
TLS
HTTP
WAE
WAP device
IP
TCP
IP
TCP
IP
TCP
TLS
HTTP
WAE
Web server WAP proxy
WAP Proxy with TLS tunneling
IP
TCP
HTTP
WAE
WAP device
IP
TCP
IP
TCP
IP
TCP
WAE
Web server WAP proxy
WAP HTTP Proxy with profiled TCP and HTTP
HTTP HTTP HTTP
IP
TCP
HTTP
WAE
WAP device
IP IP IP
TCP
WAE
Web server
IP router
WAP direct access
HTTP
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.77
Java Platform, Micro Edition
Java-Boom expected (?)
Desktop: over 90% standard PC architecture, Intel x86 compatible,
typically MS Windows systems
Do really many people care about platform independent
applications?
BUT: Heterogeneous, small devices
Internet appliances, cellular phones, embedded control, car radios,
...
Technical necessities (temperature range, form factor, power
consumption, ) and economic reasons result in different hardware
Java ME (source released as: phone ME / was: J2ME)
Provides a uniform platform
Restricted functionality compared to standard java platform (JVM)
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.78
Applications of Java ME
Example first cellular phones
NTT DoCoMo introduced ippli
Applications on PDA, mobile phone,
...
Game download, multimedia
applications, encryption, system
updates
Load additional functionality with a
push on a button (and pay for it)!
Embedded control
Household devices, vehicles,
surveillance systems, device control
System update is an important factor
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.79
Characteristics and architecture
Java Virtual Machine
Virtual Hardware (Processor)
KVM (K Virtual Machine)
Min. 128 kByte, typ. 256 kByte
Optimized for low performance devices
Might be a co-processor
Configurations
Subset of standard Java libraries depending
technical hardware parameters (memory,
CPU)
CLDC (Connected Limited Device
Configuration)
Basic libraries, input/output, security
describes Java support for mobile devices
Profiles
Interoperability of heterogeneous devices
belonging to the same category
MIDP (Mobile Information Device Profile)
Defines interfaces for GUIs, HTTP, application
support, -> MIDlets
Hardware
(SH4, ARM, 68k, ...)
J ava Virtual Machine
(J VM, KVM)
Operating system
(EPOC, Palm, WinCE)
Configurations
(CDC, CLDC)
Profile
(MIDP)
Applications
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.80
Hardware independent development
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.81
Summary Java ME
Idea is more than WAP 1.x or i-mode
Full applications on mobile phones, not
only a browser
Includes system updates, end-to-end
encryption
Platform independent via virtualization
As long as certain common interfaces
are used
Not valid for hardware specific functions
Limited functionality compared to JVM
Thus, maybe an intermediate solution
only until embedded systems, mobile
phones are as powerful as todays
desktop systems
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008
10.82
Other mobile application platforms
Microsoft .NET Compact Framework
run-time environment plus class library with focus on mobile
devices light-weight version of .NET
support of many programming languages (C#, Python,
Ruby, C++, Haskell, )
typically in connection with Windows CE
Qualcomm BREW (Binary Runtime Environment for
Wireless)
run-time environment with main focus on games
certified applications only
Google Android
OS + middleware + applications for mobile devices
Java/Linux based, open source

You might also like