The situation in which a user agent, a browser, must connect through a proxy to reach an origin server, the serverthat contains the desired content, is very similar to the case of a wire
Trang 1User agent
Response (content)
Request (URL)
Origin server
CGI scripts, etc.
Origin server
CGI scripts, etc.
Figure 6.2 WAE logical model.
All resources on the WWW are named using Internet standard Uniform Resource tors (URLs) All classes of data on the WWW are given as specific types, allowing theuser agent to correctly distinguish and present them appropriately The WWW defines
Loca-a vLoca-ariety of stLoca-andLoca-ard content formLoca-ats supported by most browser user Loca-agents, includingthe HTML, the JavaScript scripting language, and other formats like bitmap image for-mats The WWW defines a set of standard networking protocols allowing any browser tocommunicate with any origin server, for example, Hypertext Transfer Protocol (HTTP).The WAE logical model is shown in Figure 6.2 In the WAE model, the content istransported using standard protocols in the WWW domain and an optimized HTTP-like protocol in the wireless domain The content and services in WAE architecture arehosted on standard Web origin servers using proven technologies like Common GatewayInterface (CGI) The content is located by using WWW standard URLs WAE supports
Trang 2Mobile Network Services such as Call Control and Messaging WAE architecture supportslow bandwidth and high latency networks and considers CPU processing constraints inMTs WAE assumes the existence of gateway functionality responsible for encoding anddecoding data transferred from and to the mobile client The purpose of the encodingcontent delivered to the client is to minimize the size of data sent to the client OverThe Air (OTA), and to minimize the computational energy required by the client toprocess the data The gateway functionality can be added to origin servers or placed indedicated gateways.
The main elements of the WAE model are WAE user agents, content generators,standard content encoding, and WTA WAE user agents interpret network content ref-erenced by a URL Content generators are the applications or services on origin servers,like CGI scripts, that produce standard content formats in response to requests from useragents in MTs Standard content encoding allows a WAE user agent to navigate Webcontent WTA is a collection of telephony-specific extensions for call and feature controlmechanisms providing advanced Mobile Network Services
WAE is based on the architecture used for WWW proxy servers The situation in which
a user agent, a browser, must connect through a proxy to reach an origin server, the serverthat contains the desired content, is very similar to the case of a wireless device accessing
a server through a gateway Most connections between the browser and the gateway useWAP Session Protocol (WSP), regardless of the protocol of the destination server URLrefers only to the destination server’s protocol and has no bearing on what protocolsmay be used in intervening connections The gateway performs protocol conversion bytranslating requests from WSP into other protocols, and translating the responses backinto WSP Content conversion performed by the gateway is analogous to HTML/HTTPproxies available on the Web In the HTTP scheme, the browser communicates with thegateway using WSP The gateway provides protocol conversion functions to connect to
an HTTP origin server
WAE logical layers include user agents such as browsers, phone books, messageeditors, and so on, and services and formats including common elements and formatsaccessible to user agents such as Wireless Markup Language (WML), WMLScript, imageformats, vCard (electronic business card) and vCalendar (electronic calendar and schedul-ing exchange) formats, and so on The WAE client components are shown in Figure 6.3.WAE allows the integration of domain-specific user agents with varying architecturesand environments A WTA user agent is specified as an extension to the WAE specifi-cation for the mobile telephony environments The WTA extensions allow for accessingand interacting with mobile telephone features, like call control, and other applicationsassumed on the telephones, such as phone books and calendar applications The featuresand capabilities of a user agent are decided by those who implement them
WAE services and formats include the WML, the WMLScript (Wireless Markup ing Language), WAE applications, and WAE-supported content formats
Script-WML is a tag-based document language It is an application of a generalized markuplanguage and is specified as an Extensible Markup Language (XML) document type.WML is optimized for specifying presentation and user interaction on limited capabilitydevices such as telephones and wireless MTs WML and its supporting environmentare designed using certain small narrow-band device constraints including small displays,
Trang 3Figure 6.3 WAE client components.
limited user input facilities, narrow-band network connections, limited memory resources,and limited computational resources
The WML features include
• support for text and images;
• support for user input;
• navigation and history stack;
• international support;
• Man–Machine Interface (MMI) independence;
• narrow-band optimization; and
• state and context management
WMLScript is a lightweight procedural scripting language enhancing the standardbrowsing and presentation facilities of WML with behavioral capabilities, supportingmore advanced user interface, adding intelligence to the client, providing a convenientmechanism to access the device and its peripherals, and reducing the need for round trips
to the origin server WMLScript is an extended subset of JavaScript for narrow-banddevices and is integrated with WML for future services and in-device applications.WAE user agents can use URL services WAE components extend the URL semantics,for example, in WML, in which URL fragments are extended to allow linking to particularWMLScript functions WAE allows formats for data types including images, multipartmessages, and user agent-specific formats
WML user agent logical architecture is shown in Figure 6.4 A user submits a request
to the origin server using a WML user agent, which requests the service by using a URL
Trang 4Client Origin server
CGI scripts, etc.
Figure 6.4 WML user agent logical architecture with gateway.
scheme operation The origin server replies by sending a single deck in a textual format
On their way back to the client, textual decks are expected to pass through a gatewaywhere they are converted into formats better suited for OTA transmission and limited-device processing The gateway does all the necessary conversions between the textualand binary formats A WML encoder (or tokenizer) in the gateway converts each WMLdeck into its binary format Encoded content is then sent to the client to be displayed andinterpreted
The user agent may submit one or more additional requests, using a URL scheme, forWMLScript as the user agent encounters references to them in a WML deck On its wayback, a WMLScript compiler takes the script as input and compiles it into byte code that
is designed for low bandwidth and thin mobile clients The compiled byte code is thensent to the client for interpretation and execution
Figure 6.5 shows WML user agent logical architecture without a gateway WAE doesnot specify the location where the actual encoding and compilation is done The originservers may have built-in WML encoders and WMLScript compilers Some services may
CGI scripts, etc.
Content
WML user agent WAE services
WML encoder
WMLScript compiler WML dec
Trang 5be statically stored (or cached) in tokenized WML and WMLScript byte code formats,eliminating the need to perform fast conversion of the deck.
The WAE architecture is designed to support MTs and network applications using ferent languages and character sets WAE user agents have a current language and acceptcontent in a set of well-known character encoding sets Origin server–side applicationscan emit content in one or more encoding sets and can accept input from the user agent
dif-in one or more encoddif-ing sets
6.2 WTA ARCHITECTURE
WTA is an application framework for telephony services The WTA user agent has thecapability for interfacing with mobile network services available to a mobile telephonydevice, that is, setting up and receiving phone calls Figure 6.6 shows a configuration
of the WTA architecture In this figure, the WTA user agent, the repository (persistentstorage), and WTA Interface (WTAI) interact with each other and the other entities in
a WTA-capable mobile client device The WTA user agent is able to retrieve contentfrom the repository and WTAI This ensures that the WTA user agent can interact withmobile network functions like setting up calls and device-specific features like using thephonebook The WTA user agent receives network events that can be bound to content,thus enabling dynamic telephony applications
Network events available to the WTA user agent are the result of actions taken byservices running in the WTA user agent itself Telephony events initiated from outsidethe device are also passed to the WTA user agent and the network text message events
Man −machine interface
WTA user agent
Repository
Device-specific features Network layer
Network events and signaling
Mobile network
WTA server
Other applications
Direct user interactions WTAI libraries
Mobile
client
WAP gateway
Figure 6.6 WTA architecture.
Trang 6WAE user agent
Mobile
client
WAP gateway
Firewall (optional) Internet
Mobile network
Man−machine interface
Device-specific features Network layer
Network events and signaling
WTAI Public Library
Direct user interaction
Other applications
Figure 6.7 WAE user agent and WTA Public Library.
that are explicitly directed toward another user agent The network events caused by theWML user agent do not affect the WTA user agent
WTAI Public Library contains functions that can be called from any WAE application
as shown in Figure 6.7 and provides access to telephone functionality This library allowsWML authors to include click-to-phone functionality within their content, to avoid userstyping the number by using the default MMI
In Figure 6.7, the WAE user agent and WTAI Public Library interact with each otherand the other entities in a WTA-capable mobile client The WAE user agent only retrieves
its content via the WAP gateway and only has access to the WTAI Public Library
func-tions These functions expose simple functionality such as the ability to place a call, but
do not allow fully featured telephony control Only a WTA user agent is able to fullycontrol the telephony features of the device The WAE user agent is not able to receiveand react to telephony and network text events
Figures 6.6 and 6.7 show logical separations of the two user agents They can coexist
on the same device and are likely to be implemented with common code elements.The WTA server is a Web server delivering content requested by a client A WTA useragent, like an Internet Web browser, uses URLs to reference content on the WTA server
A URL can be used to reference an application on a Web server, for instance, a CGI script,that is executed when it is referenced The applications can be programmed to perform
a wide range of tasks, for example, generate dynamic content and interact with externalentities By referencing applications on a WTA server, it is possible to create servicesthat use URLs to interact with the mobile network, such as an Intelligent Network node,and other entities, such as a voice mail system The concept of referencing applications
Trang 73
2 3
1a
1a 1b
1b
Access to a URL (via the repository) Access to a URL (via the WTA server) Service Indication (Push)
Network event (transformed to WTA event in client)
WAP gateway Mobile
network
WTA server
Figure 6.8 Initiation of WTA services.
on a WTA server provides a simple and powerful model on how to seamlessly integrateservices in the mobile network with services executing locally in the WAP client.WTA services appear to the client in the form of various content formats, such asWTA–WML, WMLScript, and so on The WTA user agent executes content that ispersistently stored in the client’s repository or content retrieved from a WTA server TheWTA user agent can act on events from the mobile network, for instance, an incoming call.Figure 6.8 shows how to initiate a WTA service in the WTA user agent The WTA useragent executes content within the boundary of a well-known context The service definesthe extent of a context and its associated content The start of a service is marked by theinitiation of a new context, and the termination of a context marks the end of a service.The repository is a persistent storage module within the MT that may be used toeliminate the need for network access when loading and executing frequently used WTAservices The repository also addresses the issue of how a WTA service developer ensuresthat time-critical WTA events are handled in a timely manner The repository addressesthe issues of how the WTA services developer preprogram the device with content, andhow the WTA services developer improves the response time for a WTA service.The repository can be accessed by a service using one of the following methods:
• A WTA event associated with a channel is detected, and the user agent invokes a URL
as specified by the associated channel;
• The end user accesses services stored in the repository through an dependent representation (for instance, a menu containing the labels of the channels)
implementation-of the allowed services (channels explicitly specified as user accessible by the channeldefinition) in the repository;
• The content of URL retrieved from the repository may be given to the user agent byproviding the URL in content or delivering it by Service Indication (SI)
The WTA applications, that is, content loaded or otherwise received from the WTAserver, may access the repository
Trang 8WTA server
WAP gateway
WTA services WTA port
Figure 6.9 WDP port numbers and access control.
A WTA service invoking WTAI functions enables access to local functions in themobile client These functions allowing for setting up calls, and accessing the users localphone book, must ensure that only authorized WTA services are permitted to execute Thetrusted mobile telephony service provider, which provides an acceptable level of security
in the network, can choose to run all WTA services itself not allowing other providers
or it can choose to delegate the administration of its WTA services to a third party TheWireless Datagram Protocol (WDP) uses predefined port numbers to separate a WTAservice from a common WAE service as shown in Figure 6.9 A WTA session established
by the WTA user agent must use one of the dedicated, secure WTA ports on the gateway.The WTA user agent must not retrieve WTA content outside the WTA session WTAcontent received outside the WTA session and Service Indication addressing the WTAuser agent but delivered outside a WTA session shall be discarded
The repository is used to store WTA content persistently This provides a mechanismthat ensures timely handling of content related to WTA services initiated by WTA eventsand has the following characteristics:
• The repository contains a set of channels and resources
• Resources are data downloaded with WSP (that is, WTA–WML deck) and are storedalong with their metadata, that is, content type and the HTTP 1.1 entity tag, andlocation (URL)
• A channel is a resource that contains a set of links and resources and has identityand freshness
• Channels in the repository have a freshness lifetime (the HTTP 1.1 expiry date header),beyond which time they are considered stale Stale channels are subject to automaticremoval by the user agent Resources are subject to automatic removal from the repos-itory if the channel does not reference them
• If the repository contains a channel that is not stale, it is guaranteed that the repositorycontains all resources named in that channel The loading and unloading of a channel
is an atomic operation in that no user agent will recognize the presence of the channeluntil all the content in the channel has been successfully stored in the repository
Trang 9WML Deck #1
WML Deck #2
WML Script object
WBMP image
Figure 6.10 Repository.
• A label may be associated with a channel to give a textual description of the serviceindicated by the channel
Resources in the repository may be referenced by more than one channel A resource
is present in the repository if one or more channels reference it Figure 6.10 shows howchannels may share resources stored in the repository
WTA services are created using WTA–WML and WMLScript Telephony functions can
be accessed from WMLScript through the WTAI, which also provides access to telephonyfunctions from WTA–WML by using Uniform Resource Identifier (URIs) URIs form aunifying naming model to identify features independently of the internal structure of thedevice and the mobile network The WTA services reside on the WTA server The clientaddresses WTA services by using URLs
Examples of WTA services include
• Extended set of user options for handling incoming calls (incoming call section): The
service is started when an incoming call is detected in the client A menu with useroptions is presented to the user Examples of options are
Accept call
Redirect to voice mail
Redirect to another subscriber
Send special message to caller
• Voice mail: The user is notified that he or she has voice mails and retrieves a list of
them from the server The list is presented on the client’s display When a certain voicemail has been selected, the server sets up a call to the client and the user listens to theselected voice mail
Trang 10• Call subscriber from message list or log: When a list of voice, fax, or e-mails or any
kind of call log is displayed, the user has the option of calling the originator of aselected entry in the list or log
The incoming call selection service is started when an incoming call is detected inthe client and a menu with various call-handling options is presented to the user asshown in Figure 6.11 A valid channel and its associated content are stored in the repos-itory The client is not engaged in any other WTA service (i.e., no temporary eventbindings exist)
The following events in this example of incoming call selection are shown in Figure 6.11
1 The mobile network receives an incoming call and sends a Call Indication to themobile subscriber
2 In the client, the incoming call WTA event (wtaev-cc/ic) is generated The repository
is checked to find a dedicated channel The channel provides the URL to the IncomingCall Selection service stored in the repository
3 The user agent requests the content from the repository
4 The repository returns the requested content
5 The content is loaded into a clean context and starts executing The service presents tothe user a list of options, from which he or she can choose how to proceed with a call
in progress In this example, the user elects to answer the call The WTAI functionWTAIVoiceCall.accept is invoked
WAP gateway
WTA server
Mobile network
Content Connect
Bob is calling !
2
5
3 4
1
7 6
8
Mobile client
Trang 116 A Connect request is sent to the mobile network (the invoked WTAI function municates with the mobile network).
com-7 A Connect Acknowledgement (ACK) is generated in the mobile network A resultcode indicating the outcome of the calls is generated internally in the phone
8 A speech path between the mobile network and the client is established
Figure 6.12 shows how the voice mail service is established within the WTA work The user is notified that he or she has received new voice mails, and the userchooses to listen to one of them
frame-The following events in this example of voice mail are shown in Figure 6.12
1 The Voice Mail System notifies the WTA server that there are new voice mails Alist of voice mails is also sent to the WTA server
2 The WTA server creates new service content on the basis of the list received fromthe voice mail system The content is stored on the server and its URL is included
in an SI that will be pushed to the client The SI’s message reads: ‘You have 3 newvoice mails’
3 The WAP gateway sends the SI to the client using push
5
7
12 15
19 20
6 8 11 13
4
9 10
GET URL
Set up call
Connect
Speech path
Connect Connect ack Connect
ack
Push
Content download
Content download
WAP gateway
WTA server
Mobile network
Voice mail
New voice mail
Retrieve message (GET URL)
Call indication
Play message Service Indication
Hello
Figure 6.12 Voice mail.
Trang 124 The user is notified about the SI by a message delivered with the SI The user chooses
to accept the SI
5 A WSP Get request is sent to the WAP gateway (URL provided by the SI)
6 The WAP gateway makes a WSP/HTTP conversion
7 The WTA server returns the earlier created voice mail service
8 The WAP gateway makes an HTTP/WSP conversion
9 The voice mail service is now executing in the client The user is presented with alist of voice mails originating from the Voice Mail System (a WTA–WML SelectList is created in Step 2) The user selects a certain voice mail to listen to
10 Another WSP Get request is sent to the WAP gateway The requested deck identifiesthe selected voice mail
11 The WAP gateway makes a WSP/HTTP conversion
12 The WTA server returns the requested deck The deck only contains one card with asingle WTA–WML task The URL is automatically called when the card is executedand it refers to a card in the earlier downloaded voice mail content that binds theincoming call event (wtaev-cc.ic) so that the subsequent call from the Voice MailSystem will be answered automatically Now, the WTA server is also informed aboutwhich voice mail the user has chosen to retrieve
13 The WAP gateway makes an HTTP/WSP conversion
14 The incoming call event (wtaev-cc/ic) is temporarily bound so that the call fromthe Voice Mail System will be answered automatically To avoid that the voice mailservice answers a call from someone other than the voice mail system, the call-ing party’s phone number (callerId parameter of the wtaev-cc/ic event) should bepreferably checked
15 The WTA server instructs the Voice Mail System to play the selected voice mail
16 The Voice Mail System instructs the mobile network to set up a call to the client
17 The mobile network sets up a call to the client
18 The client answers the call automatically as a result of the content loaded in Steps 12
to 14
19 The mobile network informs the Voice Mail System that the client has acceptedthe call
20 ACKs are sent to the client and the Voice Mail System
21 A speech path is established between the Voice Mail System and the client, and themessage is played
6.3 WAP PUSH ARCHITECTURE
The WAP Push framework introduces a means within the WAP effort to transmit mation to a device without a previous user action In the client/server model, a clientrequests a service or information from a server, which transmits information to the client
infor-In this pull technology, the client pulls information from the server An example of pulltechnology is WWW, in which a user enters a URL (the request), sent then to a server,which answers by sending a Web page (the response) to the user In the push technologybased on client/server model, there is no explicit request from the client before the server
Trang 13‘Pull’ technology
‘Push’ technology
Server Client
Figure 6.13 Comparison of pull and push technology.
transmits its content Figure 6.13 illustrates pull and push technology Pull transactionsare initiated by the client, whereas push transactions are initiated by the server
A push operation in WAP occurs when a Push Initiator transmits content to a clientusing either the Push OTA protocol or the Push Access Protocol (PAP) The Push Initiatordoes not share a protocol with the WAP client since the Push Initiator is on the Internetand the WAP client is on the WAP domain The Push Initiator contacts the WAP Clientthrough a translating Push Proxy Gateway (PPG) from the Internet side, delivering contentfor the destination client using Internet protocols The PPG forwards the pushed content
to the WAP domain, and the content is then transmitted over the air in the mobile network
to the destination client The PPG may be capable of notifying the Push Initiator aboutthe final outcome of the push operation, and it may wait for the client to accept or rejectthe content in two-way mobile networks It may also provide the Push Initiator withclient capability lookup services by letting a Push Initiator select the optimal content forthis client
The Internet side PPG access protocol is called the PAP The WAP side protocol is called OTAProtocol The PAP uses XML messages that may be tunneled through various
Internet protocols, for example, HTTP The OTA protocol is based on WSP services ThePush framework with the protocols is shown in Figure 6.14
The PPG acts as an access point for content pushes from the Internet to the mobilenetwork, and associated authentication, security, client control, and so on The PPG ownerdecides the policies about who is able to gain access to the WAP network, who is able topush content, and so on The PPG functionality may be built into the pull WAP gatewaythat gives the benefit of shared resources and shared sessions over the air
Push operation
Push Proxy Gateway
WAP client
Push Initiator (on the Internet)
Push Over-the-Air protocol
Push Access protocol
Figure 6.14 Push framework with protocols.