1、Mobile Applications: Wireless Application Protocol,Sridhar Iyer IIT Bombay http:/www.it.iitb.ac.in/sri,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 Sum
2、mary,IIT Bombay,Mobile Applications: WAP,3,Limitations of Mobile Environments,Limitations of the Wireless Network heterogeneity of fragmented networks frequent disconnections limited communication bandwidth,IIT Bombay,Mobile Applications: WAP,4,Limitations of Mobile Environments (contd),Limitations
3、Imposed by Mobility lack of mobility awareness by systems, applications route breakagesLimitations of the Mobile Computer short battery lifetime limited capacities,IIT Bombay,Mobile Applications: WAP,5,Mobile Applications,Vehicles transmission of news, road condition etc ad-hoc network with near veh
4、icles to prevent accidents Emergencies early transmission of patient data to hospital ad-hoc network in case of earthquakes military .,IIT Bombay,Mobile Applications: WAP,6,Mobile Applications,Traveling salesmen direct access to central customer files consistent databases for all agents mobile offic
5、e Web access outdoor Internet access intelligent travel guide with up-to-date location dependent information,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.
6、, nearest cash ATM Disconnected operations mobile agents, e.g., shopping Entertainment ad-hoc networks for multi user games,IIT Bombay,Mobile Applications: WAP,8,Mobile applications in the Industry,Wireless access: () openwave Alerting services: Location services: (airflash) Intranet applications:
7、 (imedeon) Banking services: Mobile agents: .,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,Docume
8、nt Transfer,Low Quality Video,High Quality Video,IIT Bombay,Mobile Applications: WAP,10,World Wide Web and Mobility,HTTP characteristics designed for large bandwidth, low delay stateless, client/server, request/response communication connection oriented, one connection per request TCP 3-way handshak
9、e, DNS lookup overheads,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,IIT
10、 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,IIT Bombay,Mobile Applications: WAP,
11、13,System Support for Mobile WWW,Enhanced servers server-aware support for mobility serve the content in multiple ways, depending on client capabilitiesNew protocols/languages WAP/WML,IIT Bombay,Mobile Applications: WAP,14,Wireless Application Protocol,Goals deliver Internet services to mobile devic
12、es independence from wireless network standards GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-CDMA),IIT Bombay,Mobile Applications: WAP,15,Why is HTTP/HTML not enough?,Big pipe - small pipe syndrome,Source: WAP Forum,IIT Bombay,Mobile Applications: WAP,16,WHY WAP?,Wireless networks and phones ha
13、ve specific needs and requirements not 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
14、),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 serve
15、rs Protocol layers Transport layer, security layer, session layer etc. Telephony application interface Access to telephony functions,IIT Bombay,Mobile Applications: WAP,18,Internet model,IIT Bombay,Mobile Applications: WAP,19,WAP architecture,Source: WAP Forum,IIT Bombay,Mobile Applications: WAP,20,
16、WAP Application Server,Content,Application Logic,WML Decks with WML-Script,WSP/WTP,WAP application server,Source: WAP Forum,IIT Bombay,Mobile Applications: WAP,21,WAP specifies,Wireless Application Environment WML Microbrowser WMLScript Virtual Machine WMLScript Standard Library Wireless Telephony A
17、pplication 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,IIT Bombay,Mobile Applications: WAP,22,WAP: refer
18、ence model,Source: Schiller,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 (Wirel
19、ess Session Protocol): Provides HTTP 1.1 functionality Supports session management, security, etc.,IIT Bombay,Mobile Applications: WAP,24,WAP stack (contd.),WTP (Wireless Transaction Protocol): Provides reliable message transfer mechanisms Based on ideas from TCP/RPC WTLS (Wireless Transport Layer S
20、ecurity): Provides data integrity, privacy, authentication functions Based on ideas from TLS/SSL WDP (Wireless Datagram Protocol): Provides transport layer functions Based on ideas from UDPContent encoding, optimized for low-bandwidth channels, simple devices,IIT Bombay,Mobile Applications: WAP,25,W
21、DP: 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 te
22、chnologies addressing uses port numbers WDP over IP is UDP/IP,IIT Bombay,Mobile Applications: WAP,26,WDP: service primitives,SAP: Service Access Point DA: Destination Address DP: Destination Port SA: Source Address SP: Source Port UD: User Data EC: Error Code,Source: Schiller,IIT Bombay,Mobile Appli
23、cations: 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 w
24、ireless usage Long lived secure sessions Optimised handshake procedures,IIT Bombay,Mobile Applications: WAP,28,WTLS: secure session, full handshake,Source: Schiller,KES: Key Exchange Suite CS: Cipher Suite CM: Compression Mode SNM: Sequence Number ModeKR: Key Refresh Cycle SID: Session Identifier CC
25、: Client Certificate,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
26、, client/server and multicast applications,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,IIT Bombay,Mobile Applications
27、: 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),IIT Bombay,Mobile Applications: WAP,
28、32,WTP Class 1 Transaction, no user ack & user ack,Source: Schiller,IIT Bombay,Mobile Applications: WAP,33,WTP Class 2 Transaction,Source: Schiller,IIT Bombay,Mobile Applications: WAP,34,WSP - Wireless Session Protocol,provides shared state between client and server, optimizes content transfer sessi
29、on management (establish, release, suspend, resume) efficient capability negotiation key management, authentication, Internet security services content encoding push,IIT Bombay,Mobile Applications: WAP,35,WSP/B session establishment,S-Connect.req (SA, CA, CH, RC),Connect PDU,S-Connect.ind (SA, CA, C
30、H, RC),client S-SAP,server S-SAP,ConnReply PDU,S-Connect.res (SH, NC),S-Cf (SH, NC),WTP Class 2 transaction,Source: Schiller,CH: Client Header RC: Requested Capabilities SH: Server Header NC: Negotiated Capabilities,IIT Bombay,Mobile Applications: WAP,36,WSP/B session suspend/resume,S-Suspend.req,Su
31、spend 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-Rf,WTP Class 0 transaction,Source: Schiller,R: Reason for disconnection,IIT Bombay,Mobile Applications: WAP,37,WSP/B session
32、 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,IIT Bombay,Mobile Applications: WAP,38,WAP stack summary,WDP functionality similar to UDP in IP networks WTLS functionality similar to SSL/TLS
33、 (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,IIT Bombay,Mobile Applications: WAP,39,WAE components,Architecture Application model, Microbrowser, Gate
34、way, 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,IIT Bombay,Mobile Applications: WAP,40,WAE: logical model,IIT Bombay,Mobile Applications: WAP,41,WAP mi
35、crobrowser,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,IIT Bombay,Mobile Applications: WAP,42,WML: Wireless Markup Language,Tag-based brow
36、sing 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),IIT Bombay,Mobile Applications: WAP,43,WML,XML-based language describes only intent of interac
37、tion 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 (unit of content) Events, variables and state mgmt,IIT Bombay,Mobile Applicatio
38、ns: WAP,44,WML,All decks must contain Document prologue XML & document type declarationelement Must contain one or more cards,WML File Structure,IIT Bombay,Mobile Applications: WAP,45,WML cards,Enter name: Choose speed:FastSlow,IIT Bombay,Mobile Applications: WAP,46,Wireless Telephony Application,Co
39、llection 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“);,IIT Bombay,Mobile Applications: WAP,47,WTA features,Extension of basic WAE application model netwo
40、rk 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,IIT Bombay,Mobile Applications: WAP,48,WTA Interface,WTA API inclu
41、des Call control Network text messaging Phone book interface Event processing Security model: segregation Separate WTA browser Separate WTA port,IIT Bombay,Mobile Applications: WAP,49,Placing an outgoing call with WTAI:,Enter phone number:,WTA Example (WML),Source: WAP Forum,IIT Bombay,Mobile Applic
42、ations: WAP,50,WTA: logical architecture,other WTA servers,other telephone networks,mobile network,firewall,third party origin servers,network operator trusted domain,Source: Schiller,IIT Bombay,Mobile Applications: WAP,51,WTA: framework components,Source: Heijden,IIT Bombay,Mobile Applications: WAP
43、,52,WTA: user agent,WTA User Agent WML User agent with extended functionality can access mobile devices telephony functions through WTAI can store WTA service content persistently in a repository handles events originating in the mobile network,IIT Bombay,Mobile Applications: WAP,53,WTA user agent c
44、ontext,Abstraction of execution space Holds current parameters, navigation history, state of user agent Similar to activation record in a OS processUses connection-mode and connectionless services offered by WSP Specific, secure WDP ports on the WAP gateway,IIT Bombay,Mobile Applications: WAP,54,WTA
45、: events,Network notifies device of event (such as incoming call) WTA events map to devices native events WTA services are aware of and able to act on these eventsexample: incoming call indication, call cleared, call connected,IIT Bombay,Mobile Applications: WAP,55,WTA: Repository,local store for co
46、ntent 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
47、 in repository before service is referenced,IIT Bombay,Mobile Applications: WAP,56,WTA: Channels and Resources,Source: Heijden,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
48、 different event occurs No service is executing Event handling channel for each event defines the content to be processed upon reception of that event,IIT Bombay,Mobile Applications: WAP,58,WTA: event binding,association of an event with the corresponding handler (channel) Global binding: channel co
49、rresponding to the event is stored in the repository example: voice mail serviceTemporary binding: resources to be executed are defined by the already executing service example: yellow pages lookup and call establishment,IIT Bombay,Mobile Applications: WAP,59,WTA: event handling,Source: Heijden,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),