You are on page 1of 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

Mobile Computing Platforms, Middleware and Server

Wireless Web and WAP

24

Future Works
Transcoding
and Content Adaptation Architecture

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


Distributed
Computing
(Client/Server)

Wireless Computing
Mobile Computing
Pervasive Computing
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).

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

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
(Web Server, eMail server,
Mainframe)

Mobile Device
(Cell Phone, PDA, Pocket PC)
Application

Application

Middleware
Services
Local
Platform
Services

Network
Transport
Services

Mobile
Computing
Platform

Middleware
Services
Local
Platform
Services

Network
Transport
Services

Physical Wireless Network


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

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
Device

Adaptation Framework

Origin
Server

Middleware Framework

Content

Database
User with
device

Networks &
Gateways

Networks &
Gateways

Project

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

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

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)

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
high error rate
higher cost

frequent disconnections due to


power limitations
available spectrum

mobility

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.

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
Mobility

Middleware
for

Middleware

Backend
Mobile Devices

Wireless
Network

Wireless

Back-end

Network

Network

Stack

Stack

Back-end
Network

Back-end
Applications
and
Databases

Wireless Software Development and Monitoring Control

Wireless Web
WAP
Wireless
Browser
4
Wireless
Network

Wireless
Gateway

http
5

Web
Server

1
Web
Browser

http
over
wired Internet

3
Web
Gateway

Content
(XML/HTML)

Back-end
Systems
and
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
Gateway

Internet

Web
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
Internet
Wireless Network
data speeds.
HTTP/HTML

<HTML>
<HEAD>
<TITLE>NNN Interactive</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="1800,
URL=/index.html">
</HEAD>
<BODY BGCOLOR="#FFFFFF"
BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990"
ALINK="#FF0000" VLINK="#FF0000" TEXT="000000"
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>
<HEAD>
<TITLE
>NNN
Intera
ctive<
/TITLE
>
<META
HTTPEQUIV=
"Refre
sh"
CONTEN
T="180
0,
URL=/i
ndex.h
tml">

<WML>
<CARD>
<DO TYPE="ACCEPT">
<GO URL="/submit?Name=$N"/>
</DO>
Enter name:
<INPUT TYPE="TEXT" KEY="N"/>
</CARD>
</WML>

WAP

Content encoding

These ensured that a


mobile device can't
handle the typical
amount of content and
graphics on a website.
To overcome these difficulties, a group of wireless companies,
led by Nokia, came together to develop WAP.
010011
010011
110110
010011
011011
011101
010010
011010

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.
2.
3.
4.
5.

Wireless Application Environment (WAE)


Wireless Session Protocol (WSP)
Wireless Transport Protocol (WTP)
Wireless Transport Layer Security (WTLS)
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
JavaScript

Other Services and


Applications

Wireless Application
Environment (WAE)

Wireless Session Layer (WSP)

HTTP

Wireless Transaction Protocol (WTP)

TLS - SSL

Wireless Transport Layer Security (WTLS)

TCP/IP
UDP/IP

Wireless Datagram Protocol (WDP)


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
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

From: sender@foo.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

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
Extracts capabilities info
from protocol, e.g. from
UserAgent Header or
UAProf

Capability DB
Contains the capabilities
of different terminals.

Adaptation Policies Eng.


Decides how the content
should be adapted.

Policies Plugins

Media Adaptation Eng.


Applies transformation
to the media content or
selects the right version.

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
Title

Modality axis provides the same


information under different media
modes
Resolution axis provides, for a
given modality, the content at
different quality levels

Short
story
Full
story

Text

160x
120

40
kbps

QVGA

96
kbps

VGA

Image

8
kpbs

1
Mbps

Video

64
kbps
128
kbps

Audio

Modality

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

You might also like