Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
544,86 KB
Nội dung
6
Network architecture supporting
wireless applications
The Wireless Application Environment (WAE) architecture is designed to support Mobile
Terminals (MTs) and network applications using different languages and character sets.
WAE user agents have a current language and a ccept content in a set of well-known
character encoding sets. Origin server-side applications can emit content in one or more
encoding sets and can accept input from the user agent in one or more encoding sets.
Wireless Telephony Application (WTA) is an application framework for telephony ser-
vices. The WTA user agent has the capability for interfacing with mobile network services
available to a mobile telephony device, that is, setting up and receiving phone calls.
The Wireless Application Protocol (WAP) Push framework introduces a means within
the WAP effort to transmit information to a device without a previous user action. In
the client/server model, a client requests a service or information from a server, which
transmits information to the client. In this pull technology, the client pulls information
from the server.
6.1 WAE ARCHITECTURE
The WAE architecture includes networking schemes, content formats, programming lan-
guages, and shared services. Interfaces are not standardized and are specific to a particular
implementation. WAE can work with a browser and a class of user agents used in the
World Wide Web (WWW).
In the Internet WWW, applications present content to a client in a set of standard
data formats that are browsed by client side user agents known as Web browsers.Auser
agent sends requests for one or more data objects or content to an origin server, which
responds with the requested data expressed in one of the standard formats known to
the user agent [i.e., Hypertext Markup Language (HTML)]. The WWW logical model is
shown in Figure 6.1.
Mobile Telecommunications Protocols For Data Networks. Anna Ha
´
c
Copyright
2003 John Wiley & Sons, Ltd.
ISBN: 0-470-85056-6
94 NETWORK ARCHITECTURE SUPPORTING WIRELESS APPLICATIONS
Client
User
agent
Response (content)
Request (URL)
Origin server
CGI
scripts,
etc.
Content
Figure 6.1 WWW logical model.
Encoded request
Encoded response
Gateway
Encoders
and
decoders
Origin server
CGI
scripts,
etc.
Content
WAE
user
agent
Client
Request
Response (content)
Figure 6.2 WAE logical model.
All resources on the WWW are named using Internet standard Uniform Resource Loca-
tors (URLs). All classes of data on the WWW are given as specific types, allowing the
user agent to correctly distinguish and present them appropriately. The WWW defines
a variety of standard content formats supported by most browser user agents, including
the 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 to
communicate 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 is
transported using standard protocols in the WWW domain a nd an optimized HTTP-
like protocol in the wireless domain. The content a nd services in WAE architecture are
hosted on standard Web origin servers using proven technologies like Common Gateway
Interface (CGI). The content is located by using WWW standard URLs. WAE supports
WAE ARCHITECTURE 95
Mobile Network Services such as Call Control and Messaging. WAE architecture supports
low bandwidth and high latency networks and considers CPU processing constraints in
MTs. WAE assumes the existence of gateway functionality responsible for encoding and
decoding data transferred from and to the mobile client. The purpose of the encoding
content delivered to the client is to minimize the size of data sent to the client Over
The Air (OTA), and to minimize the computational energy required by the client to
process the data. The gateway functionality can be added to origin servers or placed in
dedicated 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 user
agents in MTs. Standard content encoding allows a WAE user agent to navigate Web
content. WTA is a collection of telephony-specific extensions for call and feature control
mechanisms 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 server
that 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 a nd the gateway use
WAP Session Protocol (WSP), regardless of the protocol of the destination server. URL
refers only to the destination server’s protocol and has no bearing on what protocols
may be used in intervening connections. The gateway performs protocol conversion by
translating requests from WSP into other protocols, and translating the responses back
into WSP. Content conversion performed by the gateway is analogous to HTML/HTTP
proxies available on the Web. In the HTTP scheme, the browser communicates with the
gateway 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, message
editors, and so on, and services and f ormats including common elements and formats
accessible to user agents such as Wireless Markup Language (WML), WMLScript, image
formats, 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 architectures
and environments. A WTA user a gent is specified as an extension to the WAE specifi-
cation for the mobile telephony environments. The WTA extensions allow for accessing
and interacting with mobile telephone features, like call control, and other applications
assumed on the telephones, such as phone books and calendar applications. The features
and capabilities of a user agent are decided by those who implement them.
WAE services and formats include the WML, the WMLScript (Wireless Markup Script-
ing Language), WAE applications, and WAE-supported content formats.
WML is a tag-based document language. It is an a pplication of a generalized markup
language and is specified as a n Extensible Markup Language (XML) document type.
WML is optimized for specifying presentation and user interaction on limited capability
devices such as telephones and wireless MTs. WML and its supporting environment
are designed using certain small narrow-band device constraints including small displays,
96 NETWORK ARCHITECTURE SUPPORTING WIRELESS APPLICATIONS
WAE
User agents
Services / formats
WTA user agent
WML user agent
Other agents
Other
applications
and
services
WMLScript
WAP Protocol stack and services
Device OS/services
WTA srvs
URLs
WML
Other srvs.
& formats
Figure 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 standard
browsing and presentation facilities of WML with behavioral capabilities, supporting
more advanced user interface, adding intelligence to the client, providing a convenient
mechanism to access the device and its peripherals, and reducing the need for r ound trips
to the origin server. WMLScript is an extended subset of JavaScript for narrow-band
devices 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 particular
WMLScript functions. WAE allows formats for data types including images, multipart
messages, 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
WAE ARCHITECTURE 97
Client
Origin server
CGI
scripts,
etc.
Content
WML
user
agent
WAE
services
Gateway
WML encoder
WMLScript
compiler
WML decks
with WMLScript
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 gateway
where they are converted into formats better suited for OTA transmission and limited-
device processing. The gateway does all the necessary conversions between the textual
and binary formats. A WML encoder (or tokenizer) in the gateway converts each WML
deck into its binary format. Encoded content is then sent to the client to be displayed and
interpreted.
The user agent may submit one or more additional requests, using a URL scheme, for
WMLScript as the user agent encounters references to them in a WML deck. On its way
back, 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 then
sent to the client for interpretation and execution.
Figure 6.5 shows W ML user agent logical architecture without a gateway. WAE does
not specify the location where the actual e ncoding and compilation is done. The origin
servers may have built-in WML encoders and WMLScript compilers. Some services may
Client
Origin server
CGI
scripts,
etc.
Content
WML
user
agent
WAE
services
WML encoder
WMLScript
compiler
WML decks
with WMLScript
Figure 6.5 WML user agent logical architecture without a gateway.
98 NETWORK ARCHITECTURE SUPPORTING WIRELESS APPLICATIONS
be 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 dif-
ferent languages and character sets. WAE user agents have a current language and accept
content in a set of well-known character encoding sets. Origin server–side applications
can emit content in one or more encoding sets and can accept input from the user agent
in one or more encoding sets.
6.2 WTA ARCHITECTURE
WTA is an application framework for telephony services. The WTA user agent has the
capability for interfacing with mobile network services available to a mobile telephony
device, 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 (persistent
storage), a nd 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 content
from the repository and WTAI. This ensures that the WTA user agent can interact with
mobile network functions like setting up calls and device-specific features like using the
phonebook. 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 by
services running in the WTA user agent itself. Telephony events initiated from outside
the device a re 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.
WTA ARCHITECTURE 99
WAE
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 the
WML 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 allows
WML authors to include click-to-phone functionality within their content, to avoid users
typing the number by using the default MMI.
In Figure 6.7, the WAE user agent and WTAI Public Library interact with each other
and 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 fully
control the telephony features of the device. The WAE user agent is not able to receive
and 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 user
agent, 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 external
entities. By referencing applications on a WTA server, it is possible to create services
that 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
100 NETWORK ARCHITECTURE SUPPORTING WIRELESS APPLICATIONS
2
3
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 integrate
services 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 as
WTA–WML, WMLScript, and so on. The W TA user agent executes content that is
persistently stored in the client’s repository or content retrieved from a WTA server. The
WTA 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 user
agent executes content within the boundary of a well-known context. The service defines
the extent of a context and its associated content. The start of a service is marked by the
initiation 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 to
eliminate the need for network access when loading and executing frequently used WTA
services. The repository also addresses the issue of how a WTA service developer ensures
that time-critical WTA events a re handled in a timely manner. The repository addresses
the issues of how the WTA services developer preprogram the device with content, and
how 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 a gent invokes a URL
as specified by the associated channel;
• The end user accesses services stored in the r epository through an implementation-
dependent representation (for instance, a menu containing the labels of the channels)
of the allowed services (channels explicitly specified as user accessible by the channel
definition) in the repository;
• The content of URL retrieved from the repository may be given to the user agent by
providing the URL in content or delivering it by Service Indication (SI).
The WTA applications, that is, content loaded or otherwise received from the WTA
server, may access the repository.
WTA ARCHITECTURE 101
WTA
server
WAP
gateway
WTA services
WTA port
Mobile
client
WAE port
WAE services
Internet
Figure 6.9 WDP port numbers and access control.
A WTA service invoking WTAI functions enables access to local functions in the
mobile client. These functions allowing for setting up calls, and accessing the users local
phone book, must ensure that only authorized WTA services are permitted to execute. The
trusted 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. The
Wireless Datagram Protocol (WDP) uses predefined port numbers to separate a WTA
service 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. WTA
content received outside the WTA session and Service Indication addressing the WTA
user agent but delivered outside a WTA session shall be discarded.
The repository is used to store WTA content persistently. This provides a mechanism
that ensures timely handling of content related to WTA services initiated by WTA events
and 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 stored
along with their metadata, that is, content type and the HTTP 1.1 entity tag, and
location (URL).
• A channel is a resource that contains a set of links and resources and has identity
and 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 automatic
removal by the user agent. Resources are subject to automatic removal from the repos-
itory if the channel does not reference them.
• If the r epository contains a channel that is not stale, it is guaranteed that the repository
contains 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 channel
until all the content in the channel has been successfully stored in the repository.
102 NETWORK ARCHITECTURE SUPPORTING WIRELESS APPLICATIONS
Repository
Channel #1 Channel #2
WML
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 service
indicated 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 how
channels 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 telephony
functions from WTA–WML by using Uniform Resource Identifier (URIs). URIs form a
unifying naming model to identify features independently of the internal structure of the
device and the mobile network. The WTA services reside on the WTA server. The client
addresses 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 user
options is presented to the user. Examples of options are
Accept call
Redirect to voice mail
Redirect to another subscriber
Send special message to caller.
• Vo i c e m a i l : 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 voice
mail has been selected, the server sets up a call to the client and the user listens to the
selected voice mail.
[...]... provides the ability to send notifications to end users in an asynchronous manner An SI contains a short message and a URI indicating a service The message is presented to the end user upon reception, and the user is given the choice to either start the service indicated by the URI immediately or to postpone the SI for later handling If the SI is postponed, the client stores it and the end user is given... other WTA service (i.e., no temporary event bindings 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 the mobile 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... establishes a session with the PPG and indicates which applications accept content over the newly opened session The SIA may also ignore the request if there is no suitable installed application as requested in the session request When a client receives pushed content, a dispatcher looks at the push message header to determine its destination application This dispatcher is responsible for rejecting... 4 new voice mails Accept Repository Service Indication 4 5 Deny 9 WTA server Push 3 Mobile network Voice mail New voice mail 2 1 GET URL 6 8 Retrieve message (GET URL) 10 Select a voice mail to retrieve 1 7:30 PM Today 2 5:24 PM 5/25/02 3 1:03 PM 5/25/02 4 6:56 AM 5/23/02 WAP gateway Content 7 download 11 13 Content 12 download Play message 14 15 Call indication Set up call 16 17 Connect Hello 18 19... 107 The PPG performs the following services: • • • • • • Push Initiator and authentication; access control; parsing of and error detection in content control information; client discovery services; address resolution; binary encoding and compilation of certain content types to improve efficiency OTA; protocol conversion The PPG accepts pushed content from the Internet using the PAP The PPG acknowledges... starts executing The service presents to the 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 function WTAIVoiceCall.accept is invoked Mobile client User agent Repository WAP gateway WTA server Call Indication Mobile network 1 2 Content request 3 Bob is calling ! > Answer Hold Reject Voice Mail... generated in the mobile network A result code 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 framework The user is notified that he or she has received new voice mails, and the user chooses to listen to one of them The following... user agents, content generators, standard content encoding, and wireless telephony applications WAE user agents interpret network content referenced 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 user agents in MTs Standard content encoding allows a WAE user agent to navigate Web content... navigate Web content WTA is a collection of telephony-specific extensions for call and feature control mechanisms providing advanced Mobile Network Services The repository is a persistent storage module within the MT that may be used to eliminate the need for network access when loading and executing frequently used WTA services The repository also addresses the issue of how a WTA service developer... model are WAE user agents, content generators, standard content encoding, and WTA WAE user agents interpret network content referenced 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 user agents in MTs Standard content encoding allows a WAE user agent to navigate Web content WTA is a collection . functionality responsible for encoding and
decoding data transferred from and to the mobile client. The purpose of the encoding
content delivered to the client. URI indicating a service. The
message is presented to the end user upon reception, and the user is given the choice
to either start the service indicated