Вы находитесь на странице: 1из 33

ITT575 - Wireless and Mobile

Computing
Chapter 7
Mobile Application Framework

Mohd Faisal Ibrahim


Faculty of Computer and Mathematical
Sciences, UiTM, Shah Alam

Contents

1 Mobile Application Framework and Design

2 Mobile Computing Platforms, Middleware and Server

3 Wireless Web and WAP

24 Future Works
Transcoding and Content Adaptation Architecture

1
Learning Outcomes
Upon completion of this chapter, you should be
able to:-
to:-
Understand general concepts of Wireless Computing, Mobile
Computing, Pervasive Computing, Ubiquitous Computing and Cloud
Computing
Describe the major components and architectures of Mobile
Application Framework, Mobile Computing Platforms, Context-Aware
Middleware, Multimedia Transcoding Architecture and WAP
Understand the role of middleware
Understand the unique requirements of wireless and mobile
applications that middleware should address
Understand mobile computational models and functionality
supported by various middleware platforms
Understand the emerging applications enabled by Mobile Computing,
Pervasive Computing and WAP

New Forms of Computing


Wireless Computing
Distributed Mobile Computing
Computing
Pervasive Computing
(Client/Server)
Ubiquitous Computing
Cloud Computing
Wireless Computing refers to the method of transferring information between a computing device, such
as a personal data assistant (PDA), and a data source, such as an agency database server, without a
physical connection.
Mobile Computing is an umbrella term used to describe technologies that enable people to access
network services anyplace, anytime, and anywhere.
Pervasive computing is about acquiring context from the environment and dynamically building
computing models dependent on context.
Ubiquitous computing is the method of enhancing computing devices use by making many devices
available throughout the physical environment, but making them effectively invisible to the user.
Cloud computing is a general term for anything that involves delivering hosted services over the
Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS).

2
Mobile VS Pervasive VS Ubiquitous Computing
Mobile Computing
Increasing our capability to physically move computer services with us
Pervasive Computing
Obtaining information from our environment and utilizing it to
dynamically built models
Involves devices like handhelds - small, easy-to-use devices --
through the user will be able to get information on anything and
everything
The sort of thing that Web-enabled cell phones promise
Ubiquitous Computing
Integrating large scale mobility with pervasive computing functionality
We might not need to use computers at all
Instead, it's computing in the background, with technology embedded
in the things we already use.
Example: A car navigation system that, by accessing satellite pictures,
alerts us to a traffic jam ahead, or an oven that shuts off when our
food is cooked.

Mobile Application Framework

REQUEST

SERVER

PRESENTATION

3
Mobile Computing
Definition: Information from any system can be displayed,
collected and transfered to a mobile device using one or a
combination of various data transfer methods.
Mobile devices include PDAs, laptop computers, and many of
todays cell phones (aptly called "smart phones").

Access point

Information System

Base Station

Mobile Computing Platforms


Server
Mobile Device (Web Server, eMail server,
(Cell Phone, PDA, Pocket PC) Mainframe)

Application Application

Middleware Middleware
Services Mobile Services
Computing
Local Network Platform Local Network
Platform Transport Platform Transport
Services Services Services Services

Physical Wireless Network


(Antennas, Transceivers, Base Stations,
Cellular Networks, 802.11 LANs,
Satellites)

4
Mobile Computing Functions
A computing environment is defined as mobile if
it supports one or more of these characteristics:
User mobility: User should be able to move from one
physical location to another location and use same
service
Network mobility: User should be able to move from
one network to another network and use same service
Device mobility: User should be able to move from one
device to another and use same service
Session mobility: A user session should be able to
move from one user-agent environment to another.
Service mobility: User should be able to move from
one service to another
Host mobility: The user should can be either a client or
server

Mobile Computing Functions (Cont.)


Mobile computing functions can be logically divided
into the major segments:
1. User with device: fixed, portable
2. Network: different networks: GSM, CDMA, Ethernet, Wireless LAN,
etc.
3. Gateway: Interfacing different transport bearers
4. Middleware: handling the presentation and rendering of the content on a
particular device.
5. Content: it is the domain where the origin server and content is.

Application Server

Origin
Device Adaptation Framework Server
Database
User with Networks & Middleware Framework Content
device Gateways
Networks & Project
Gateways

5
Types of Mobile Devices
A categorization of five different types of mobile devices:
Laptop computers
PDAs and handheld PCs
Pagers
Smart phones and cellular phones
Task devices, such as bar code scanners
Laptops are typically used and supported in the same way as
desktop PCs.
Many organizations have replaced desktops with their portable cousins as the
workforce has grown increasingly mobile.
PDAs are the least planned-for and supported devices.
They are undergoing rapid evolution and are being brought into organizations in the
same way the earliest PCs were.
Smart phones that allow users to
access phone calls,
two-way radio transmissions
paging and data transmissions
Pagers
Task devices such as the parcel tracking devices used by
Federal Express (FedEx) and the United Parcel Service
(UPS)

Networks
Mobile computing will use different types of
networks: fixed telephone network, GSM,
GPRS, ATM, etc.
1. Wireline Networks: designed over wire. It is called
fixed network. Copper or fiber optic cables.
2. Wireless Networks: mobile networks

6
Middleware
Middleware: A software layered between a user
application and operating system.
Examples conventional middleware technologies
designed for fixed distributed systems:
communication middleware, object oriented
middleware, message oriented middleware,
database middleware, etc.

The Middleware Layer

7
Messaging Middleware
Common interface and transport between applications.
Stores the data in a
message queue if the
target machine is down
or overloaded
May contain business
logic that routes
messages to the
appropriate destinations
and reformats the data
as well.
Similar to an e-mail
messaging system,
except that it is used to
send data between
applications.

Database Middleware
Database Middleware provides a common interface
between a query and multiple, distributed databases.
Using either a hub and spoke architecture or a
distributed architecture it enables data to be
consolidated from a variety of disparate data sources.

Database Middleware (e.g. EDA) Distributed Database Middleware (e.g. DQBroker)

8
Application Server Middleware
A Web-based
application server that
provides interfaces to a
wide variety of
applications is used as
middleware between the
browser and legacy
systems.
The browser can be used at
desktops or on laptops when
travelling.
A wide range of server-side
processing has been
supported by appservers
(i.e.;J2EE).

Why separate middleware for mobile computing ?


There are at least three common factors that affect the design
of the middleware infrastructure required for mobile computing:
Mobile devices vary from one to another in term of resource
availability
Devices like laptops can offer fast CPUs and large amount of RAM and disk
space while others like pocket PCs and phones usually have scarce
resources.
It is either impossible or too expensive to augment the resource availability
Hence, middleware should be designed to achieve optimal resource utilization.
Network connection in mobile scenarios is characterized by
limited bandwidth frequent disconnections due to
high error rate power limitations mobility
higher cost available spectrum
Physical host mobility can greatly affect network connection
Mobile clients may interact with different types of networks, services, and
security policies as they move from one area to another.
This requires applications to behave differently to cope with dynamic changes of
the environment parameters.
Due to these limitations, conventional middleware technologies
designed for fixed distributed systems are not prepared to
support mobile systems.

9
Context-Aware Middleware
To enable applications to adapt to heterogeneity of hosts and
networks as well as variations in the user's environment, systems
must provide for mobile applications to be aware of the context in
which they are being used.
User's context
includes, but is not
limited to:
location, with varying
accuracy depending on
the positioning system
used;
device
characteristics, such
as processing power
and input devices;
physical environment,
such as noise level and
bandwidth;
user's activity, such as
driving a car or sitting in
a lecture theatre.

Context-Aware Based on User's Activity


The Context Aware research project is looking at different
sensing technologies to try to infer the type of activity a user is
involved in.
Look at different inputs
such as audio, location
and physical activity to
infer who the user are
with, where the user are
and what the user are
doing.
Fuse this data together to
get to a higher level
understanding of what
the user are doing.
SenSay

Ask Lama Nachman

10
Context-Aware Based on Location

Context-aware services in Kista mall

Context-Aware Based on Environment

11
Middleware Architecture

Mobile Application Architectures


Native Client
Written in a lower level language such as C or Assembly and compiled into
machine language for a specific group of mobile processors and hardware
configurations, and then runs as native code on those mobile devices.
Java ME
Written in Java and runs using the Java VM on your handheld device.
Web-Based Client
Runs within a Web browser on the device.
The mobile client accesses the page using a browser installed on the device, and
the Web server delivers the page using the same facilities as a desktop Web
client.
Mobile Middleware
In this approach, you create an application by utilizing a set of design tools for a
third party, proprietary runtime operating system on the mobile device, in addition
to typically utilizing related server side components.
The middleware handles things such as displaying screens and dialogs on the
device, caching clientside data, managing the devices connection state, and
managing offline data.

12
There are multiple architecture options possible

1. Mobile web apps


2. Embedded mobile web apps with native container (e.g.
PhoneGap)
3. Hybrid apps (native container, native extended capabilities,
HTML5 for certain content/layout)
4. Native apps
Native VS Web VS WAP

Pros and Cons of Different Development Approaches

13
Mobile Application Servers

Mobility Application

Middleware
Mobility
for
Middleware
Backend
Mobile Devices
Wireless Back-end Back-end
Network Network Applications
Wireless and
Network Stack Stack Back-end Databases
Network

Wireless Software Development and Monitoring Control

Wireless Web
WAP
Wireless
Browser
4
http 2 Content
Wireless Web
Wireless Gateway 5 Server (XML/HTML)
Network
1 Back-end
3 Systems
Web http Web
over and
Browser Gateway
wired Internet Darabases

1. Access from Web browser to Web Server over wired Internet


2. Access to Web contents from HTML/XML files
3. Access to non-Web content through a Web gateway
4. Access from cellular phone over a wireless network
5. Access from wireless gateway to Web Server over wired Internet

14
Why is Internet not enough?
or actually "too much" ...
Big screen - small screen syndrome

WAP (Wireless Application Protocol)


Intended for data entry/display on cellular phones
Typical deployment of WAP includes a proxy or a gateway
Complete protocol stack similar to Internet protocols but
optimized for wireless information pull and push transport
layer and above; across multiple wireless technologies
Designed to work with all wireless networks such as GSM,
CDMA, and TDMA
WAP Phone

WAP Web
Internet
Gateway Server
Wireless
network
with WAP
Protocol
Ask Burton Katz

15
WAP Objectives
Enable wireless terminals, especially digital cellular
phones, to access Internet content and advanced
data services
Specify a protocol that will work across differing
global wireless network systems
Enable creation of content and applications that
scale across different networks and devices
Where possible, use and extend existing standards
and technologies

Internet WAP Wireless

Why We Need WAP?


New mobile device models are launched every other day.
However these devices have some limitations such as very
low processor power, low RAM, limited screen size and low
data speeds. Internet Wireless Network
<HTML> HTTP/HTML <WML>
WAP
<HEAD> <CARD>
<TITLE>NNN Interactive</TITLE> <DO TYPE="ACCEPT">
<META HTTP-EQUIV="Refresh" CONTENT="1800, <GO URL="/submit?Name=$N"/>
URL=/index.html"> </DO>
</HEAD> Enter name:
<BODY BGCOLOR="#FFFFFF" <INPUT TYPE="TEXT" KEY="N"/>
BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990" </CARD>
ALINK="#FF0000" VLINK="#FF0000" TEXT="000000" </WML>
ONLOAD="if(parent.frames.length!=0)top.location='ht
tp://nnn.com';">
<A NAME="#top"></A>
<TABLE WIDTH=599 BORDER="0">
<TR ALIGN=LEFT>
<TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>
<HTML>
Content encoding
<HEAD>

These ensured that a <TITLE


>NNN
Intera
010011
010011

mobile device can't ctive<


/TITLE
>
110110
010011
011011
<META 011101

handle the typical HTTP-


EQUIV=
"Refre
010010
011010

amount of content and sh"


CONTEN
T="180
0,

graphics on a website. URL=/i


ndex.h
tml">

To overcome these difficulties, a group of wireless companies,


led by Nokia, came together to develop WAP.

16
How Does WAP Works?
When your cellpnone connects to wireless network and
requests a website (the site should be WAP-enabled) the
request passes through the nearest cell site, where it is routed
to a gateway server.
The gateway server converts the request to standard HTTP
format and sends it to the website.
The site responds to the request and sends the requested
content, as HTML documents to the gateway server.
The gateway server
converts this data into WML
and sends it to your device,
via the relevant cell site,
where the microbrowser
displays the page.

Animation

What can be done with WAP?


Information services
Similar to web browsing
Small downloadable programs
WAP script language is based on
JavaScript
Telephony functionality combined with
browser
Call the airline when your flight is delayed
Push
Server initated content push

17
WAP Component (WAP Protocol Suite)
WAP is made up of five parts
1. Wireless Application Environment (WAE)
2. Wireless Session Protocol (WSP)
3. Wireless Transport Protocol (WTP)
4. Wireless Transport Layer Security (WTLS)
5. Wireless Datagram Protocol (WDP)
WAE is the only part that is visible to the user,
the other four work in the background to
enable the transfer of contents from the
website (WAP enabled) to the user.

Internet and WAP architecture

Internet Wireless Application Protocol

HTML Wireless Application Other Services and


JavaScript Environment (WAE) Applications

Wireless Session Layer (WSP)


HTTP
Wireless Transaction Protocol (WTP)

TLS - SSL Wireless Transport Layer Security (WTLS)

TCP/IP Wireless Datagram Protocol (WDP)


UDP/IP
Bearers:
SMS USSD CSD R-Data Packet UDP PDC-P Etc...

18
Wireless Application Environment (WAE)
WAE specifies an application framework for wireless
devices
WAE consists
of
WML and WML
Microbrowser
(WAP Proof,
OpenWave,
Opera Mini)
WMLScript
Wireless
Telephony
Application
(WTA) and the
API (WTAI)

WAP 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

19
WAP Application - Mobile Leave System

WAP Application - Mobile Leave System

20
WAP Application Ticketing System

WAP Application - Flight Information System

Flight Booking

21
WAP Application - Weather Information System

The Weather Information System is designed and


developed by using WAP technology to display the
current Climatic conditions such as Max
Temperature and Min Temperature of selected cities
of the world.

WAP Application - DVD Rental System

22
WAP Application - Mobile Payment System

WAP Application - Mobile Entertainment

Funtonia.com is a site where you can find a variety of different


ringtones for your cellphone that you can download.

23
Content Adaption
Modifying the representation of Internet
content in order to come up with versions that
meet diverse user requirements and the
distinct characteristics of devices and access
networks

Motivation for Content Adaptation


Terminal diversity
Different display size, bandwidth, memory, processing power, UI, etc.
Available network environment
Depending on the current location and the terminal support
UMTS/GPRS/GSM Data

User preferences
Information presenting styles
e.g. scrollable/splitted to several views
Time issues
e.g. see utilitarian content quickly/wait for flashy content
Cost issues
Definition of Multimedia Unit (MMU)
The unit of data transmitted over a network containing one or more
multimedia content elements
e.g. multimedia message in MMS, elements of a web page (typical
composed of several MMUs)

24
Types of Content Adaption

Format Adaption
Characteristics Adaptation
Appearance Adaptation
Size Adaptation
Encapsulation Adaptation

Format Adaption
Converting original content format to the
format also understandable by the receiver
e.g. JPG to GIF, MPEG4 to MPEG, AAC to MP3

football.jpg football.gif

25
Characteristics Adaptation
Modifying media objects characteristics while
remaining within a given format
e.g. image/video resolution, frame/bit rate, number of
colors

295 x 379

590 x 758

Appearance Adaptation
Modifying the content of an multimedia unit (MMU) for the
purpose of changing how it looks or sounds
Needed to conform to the capabilities of the receiver and
may even increase usability
e.g. condensed version from a web page, portrait to landscape mode

Google
(Opera for Mobile S60)
Google (Internet Explorer)

26
Size Adaptation
Reducing the size of an MMU message to match the
capabilities of the receiver and the underlying network
environment:
1. Removal of some MMU objects
e.g. remove an image from an MMU message

2. Changing the encapsulation


e.g. split an MMU message to several smaller ones
3. Converting to another format
e.g. MP3 to AAC
4. Characteristics adaptation
e.g. quality of the image, number of colors

Encapsulation Adaptation
Converting MMU messages from one application
protocol to another and therefore involving
repacking a message without altering any of the
media content
e.g. splitting an e-mail to a sequence of several SMS
messages
From: sender@foo.com From: sender@foo.com
To: receiver@bar.com To: receiver@bar.com
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
foo bar
foo bar foo bar foo bar foo bar
foo bar
SMS x 2
E-mail

27
Methods of Content Adaptation
Multimedia Transcoding
Content Selection
Rendering at the Client
Hybrid Approaches

Multimedia Transcoding
Modifying the properties of multimedia object to meet the
capabilities of the terminal
Usually automatic process
The behavior of the adaptation system is programmed in advance
Can include all previously presented types of adaptation
Multimedia Transcoding Architecture
Requests/Responses

Application-specific Controller

Capability negotiation Capability DB Adaptation Policies Eng. Media Adaptation Eng.


Extracts capabilities info Contains the capabilities Decides how the content Applies transformation
from protocol, e.g. from of different terminals. should be adapted. to the media content or
UserAgent Header or selects the right version.
UAProf

Policies Plugins Media Plugins

MMS Browsing GIF JPEG

SIP IM Rich calls WML H.263

28
Multimedia Transcoding (2)
Transcoding of audio visual content
Decode object Modify uncompressed Encode to desired format
Also partially decoded objects can be modified
Scalable formats improve the quality and the performance
Transcoding of nonaudiovisual content
Nonaudiovisual content is often XML applications
Can be modified and and/or converted to other XML applications using XSLT
technology or DOM/SAX interfaces

Transcoding of procedural code


Complexity makes transcoding unattractive
Better to make the code itself adaptive or provide different versions
Advantages and drawbacks
+ Increased usability
+ Automatic process
- May require a lot of processing resources
- Adapted results may not be acceptable or usable
- Copyright issues

Content Selection
Multiple versions or modality of each multimedia
object is stored in the server and server selects the
best version for the given terminal
The Infopyramid
A representation scheme
providing a multimodal,
multiresolution representation
hierarchy for multimedia content 160x 40 8
Title 120 kbps kpbs
Modality axis provides the same Short 96 64
QVGA
information under different media story kbps kbps

1 128
modes Full
story
VGA Mbps kbps

Resolution axis provides, for a Text Image Video Audio


given modality, the content at Modality
different quality levels

29
Content Selection (2)
The Customizer
After a clients request selects the best content representation supported by
the client terminals capabilities and environment from the Infopyramid
Makes content selection decisions in accordance with adaptation policies

Seperating content and its representation


Same content with several representation alternatives
e.g. CSS and XSLT

Advantages and drawbacks


+ Selecting less processing intensive than transcoding
+ Increased usability
+ Automatic process after the creation of all versions
+ The quality of delivered content has been validated by the author
+ Solves legal issues
- May require a lot of work from the author to manage the content
- May require a lot of space to store all the different versions

Rendering at the Client


Adapting the content before the user sees it on the
screen by rendering it in a suitable way for the given
terminal
Theorically can fit content to variety of different screen size
Binary content can be adapted by the renderer
The renderer also handles alternative content
e.g. alternative text instead of an image if Show images
turned off
Advantages and drawbacks
+ The client knows its capabilities best and has the up2date
information
+ Content is received on the terminal and can be readapted if
needed
- Requires processing resources in the terminal Not suitable
for low-end devices

30
Hybrid Approaches
Mixing different adaptations methods together
at the same time
e.g. transcoding can be a part of a content
selection system, transcoding and content
selection can be performed on the media content
and the final layout is left to the terminal when
rendering

Samsung Future Mobile Project

31
Past Year Question
JAN 2013 (Part A)
Differentiate between format adaption and
characteristics adaptation (You also need to include
some examples). (6 Marks)
Format Adaption - Converting original content format to the
format also understandable by the receiver .
e.g. JPG to GIF, MPEG4 to MPEG, AAC to MP3

Characteristics Adaptation - Modifying media objects


characteristics while remaining within a given format.
e.g. image/video resolution, frame/bit rate, number of colors.

Past Year Question


JUL 2013 (Part A)
Briefly describe the following terms:
Middleware (2 Marks)
A software layered between a user application and
operating system.

32
Past Year Question
JUL 2013 (Part A)
Distinguish between ubiquitous computing and cloud
computing. (4 Marks)
Ubiquitous computing refers to everyday objects becoming
computing nodes, such as smart appliances.
Cloud computing refers to running applications on the
internet rather than locally.

Thank You!

33

Вам также может понравиться