You are on page 1of 14

19

WAE Components Architecture User Agents WML WTA Application model, Microbrowser, Gateway, Server WML/WTA/Others content formats: vCard, Calendar, Wireless Bitmap, WML, ... XML-Syntax, based on card stacks, variables, ... procedural, loops, conditions, ... (similar to JavaScript) telephone services, such as call control, text messages, phone book, ... (accessible from WML/WML Script)

WML Script -

Proxy (Method/Push)

WAE: Logical Model

One global goal of the WAE is to minimize over-the-air traffic and resource consumption on the handheld device. A client issues an encoded request for an operation on a remote server. Encoding is necessary to minimize data sent over the air and to save resources on the handheld device as explained together with the languages WML and WML script. Decoders in a gateway now translate this encoded request into a standard request as understood by the origin servers. This could be a request to get a web page to set up a call. The gateway transfers this request to the appropriate origin server as if it came from a standard client. The gateway now encodes the response and its content (if there is any) and transfers the encoded response with the content to the client.
IT2402 Mobile Communication Year-IV Semester-VII UNIT 5 (Mobile NW & Transport Layer)

20

The WAE logical model not only includes this standard request/response scheme, but it also includes push services. Then an origin server pushes content to the gateway. The gateway encodes the pushed content and transmits the encoded push content to the client. Several user agents can reside within a client. User agents include such items as: browsers, phonebooks, message editors etc. WAE does not specify the number of user agents or their functionality, but assumes a basic WML user agent that supports WML, WML script. However, one more user agent has been specified with its fundamental services, the WTA user agent. This user agent handles access to, and interaction with, mobile telephone features. As over time many vendor dependent user agents may develop, the standard defines a user agent profile (UAProf), which describes the capabilities of a user agent.

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

Wireless Markup Language (WML)


WML Wireless Markup Language formerly called HDML (Handheld Devices Markup Language) It is a tag language that allows the text portions of Web Pages to be presented on cellular phones and Personal Digital Assistants (PDAs) via wireless access. WML is used for delivering data to WAP devices, and is HTML- like in its appearance. XML-based language describes only intent of interaction in an abstract manner presentation depends upon device capabilities An alternative to WML is I-Modes cHTML language. Differs from HTML in the following WML was specifically designed for wireless terminals with a target screen that is only a few lines long and about an inch wide. WML is case sensitive, and all tags and attributes should be in lowercase. WML doesn't assume that a keyboard or a mouse is available for user input.

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

21

Based on these differences, WML provides a smaller, telephony-aware set of tags that make it more appropriate than HTML for handheld wireless terminals. 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 The basic unit is a card. Cards are grouped together into Decks Document. All decks must contain Document prologue XML & document type declaration <WML> element Must contain one or more cards

WML Example 1

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

22

WML Example 1

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

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

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

23

The TEMPLATE Element Defines actions & events for all cards in a deck

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

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

24

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

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

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

25

WMLScript
Complement to WML Derived from JavaScript Provides general scripting capabilities Procedural logic, loops, conditionals, etc. Optimized for small-memory, small-cpu devices Features Validity check of user input: before user input is sent to a server, WMLScript can check the validity. Otherwise, the server has to perform all the checks, which always includes at least one round-trip if problems occur. Access to device facilities: WMLScript offers functions to access hardware components and software functions of the device. e.g., make a phone call, access the address book, or send a message via the message service of the mobile phone. Local user interaction: Without introducing round-trip delays, WMLScript can directly and locally interact with a user. Extensions to the device software: With the help of WMLScript a device can be configured and new functionality can be added even after deployment. Users can download new software from vendors and, thus, upgrade their device easily.

Bytecode-based virtual machine Stack-oriented design, ROM-able Designed for simple, low-impact implementation WMLScript compiler resides in the network 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 WMLScript Example

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

26

Wireless Telephony Application (WTA)


WTA is a collection of telephony specific extensions for call and feature control mechanisms, merging data networks and voice networks. Implementation Extension of basic WAE application model Extensions added to standard WML/WMLScript browser Exposes additional API (WTAI) WTA Features WTA extends the basic WAE application model in several ways: Content push: A WTA origin server can push content. Access to telephony functions: The wireless telephony application interface (WTAI) provides many functions to handle telephony events (call accept, call setup, change of phone book entries etc.). Repository for event handlers: The repository represents a persistent storage on the client for content required to offer WTA services. Content are either channels or resources. Security model: Mandatory for WTA is a security model as many frauds happen with wrong phone numbers or faked services. WTA allows the client to only connect to trustworthy gateways, which then have to check if the servers providing content are authorized to send this content to the client. Three classes of libraries have been defined: Common network services: (Network Common WTAI) o WTA service provider is in operators domain o all WTAI features are accessible, including the interface to WTA events o 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 Network specific services: (Network Specific WTAI) o specific to type of bearer network o example: GSM: call reject, call hold, call transfer, join multiparty Public services: (Public WTAI) o for third party WML content providers o restricted set of telephony functions available to any WAE User Agent o library functions make call: allows application to setup call to a valid tel number send DTMF tones: send DTMF tones through the setup call o user notified to grant permission for service execution o cannot be triggered by network events o example: Yellow pages service with make call feature

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

27

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

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

WTA Logical Architecture

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

28

The above figure shows an overview of the WTA logical architecture.


A minimal configuration could be a single server from the network operator serving all clients.

The client is connected via a mobile network with a WTA server, other telephone networks (e.g., fixed PSTN), and a WAP gateway. A WML user agent running on the client. The client may have voice and data connections over the mobile network. Other origin servers within the trusted domain may be connected via the WAP gateway. A firewall is useful to connect third-party origin servers outside the trusted domain. One difference between WTA servers and other servers besides security is the tighter control of QoS. A network operator knows the latency, reliability, and capacity of its mobile network and can have more control over the behavior of the services. Other servers, probably located in the internet, may not be able to give as good QoS guarantees as the network operator.

WTA: Voice mail Example

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

29

The above figure shows an exemplary interaction between a WTA client, a WTA gateway, a WTA server, the mobile network and a voice box server. Someone might leave a message on a voice box server as indicated. It is typically not show who left a message, what messages are stored etc. Users have to call the voice box to check and cannot choose a particular message. In a WAP scenario, the voice box can bring the WTA server to generate new content for pushing to the client. An example could be a WML deck containing a list of callers plus length and priority of the calls. The server does not push this deck immediately to the client, but sends a push message containing a single URL to the client. e.g., 5 new calls are stored", could convoy the push message. The WTA gateway translates the push URL into a service indication and codes it into a more compact binary format. The WTA user agent then indicates that new messages are stored. If the user wants to listen to the stored messages, he or she can request a list of the messages. This is done with the help of the URL. A WSP get requests the content the URL points to. The gateway translates this WSP get into an HTTP get and the server responds with the prepared list of callers. After displaying the content, the user can select a voice message from the list. Each voice message in this example has an associated URL, which can request a certain WML card from the server. The purpose of this card is to prepare the client for an incoming call. As soon as the client receives the card, it waits for the incoming call. The call is then automatically accepted. The WTA server also signals the voice box system to set up a (traditional) voice connection to play the selected voice message. Setting up the call and accepting the call is shown using dashed lines, as these are standard interactions from the mobile phone network, which are not controlled by WAP.

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

30

The following examples illustrate the integration of WTA, WTAI library calls, WML and WMLScript, and how authors can use the functions of WTA. Imagine you are watching a show on TV. At the end of the show, you may vote for your personal champion. The traditional method is that each candidate gets an associated phone number and you have to dial the number this is quite error-prone if long numbers are used. Using WAP with WTA, the network operator could push a deck with several cards onto your handheld device and present a simple choice for voting as explained in the following paragraphs. 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> 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"); }

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

31

I-MODE
The i-mode service was introduced in Japan by the mobile network operator NTT DoCoMo in 1999. While other network operators in Japan (e.g., KDDI) use WAP, NTT DoCoMo decided to use its own system which is roughly based on the web protocols and content formats known from the www. Example services offered by i-mode are e-mail, web access (with certain restrictions), and picture exchange. The system soon became a big success with more than 30 million users only three years after its introduction. In comparison to i-mode, WAP was often cited as a failure, and operators outside Japan took over i-mode to participate in the success.

The above figure shows the i-mode protocol stack as used in Japan. The packet oriented PDC-P provides the bearer service between the mobile terminal and the operators network. Typical data rates are 9.6 kbit/s, while enhanced versions offer 28.8 kbit/s. On top of the bearer service, i-mode uses a special connection oriented transport layer protocol with stop-and-go flow control, ARQ, push services. Within the operators network and between the operators gateway and a content provider, i-mode uses standard Internet protocols (TCP/IP over different layer 1 and layer 2 protocols). On top of the transport services, i-mode uses HTTP as known from the www. i-mode applications can use an e-mail service or display pages described in compact HTML (cHTML), which is a subset of HTML, plus some proprietary extra tags for emoticons, telephony and e-mail (the HTML is then sometimes called i-HTML). Compact HTML supports animated color pictures (GIF format), but no frames, image maps or style sheets. However, the supported subset of HTML is large enough to display many web pages from the internet. This is a big advantage compared to WAP 1.x, which requires pages written in WML. To utilize i-mode fully many pages have to be redesigned. Many portals today offer HTML, cHTML, and WML content for different devices. Why was i-mode a big success in Japan while WAP was not, e.g., in Europe? Many important factors in Japan are independent of the technology. For many people, i-mode was their first contact with the internet. i-mode is very simple to use, so, many people use it as PC replacement for e-mailing, chatting etc. i-mode was never announced as Internet on the mobile phone, as WAP was in the beginning. Users simply experienced a new service that came with color displays and easy to use mobile phones. One big difference from a technology point of view is the use of a packet oriented bearer from the beginning in i-mode. WAP started with connection oriented bearers (CSD in GSM), which ended in very poor user experience. A connection had either to be permanently open to support real interactive web browsing (which is expensive), or a new connection had to be established each time content was loaded (which takes a very long time). Although WAP is completely independent of the bearer this fatal combination of connection-oriented bearer, and interactive browsing behavior led to the popular misconception that the whole WAP concept was a failure. Today, using WAP over GPRS, which is packet-oriented, shows what a difference the bearer can make. IT2402 Mobile Communication Year-IV Semester-VII UNIT 5 (Mobile NW & Transport Layer)

32

The above figure shows a simplified protocol stack for an imode push based on SMS as used in Europe. As the figure shows, i-mode push in Europe uses WAP protocols! This stack is used, for example, for sending an SMS indicating that a new e-mail has arrived. If the user wants to read the message, the client sends an HTTP GET. The server responds with the email.

SyncML
A set of protocols and a markup language for synchronization of data in mobile scenarios is provided by the SyncML framework (SyncML, 2002), (Hansmann, 2003). The SyncML initiative is supported by companies like Ericsson, IBM, Motorola, Nokia, Openwave, Panasonic, Starfish, and Symbian. SyncML provides vendor independent mechanisms not only for synchronization of data, but also for the administration of devices and applications. Chose SyncML as a synchronization mechanism. Synchronization, provides a major service for mobile users. Not only e-mails and calendar data, business spreadsheets, text documents, programs etc. all have to be synchronized. A common standard for synchronization simplifies application design and usage of synchronization mechanisms. SyncML enhances servers and clients with sync server agents and sync client agents respectively. The agents execute the synchronization protocol. The server also has a sync engine that is responsible for data analysis and conflict detection. The synchronization protocol may run over HTTP, WSP, or the object exchange protocol OBEX. However, many more protocols such as SMTP or TCP/IP could be used. SyncML does not make many assumptions about the data structures. Each set of data must have a unique identifier. Clients and servers can use their individual identifiers for data sets. However, servers have to know the mapping between the identifiers. Clients and servers have to log changes and must be able to exchange these logs. Several modes are specified for synchronization. Two-way synchronization exchanges change logs between server and client. If, for example, a client crashed and has lost all change information, a special slow synchronization can be used. This synchronization mode first transfers all data from the client to the server. The server then compares all data and sends the necessary changes back to the client. Several variants of one-way synchronization are available. In this case, only one party (client or server) is interested in change logs. The messages exchanged for synchronization are based on XML. Tags have been specified to <add>, <copy>, <delete>, and <replace> data sets. Operations can be made <atomic> (i.e., either all or no change operations may be applied) or applied in a certain <sequence>. If a conflict occurs (e.g., the same data set has been changed on the client and the server) SyncML does not specify a conflict resolution strategy. Instead, several recommendations for conflict resolution are given. Data sets can be mixed, the client may override server changes (or vice versa), a duplicate of the data set can be generated, or a failure of synchronization is signaled. These examples show that SyncML has no general solution for the synchronization problem.

IT2402 Mobile Communication

Year-IV

Semester-VII

UNIT 5 (Mobile NW & Transport Layer)

You might also like