154
Wireless Application Protocol

Wireless Application Protocol. Outline Mobile applications How are mobile/wireless environments different? What is WAP? WAP Architecture WAE

Embed Size (px)

Citation preview

Page 1: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Wireless Application

Protocol

Page 2: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Outline

Mobile applications

How are mobile/wireless environments different?

What is WAP?

WAP Architecture

WAE (WML/WMLScript)

WTA Framework

WAP Push Services

WAP Protocol Stack

Hype v/s Reality

References and Resources

Page 3: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Mobile Applications - 1 Vehicles

transmission of news, road condition etc

ad-hoc network with near vehicles to prevent accidents

Emergencies

early transmission of patient data to the hospital

ad-hoc network in case of earthquakes, cyclones

military ...

Traveling salesmen

direct access to central customer files

consistent databases for all agents

mobile office

Page 4: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Mobile Applications - 2 Web access

outdoor Internet access

intelligent travel guide with up-to-date location dependent information

Information services push: stock quotes; pull: nearest cash ATM

Disconnected operations file-system caching for off-line work

mobile agents, e.g., shopping

Entertainment games, etc

Page 5: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Variability of the Mobile Environment

Connectivity• connected• semi-connected (asymmetric)• weakly connected• disconnected

Mobile Device Capability• form factor• GUI• multimedia• real-time multimedia

Mobility• stationary• nomadic (pedestrian speed)• mobile (vehicular speed)• roaming (mobile across networks)

Page 6: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

World Wide Web and Mobility

HTTP/HTML have not been designed for mobile applications/devices

HTTP 1.0 characteristics

designed for large bandwidth, low delay

stateless, client/server, request/response communication

connection oriented, one connection per request

TCP 3-way handshake, DNS lookup overheads

big protocol headers, uncompressed content transfer

primitive caching (often disabled, dynamic objects)

security problems (using SSL/TLS with proxies)

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

Page 7: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

Enhanced servers server-aware support for mobility

serve the content in multiple ways, depending on client capabilities

New protocols/languages WAP/WML

Page 8: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Wireless Application Protocol (WAP)

Empowers mobile users with wireless devices to easily access and interact with information and services.

A “standard” created by wireless and Internet companies to enable Internet access from a cellular phone

wapforum.org: co-founded by Ericsson, Motorola, Nokia, Phone.com 450 members in 2000, comprise of Handset manufacturers,

Wireless service providers, ISPs, Software companies in the wireless industry

Goals deliver Internet services to mobile devices enable applications to scale across a variety of transport

options and device types independence from wireless network standards GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-

CDMA)

Page 9: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: Main Features

Browser “Micro browser”, similar to existing web browsers

Markup language Similar to HTML, adapted to mobile devices

Script language Similar to Javascript, adapted to mobile devices

Gateway Transition from wireless to wired world

Server “Wap/Origin server”, similar to existing web servers

Protocol layers Transport layer, security layer, session layer etc.

Telephony application interface Access to telephony functions

Page 10: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Internet Model

HTMLHTTP

TLS/SSLTCP/IP

Page 11: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Web Server

Content

CGIScripts

etc.

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WAP Gateway

WML Encoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

HTTPWSP/WTP

WAP Architecture

Source: WAP Forum

Page 12: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Application Server

Content

ApplicationLogic

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WML Encoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

WSP/WTP

WAP Application Server

Source: WAP Forum

Page 13: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Architecture

Another lookKey Components

• Origin/Web Server• WAP Gateway/Proxy• WAP Protocol Stack• Micro Browser• WML/WML Script• Transcoders• WTA

Source: WAP Forum

Page 14: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: Network Elements

wireless networkfixed network

WAPproxy

WTAserver

filter/WAPproxyweb

server

filter

PSTN

Internet

Binary WML: binary file format for clients

Binary WML

Binary WML

Binary WML

HTML

HTML

HTML WML

WMLHTML

Source: Schiller

Page 15: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Specifies

Wireless Application Environment

WML Microbrowser WMLScript Virtual Machine WMLScript 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

Page 16: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Stack

MicroBrowser (WML, WMLScript, WTA, WTAI)

Runs on top of WDPProvided lightweight X-oriented service• Unreliable 1-way request• Reliable 1-way/2-way req./response

Lightweight SSLUses WIM/PKI-Cards

Datagram service on different bearersConvergence between bearer services

Different Wireless Tech.

Source: WAP Forum

Page 17: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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.

WTP (Wireless Transaction Protocol): Provides reliable message transfer mechanisms Based on ideas from TCP/RPC

WTLS (Wireless Transport Layer Security): Provides data integrity, privacy, authentication functions Based on ideas from TLS/SSL

WDP (Wireless Datagram Protocol): Provides transport layer functions Based on ideas from UDP

Content encoding, optimized for low-bandwidth channels, simple devices

Page 18: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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 Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html">

Internet<WML><CARD><DO TYPE="ACCEPT"><GO URL="/submit?Name=$N"/></DO>Enter name:<INPUT TYPE="TEXT" KEY="N"/></CARD></WML>

010011010011110110010011011011011101010010011010

Content encoding

HTTP/HTML WAP

Source: WAP Forum

Page 19: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: “Killer” Applications Location-based services

Real-time traffic reporting, Event/restaurant recommendation Enterprise solutions

Email access, Database access, “global” intranet access Information updates “pushed” to WAP devices

Financial services Banking, Bill-paying, Stock trading, Funds transfers

Travel services Schedules and rescheduling, Reservations

Gaming and Entertainment Online, real-time, multi-player games Downloadable horoscopes, cartoons, quotes, advice

M-Commerce Shopping on the go Instant comparison shopping Location-based special offers and sales

Page 20: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Wireless Application Environment (WAE)

Goals

device and network independent application environment

for low-bandwidth, wireless devices

considerations of slow links, limited memory, low computing power, small display, simple user interface (compared to desktops)

integrated Internet/WWW programming model

high interoperability

Page 21: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAE Components Architecture

Application model, Microbrowser, Gateway, Server

User Agents

WML/WTA/Others

content formats: vCard, vCalendar, Wireless Bitmap, WML, ...

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)

Proxy (Method/Push)

Page 22: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Origin Servers

WAE: Logical Model

webserver

other contentserver

Gateway Client

otherWAE

user agents

WMLuser agent

WTAuser agent

Push proxy

encodedrequest

request

encodedresponsewithcontent

responsewithcontent

pushcontent

encodedpushcontent

Method proxy

encoders&

decoders

Page 23: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

Page 24: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

cards Explicit navigation between cards cards are grouped to decks deck is similar to HTML page, unit

of content transmission Events, variables and state mgmt

Content (XML)

XSL Processor

HTTP Browser

HTML StyleSheet

WML Browsers

WML Stylesheet

Page 25: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WML The basic unit is a card. Cards are grouped together into Decks Document ~ Deck (unit of transfer)

All decks must contain

Document 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

Page 26: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WML Example

InputElements

Deck

CardNavigation

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>

Page 27: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<WML> <CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card2"/> </DO> Acme Inc.<BR/>Directory </CARD>

<CARD NAME="card2"> <DO TYPE="ACCEPT"> <GO URL="?send=$type"/> </DO> Services <SELECT KEY="type"> <OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT> </CARD></WML>

A Deck of Cards

Acme Inc.Directory_____________Next

Services1>Email2 Phone____________OK

Source: WAP Forum

Page 28: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<DO TYPE="ACCEPT" LABEL="Next"> <GO URL="http://www.mysite.com/myapp.wml"/></DO>

The DO Element

Binds a task to a user action Action type: ACCEPT, OPTIONS, HELP

PREV, DELETE, RESET Label: Text string or image (optional) Task: GO

PREV, REFRESH, NOOP Destination: URL Post data: if METHOD=POST

Source: WAP Forum

Page 29: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Anchored Links

Bind a task to the ACCEPT action, when cursor points to a link

TITLE= sets the label string (default = “Link”)

Links are not allowed in select list options

<CARD> Please visit our <A TITLE="Visit"> <GO URL="home.wml"/>home page</A> for details.</CARD>

Please visit our homepage for____________Visit

Source: WAP Forum

Page 30: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<WML> <TEMPLATE> <DO TYPE="OPTIONS" LABEL="Main"> <GO URL="main_menu.wml"/> </DO> </TEMPLATE> <CARD NAME="msg1"> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#msg2"/> </DO> First story </CARD> <CARD NAME="msg2"> Second story </CARD></WML>

The TEMPLATE Element

Defines actions & events for all cards in a deck

First story…

_____________Next Main

Second story...

_____________OK Main

Source: WAP Forum

Page 31: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Handling User Input

Select lists Choose from a list of options

Input fields Enter a string of text or numbers

KEY variables Set by SELECT and INPUT elements

How user input is passed to other cards and the application server

Source: WAP Forum

Page 32: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<CARD> <DO TYPE="ACCEPT" LABEL="View"> <GO URL="getcity.cgi?location=$city"/> </DO> Forecast <SELECT KEY="city"> <OPTION VALUE="ber">Berlin</OPTION> <OPTION VALUE="rom">Rome</OPTION> <OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION> </SELECT></CARD>

Forecast1 Berlin2 Rome3>New City____________Find

The SELECT Element Display a list of options

Each option may set the KEY variable and/or bind a task to the ACCEPT key

TITLE= dynamically sets the label string

MULTIPLE=“TRUE”: Allows user to pick multiple items

Source: WAP Forum

Page 33: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security: <INPUT KEY="ssn" FORMAT="NNN\-NN\-NNNN"/></CARD>

Soc. Security:

287-33- _____________ NUM

Soc. Security:

287-33- 7629____________OK

The INPUT Element Prompts user to enter a string of text

DEFAULT=key_value; Default KEY variable (displayed to user)

FORMAT=format_specifier; If omitted, free-form entry is allowed

EMPTYOK="TRUE“; Browser will accept null input

TYPE="PASSWORD“; Special entry mode handled by the browser

MAXLENGTH=number; Maximum number of allowed characters

Source: WAP Forum

Page 34: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WML Content Formats Common interchange formats, for interoperability Formats:

Business cards: IMC vCard standard Calendar: IMC vCalendar standard Images: WBMP (Wireless BitMaP) Compiled WML, WMLScript

Newly defined formats: WML text and tokenized format WMLScript text and bytecode format WBMP image format

Binary format for size reduction Bytecodes/tokens for common values and operators Compressed headers Data compression (e.g. images)

General-purpose transport compression can still be applied

Page 35: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

<CARD> <DO TYPE="ACCEPT"> <GO URL="#c2"/> </DO> Continue <IMG LOCALSRC="righthand" ALT="forward..."/></CARD>

<CARD NAME="c2"> <IMG SRC="../images/logo.wbmp" ALT="Unwired Planet"/> <BR/>Welcome!</CARD>

Displaying Images Insert app images or local icons within display text

1-bit BMP format

Images are ignored by non-bitmapped devices Check HTTP_ACCEPT for “image/bmp”

Source: WAP Forum

Page 36: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WML (other features)

Setting card styles to create forms

Using variables to cache user data

Using card intrinsic events to trigger transparent tasks

Using timers

Securing WML decks

Bookmarking decks

Page 37: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WMLScript

Complement to WML Derived from JavaScript™

Provides general scripting capabilities Procedural logic, loops, conditionals, etc. Optimized for small-memory, small-cpu devices

Features local user interaction, validity check of user input access to device facilities (phone call, address book etc.) extensions to the device software

configure device, download new functionality after deployment

Bytecode-based virtual machine Stack-oriented design, ROM-able Designed for simple, low-impact implementation

WMLScript compiler resides in the network

Page 38: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WMLScript Libraries

Lang - VM constants, general-purpose math functionality, etc.

String - string processing functions

URL - URL processing

Browser - WML browser interface

Dialog - simple user interface

Float - floating point functions

Page 39: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Functions

WMLScript Example

ProgrammingConstructs

Variables

function currencyConvertor(currency, exchRate) { return currency*exchangeRate; }

function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay;}

Source: WAP Forum

Page 40: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Wireless Telephony Application (WTA) 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");

Implementation Extension of basic WAE application model

Extensions added to standard WML/WMLScript browser

Exposes additional API (WTAI)

Page 41: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

telephony functions some application on the client may access telephony

functions WTAI includes:

Call control Network text messaging Phone book interface Event processing

Security model: segregation Separate WTA browser Separate WTA port

Page 42: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

Page 43: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Placing an outgoing call with WTAI:

WTAI Call

function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”);}

WTA Example (WMLScript)

Source: WAP Forum

Page 44: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Logical Architecture

other WTAservers

Client

WAEservices

WTAuser agent

WAP Gateway

encoders&

decoders

other telephone networks

WTA Origin Server

WTA & WMLserver

WMLScripts

WMLdecks

WTAservices

mobilenetwork

firewallthird party

origin servers

network operatortrusted domain

Source: Schiller

Page 45: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Framework Components

Source: Heijden

Page 46: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

WTA User Agent Context Abstraction of execution space

Holds current parameters, navigation history, state of user agent

Similar to activation record in a process address space

Uses connection-mode and connectionless services offered by WSP

Specific, secure WDP ports on the WAP gateway

Page 47: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Events and Repository

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

WTA Repository local store for content related to WTA services (minimize network

traffic)

Channels: define the service

content format defining a WTA service stored in repository

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

Server can also initiate download of a channel

Page 48: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Channels and Resources

Source: Heijden

Page 49: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Interface (public)

WTA Interface

generic, high-level interface to mobile’s telephony functions

setting up phone calls, reading and writing entries in phonebook..

Public WTAI

for third party WML content providers

restricted set of telephony functions available to any WAE User Agent

library functions

make call: allows application to setup call to a valid tel number

send DTMF tones: send DTMF tones through the setup call

user notified to grant permission for service execution

cannot be triggered by network events

example: Yellow pages service with “make call” feature

Page 50: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Interface (network)

Network Common WTAI WTA service provider is in operator’s domain

all WTAI features are accessible, including the interface to WTA events

library functions

Voice-call control: setup call, accept, release, send DTMF tones

Network text: send text, read text, remove text (SMS)

Phonebook: write, read, remove phonebook entry

Call logs: last dialed numbers, missed calls, received calls

Miscellaneous: terminate WTA user agent, protect context

user can give blanket permission to invoke a function

example: Voice mail service

Network Specific WTAI specific to type of bearer network

example:

GSM: call reject, call hold, call transfer, join multiparty, send USSD

Page 51: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

association of an event with the corresponding handler (channel) Global binding:

channel corresponding to the event is stored in the repository event causes execution of resources defined by the channel example: voice mail service

Temporary binding: resources to be executed are defined by the already

executing service example: yellow pages lookup and call establishment

Page 52: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Event Handling (no service in execution)

Source: Heijden

Page 53: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Event Handling (service already execution)

1: Temporary binding exists

2. No temporary binding and context is protected

3: No temporary binding and context is not protectedSource: Heijden

Page 54: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA: Voice mail Example

push deck

WTA client WTA server mobile network voice mail server

incoming voice message

generatenew deck

display deck;user selects

translate

setup call

wait for call

accept call

voice connection

indicate new voice message

request

play requested voice message

setup callcall indication

accept call accept call

Source: Schiller

Page 55: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA Application: Example (using WML)

<WML> <CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion! </CARD>

<CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="wtai://cc/sc;

$voteNo;1"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> </WML>

Source: Schiller

Page 56: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA: Example with WML and WMLScript

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");

}

Source: Schiller

Page 57: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTA: Example with WML and WMLScript <WML>

<CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion! </CARD> <CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="/script#voteCall($voteNo)"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> <CARD NAME="showResult"> Status of your call: $Message $No </CARD> </WML>

Source: Schiller

Page 58: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Push Services Web push

Scheduled pull by client (browser) example: Active Channels

no real-time alerting/response example: stock quotes

Wireless push accomplished by using the network itself

example: SMS

limited to simple text, cannot be used as starting point for service example: if SMS contains news, user cannot request specific news item

WAP push Network supported push of WML content

example: Alerts or service indications

Pre-caching of data (channels/resources)

Page 59: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Push Framework

Source: Heijden

Page 60: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

cancel previous push

query status of push

query status/capabilities of device

Page 61: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Push Proxy Gateway

WAP stack (communication with mobile device)

TCP/IP stack (communication with Internet push initiator)

Proxy layer does

control information parsing

content transformation

session management

client capabilities

store and forward

prioritization

address resolution

management function

Page 62: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Over the Air (OTA) Protocol

Extends WSP with push-specific functionality

Application ID uniquely identifies a particular application in the client (referenced as a URI)

Connection-oriented mode

client informs proxy of application IDs in a session

Connectionless mode

well known ports, one for secure and other for non-secure push

Session Initiation Application (SIA)

unconfirmed push from proxy to client

request to create a session for a specific user agent and bearer

Page 63: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAE Summary WML

analogous to HTML (optimized for wireless) event based, microbrowser user agent

WMLScript analogous to JavaScript features of compiler in the network

WTA WTAI: different access rights for different applications/agents WTA 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

Page 64: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Gateway Summary

Encoders

translate between binary (WML) and text (HTML/WML)

Filters

transcoding between WML (wireless) and HTML (wired)

Method Proxy

similar to standard proxy services

WAP stack on wireless interface and TCP/IP stack on Internet interface

Push Proxy

Push Access Protocol with Internet Push Initiator (Web Server)

Over the Air Protocol with mobile device (and WAP Push Initiator)

Performs necessary filtering, translation etc.

Page 65: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Servers Summary Origin Server

Web server with HTML/WML contents

Runs TCP/IP stack, needs PAP protocol for push, no end-to-end security

WAP Server Serves WML content

Runs WAP stack, uses OTA protocol for push, end-to-end security possible

WTA Server Specialized for telephony applications (runs WAP stack, uses push

extensively)

Client initiated (make call “hyperlink” from a Yellow pages service)

Server intiated (incoming call from a Voice mail service)

Page 66: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: Protocol Stack

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

Page 67: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WDP: Wireless Datagram Protocol Goals

create a worldwide interoperable transport system by adapting WDP to the different underlying technologies

transmission services, such as SMS in GSM might change, new services can replace the old ones

WDP 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

Page 68: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

Page 69: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Over GSM Circuit-Switched

RAS - Remote Access ServerIWF - InterWorking Function

WSP

WAE

Subnetwork

IP

WSP

WAE Apps onOther Servers

WAP Proxy/Server

CSD-RF

PPP

IP

Mobile

IWF

PSTNCircuit

CSD-RF

ISP/RAS

SubnetworkPSTNCircuit

PPP

IP

WTP

UDP

WTP

UDP

Service, Protocol, and Bearer Example

Source: WAP Forum

Page 70: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Over GSM Short Message Service

SMS

WDP

WTP

WSP

WAE

SMS

Subnetwork

WDP

WDP Tunnel Protocol

Subnetwork

WDP TunnelProtocol

WTP

WSP

WAE Apps onother servers

SMSC

WAP Proxy/ServerMobile

under development

Service, Protocol, and Bearer Example

Source: WAP Forum

Page 71: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTLS:Wireless Transport Layer Security Goals

Provide mechanisms for secure transfer of content, for applications needing privacy, identification, message integrity and non-repudiation

Provide support for protection against denial-of-service attacks

WTLS 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 Provides simple data reliability for operation over

datagram bearers

Page 72: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Record Protocol

Handshake Protocol

Alert Protocol

Application Protocol

Change Cipher Spec Protocol

Transaction Protocol (WTP)

Datagram Protocol (WDP/UDP)

Bearer networks

WTLS

Record protocol

WTLS Internal Architecture

Source: WAP Forum

Page 73: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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)

originatorSEC-SAP

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

Page 74: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTLS: Transferring Datagrams

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

(SA, SP, DA, DP, UD)

senderSEC-SAP

receiverSEC-SAP

Source: Schiller

Page 75: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP: Wireless Transaction Protocol Goals

different transaction services that enable applications to select reliability, efficiency levels

low memory requirements, suited to simple devices (< 10kbyte ) efficiency for wireless transmission

WTP supports peer-to-peer, client/server and multicast applications efficient for wireless transmission support for different communication scenarios class 0: unreliable message transfer

unconfirmed Invoke message with no Result message a datagram that can be sent within the context of an existing Session

class 1: reliable message transfer without result message confirmed Invoke message with no Result message used for data push, where no response from the destination is

expected class 2: reliable message transfer with exactly one reliable result

message confirmed Invoke message with one confirmed Result message a single request produces a single reply

Page 76: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP Services and Protocols WTP (Transaction)

provides reliable data transfer based on request/reply paradigm no explicit connection setup or tear down optimized setup (data carried in first packet of protocol

exchange) seeks to reduce 3-way handshake on initial request

supports header compression segmentation /re-assembly retransmission of lost packets selective-retransmission port number addressing (UDP ports numbers) flow control

message oriented (not stream) supports an Abort function for outstanding requests supports concatenation of PDUs supports User acknowledgement or Stack acknowledgement

option acks may be forced from the WTP user (upper layer) default is stack ack

Page 77: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP Class 0 Transaction

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

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=0, H‘)

initiatorTR-SAP

responderTR-SAP

Source: Schiller

A: Acknowledgement Type (WTP/User)

C: Class (0,1,2)

H: Handle (socket alias)

Page 78: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP Class 1 Transaction, no user ack & user ack

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

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)

initiatorTR-SAP

responderTR-SAP

Ack PDU

TR-Invoke.res(H‘)

TR-Invoke.cnf(H)

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

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)

initiatorTR-SAP

responderTR-SAP

Ack PDUTR-Invoke.cnf(H)

Source: Schiller

Page 79: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

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

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

initiatorTR-SAP

responderTR-SAP

Result PDU

TR-Result.req(UD*, H‘)

TR-Result.ind(UD*, H)

Ack PDU

TR-Invoke.cnf(H)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

Page 80: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP Class 2 Transaction, user ack

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

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

initiatorTR-SAP

responderTR-SAP

Result PDUTR-Result.ind(UD*, H)

Ack PDU

TR-Invoke.res(H‘)

TR-Invoke.cnf(H) Ack PDU

TR-Result.req(UD*, H‘)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

Page 81: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WTP Class 2 Transaction, hold on, no user ackTR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)

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

initiatorTR-SAP

responderTR-SAP

Result PDU

TR-Result.req(UD*, H‘)

TR-Result.ind(UD*, H)

Ack PDU

Ack PDUTR-Invoke.cnf(H)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

Page 82: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

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

WSP Services provides shared state between client and server, optimizes content

transfer session management (establish, release, suspend, resume) efficient capability negotiation content encoding push

WSP/B (Browsing) HTTP/1.1 functionality - but binary encoded exchange of session headers push and pull data transfer asynchronous requests

Page 83: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP Overview

Header Encoding compact binary encoding of headers, content type identifiers

and other well-known textual or structured values reduces the data actually sent over the network

Capabilities (are defined for): message size, client and server protocol options: Confirmed Push Facility, Push Facility, Session

Suspend Facility, Acknowledgement headers maximum outstanding requests extended methods header code pages

Suspend and Resume server knows when client can accept a push multi-bearer devices dynamic addressing allows the release of underlying bearer resources

Page 84: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP Sessions

Session Context and Push push can take advantage of session headers

server knows when client can accept a push

Connection-mode long-lived communication, benefits of the session

state, reliability

Connectionless-mode stateless applications, no session creation overhead,

no reliability overhead

Page 85: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B session establishmentS-Connect.req(SA, CA, CH, RC) Connect PDU

S-Connect.ind(SA, CA, CH, RC)

clientS-SAP

serverS-SAP

ConnReply PDU

S-Connect.res(SH, NC)

S-Connect.cnf(SH, NC)

WTP Class 2transaction

Source: Schiller

CH: Client Header

RC: Requested Capabilities

SH: Server Header

NC: Negotiated Capabilities

Page 86: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B session suspend/resume

S-Suspend.req Suspend PDUS-Suspend.ind(R)

clientS-SAP

serverS-SAP

Reply PDUS-Resume.res

WTP Class 2transaction

S-Suspend.ind(R)

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

(SA, CA)

Resume PDU

S-Resume.cnf

WTP Class 0transaction

Source: Schiller

R: Reason for disconnection

Page 87: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B session termination

Disconnect PDUS-Disconnect.ind(R)

clientS-SAP

serverS-SAP

S-Disconnect.ind(R) WTP Class 0

transaction

S-Disconnect.req(R)

Source: Schiller

Page 88: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B method invoke

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

S-MethodInvoke.ind(STID, M, RU)

clientS-SAP

serverS-SAP

Reply PDU

S-MethodInvoke.res(STID)

S-MethodInvoke.cnf(CTID)

WTP Class 2transaction

S-MethodResult.req(STID, S, RH, RB)

S-MethodResult.ind(CTID, S, RH, RB)

S-MethodResult.res(CTID) S-MethodResult.cnf

(STID) CTID: Client Transaction ID

M: Method Invoked

RU: Request URI

STID: Server Transaction ID

S: Response Status

RH: Response Header

RB: Response BodySource: Schiller

Page 89: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B over WTP - method invocation

S-MethodInvoke.req

S-MethodInvoke.ind

clientS-SAP

serverS-SAP

S-MethodInvoke.res

S-MethodInvoke.cnfS-MethodResult.req

S-MethodResult.ind

S-MethodResult.res

S-MethodResult.cnf

TR-Invoke.req

initiatorTR-SAP

TR-Result.ind

TR-Invoke.cnf

TR-Result.res

TR-Invoke.ind

responderTR-SAP

TR-Invoke.res

TR-Result.req

TR-Result.cnf

Invoke(Method)

Result(Reply)

Ack PDU

Ack PDU

Source: Schiller

Page 90: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B over WTP - asynchronous, unordered requests

S-MethodInvoke_1.req

S-MethodInvoke_1.ind

clientS-SAP

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

Source: Schiller

Page 91: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B - confirmed/non-confirmed push

S-Push.req(PH, PB)

clientS-SAP

serverS-SAP

ConfPush PDU

WTP Class 1transaction

S-Push.ind(PH, PB)

S-ConfirmedPush.res(CPID)

S-ConfirmedPush.ind(CPID, PH, PB)

WTP Class 0transaction

Push PDU

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

clientS-SAP

serverS-SAP

S-ConfirmedPush.cnf(SPID)

Source: Schiller

PH: Push Header

PB: Push Body

SPID: Server Push ID

CPID: Client Push ID

Page 92: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WSP/B over WDP

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

clientS-SAP

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

Method PDU

Reply PDU

Push PDU

WDP Unitdataservice

Source: Schiller

Page 93: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP Stack Summary

WDP functionality similar to UDP in IP networks

WTLS functionality similar to SSL/TLS (optimized 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)

features of “user acknowledgement”, “hold on”

WSP WSP/B: analogous to http 1.1 (add features of suspend/resume)

method: analogous to RPC/RMI

features of asynchronous invocations, push (confirmed/unconfirmed)

Page 94: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: Ongoing Work WDP

Tunnel to support WAP where no (end-to-end) IP bearer available WTLS

support for end-to-end security (extending WTLS endpoint beyond WAP Gateway)

interoperable between WAP and Internet (public key infrastructure) integrating Smart Cards for security functions

WTP efficient transport over wireless links (wireless TCP) bearer selection/switching quality of service definitions

WSP quality of service parameters multicast data, multimedia support

WAE User agent profiles: personalize for device characteristics, preferences

etc Push architecture, asynchronous applications Billing

Page 95: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WAP: Hype vs Reality

Low-bandwidth wireless links tcp/ip over wireless can also address these problems encoding in http can also reduce data transfer on wireless

links Limited device capabilities

Microbrowser is appropriate to address this problem WTAI features are not present in tcp/ip domain

Challenges in WAP adapting to applications rich in content and interaction service guarantees interface design and usability

Other approaches for WWW access through mobiles i-Mode (from NTT DoCoMo) WAP is a TRAP (http://www.freeprotocols.org/wapTrap)

Page 96: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

References and Resources

Books Mobile communications: Jochen Schiller, Addison Wesley 2000 Understanding WAP:

Official Website (specifications) www.wapforum.org

Technical/Developer Info and tools www.palopt.com.au/wap www.wap.net

Major players www.nokia.com/wap www.ericsson.se/wap phone.com

OpenSource effort www.wapgateway.org (Kannel WAP gateway project)

Page 97: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Thank You

This presentation is available online from

http://www.it.iitb.ernet.in/~sri/talks

Sridhar Iyer

KR School of Information Technology

IIT Bombay

Page 98: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 101

WiFi

Is for “Wireless Fidelity”

Or

IEEE 802.11 Standard

Page 99: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 102

What is the goal of 802.11 standard ?

To develop a Medium Access Control (MAC) and Physical Layer (PHY) specification for wireless connectivity for fixed, portable and moving stations within a local area.

Page 100: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 103

802.11 sub-standards(amendments ) ….

802.11 MAC (Media Access Control) ratified 1999 802.11b PHY 2.4 GHz (max 11 Mbps) ratified 1999 802.11a PHY 5.0 GHz (max 54 Mbps) ratified 1999 802.11g PHY 2.0 GHz (max 54 Mbps) ratified 2003 802.11i Security draft number XXX 802.11e QoS, Multimedia draft number XXX 802.11h European regulations for 5GHz draft number XXX 802.11h Japan regulations for 5GHz draft number XXX

Page 101: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 104

Do I need any license to use 802.11 device ?

No , 2.4 GHz and 5.0 GHz are public available frequency !!!

Page 102: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 105

Context with OSI layers

Page 103: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 106

Logical Link Control Services

Page 104: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 107

Standard 802.11 frame format

Page 105: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 108

Frames types and subtypes

Three types of frames: Control

(ACK,RTS,CTS ,Power Save …) Management

(Beacon,Probe Request ,Probe Response,

Association request , Association response …)

Data

(Data, Null Data, Data_CF_Ack , ….)

Page 106: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 109

Infrastructure Model includes:(most common)

• Stations (STA)– any wireless device

• Access Point (AP)– connects BSS to DS– controls access by STA’s

• Basic Service Set (BSS)– a region controlled by an AP– mobility is supported within a

single BSS

• Extended Service Set (ESS)– a set of BSS’s forming a virtual

BSS– mobility is supported between

BSS’s in an ESS

• Distribution Service (DS)– connection between BSS’s

802.11 MAC – Configuration summary – Infrastructure model

DS

BSS1

BSS2

BSS3STA1

STA2

STA3

ESS1

AP1

AP2

AP3

Page 107: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 110

The 802.11 MAC supports infrastructure

and ad hoc network models

Ad Hoc Model includes:

• Stations (STA)– any wireless device– act as distributed AP

• Independent Basic Service Set (IBSS)– BSS forming a self contained

network– no AP and no connection to the DS

IBSS

STA1

STA2

STA3

Page 108: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 111

Two types of access to air

DCF (distributed coordination function )

means everybody can speak and try

to get air : 100% on the market

PCF (point coordination function)

means ONE point coordinator (BOSS)

who will allowed you to speak

(like in bluetooth)

Page 109: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 112

Summary of required features and difficulties vs 802.11 features

Features High speed operation (PHY only) Fair access (DCF, PCF) Time-bounded access (PCF) Flexible configuration (BSS, IBSS) Security (WEP) Mobility support (ESS) Low power (PS)

Difficulties Hidden terminals (RTS/CTS) Capture (CSMA/CA, ACK) Noise and interference (ACK, frag) Limited spectrum (licencing, PHYs)

Page 110: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 113

The 802.11 MAC basic Distributed Co-ordination Function (DCF) access scheme uses a CSMA/CA based protocol

If the STA detects the medium is busy when attempting to send a packet then:

the STA starts a random back-off timer the randomisation parameters depend on previous transmission

successes/failures the back-off timer runs once the medium has been idle for an IFS period

An STA may transmit a packet after sensing the medium is idle for an Inter Frame Space (IFS) period

the back-off timer suspends when the medium is busy and does not restart until medium is idle for an IFS period

The STA may transmit when the back-off timer expires The state (busy or idle) of the medium is determined using:

physical carrier sense virtual carrier sense, based on reservations in received packets. These

reservations set the NAV timer. The medium is considered busy until the NAV timer expires

Page 111: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 114

The 802.11 MAC basic Distributed Co-ordination Function (DCF) access scheme uses a CSMA/CA based protocol

IFS IFS

Defer access while busy

and for an IFS period

Busy Frame

Contention window

Decrement back-off when medium

idle for at least IFS period

Medium busy Send frame

Page 112: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 115

Acknowledgment

Page 113: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 116

Security

WEP ( wired equivalent privacy) 64/128 bits

Using RC4 algorithm, almost permanent key, very week

security, able to crack by collecting statistic

Current security level for 99.9% products on the market. TKIP (temporal key integrity protocol )

Used RC4 algorithm with with a 128-bit "temporal key"

but changes temporal keys every 10,000 packets and key dependes on address and sequence number.

Will be required to obtain WiFi certification from 09/01/03 AES (Advanced Encryption Standard )

New, much more stronger encryption, protect against hacker frames in insertion. Need hardware accelerator. Optional feature.

Page 114: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 117

Why do we need 11A/11B/11G ?

11B: 2.4 GHz , CCK modulation Rates from 1 to 11Mbps , on market from 1999

11A: 5.0 GHz , OFDM modulation Rates from 6 to 56 Mbps , on market from 2002 11G: 2.4 GHz, CCK+OFDM modulation

Rates from 6 to 56 Mbps, on market from 2003 and … most popular today !!!

Advantages of 2.4 GHz PHY:Low frequency, better wall penetration, less sensitive to multipath3 not-overlapped channels

Advantages of 5.0 GHz PHY: Less devices on the market (no microwave, no blue tooth …)

8 not-overlapped channelsRange: almost the same …

Page 115: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 118

802.11 a/b/g performance11A/G max throughput ~22 Mbps , not 54 Mbps (!!!)11B max throughput ~6 Mbps

Page 116: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 119

Wlan market Scenarios

Page 117: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 120

IEEE 802.16 for MAN==Metropolitan Area NetworkNew alternative to DSL/Cable modems

IEEE 802.16 Progress

Work on 802.16 started in July 1999. Four years into its mission, the IEEE 802.16 Working Group on Broadband Wireless Access has delivered a base and three follow-on standards.

IEEE 802.16 (“Air Interface for Fixed Broadband Wireless Access Systems”) was approved in December 2001. This standard is for wireless MANs operating at frequencies between 10 and 66 GHz.

IEEE 802.16.2, published in 2001, specifies a “recommended practice” to address the operation of multiple, different broadband systems in the 10-66 GHz frequency range.

In January of this year, the IEEE approved an amendment to 802.16, called 802.16a, which adds to the original standard operation in licensed and unlicensed frequency bands from 2-11 GHz.

802.16c, which was approved in December 2002, is aimed at improving interoperability by specifying system profiles in the 10-66 GHz range.

Page 118: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 121

802.11/802.16

Page 119: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 122

Page 120: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 123

Page 121: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiFi 124

Page 122: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is WIMAX ?

WiMAX is an IP based, wireless broadband access technology that provides performance similar to 802.11/Wi-Fi networks with the coverage and QOS (quality of service) of cellular networks. WiMAX is also an acronym meaning "Worldwide Interoperability for Microwave Access (WiMAX).

Page 123: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is WIMAX ?

WiMAX (Worldwide Interoperability for Microwave Access) is a telecommunications protocol that provides fixed and mobile Internet access. The current WiMAX revision provides up to 40 Mbit/s with the IEEE 802.16m update expected to offer up to 1 Gbit/s fixed speeds.

Page 124: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is WIMAX ?

The name "WiMAX" was created by the WiMAX Forum, which was formed in June 2001 to promote conformity and interoperability of the standard. The forum describes WiMAX as "a standards-based technology enabling the delivery of last mile wireless broadband access as an alternative to cable and DSL".

Page 125: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is last mile operation ?

The "last mile" or "last kilometer" is the final leg of delivering connectivity from a communications provider to a customer. The phrase is therefore often used by the telecommunications and cable television industries. The actual distance of this leg may be considerably more than a mile, especially in rural areas.

Page 126: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is last mile operation ?

It is typically seen as an expensive challenge because "fanning out" wires and cables is a considerable physical undertaking. Because the last mile of a network to the user is also the first mile from the user to the world, the term "first mile" is sometimes used.

Page 127: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Last mile

To solve the problem of providing enhanced services over the last mile, some firms have been mixing networks for decades. One example is Fixed Wireless Access, where a wireless network is used instead of wires to connect a stationary terminal to the wireline network.

Page 128: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is Wimax ?

WiMAX is a wireless digital communications system, also known as IEEE 802.16, that is intended for wireless "metropolitan area networks". WiMAX can provide broadband wireless access (BWA) up to 30 miles (50 km) for fixed stations, and 3 - 10 miles (5 - 15 km) for mobile stations. In contrast, the WiFi/802.11 wireless local area network standard is limited in most cases to only 100 - 300 feet (30 - 100m).

Page 129: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Integration with an IP-based network

Page 130: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Integration with an IP-based network

The WiMAX Forum has proposed an architecture that defines how a WiMAX network can be connected with an IP based core network, which is typically chosen by operators that serve as Internet Service Providers (ISP); Nevertheless the WiMAX BS provide seamless integration capabilities with other types of architectures as with packet switched Mobile Networks.

Page 131: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Integration with an IP-based network

The WiMAX forum proposal defines a number of components, plus some of the interconnections (or reference points) between these, labeled R1 to R5 and R8:

SS/MS: the Subscriber Station/Mobile Station ASN: the Access Service Network[19] BS: Base station, part of the ASN ASN-GW: the ASN Gateway, part of the ASN CSN: the Connectivity Service Network HA: Home Agent, part of the CSN AAA: Authentication, Authorization and Accounting Server, part of

the CSN NAP: a Network Access Provider NSP: a Network Service Provider

Page 132: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

Integration with an IP-based network

It is important to note that the functional architecture can be designed into various hardware configurations rather than fixed configurations. For example, the architecture is flexible enough to allow remote/mobile stations of varying scale and functionality and Base Stations of varying size - e.g. femto, pico, and mini BS as well as macros.

Page 133: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation

There are numerous devices on the market that provide connectivity to a WiMAX network. These are known as the "subscriber unit" (SU).

There is an increasing focus on portable units. This includes handsets (similar to cellular smartphones); PC peripherals (PC Cards or USB dongles); and embedded devices in laptops, which are now available for Wi-Fi services.

Page 134: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation

In addition, there is much emphasis by operators on consumer electronics devices such as Gaming consoles, MP3 players and similar devices. It is notable that WiMAX is more similar to Wi-Fi than to 3G cellular technologies.

Page 135: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation

The WiMAX Forum website provides a list of certified devices. However, this is not a complete list of devices available as certified modules are embedded into laptops, MIDs (Mobile Internet devices), and other private labeled devices.

Page 136: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Gateways

WiMAX gateway devices are available as both indoor and outdoor versions from several manufacturers. Many of the WiMAX gateways that are offered by manufactures such as Airspan, ZyXEL, Huawei, Motorola, and Greenpacket are stand-alone self-install indoor units. Such devices typically sit near the customer's window with the best WiMAX signal, and provide:

Page 137: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Gateways

An integrated Wi-Fi access point to provide the WiMAX Internet connectivity to multiple devices throughout the home or business.

Ethernet ports should you wish to connect directly to your computer or DVR instead.

One or two PSTN telephone jacks to connect your land-line phone and take advantage of VoIP.

Page 138: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Gateways

Indoor gateways are convenient, but radio losses mean that the subscriber may need to be significantly closer to the WiMAX base station than with professionally-installed external units.

Outdoor units are roughly the size of a laptop PC, and their installation is comparable to the installation of a residential satellite dish. A higher-gain directional outdoor unit will generally result in greatly increased range and throughput but with the obvious loss of practical mobility of the unit.

Page 139: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Dongles

There are a variety of USB dongles on the market which provide connectivity to a WiMAX network. Generally these devices are connected to a notebook or netbook whilst on the go. Dongles typically have omnidirectional antennae which are of lower-gain compared to other devices, as such these devices are best used in areas of good coverage.

Page 140: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Mobile phones

HTC announced the first WiMAX enabled mobile phone, the Max 4G, on Nov 12th 2008.[12] The device was only available to certain markets in Russia on the Yota network.

Page 141: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: Mobile phones

HTC and Sprint Nextel released the second WiMAX enabled mobile phone, the EVO 4G, March 23, 2010 at the CTIA conference in Las Vegas. The device, made available on June 4, 2010,[13] is capable of both EV-DO(3G) and WiMAX(4G) as well as simultaneous data & voice sessions. The device also has a front-facing camera enabling the use of video conversations.[14] A number of WiMAX Mobiles are expected to hit the US market in 2011.

Page 142: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: MAC (data link) layer

The WiMAX MAC uses a scheduling algorithm for which the subscriber station needs to compete only once for initial entry into the network. After network entry is allowed, the subscriber station is allocated an access slot by the base station. The time slot can enlarge and contract, but remains assigned to the subscriber station, which means that other subscribers cannot use it.

Page 143: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX installation: MAC (data link) layer

In addition to being stable under overload and over-subscription, the scheduling algorithm can also be more bandwidth efficient. The scheduling algorithm also allows the base station to control Quality of service (QoS) parameters by balancing the time-slot assignments among the application needs of the subscriber station.

Page 144: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX Performance

As a standard intended to satisfy needs of next-generation data networks (4G), WiMAX is distinguished by its dynamic burst algorithm modulation adaptive to the physical environment the RF signal travels through. Modulation is chosen to be more spectrally efficient (more bits per OFDM/SOFDMA symbol).

Page 145: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX Performance

That is, when the bursts have a high signal strength and a high carrier to noise plus interference ratio (CINR), they can be more easily decoded using digital signal processing (DSP).

Page 146: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX Performance

In contrast, operating in less favorable environments for RF communication, the system automatically steps down to a more robust mode (burst profile) which means fewer bits per OFDM/SOFDMA symbol; with the advantage that power per bit is higher and therefore simpler accurate signal processing can be performed.

Page 147: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX vs. LTE

The more recent Long Term Evolution (LTE) standard is a similar term describing a parallel technology to WiMAX that is being developed by vendors and carriers as a counterpoint to WiMAX.

Page 148: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

An example of Wireless competition

Korea launched Wimax at 2nd quarter of 2006 and then launched HSPA one quarter after launched Wimax. At the end of 2008 there were 8.4 million HSPA subscribers and 350,000 Wimax subscribers in Korea. Almost all of HSPA subscribers come from 2G and 3G users who have been tempted to upgrade to new devices by high subsidies, whereas Wimax subscribers almost all are newcomers.

Page 149: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

An example of wireless competition

Deployment of Wimax is still limited (spotted), whereas there are well over 100 countries where HSPA networks are deployed, and even where there is no HSPA coverage there is backward compatibility (using HSPA devices) to pre-existing networks (GSM and WCDMA) with a roaming infrastructure already in place

Page 150: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX statistics

As of October 2010, the WiMAX Forum claims there are over 592 WiMAX (fixed and mobile) networks deployed in over 148 countries.

Yota is the largest WiMAX network operator in the world, but has announced that it will move new network deployments to LTE and, subsequently, change its existing networks as well.

Page 151: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

What is HSPA ?

High Speed Packet Access (HSPA) is an amalgamation of two mobile telephony protocols, High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA), that extends and improves the performance of existing WCDMA protocols. A further standard, Evolved HSPA (also known as HSPA+), was released late in 2008 with subsequent adoption worldwide beginning in 2010.

Page 152: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX competitors

Within the marketplace, WiMAX's main competition comes from existing, widely deployed wireless systems such as UMTS, CDMA2000, existing Wi-Fi and mesh networking.

Page 153: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

WiMAX competitors

Speed vs. Mobility of wireless systems: Wi-Fi, HSPA, UMTS, GSM

Page 154: Wireless Application Protocol. Outline  Mobile applications  How are mobile/wireless environments different?  What is WAP?  WAP Architecture  WAE

The future of wireless networks

In the future, competition will be from the evolution of the major cellular standards to so-called 4G, high-bandwidth, low-latency, all-IP networks with voice services built on top. The worldwide move to 4G for GSM/UMTS and AMPS/TIA (including CDMA2000) is the 3GPP Long Term Evolution effort.