Вы находитесь на странице: 1из 82

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.1

Mobile, bearable multimedia equipment

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.2

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.3

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.4

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.5

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)
www.jochenschiller.de Prof. Dr.-Ing. Jochen H. Schiller MC - 2008

10.6

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)
mobile client application cache server

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.7

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 asynchronous, background system weighs speed of updating against minimization of network traffic modeling of user patience: how long can a user wait for data without an error message? function of file size and bandwidth

States of a client

hoarding
weak connection

strong connection

Comparison of files

disconnection

write disconnected

connection
disconnection emulating

Cache misses

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.8

File systems - Little Work

Only changes in the cache manager of the client Connection modes and use
Connected Method normal Partially Connected delayed write to the server continuous bandwidth Fetch only optimistic replication of files connection on demand cellular systems (e.g., GSM) with costs per call Disconnected abort at cache miss none

Network continuous requirements high bandwidth Application office, WLAN packet radio

independent

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.9

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.10

Database systems in mobile environments

Request processing
Replication management Location management
similar to file systems
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 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

power conserving, location dependent, cost efficient example: find the fastest way to a hospital

Transaction processing

10.11

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 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!

The Web is no file system

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.12

WWW example
Request to port 80: or: GET / HTTP/1.0 GET / HTTP/1.1 Host: www.inf.fu-berlin.de
Response from server HTTP/1.1 200 OK Date: Wed, 30 Oct 2002 19:44:26 GMT Server: Apache/1.3.12 (Unix) mod_perl/1.24 Last-Modified: Wed, 30 Oct 2002 13:16:31 GMT ETag: "2d8190-2322-3dbfdbaf" Accept-Ranges: bytes Content-Length: 8994 Connection: close Content-Type: text/html

non persistent

<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>FU-Berlin: Institut f&uuml;r Informatik</TITLE> <base href="http://www.inf.fu-berlin.de"> <link rel="stylesheet" type="text/css" href="http://www.inf.fu-berlin.de/styles/homepage.css"> <!--script language="JavaScript" src="fuinf.js"--> <!--/script--> </head> <body onResize="self.location.reload();"> ...

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.13

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 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

Problems

DNS lookup by client causes additional traffic


Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.14

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.15

HTML and mobile devices

HTML
designed for computers with high performance, color highresolution 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, highresolution 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.16

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.17

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.18

System support for WWW in a mobile world I (some historical)

Enhanced browsers
Pre-fetching, caching, off-line use e.g. Internet Explorer

mobile client
browser

integrated enhancement

web server

Additional, accompanying application


Pre-fetching, caching, off-line use e.g. original WebWhacker

mobile client browser additional application

web server
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.19

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, ...

mobile client
browser client proxy web server

Network Proxy
adaptive content transformation for bad connections, pre-fetching, caching e.g., TranSend, Digestor

mobile client browser

network proxy

web server
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.20

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

mobile client browser client proxy

Special network subsystem


adaptive content transformation for bad connections, pre-fetching, caching e.g., Mowgli

web server

network proxy

mobile client
browser client proxy

Additional many proprietary server


extensions possible
channels, content negotiation, ...
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de

web server

network proxy

MC - 2008

10.21

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 e.g., GSM (900, 1800, 1900), CDMA IS-95, TDMA IS-136, 3rd generation systems (IMT-2000, UMTS, W-CDMA, cdma2000 1x EVDO, ) 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 + )

Platforms Forum

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.22

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.23

WAP 1.x - reference model and protocols


Internet HTML, Java A-SAP WAP additional services and applications

Application Layer (WAE) S-SAP Session Layer (WSP)

HTTP

TR-SAP Transaction Layer (WTP) SEC-SAP

SSL/TLS T-SAP

Security Layer (WTLS)

TCP/IP, UDP/IP, media

Transport Layer (WDP) Bearers (GSM, CDPD, ...)

WCMP

WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.24

WAP - network elements


fixed network HTML filter WML HTML filter/ WAP proxy Binary WML WML WAP proxy wireless network Binary WML

Internet

HTML

web server

HTML

WTA server PSTN

Binary WML

Binary WML: binary file format for clients

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.25

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)
www.jochenschiller.de MC - 2008

Prof. Dr.-Ing. Jochen H. Schiller

10.26

WDP - Service Primitives

T-SAP T-DUnitdata.req (DA, DP, SA, SP, UD) T-DUnitdata.req (DA, DP, SA, SP, UD) T-DError.ind (EC)

T-SAP T-DUnitdata.ind (SA, SP, UD)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.27

Usage of WDP
GSM-SMS
WTLS WDP & Adaptation SMS Wireless Data Gateway WTLS WDP & Adaptation Tunnel Subnetwork

SMS

Tunnel
Subnetwork

GSM-CSD
WTLS UDP IP PPP CSD-RF Interworking Function CSD-RF PSTN Circuit Internet Service Provider Remote Access Service IP PPP PSTN Circuit Subnetwork

WAP Proxy WTLS UDP IP Subnetwork

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.28

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.29

Secure session, full handshake


originator SEC-SAP SEC-Create.req (SA, SP, DA, DP, KES, CS, CM) peer SEC-SAP

SEC-Create.ind (SA, SP, DA, DP, KES, CS, CM) SEC-Create.res (SNM, KR, SID, KES, CS, CM)

SEC-Create.cnf (SNM, KR, SID, KES, CS, CM) SEC-Exchange.ind

SEC-Exchange.req

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.30

SEC-Unitdata - transferring datagrams

sender SEC-SAP SEC-Unitdata.req (SA, SP, DA, DP, UD)

receiver SEC-SAP SEC-Unitdata.ind (SA, SP, DA, DP, UD)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.31

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)
www.jochenschiller.de MC - 2008

Prof. Dr.-Ing. Jochen H. Schiller

10.32

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.33

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.34

WTP Class 0 transaction

initiator TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=0, H)

responder TR-SAP TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=0, H)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.35

WTP Class 1 transaction, no user ack & user ack


initiator TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H) responder TR-SAP TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H)

TR-Invoke.cnf (H)
initiator TR-SAP responder TR-SAP TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.res (H)

TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H)

TR-Invoke.cnf (H)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.36

WTP Class 2 transaction, no user ack, no hold on


initiator TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) responder TR-SAP

TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H)


TR-Result.req (UD*, H)

TR-Invoke.cnf (H) TR-Result.ind (UD*, H) TR-Result.res (H)

TR-Result.cnf (H)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.37

WTP Class 2 transaction, user ack


initiator TR-SAP
TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H)

responder TR-SAP
TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.res (H) TR-Result.req (UD*, H)

TR-Invoke.cnf (H) TR-Result.ind (UD*, 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, hold on, no user ack


initiator TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.cnf (H) responder TR-SAP TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H) TR-Result.req (UD*, H)

TR-Result.ind (UD*, H)
TR-Result.res (H)

TR-Result.cnf (H)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.39

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.40

WSP protocols
WSP Connection mode (uses WTP) Connectionless mode (uses WDP or WTLS)

Session Management (class 0, 2) Method Invocation (Kl. 2) Error Report Push (class 0)

Method Invocation Push (in general unreliable)

Confirmed Push (class 1)


Session suspend/resume (class 0, 2)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.41

WSP/B session establishment


client S-SAP S-Connect.req (SA, CA, CH, RC) server S-SAP S-Connect.ind (SA, CA, CH, RC) 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.42

WSP/B session suspend/resume


client S-SAP S-Suspend.req S-Suspend.ind (R) WTP Class 0 transaction server S-SAP S-Suspend.ind (R)

S-Resume.req (SA, CA)

~
S-Resume.ind (SA, CA) S-Resume.res

S-Resume.cnf

WTP Class 2 transaction

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.43

WSP/B session termination

client S-SAP S-Disconnect.req (R) S-Disconnect.ind (R)

server S-SAP S-Disconnect.ind (R)

WTP Class 0 transaction

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.44

WSP/B method invoke


client S-SAP server S-SAP S-MethodInvoke.ind (STID, M, RU) S-MethodInvoke.res (STID) S-MethodResult.req (STID, S, RH, RB)

S-MethodInvoke.req (CTID, M, RU)

S-MethodInvoke.cnf (CTID) S-MethodResult.ind (CTID, S, RH, RB) S-MethodResult.res (CTID)

S-MethodResult.cnf (STID)
WTP Class 2 transaction

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.45

WSP/B over WTP - method invocation


client S-SAP initiator TR-SAP responder TR-SAP server S-SAP

S-MethodInvoke.req TR-Invoke.req
TR-Invoke.ind S-MethodInvoke.ind TR-Invoke.res S-MethodInvoke.res S-MethodInvoke.cnf TR-Invoke.cnf

TR-Result.req S-MethodResult.req
S-MethodResult.ind S-MethodResult.res TR-Result.ind TR-Result.res TR-Result.cnf S-MethodResult.cnf

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.46

WSP/B over WTP - asynchronous, unordered requests


client S-SAP server S-SAP

S-MethodInvoke_1.req
S-MethodInvoke_2.req S-MethodInvoke_2.ind S-MethodInvoke_1.ind

S-MethodInvoke_3.req
S-MethodResult_1.ind S-MethodResult_3.ind S-MethodInvoke_4.req

S-MethodResult_1.req
S-MethodInvoke_3.ind S-MethodResult_3.req S-MethodResult_2.req S-MethodInvoke_4.ind

S-MethodResult_4.ind S-MethodResult_2.ind

S-MethodResult_4.req

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.47

WSP/B - confirmend/non-confirmed push


client S-SAP S-Push.ind (PH, PB) server S-SAP S-Push.req (PH, PB)

WTP Class 0 transaction client S-SAP S-ConfirmedPush.ind (CPID, PH, PB) S-ConfirmedPush.res (CPID) WTP Class 1 transaction
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

server S-SAP S-ConfirmedPush.req (SPID, PH, PB)

S-ConfirmedPush.cnf (SPID)

10.48

WSP/B over WDP


client S-SAP server S-SAP 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)

S-Unit-MethodInvoke.req (SA, CA, TID, M, RU)

S-Unit-MethodResult.ind (CA, SA, TID, S, RH, RB) S-Unit-Push.ind (CA, SA, PID, PH, PB) WDP Unitdata service

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.49

WAE - Wireless Application Environment

Goals
network independent application environment for low-bandwidth, wireless devices integrated Internet/WWW programming model with high interoperability 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) 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

Requirements

Components

10.50

WAE logical model

Origin Servers response with content

Gateway encoded response with content

Client

web server

WTA user agent

other content server

encoders & decoders

push content

encoded push content

WML user agent

request

encoded request

other WAE user agents

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.51

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
www.jochenschiller.de MC - 2008

Prof. Dr.-Ing. Jochen H. Schiller

10.52

WML example I
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="card_one" title="simple example"> <do type="accept"> <go href="#card_two"/> </do> <p> This is a simple first card! <br/> On the next one you can choose ... </p> </card>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.53

WML example II
<card id="card_two" title="Pizza selection"> <do type="accept" label="cont"> <go href="#card_three"/> </do> <p> ... your favorite pizza! <select value="Mar" name="PIZZA"> <option value="Mar">Margherita</option> <option value="Fun">Funghi</option> <option value="Vul">Vulcano</option> </select> </p> </card> <card id="card_three" title="Your Pizza!"> <p> Your personal pizza parameter is <b>$(PIZZA)</b>! </p> </card> </wml>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.54

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.55

WMLScript - example
function pizza_test(pizza_type) { var taste = "unknown"; if (pizza_type = "Margherita") { taste = "well... "; } else { if (pizza_type = "Vulcano") { taste = "quite hot"; }; }; return taste; };

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.56

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) wtai://wp/mc;07216086415

calling a number (WMLScript) WTAPublic.makeCall("07216086415");


Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.57

WTA logical architecture


other telephone networks WTA server

client
WML scripts WTA & WML server WML decks WTA services network operator trusted domain WAP gateway encoders & decoders mobile network WTA user agent

repository

other servers

device specific functions

third party servers


Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de

firewall

MC - 2008

10.58

Voice box example


WTA-User-Agent WTA-Gateway WTA-Server Mobile network Indicate new voice message Generate new deck Service Indication Display deck; user selects WSP Get Push URL Voice box server

HTTP Get WML Respond with content

Binary WML Display deck; user selects

WSP Get

HTTP Get

Binary WML Wait for call

WML

Respond with card for call Play requested voice message

Call setup
Setup call Setup call

Accept call

Accept call Voice connection

Accept call

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.59

WTAI - example with WML only


<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="card_one" title="Tele voting"> <do type="accept"> <go href="#card_two"/> </do> <p> Please choose your candidate! </p> </card> <card id="card_two" title="Your selection"> <do type="accept"> <go href="wtai://wp/mc;$dialno"/> </do> <p> Your selection: <select name="dialno"> <option value="01376685">Mickey</option> <option value="01376686">Donald</option> <option value="01376687">Pluto</option> </select> </p> </card> </wml>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.60

WTAI - example with WML and WMLScript I


function voteCall(Nr) { var j = WTACallControl.setup(Nr,1); if (j>=0) { WMLBrowser.setVar("Message", "Called"); WMLBrowser.setVar("No", Nr); } else { WMLBrowser.setVar("Message", "Error!"); WMLBrowser.setVar("No", j); } WMLBrowser.go("showResult"); }

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.61

WTAI - example with WML and WMLScript II


<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="card_one" title="Tele voting"> <do type="accept"> <go href="#card_two"/> </do> <p> Please choose your candidate! </p> </card> <card id="card_two" title="Your selection"> <do type="accept"> <go href="/myscripts#voteCall($dialno)"/> </do> <p> Your selection: <select name="dialno"> <option value="01376685">Mickey</option> <option value="01376686">Donald</option> <option value="01376687">Pluto</option> </select> </p> </card> <card id="showResult" title="Result"> <p> Status: $Message $No </p> </card> </wml>

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.62

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
Push Proxy Gateway

Client

Push OTA Protocol

Push Access Protocol

Push Initiator Server application

User Agents

Coding, checking

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.63

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 version="1.0"?> <!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN" "http://www.wapforum.org/DTD/si.dtd"> <si> <indication href="http://www.piiiizza4u.de/offer/salad.wml" created="2007-10-30T17:45:32Z" si-expires="2007-10-30T17:50:31Z"> Salad special: The 5 minute offer </indication> </si>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.64

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 version="1.0"?> <!DOCTYPE sl PUBLIC "-//WAPFORUM//DTD SL 1.0//EN" "http://www.wapforum.org/DTD/sl.dtd"> <sl href="http://www.piiiizza4u.de/offer/salad.wml"> </sl>
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.65

Examples for WAP protocol stacks (WAP 1.x)


WAP standardization
WAE user agent

WAE WSP WTP WTLS


transaction based application

outside WAP

WTP WTLS

datagram based application

WTLS

UDP
IP 1.

WDP
non IP

UDP
IP 2.

WDP
non IP

UDP
IP 3.

WDP
non IP

(GPRS, ...) (SMS, ...) typical WAP application with complete protocol stack
Prof. Dr.-Ing. Jochen H. Schiller

(GPRS, ...) (SMS, ...)

(GPRS, ...) (SMS, ...)

pure data application with/without additional security


www.jochenschiller.de MC - 2008

10.66

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) mobile terminal
cHTML + tags HTTP(S) TL PDC-P

mobile network

gateway

content provider
cHTML + tags HTTP(S) TCP IP L2 L1
MC - 2008

TL PDC-P

TCP IP L2 L1

TCP IP L2 L1

TCP IP L2 L1

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

10.67

Email example: i-mode push with SMS


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

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.

i-mode as a business model: - content providers get >80% of the revenue. - independent of technology (GSM/GPRS in Europe, PDC-P in Japan but also UMTS!) - not successful in e.g. Germany (stopped in 2008)
MC - 2008

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

10.68

i-mode protocol stack based on WAP 2.0

user equipment cHTML HTTP SSL WTCP IP L2 L1

gateway

server cHTML HTTP SSL

WTCP IP L2 L1

TCP IP L2 L1

TCP IP L2 L1

i-mode can use WAP 2.0/Internet protocols (example: i-mode in Germany over GSM/GPRS)

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.69

i-mode technical requirements


Functions
WEB Access E-mail Security Java Ringing tone download Image download Voice call notification during i-mode session Content charge billing Third party payment collection Reverse billing Subscriber ID transmission

Descriptions
Portal Site / Internet Access Internet e-mail and inter-terminal email End-End security Java application made available Ringing melody download Stand-by screen download Voice termination notified and responded during i-mode communications Per content charge billed to user Content charge collection on behalf of Content Provider Packet usage charges can be billed to third party Hashed subscriber ID from the operators portal to the CP transmission on each content access Number of characters (byte) per e-mail

Status
M M O O M M M M M O M

Requirement
i-mode HTML (cHTML+tags) HTTP 1.1 SSL (Version 2, 3), TLS 1 Compatible i-mode JAVA SMF based GIF (O: JPEG) 3GPP standard system Specifications depend on each operators billing system Specifications depend on each operators billing system Specifications depend on each operators billing system The ID generation algorithm should be determined by each operator and has to be secret To be defined by operators (e.g. 500 byte, 1K byte, 10K byte) To be defined by operators HTTP 1.1 Hard or soft key

Number of characters per e-mail Character code set supported User Agent i-mode button

Character code set supported by browser and used to develop content Browser specifications to be notified Dedicated button

M M O

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.70

i-mode very first examples I

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.71

i-mode very first examples II

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.72

i-mode very first examples III

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.73

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.74

WAP 2.0 architecture


Multimedia Messaging (Email)
WAE/WTA User Agent (WML, XHTMLMP)

Content formats
Push

External services EFI Provisioning Navigation Discovery Service Lookup

Crypto libraries Authentication Identification

Capability Negotiation Push OTA Cookies Synchronisation

Session

PKI

Hypermedia transfer (WTP+WSP, HTTP)

Streaming

MMS

Secure transport

Datagrams (WDP, UDP)

Connections (TCP with wireless profile)

IPv6

SMS

FLEX

MPAK

...

Bearer

Secure bearer

IPv4

CSD

USSD

GPRS

...

Transport

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

Protocol framework

Transfer

Application framework

Service discovery

Security services

10.75

WAP 2.0 example protocol stacks


WAP device WAE WSP WTP WTLS WDP bearer WAP gateway WSP WTP WTLS WDP bearer HTTP TLS TCP IP Web server WAE HTTP TLS TCP IP WAP device WAE HTTP TCP IP WAP proxy HTTP TCP IP HTTP TCP IP Web server WAE HTTP TCP IP

WAP 1.x Server/Gateway/Client

WAP HTTP Proxy with profiled TCP and HTTP

WAP device WAE HTTP TLS TCP IP

WAP proxy

TCP IP

TCP IP

Web server WAE HTTP TLS TCP IP

WAP device WAE HTTP TCP IP

IP router IP IP

Web server WAE HTTP TCP IP

WAP Proxy with TLS tunneling


Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de

WAP direct access


MC - 2008

10.76

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) 10.77

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

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.78

Characteristics and architecture

Java Virtual Machine

Virtual Hardware (Processor) KVM (K Virtual Machine)

Applications
Profile (MIDP)

Configurations

Min. 128 kByte, typ. 256 kByte Optimized for low performance devices Might be a co-processor

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

Configurations (CDC, CLDC)


Java Virtual Machine (JVM, KVM)

Profiles

Operating system (EPOC, Palm, WinCE)


Hardware (SH4, ARM, 68k, ...)

Interoperability of heterogeneous devices belonging to the same category MIDP (Mobile Information Device Profile)

Defines interfaces for GUIs, HTTP, application support, -> MIDlets


www.jochenschiller.de MC - 2008

Prof. Dr.-Ing. Jochen H. Schiller

10.79

Hardware independent development

Prof. Dr.-Ing. Jochen H. Schiller

www.jochenschiller.de

MC - 2008

10.80

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.81

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
Prof. Dr.-Ing. Jochen H. Schiller www.jochenschiller.de MC - 2008

10.82

Вам также может понравиться