• No results found

Mobile Applications: 

N/A
N/A
Protected

Academic year: 2022

Share "Mobile Applications: "

Copied!
64
0
0

Loading.... (view fulltext now)

Full text

(1)

Mobile Applications: 

Wireless Application Protocol

Sridhar Iyer

IIT Bombay

http://www.it.iitb.ac.in/~sri

(2)

IIT Bombay Mobile Applications: WAP 2

Outline

Limitations of mobile environment

Mobile applications

WWW and mobility

Wireless application protocol

WAP protocol stack

WAP application environment

Summary

(3)

IIT Bombay Mobile Applications: WAP 3

Limitations of Mobile Environments

Limitations of the Wireless Network

heterogeneity of fragmented networks

frequent disconnections

limited communication

bandwidth

(4)

IIT Bombay Mobile Applications: WAP 4

Limitations of Mobile  Environments (contd)

Limitations Imposed by Mobility

lack of mobility awareness by systems, applications

route breakages

Limitations of the Mobile Computer

short battery lifetime

limited capacities

(5)

IIT Bombay Mobile Applications: WAP 5

Mobile Applications

Vehicles

transmission of news, road condition etc

ad-hoc network with near vehicles to prevent accidents

Emergencies

early transmission of patient data to hospital

ad-hoc network in case of earthquakes…

military ...

(6)

IIT Bombay Mobile Applications: WAP 6

Mobile Applications

Traveling salesmen

direct access to central customer filesconsistent databases for all agents

mobile office

Web access

outdoor Internet access

intelligent travel guide with up-to-date

location dependent information

(7)

IIT Bombay Mobile Applications: WAP 7

Mobile Applications

Location aware services

find services in the local environment, e.g. printer

Information services

push: e.g., stock quotes

pull: e.g., nearest cash ATM

Disconnected operations

mobile agents, e.g., shopping

Entertainment

ad-hoc networks for multi user games

(8)

IIT Bombay Mobile Applications: WAP 8

Mobile applications in the  Industry

Wireless access: (phone.com) openwave

Alerting services: myalert.com

Location services: (airflash) webraska.com

Intranet applications: (imedeon) viryanet.com

Banking services: macalla.com

Mobile agents: tryllian.com

….

(9)

IIT Bombay Mobile Applications: WAP 9

Bandwidth and applications

Speed, kbps 2G CDMA 2.5G GPRS, CDMA 2000

EDGE UMTS

Transaction Processing Messaging/Text Apps

Voice/SMS Location Services Still Image Transfers

Internet/VPN Access Database Access Document Transfer Low Quality Video High Quality Video

9.6 14.4 28 64 144 384 2000

(10)

IIT Bombay Mobile Applications: WAP 10

World Wide Web and Mobility

HTTP characteristics

designed for large bandwidth, low delay

stateless, client/server,

request/response communicationconnection oriented, one

connection per request

TCP 3-way handshake, DNS

lookup overheads

(11)

IIT Bombay Mobile Applications: WAP 11

WWW and Mobility

HTML characteristics

designed for computers with “high”

performance, color high-resolution display, mouse, hard disk

typically, web pages optimized for design, not for communication;

ignore end-system characteristics

(12)

IIT Bombay Mobile Applications: WAP 12

System Support for Mobile WWW

Enhanced browsers

client-aware support for mobility

Proxies

Client proxy: pre-fetching, caching, off-line use

Network proxy: adaptive content

transformation for connections

Client and network proxy

(13)

IIT Bombay Mobile Applications: WAP 13

System Support for Mobile WWW

Enhanced servers

server-aware support for mobility

serve the content in multiple ways, depending on client capabilities

New protocols/languages

WAP/WML

(14)

IIT Bombay Mobile Applications: WAP 14

Wireless Application Protocol

Goals

deliver Internet services to mobile devices

independence from wireless network standards

GSM, CDMA IS-95, TDMA IS-136,

3G systems (UMTS, W-CDMA)

(15)

IIT Bombay Mobile Applications: WAP 15

Why is HTTP/HTML not enough?

Big pipe ­ small pipe syndrome

Wireless network

<HTML>

<HEAD>

<TITLE>NNN Interactive</TITLE>

<META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html">

</HEAD>

<BODY BGCOLOR="#FFFFFF"

BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990"

ALINK="#FF0000" VLINK="#FF0000" TEXT="000000"

ONLOAD="if(parent.frames.length!

=0)top.location='http://nnn.com';">

<A NAME="#top"></A>

<TABLE WIDTH=599 BORDER="0">

<TR ALIGN=LEFT>

<TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>

<HTML>

<HEAD>

<TITLE

>NNN Intera ctive<

/TITLE

>

<META HTTP- EQUIV=

"Refre sh"

CONTEN T="180 0, URL=/i ndex.h tml">

Internet

<WML>

<CARD>

<DO TYPE="ACCEPT">

<GO URL="/submit?Name=$N"/>

</DO>

Enter name:

<INPUT TYPE="TEXT" KEY="N"/>

</CARD>

</WML>

010011 010011 110110 010011 011011 011101 010010 011010

Content encoding

HTTP/HTML WAP

Source: WAP Forum

(16)

IIT Bombay Mobile Applications: WAP 16

WHY WAP?

Wireless networks and phones

have specific needs and requirementsnot addressed by existing Internet

technologies

WAP

Enables any data transport

» TCP/IP, UDP/IP, GUTS (IS-135/6), SMS, or USSD.

Optimizes the content and air-link protocols

Utilizes plain Web HTTP 1.1 servers

» utilizes standard Internet markup

language technology (XML)

(17)

IIT Bombay Mobile Applications: WAP 17

WAP: main features

Browser

“Micro browser”, similar to existing web browsers

Markup/Script language

Similar to HTML/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.

Telephony application interface

Access to telephony functions

(18)

IIT Bombay Mobile Applications: WAP 18

Internet model

HTML HTTP TLS/SSL

TCP/IP

(19)

IIT Bombay Mobile Applications: WAP 19

Web Server

Content

CGI Scripts

etc.

WM L  D ecks w ith  WM L ­Scr ipt

WAP Gateway

WML Encoder WMLScript

Compiler Protocol Adapters

Client

WML WML­

Script WTAI

Etc.

HTTP WSP/WTP

WAP architecture

Source: WAP Forum

(20)

IIT Bombay Mobile Applications: WAP 20

WAP Application Server

Content

Application Logic

WM L  D ecks w ith WM L ­Sc ri pt

WML Encoder WMLScript

Compiler Protocol Adapters

Client

WML WML­

Script WTAI

Etc.

WSP/WTP

WAP application server

Source: WAP Forum

(21)

IIT Bombay Mobile Applications: WAP 21

WAP specifies

Wireless Application Environment

WML Microbrowser

WMLScript Virtual MachineWMLScript Standard Library

Wireless Telephony Application Interface (WTAI)WAP content types

Wireless Protocol Stack

Wireless Session Protocol (WSP)

Wireless Transport Layer Security (WTLS)Wireless Transaction Protocol (WTP)

Wireless Datagram Protocol (WDP)

Wireless network interface definitions

(22)

IIT Bombay Mobile Applications: WAP 22

WAP: reference model 

Source: Schiller

Bearers  (GSM, CDPD, ...) Security Layer (WTLS)

Session Layer (WSP) Application Layer (WAE)

Transport Layer (WDP) TCP/IP,

UDP/IP, media SSL/TLS HTML, Java

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

(23)

IIT Bombay Mobile Applications: WAP 23

WAP stack

WAE (Wireless Application Environment):

Architecture: application model, browser, gateway, server

WML: XML-Syntax, based on card stacks, variables, ...

WTA: telephone services, such as call control, phone book etc.

WSP (Wireless Session Protocol):

Provides HTTP 1.1 functionality Supports session management,

security, etc.

(24)

IIT Bombay Mobile Applications: WAP 24

WAP stack (contd.)

WTP (Wireless Transaction Protocol):

Provides reliable message transfer mechanismsBased on ideas from TCP/RPC

WTLS (Wireless Transport Layer Security):

Provides data integrity, privacy, authentication functionsBased on ideas from TLS/SSL

WDP (Wireless Datagram Protocol):

Provides transport layer functionsBased on ideas from UDP

Content encoding, optimized for low-bandwidth

channels, simple devices

(25)

IIT Bombay Mobile Applications: WAP 25

WDP: Wireless Datagram Protocol

Transport layer protocol within the WAP architecture

uses the Service Primitive

»T-UnitData.req .ind

uses transport mechanisms of different bearer technologies

offers a common interface for higher layer protocols

allows for transparent communication despite different technologies

addressing uses port numbers

WDP over IP is UDP/IP

(26)

IIT Bombay Mobile Applications: WAP 26

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) 

SAP: Service Access Point

DA: Destination Address DP: Destination Port SA: Source Address SP: Source Port UD: User Data EC: Error Code

Source: Schiller

(27)

IIT Bombay Mobile Applications: WAP 27

WTLS:Wireless Transport Layer Security

is based on the TLS/SSL (Transport Layer Security) protocol

optimized for low-bandwidth communication channels

provides

»privacy (encryption)

»data integrity (MACs)

»authentication (public-key and symmetric)

Employs special adapted mechanisms for wireless usage

»Long lived secure sessions

»Optimised handshake procedures

(28)

IIT Bombay Mobile Applications: WAP 28

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

Source: Schiller

KES: Key Exchange Suite CS: Cipher Suite

CM: Compression Mode

SNM: Sequence Number Mode

KR: Key Refresh Cycle SID: Session Identifier CC: Client Certificate

(29)

IIT Bombay Mobile Applications: WAP 29

WTP: Wireless Transaction Protocol

different transaction services that

enable applications to select reliability, efficiency levels

low memory requirements, suited to simple devices

efficiency for wireless transmission

supports peer-to-peer, client/server and

multicast applications

(30)

IIT Bombay Mobile Applications: WAP 30

WTP transactions

class 0: unreliable message transfer

class 1: reliable message transfer without result

message

class 2: reliable message

transfer with exactly one

reliable result message

(31)

IIT Bombay Mobile Applications: WAP 31

WTP Class 0 Transaction

TR­Invoke.req

(SA, SP, DA, DP, A, UD, C=0, H)

Invoke PDU

TR­Invoke.ind

(SA, SP, DA, DP, A, UD, C=0, H‘) initiator

TR­SAP responder TR­SAP

Source: Schiller

A: Acknowledgement Type  (WTP/User) C: Class (0,1,2)

H: Handle (socket alias)

(32)

IIT Bombay Mobile Applications: WAP 32

WTP Class 1 Transaction,  no user ack & user ack

TR­Invoke.req

(SA, SP, DA, DP, A, UD, C=1, H)

Invoke PDU

TR­Invoke.ind

(SA, SP, DA, DP, A, UD, C=1, H‘) initiator

TR­SAP responder TR­SAP

Ack PDU

TR­Invoke.res TR­Invoke.cnf (H‘)

(H)

TR­Invoke.req

(SA, SP, DA, DP, A, UD, C=1, H)

Invoke PDU

TR­Invoke.ind

(SA, SP, DA, DP, A, UD, C=1, H‘) initiator

TR­SAP responder TR­SAP

Ack PDU

TR­Invoke.cnf

(H)

Source: Schiller

(33)

IIT Bombay Mobile Applications: WAP 33

WTP Class 2 Transaction

TR­Invoke.req

(SA, SP, DA, DP, A, UD, C=2, H)

Invoke PDU

TR­Invoke.ind

(SA, SP, DA, DP, A, UD, C=2, H‘) initiator

TR­SAP responder TR­SAP

Result PDU

TR­Result.ind

(UD*, H)

Ack PDU

TR­Invoke.res TR­Invoke.cnf (H‘)

(H)

Ack PDU

TR­Result.req

(UD*, H‘)

TR­Result.res

(H) TR­Result.cnf

(H‘)

Source: Schiller

(34)

IIT Bombay Mobile Applications: WAP 34

WSP ­ Wireless Session Protocol

provides shared state between client and server, optimizes content transfersession management (establish,

release, suspend, resume)

efficient capability negotiation

key management, authentication, Internet security services

content encoding

push

(35)

IIT Bombay Mobile Applications: WAP 35

WSP/B session establishment

S­Connect.req

(SA, CA, CH, RC)

Connect PDU

S­Connect.ind (SA, CA, CH, RC) client

S­SAP server

S­SAP

ConnReply PDU

S­Connect.res (SH, NC)

S­Connect.cnf (SH, NC)

WTP Class 2 transaction

Source: Schiller

CH: Client Header

RC: Requested Capabilities SH: Server Header

NC: Negotiated Capabilities

(36)

IIT Bombay Mobile Applications: WAP 36

WSP/B session suspend/resume

S­Suspend.req

Suspend PDU

S­Suspend.ind (R)

client

S­SAP server

S­SAP

Reply PDU

S­Resume.res WTP Class 2

transaction S­Suspend.ind

(R)

~ ~

S­Resume.req

(SA, CA) S­Resume.ind

(SA, CA)

Resume PDU

S­Resume.cnf

WTP Class 0 transaction

Source: Schiller

R: Reason for disconnection

(37)

IIT Bombay Mobile Applications: WAP 37

WSP/B session termination

Disconnect PDU

S­Disconnect.ind (R)

client

S­SAP server

S­SAP

S­Disconnect.ind

(R) WTP Class 0

transaction S­Disconnect.req

(R)

Source: Schiller

(38)

IIT Bombay Mobile Applications: WAP 38

WAP stack summary

WDP

functionality similar to UDP in IP networks

WTLS

functionality similar to SSL/TLS (opt. for wireless)

WTP

Class 0: analogous to UDP

Class 1: analogous to TCP (without connection setup overheads)

Class 2: analogous to RPC (optimized for wireless)

WSP

features of suspend/resume

(39)

IIT Bombay Mobile Applications: WAP 39

WAE components

Architecture

Application model, Microbrowser, Gateway, Server

User Agents

WML/WTA/Others

content formats: vCard, WML..

WML/Script

XML-Syntax, based on card stacks, variables, ...

WTA

telephone services, such as call control,

text messages, phone book,

(40)

IIT Bombay Mobile Applications: WAP 40

WAE: logical model

Origin Servers

server web

other content server

Gateway Client

other user agents WAE

user agent WML user agent WTA

Push proxy

encoded request request

encoded response with content response

with content

push content encoded

push content Method proxy

encoders

&

decoders

(41)

IIT Bombay Mobile Applications: WAP 41

WAP microbrowser

Optimized for wireless devices

Minimal RAM, ROM, Display, CPU and keys

Provides consistent service UI across devices

Provides Internet compatibility

Enables wide array of available content

and applications

(42)

IIT Bombay Mobile Applications: WAP 42

WML: Wireless Markup Language

Tag-based browsing language:

Screen management (text, images)

Data input (text, selection lists, etc.)

Hyperlinks & navigation support

Takes into account limited display,

navigation capabilities of devices

Content (XML) XSL Processor

HTTP Browser

HTML StyleSheet

WML Browsers

WML Stylesheet

(43)

IIT Bombay Mobile Applications: WAP 43

WMLXML-based language

describes only intent of interaction in an abstract manner

presentation depends upon device capabilities

Cards and Decks

document consists of many cards

User interactions are split into cardsExplicit navigation between cards

cards are grouped to decks (unit of content)

Events, variables and state mgmt

(44)

IIT Bombay Mobile Applications: WAP 44

WML

All decks must containDocument prologue

» XML & document type declaration<WML> element

» Must contain one or more cards

<?xml version="1.0"?>

<!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN"

"http://www.wapforum.org/DTD/wml.xml">

<WML>

...

</WML>

WML File Structure

(45)

IIT Bombay Mobile Applications: WAP 45

WML cards

Input Elements

Deck Navigation Card

Variables

<WML>

<CARD>

<DO TYPE=“ACCEPT”>

<GO URL=“#eCard”/>

</DO

Welcome!

</CARD>

<CARD NAME=“eCard”>

<DO TYPE=“ACCEPT”>

<GO URL=“/submit?N=$(N)&S=$(S)”/

>

</DO>

Enter name: <INPUT KEY=“N”/>

Choose speed:

<SELECT KEY=“S”>

<OPTION VALUE=“0”>Fast</OPTION>

<OPTION VALUE=“1”>Slow</OPTION>

<SELECT>

</CARD>

</WML>

(46)

IIT Bombay Mobile Applications: WAP 46

Wireless Telephony Application

Collection of telephony specific extensions

designed primarily for network operators

Example

calling a number (WML) wtai://wp/mc;07216086415

calling a number (WMLScript)

WTAPublic.makeCall("07216086415");

(47)

IIT Bombay Mobile Applications: WAP 47

WTA features

Extension of basic WAE application model

network model for interaction

»client requests to server

»event signaling: server can push content to the client

event handling

»table indicating how to react on certain events from the network

»client may now be able to handle

unknown events

(48)

IIT Bombay Mobile Applications: WAP 48

WTA Interface

WTA API includes

Call control

Network text messagingPhone book interface

Event processing

Security model: segregation

Separate WTA browser

Separate WTA port

(49)

IIT Bombay Mobile Applications: WAP 49

Placing an outgoing call with WTAI:

Input Element WTAI Call

<WML>

<CARD>

<DO TYPE=“ACCEPT”>

<GO URL=“wtai:cc/mc;$(N)”/>

</DO>

Enter phone number:

<INPUT TYPE=“TEXT” KEY=“N”/>

</CARD>

</WML>

WTA Example (WML)

Source: WAP Forum

(50)

IIT Bombay Mobile Applications: WAP 50

WTA: logical architecture

other WTA servers

Client

services WAE user agent WTA

WAP Gateway encoders

&

decoders

other telephone networks WTA Origin Server

WTA & WML server Scripts WML

decks WML

services WTA

mobile network

firewall third party

origin servers

network operator trusted domain

Source: Schiller

(51)

IIT Bombay Mobile Applications: WAP 51

WTA: framework components

Source: Heijden

(52)

IIT Bombay Mobile Applications: WAP 52

WTA: user agent

WTA User Agent

WML User agent with extended functionality

can access mobile device’s telephony functions through WTAI

can store WTA service content persistently in a repository

handles events originating in the

mobile network

(53)

IIT Bombay Mobile Applications: WAP 53

WTA user agent context

Abstraction of execution space

Holds current parameters, navigation history, state of user agent

Similar to activation record in a OS process

Uses connection-mode and connectionless services offered by WSP

Specific, secure WDP ports on the WAP gateway

(54)

IIT Bombay Mobile Applications: WAP 54

WTA: events

Network notifies device of event (such as incoming call)

WTA events map to device’s native events

WTA services are aware of and able to act on these events

example: incoming call indication,

call cleared, call connected

(55)

IIT Bombay Mobile Applications: WAP 55

WTA: Repository

local store for content related to WTA services (minimize network traffic)

Channels: define the service

XML document specifying eventid, title, abstract, and resources that implement a service

Resources: execution scripts for a service

could be WML decks, WML Scripts, WBMP images..

downloaded from WTA server and stored in

repository before service is referenced

(56)

IIT Bombay Mobile Applications: WAP 56

WTA: Channels and Resources

Source: Heijden

(57)

IIT Bombay Mobile Applications: WAP 57

WTA: event handling

Event occurrence

WTA user agent could be executing and expecting the event

WTA user agent could be executing and a different event occurs

No service is executing

Event handling

channel for each event defines the content to be processed upon

reception of that event

(58)

IIT Bombay Mobile Applications: WAP 58

WTA: event binding

association of an event with the corresponding handler (channel)

Global binding:

channel corresponding to the event is stored in the repository

example: voice mail service

Temporary binding:

resources to be executed are defined by the already executing service

example: yellow pages lookup and call

establishment

(59)

IIT Bombay Mobile Applications: WAP 59

WTA: event handling

Source: Heijden

(60)

IIT Bombay Mobile Applications: WAP 60

WAP push services

Web push

Scheduled pull by client (browser)

Wireless push

accomplished by using the network itself

» example: SMS

WAP push

Network supported push of WML content

» example: Alerts or service indications

Pre-caching of data (channels/resources)

(61)

IIT Bombay Mobile Applications: WAP 61

WAP push framework

Source: Heijden

(62)

IIT Bombay Mobile Applications: WAP 62

Push Access Protocol

Based on request/response model

Push initiator is the client

Push proxy is the server

Initiator uses HTTP POST to send push message to proxy

Initiator sends control information as an XML document, and content for mobile (as WML)

Proxy sends XML entity in response

indicating submission status

(63)

IIT Bombay Mobile Applications: WAP 63

WAE Summary

WML and WML Script

analogous to HTML and JavaScript (optimized for wireless)microbrowser user agent; compiler in the network

WTA

WTAI: different access rights for different applications/agentsWTA User Agent (analogy with operating systems)

» Context – Activation Record

» Channel – Interrupt Handler

» Resource – Shared routines invoked by interrupt handlers

» Repository – Library of interrupt handlers

feature of dynamically pushing the interrupt handler before the event

Push

no analogy in Internet

(64)

IIT Bombay Mobile Applications: WAP 64

References

J. Schiller, “Mobile Communications”, Addison Wesley, 2000

M.v.d. Heijden, M. Taylor.

“Understanding WAP”, Artech House, 2000

Websites:

www.palowireless.comwww.gsmworld.com;

www.wapforum.org

References

Related documents

Mobile agent paradigm provides a cleaner design for several real life application as compared to the traditional client server model. The mapping of implementation components to

● Compile the client program with the client stub, and procedure implementation with the server stub, into two independent client and server programs.. IIT Bombay cs

1: Client sends SYN segment specifying the port number of Server and its initial sequence number (ISN). 2: Server responds with its own SYN containing its ISN and also

Identify the malicious host in data collection agents. A probabilistic scheme for

Provides Authentication The SSL security protocol provides data encryption, server authentication, message integrity, and optional client authentication for a TCP/IP connection..

The following figure shows the topology of a computer system that follows client/server architecture. The figure illustrates a node stereotyped as server that comprises of

The Client may, by written notice of suspension to the Bidder firms, suspend all payments to the Bidder firms hereunder if the Bidder firms fail to perform any of their

T App Folio Mobile Service Delivery Governance platform MSDG shall be a shared platform and all interested Government departments of Telangana , agencies interested in providing