Professional Documents
Culture Documents
Computing
Chapter 7
Mobile Application Framework
Contents
1
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
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 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.
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 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
Adaptation Framework
Origin
Server
Middleware Framework
Content
Database
User with
device
Networks &
Gateways
Networks &
Gateways
Project
Laptop computers
PDAs and handheld PCs
Pagers
Smart phones and cellular phones
Task devices, such as bar code scanners
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.
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.
mobility
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.
10
11
Middleware Architecture
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
13
Middleware
for
Middleware
Backend
Mobile Devices
Wireless
Network
Wireless
Back-end
Network
Network
Stack
Stack
Back-end
Network
Back-end
Applications
and
Databases
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
14
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
<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
16
Information services
Push
17
HTML
JavaScript
Wireless Application
Environment (WAE)
HTTP
TLS - SSL
TCP/IP
UDP/IP
USSD
CSD
R-Data
Packet
UDP
PDC-P
Etc...
18
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
M-Commerce
Shopping on the go
Instant comparison shopping
Location-based special offers and sales
19
20
Flight Booking
21
22
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
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
24
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
4. Characteristics adaptation
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
27
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
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.
Policies Plugins
Media Plugins
MMS
Browsing
GIF
JPEG
SIP IM
Rich calls
WML
H.263
28
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
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
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
31
(2 Marks)
32
Thank You!
33