SlideShare a Scribd company logo
Mobile Computing
Chapter 1 Introduction
Mobile computing notes by Pallavi Joshi
Information … the foundation
Information is power
Information – the key ingredient of decision making process
Information – the basic differentiator between human beings a
n
d
animals
Information – the harbinger of new technologies and concepts
Information – the underlying foundation of world’s g
r
e
a
te
st
economies
Information – the currency of today’s businesses
Information – the basic need for proliferation of h
u
m
a
n
civilization
Mobile computing notes by Pallavi Joshi
Is it fiction or fact ?
Mobile computing notes by Pallavi Joshi
Where are we moving to ?
Computing
means …
Yesterday
Centralized mainframes
to distributed
Today
Distributed to
centralized servers
Protocols Proprietary Industry Standard
-TCP/IP, GSM, etc.
Access Direct terminals,
Private Networks, etc.
Content Data only
Global (restricted)
through Internet &
VPR
Data / Images
Access media GUI, Multimedia, fixed
wired device & Internet
Application
management
Character mode,
Teletype, fixed wired
devices, etc.
Centralized Centralized /
Distributed
Tomorrow
Centralized servers with
ubiquitous computing,ASP,
etc.
TCP/IP, Bluetooth
IEEE W LAN, CDMA, 3G,
etc.
Ubiquity (anywhere,
anytime, any device)
through Internet & WVPR
Data, Voice, Streaming &
Real time multimedia
Pervasive / Ubiquitous,
wired, wireless, Internet, &
Intelligent Networks
Static/Mobile agents,
Centralized, Distributed,
etc.
Mobile computing notes by Pallavi Joshi
Mobility … the basic human instinct
Mobility differentiates animals from plants
Human beings – the most adventurous and risk t
a
k
i
n
g
creation
Examples:
• Man going to Moon
• British coming to India
• Indian entrepreneurs success in USA
• Spread of Buddhism in far east
Mobile computing notes by Pallavi Joshi
Physical to logical mobility
Early milestones of mobility
Joseph Henry sends electric current to ring a bell over o
n
e
mile of wire in 1830.
Samuel F B Morse invented telegraph and sent “What hath
God wrought ?” from Washington to Baltimore over 40 miles
on May 24, 1844.
Alexander Graham Bell sent the first telephonic message ove
r
wire on March 10, 1876, in Boston, Massachusetts.
Mobile computing notes by Pallavi Joshi
For computing while being mobile, we need …
Access to data
Access to information
Access to knowledge
Access to wisdom
Mobile computing notes by Pallavi Joshi
Fruits of the past – Dotcom boom and burst
Dotcom boom established Internet as the Information S
u
p
e
r
Highway.
Appetite for data is going to increase in every sphere of s
o
c
i
a
l
life.
Business sense makes a business sense.
Mobility is going to be the key technology driver for future.
Global service portability is going to be critical to the s
u
c
c
e
s
sof
enterprises wireless proliferation.
Mobile computing is a reality.
Mobile computing notes by Pallavi Joshi
Milestones for the Internet
1957 – ARPA founded following USSR’s Sputnik launch
1961 – Leonard Kleinrock, MIT – first paper on “Packet S
w
i
t
c
h
”
1964 – Paul Baran, RAND, No single outage point
1965 – TX-2 at MIT Lincoln Lab and AN / FSQ-32 at Sy
s
t
e
m
Development Corporation (Santa Monica, CA) are directly linked
(without packet switches) via a dedicated 1200 bps phone line
1971 – Ray Tomlinson invents email
1972 – First public demo of Internet in ICCC, Telnet / F
T
P
invented
1983 – 1st January TCP / IP became the Internet protocol
1991 – Tim Berners Lee invents World Wide Web
2000 – Internet boom
2002 – Dotcom bust
Mobile computing notes by Pallavi Joshi
Motivations for Mobile Computing
Think of …
You are traveling. You are in a place you are not familiar
with. It is quite late at night. Suddenly you had a flat tyre, or it
started raining, or you need to catch a train from the nearest
station.
You need to know train timing, direction to the station, or t
h
e
nearest hotel with direction, or where you are, etc.
You need an alert if any of the robots goes down for mor
e
than 5 minutes.
You want to be notified if a particular mail is received in y
our
mailbox from a very important client.
Mobile computing notes by Pallavi Joshi
Mobile Computing
Can be defined as “a computing environment over physical
mobility”
The user should be able to access data, information, or o
t
h
e
r
logical objects from any device in any network while on the
move.
It should allow a user to perform a task from anywhere u
s
i
n
ga
computing device in the public, corporate and personal
information spaces.
The communication bearer should be spread over both–
wired and wireless media.
Mobile computing notes by Pallavi Joshi
Different names of Mobile Computing
VHE – Virtual Home Environment
Anywhere, anytime information
Nomadic computing
Pervasive computing
Ubiquitous computing
Global service portability
Wearable computers
Context aware computing
Mobile computing notes by Pallavi Joshi
Attributes of ubiquity
Network Mobility
Bearer Mobility
Device Mobility
Session Mobility
Service Mobility
Host Mobility
User Mobility
Mobile computing notes by Pallavi Joshi
Network Mobility
User should be able to move from one network to a
n
o
t
h
e
r
network and use the same service.
Example: User moves from Hong Kong to Singapore and uses
the same GSM phone to access the corporate application.
Mobile computing notes by Pallavi Joshi
Bearer Mobility
User should be able to move from one bearer to a
n
o
t
h
e
r
while using the same service.
Example: User is unable to access the WAP bearer due to
some problem in the GSM network then he should be able to
use voice or SMS bearer to access that same corporate
application.
Mobile computing notes by Pallavi Joshi
Device Mobility
User should be able to move from one device to a
n
o
t
h
e
r
and use the same service.
Example: User is using a PC to do his work. During the day,
while he is on the street he would like to use his Palmtop to
access the corporate application.
Mobile computing notes by Pallavi Joshi
Session Mobility
A user session should be able to move from one user - a
g
e
n
t
environment to another.
Example: An unfinished session moving from a mobile device
to a desktop computer is a good example.
Mobile computing notes by Pallavi Joshi
Service Mobility
User should be able to move from one service to another.
Example: User is writing a mail. Suddenly, he needs to refer to
something else. In a PC, user simply opens another service and
moves between them. User should be able to do the same in
small footprint wireless devices.
Mobile computing notes by Pallavi Joshi
Host Mobility
User should be able to move while the device is a h
o
s
t
computer.
Example: The laptop computer of a user is a host for grid
computing network. It is connected to a LAN port. Suddenly,
the user realizes that he needs to leave for an offsite meeting.
He disconnects from the LAN and should get connected to
wireless LAN while his laptop being the host for grid
computing network.
Mobile computing notes by Pallavi Joshi
User Mobility
User should be able to move from one physical location
to another location and use the same service.
Example: User moves from London to New York and uses the
Internet in either place to access the corporate application.
Mobile computing notes by Pallavi Joshi
Mobile Computing Functions
Mobile computing notes by Pallavi Joshi
Mobile Computing Environment
Mobile computing notes by Pallavi Joshi
Mobile Computing Devices
The usage of devices are becoming more and m
o
r
e
integrated.
The Human Computer Interaction (HCI) plays a critical r
o
l
ein
effectiveness, efficiency and user experience.
The challenges in HCI are:
Interaction must be consistent from one device t
o
another.
Interaction has to be appropriate for a particular device
and environment in which the system is being used.
Mobile computing notes by Pallavi Joshi
Dialogue Control
There can be two types of user dialogues:
Long session oriented transactions
Short transactions
Mobile computing notes by Pallavi Joshi
Networks for Mobile Computing
Mobile Computing can use different networks such as:
Fixed line telephone networks
GSM
GPRS
ATM
Frame Relay
ISDN
CDMA
CDPD
DSL and many more as such …
Mobile computing notes by Pallavi Joshi
Middleware and Gateways
A software layer between a user application and operating system
can be termed as middleware. Gateways are deployed when there are
different transport bearers or networks with dissimilar protocols. The
various types are:
Communication middleware
Transaction processing middleware
Behavior management middleware
Communication gateways
Database middleware
Message oriented middleware
Mobile computing notes by Pallavi Joshi
Mobile applications
Mobile application at static state (Portable Computing)
- Computing while being mobile (may not be networked)
Occasionally connected computing
- Computing while being mobile and occasionally connected
Vehicular (mobile and connected)
- Computing while being mobile and always connected
Mobile computing notes by Pallavi Joshi
Mobile application attributes
It needs a multi layer architecture.
For data mobility, it needs network of networks.
For data portability, it needs data / file to be on a centralized
server.
It requires a universal thin client (executable in any d
e
v
i
c
e
)only
to do the rendering at the device.
Execution environment should be independent of rendering.
Mobile computing notes by Pallavi Joshi
Effect of mobility on protocol stack
Application
- adaptations with context awareness and security
Transport
- congestion, flow control, QoS and security
Network
- addressing, routing and security
Link
- media access and handoff
Physical
- transmission errors and interference
Mobile computing notes by Pallavi Joshi
Limitations of Mobile Computing
Limitations of the wireless network
- heterogeneity of fragmented networks
- frequent disconnections
- limited communication bandwidth
Limitations imposed by mobility
- lack of mobility awareness by system / applications
- route breakages
Limitations of the mobile computer
short battery lifetime
limited capacities (memory, processing speed, e
t
c
.
)
Mobile computing notes by Pallavi Joshi
Applications and services
There are six basic categories:
Personal (wallet, diary, etc.)
Perishable (news, sports, stock quotes, etc.)
Transaction oriented (bank transactions, mobile shopping,etc.)
Location specific (restaurant guide, map service, etc.)
Corporate (ERP, inventory, business alerts, etc.)
Entertainment (fun, games, etc.)
Mobile computing notes by Pallavi Joshi
Examples of applications
News: This is a very big basket of applications having different
types of news. News could be political, current affair, breaking
news, business news, sports news, community news, etc.
Youth: This is a very high growth market with different
applications to suit the style and lifestyle of the youth. These are
primarily messaging based application like person – to – person
messaging, chat, forums, dating, etc.
Weather: There are different types of applications and
services where mobile computing can make a difference. If we
look at very closely when a person is on a vacation, and driving
from one city to another, access to weather information can
sometime save lives. .
Mobile computing notes by Pallavi Joshi
Examples of applications
Corporate application: Standard corporate information is one
of the most desirable information set for mobile workers. This
will include corporate mail, address book, appointments, MIS
applications, corporate Intranet, etc.
Sales Force Automation: This group will offer m
a
n
y
applications. This will cater the large population of sales
personnel. Applications will include sales order booking,
inventory enquiry, shipment tracking, logistics related
applications, etc. These applications will be very effective over
wireless devices.
m-broker: Getting correct and timely information related to
different stocks is very important. Also, online trading of stocks
while on move is quite critical for certain lifestyle.
Mobile computing notes by Pallavi Joshi
Examples of applications
m-banking & telebanking: We need to access our banks f
o
r
different transactions. If telebanking can be made ubiquitous, it
shall help everybody. Many banks in India are offering banking
over mobile phones using SMS.
m-shopping: It will help to do different types of shopping using
mobile devices like Palmtop, PocketPC, mobile phone, etc.
Buying a drink from a vending machine at an airport using a
mobile phone may be very handy especially when you do not have
change.
Micropayment based applications: Micropayments are t
h
e
s
e final
transactions where the amount of money involved in a transaction
is not very high. Micropayments using mobile phones can help
rural people to do business in a much effective way.
Mobile computing notes by Pallavi Joshi
Examples of applications
Interactive games: Many mobile network operators h
a
v
e started
offering different types of contest and interactive games to be
played using mobile phone.
Interactive TV shows: Many TV companies around the w
o
r
l
d use
SMS as a bearer for interactive TV. This has also started in India
where some of the leading TV companies are using SMS to make
TV programmes interactive.
Experts on call: Application system for experts, w
h
e
r
e experts use
this while they are mobile to schedule their time and business.
Others use this to schedule business with the expert.
GPS based systems: Applications related to location tr
a
c
kin
g come
under this category. This could be as simple as tracking a vehicle
or even tracking an individual who got lost or struck due to bad
weather.
Mobile computing notes by Pallavi Joshi
Examples of applications
e - governance: These applications are very important to b
r
i
d
g
ethe
digital divide. The Bhoomi project of Karnataka government has
computerized two crore land records of 67 lakh farmers living in
30,000 villages in the state. Many such projects in the Government
can be made electronic, resulting into better and faster access to
information managed by the government.
Virtual laboratories: There are many labs and knowledge repositories
around the world. These types of applications make the facility of
these labs available across the boundary of culture and countries.
Community forums: There are different social and community
meetings. On making them electronic, it may help increase the
involvement of more people to participate in community
developments.
Mobile computing notes by Pallavi Joshi
Mobile Computing examples
Job facilitator: These could be either proactive alerts or
information related to jobs.
Telemetric applications: Almost every industry and s
p
h
e
r
e of
life has the need for telemetric applications. Examples could be
monitoring and control in manufacturing industry; vehicle
tracking; meter reading; health care & emergency services;
vending machine monitoring; research; control and service
request for different emergency services like power plants; etc.
Downloads: Different types of downloads starting f
r
o
m ringing
tone to pictures are part of this family. In many countries, these
types of applications are very popular.
Mobile computing notes by Pallavi Joshi
Mobile Computing examples
Corporate knowledge based applications: Nowadays, t
h
e
r
eare
many applications which offer knowledge base. If a company
has some knowledgebase, the same is required to be ubiquitous.
Community knowledge based applications: Knowledge is
power. Like in a corporation, knowledge is equally important for
a community. Making knowledge ubiquitous always help the
society at a large.
Distance learning: Applications related to distance learning may
be very desirable for developing countries. Simputer with voice
interface can change the economics of the rural India with these
kind of applications.
Mobile computing notes by Pallavi Joshi
Standards – Why are they necessary ?
Standards are documented agreements containing technical
specifications to be consistently used as rules, guidelines, or
definitions of characteristics.
Standard and Proprietary technologies
Adaptation of technology in USA and Europe
Mobile computing notes by Pallavi Joshi
ETSI
European Telecommunications Standards Institute
It is an independent, non – profit standardization
institution catering to telecommunications industry, based
in Europe but having a worldwide scope.
ETSI’s prime objective is to support global harmonizationby
providing a forum in which all the key players can
contribute actively.
Mobile computing notes by Pallavi Joshi
ISO
International Organization for Standardization
ISO is a worldwide federation of national standards
bodies from more than 140 countries, one from each
country.
The mission of ISO is to promote the development of
standardization and related activities in the world with a
view to facilitating the international exchange of goods and
services, and to developing cooperation in the spheres of
intellectual, scientific, technological and economic activity.
Mobile computing notes by Pallavi Joshi
OMA
Open Mobile Alliance
The Open Mobile Alliance (OMA) has been established by the
consolidation of the WAP Forum and the Open Mobile
Architecture initiative.
It intends to grow the market for the entire industry by
removing barriers to interoperability and supporting a
seamless and easy-to-use mobile experience for end users.
Mobile computing notes by Pallavi Joshi
IEEE
Institute of Electrical and Electronics Engineers
IEEE is an organization that produces standards, w
h
i
c
h
are
developed and used internationally.
IEEE-SA demonstrates strong support of an industry-led
consensus process for the development of standards and
operating procedures and guidelines.
Mobile computing notes by Pallavi Joshi
EIA
Electronics Industry Association
EIA is a national trade organization within USA t
h
a
t
includes the full spectrum of U.S. electronics industry.
EIA is a partnership of electronic and high-tech
associations and companies whose mission is promoting
the market development and competitiveness of the U.S.
high-tech industry through domestic and international
policy efforts.
Mobile computing notes by Pallavi Joshi
ITU
International Telecommunications Union
ITU was founded on the principle of cooperation b
e
t
w
e
e
n
governments and the private sector.
ITU Telecommunication Standardization Sector (ITU-T)’
s
mission is to ensure an efficient and on-time production of
high quality standards (Recommendations) covering all fields
of telecommunications.
Mobile computing notes by Pallavi Joshi
W3C
World Wide Web Consortium
W3C develops interoperable technologies
(specifications, guidelines, software, and tools) to lead
the Web to its full potential.
By promoting interoperability and encouraging an
open forum for discussion, W3C is committed to leading
the technical evolution of the Web.
Mobile computing notes by Pallavi Joshi
3GPP
3rd Generation Partnership Project
3GPP is to produce globally applicable technical
specifications and technical reports for 3rd Generation
mobile system.
The scope was subsequently amended to include t
h
e
maintenance and development of the Global System for
Mobile communication (GSM) technical specifications and
technical reports including evolved radio access
technologies.
Mobile computing notes by Pallavi Joshi
ANSI
American National Standards Institute
ANSI plays an important part in creating international
standards that support the worldwide sale of products,
which prevent regions from using local standards to favor
local industries.
ANSI has been one of the fore runner standards
organization in computing for more than three decades.
Mobile computing notes by Pallavi Joshi
UMTS
Universal Mobile Telecommunications System
UMTS is synonymous with a choice of WCDMA r
a
d
i
o
access technology that has already been selected by many
licensees worldwide.
UMTS represents an evolution in terms of services and d
a
t
a
speeds from today’s second generation mobile networks like
GSM.
Mobile computing notes by Pallavi Joshi
Bluetooth
Bluetooth wireless technology is a worldwide
specification for a small-form factor, low cost radio solution
that provides links between mobile computers, mobile
phones, other portable handheld devices, and connectivity
to the Internet.
The standards and specification for Bluetooth a
r
e
developed, published and promoted by the Bluetooth
Special Interest Group.
Mobile computing notes by Pallavi Joshi
IMT 2000
International Mobile Telecommunications 2000
It is an ITU standard for 3G wireless communication.
It provides a framework for worldwide wireless accessby
linking diverse terrestrial and satellite networks.
Mobile computing notes by Pallavi Joshi
CDG
CDMA Development Group
The CDG is an international consortium of companieswho
have joined together to lead the adoption and evolution
of CDMA wireless systems around the world.
By working together, the CDG members will help
ensure interoperability among systems, while expediting
the availability of CDMA technology to consumers.
Mobile computing notes by Pallavi Joshi
PAM Forum
Presence and Availability Management Forum
The Presence and Availability Management (P
AM)
Forum is an independent consortium with a goal to
accelerate the commercial deployment of targeted
presence and availability applications and services that
respect users’ preferences, permissions and privacy.
PAM Forum will define a framework for the various
standards and specifications needed for context/location
aware applications.
Mobile computing notes by Pallavi Joshi
Parlay Group
The Parlay Group is a multi – vendor consortium
formed to develop open, technology – independent
application programming interfaces.
Parlay integrates intelligent network (IN) services w
i
t
hIT
applications via a secure, measured, and billable
interface.
Parlay will also help develop location/context a
w
a
r
e
applications and services.
Mobile computing notes by Pallavi Joshi
IETF
Internet Engineering Task Force
IETF is the standard-making body for Internet a
n
d
related technologies.
IETF is an open international community of network
designers, operators, vendors and researchers
concerned with the evolution of the Internet architecture
and the smooth operation of the Internet.
Mobile computing notes by Pallavi Joshi
DECT
Digital Enhanced Cordless Communications
It is an ITSI standard for portable phones.
DECT is known in ITU as a 3G system and is c
ommonly
referred to as IMT-FT (IMT Frequency Time).
Mobile computing notes by Pallavi Joshi
WiMAX Forum
Worldwide Interoperability for Microwave Access
WiMAX forum is dedicated to certifying the operations of
interconnecting products.
WiMAX aims to provide wireless data over long distancesin
different forms ranging from point – to – point links to full
scale mobile access networks.
Mobile computing notes by Pallavi Joshi
TTA
Telecommunications Technology Association
TTA is an IT standards organization catering to developmentof
new standards based in Korea.
It provides one stop services for comprehensive IT standards.
Mobile computing notes by Pallavi Joshi
Wi-Fi Alliance
Wi-Fi owns trademark to Wi-Fi.
It was previously known as Wireless Ethernet Compatibility
Alliance.
It is focused on interoperability and compatibility of Wi-Fi
devices and pledges itself to continuous improvements in design
and better user experience.
Mobile computing notes by Pallavi Joshi
ARIB
Association of Radio Industries and Businesses
ARIB is an institution, based in Japan, dedicated to ef
ficientuse
of radio spectrum and its implications in businesses.
It also works in the area of frequency change support.
Mobile computing notes by Pallavi Joshi
CCSA
China Communications Standards Association
It is an attempt of Chinese Ministry of IT to adapt to r
e
f
o
r
m
telecommunications industry and market.
It aims for being a nationally unified standards organizationin
China.
Mobile computing notes by Pallavi Joshi
DLNA
Digital Living Network Association
It is a cross-industry association of consumer electronics,
computing industry and mobile device companies .
The objective of DLNA is to enable a seamless environmentfor
sharing digital multimedia content across heterogeneous
devices and networks.
Mobile computing notes by Pallavi Joshi
Players in the wireless space
The stakeholders in the wireless network are:
Regulatory authorities
Operator or service provider
Subscriber
Equipment vendors
Research organizations
Mobile computing notes by Pallavi Joshi
Chapter 2
Mobile Computing Architecture
Mobile computing notes by Pallavi Joshi
Internet – The Ubiquitous Network
 Two ubiquitous networks – the telecommunications network and the Internet
 Glue for telecommunications network – SS#7 (loosely)
 Glue for the Internet – TCP/IP
 Three basic types of content – audio, video and text
 Three main segments of any network – Core, Edge and Access
 Core – backbone of network and looks at the traffic from the stream of bits point of
view
 Edge – responsible for the distribution of traffic and looks at the traffic from the
service point of view
 Access – deals with last mile of transmission
Mobile computing notes by Pallavi Joshi
Architecture of Mobile Computing
The three tier architecture contains the user interface or the presentation tier, the
process management or the application tier and the data management tier.
Mobile computing notes by Pallavi Joshi
Mobile Computing Architecture
Mobile computing notes by Pallavi Joshi
Presentation Tier
 Responsible for presenting the information to the end user
 Run on the client device and offer all the user interfaces
 Includes web browsers, WAP browsers and client programs
Mobile computing notes by Pallavi Joshi
Application Tier
 Independent of presentation and database management
 Handles functions related to middleware
 Middleware – layer of software sitting between the operating system and user facing
software
 Many types of middleware – Message Oriented Middleware, Transaction Processing
Middleware, Communication Middleware, Distributed Objects and Components,
Transcoding Middleware, Web Services, etc.
Mobile computing notes by Pallavi Joshi
Message Oriented Middleware
 Loosely connects different applications through asynchronous exchange of
messages
 Works independent of platform or processor configuration
 Generally asynchronous and peer to peer
 Works in publish / subscribe fashion
 Examples – MQ series from IBM, JMS, etc.
Mobile computing notes by Pallavi Joshi
Transaction Processing Middleware
 Provides tools and environment for developing transaction based distributed
applications
 Capable of providing services to thousands of clients in a distributed client – server
environment
 Independent of database architecture
 Example – CICS from IBM
Mobile computing notes by Pallavi Joshi
Communication Middleware
 Used to connect one application to another
 Quite useful in the telecommunications world
 Uses mediation server to automate the telnet protocol to communicate to nodes in
the network
 Example – Using telnet to connect one application to another
Mobile computing notes by Pallavi Joshi
Distributed Objects and Components
 Handles open distributed object computing infrastructure
 Example – Common Object Request Broker Architecture (CORBA)
 CORBA – a vendor independent infrastructure
 CORBA – highly interoperable across heterogeneous platforms
Mobile computing notes by Pallavi Joshi
Transcoding Middleware
 Used to transcode one format of data to another suiting the needs of the client
 Useful for content adaptation to fit the needs of device
 Example – Internet Content Adaptation Protocol (ICAP) from IETF
Mobile computing notes by Pallavi Joshi
ICAP
 Aimed at providing simple object based content vectoring for HTTP services
 Lightweight protocol to do transcoding on HTTP messages
 Similar to executing a RPC on a HTTP request
 Adapted messages can either be HTTP requests or HTTP responses
Mobile computing notes by Pallavi Joshi
Data flow in an ICAP environment
1. A user agent makes a request to an ICAP-capable surrogate (ICAP client) for
an object on an origin server.
2. The surrogate sends the request to the ICAP server.
3. The ICAP server executes the ICAP resource’s service on the request and
sends the possibly modified request, or a response to the request back to the
ICAP client.
Continued…
Mobile computing notes by Pallavi Joshi
4. The surrogate sends the request, possibly different from the original client
request, to the origin server.
5. The origin server responds to the request.
6. The surrogate sends the reply (from either the ICAP server or the origin server)
to the client.
Mobile computing notes by Pallavi Joshi
Web Services
 Provides a standard means of communication and information exchange among
different software applications
 Public interfaces and bindings are defined using XML
 Standards for service requestor and service provider
 Service requestor – find and discover the description of services
 Service provider – publish the description of services it provides
Mobile computing notes by Pallavi Joshi
Data Tier
 Used to store data needed by the application and acts as a repository for both
temporary and permanent data
 Can use XML for interoperability of data with other systems and data sources
 Might incorporate the use of Database Middleware and SyncML
 Database Middleware – interfaces application programs and the database
 Database Middleware – helps business logic run independent and transparent from
database technology and database vendor
Mobile computing notes by Pallavi Joshi
SyncML
 Emerging standard for synchronization of data access from different nodes
 Promotes a single common data synchronization protocol that can be used industry
wide
 Supports naming and identification of records and common protocol commands to
synchronize local and network data
 Works over all networks used by mobile devices – wired and wireless
Mobile computing notes by Pallavi Joshi
Design Considerations
 Context information is the information related to the surrounding environment of an
actor in that environment.
 Mobility implies that attributes associated with devices and users will change
constantly.
 Such changes shall mean that content and behavior of applications should be
adapted to suit the current situation.
 Some examples are:
1. Content with context awareness
2. Content switch on context
3. Content transcoding on context
Mobile computing notes by Pallavi Joshi
Concerning contexts in Mobile Computing
The following contexts need to be taken care of:
 User context
 Device context
 Network context
 Bandwidth context
 Location context
 Time context
 Environment context
 Charging context
 Security context
Mobile computing notes by Pallavi Joshi
Handling user context
 Who is the user?
 In Trusted Personal Devices (TPD), and certain desktop environments user can be
assumed from a particular environment. For example, anybody from IIIT – B campus can
access IEEE digital library.
 In general, desktops are shared devices and user context is dynamic.
Mobile computing notes by Pallavi Joshi
Handling device context
 What is the device behavior?
 What is the display size?
 Does it support color?
 Does it support SyncML?
 What bearers it support?
 Is there any shared object between applications in device and server?
 Can we identify the device without ambiguity (like IMEI)?
Mobile computing notes by Pallavi Joshi
Handling network context
 What is the security policy in the network?
 What are the available bearers in the network?
 What are the different nodes in the network?
 Does the network offer positioning information?
 What are the different services available within the network?
 What are the services the user has subscribed to?
Mobile computing notes by Pallavi Joshi
Handling bandwidth context
 What is the bandwidth available for this network?
 What is the bandwidth the subscriber is allowed to?
 Is there any service level agreement on bandwidth between the user and network?
 Who pays for the bandwidth?
Mobile computing notes by Pallavi Joshi
Handling location context
 Can we locate the device?
 What is the positioning information (For example, is the car facing north way or south
way in the highway)?
Mobile computing notes by Pallavi Joshi
Handling time context
 Can we identify the timezone of the client?
 Can we get the timestamp of the client?
 Can we synchronize the clock?
 Providing information based on time. For example, I finish my meeting at 4:00 PM,
the system (Cyberguide from Georgia Tech) can tell me that I can visit a museum and
the close by aquarium followed by dinner in an Indian restaurant.
Mobile computing notes by Pallavi Joshi
Handling environment context
 What are the environmental conditions of the surrounding?
 Essential for sensor based networks
 Essential for telematic applications
 Essential for embedded systems
Mobile computing notes by Pallavi Joshi
Handling charging context
 Who pays for this service?
 How to collect the usage information?
 Whom to send the information for billing the end user?
 What are the principles of sharing the revenue with other service providers?
Mobile computing notes by Pallavi Joshi
Handling security context
 What is the security context?
 Can we authenticate the device?
 Can we authenticate the user of the device?
 Is the network trusted? If not, what is required to build the trust?
 Is the network encrypted?
 What types of encryption does the client support?
 Does the client have a WIM (Wireless Identification Module)?
 Does the client have a private key?
Mobile computing notes by Pallavi Joshi
Content architecture in Mobile Computing
Mobile computing notes by Pallavi Joshi
Client Context Manager (CCM)
 Maintains information pertaining to:
1. Mobile devices
2. Users
3. Location
4. Network
5. Environment around each mobile device
Mobile computing notes by Pallavi Joshi
Challenges with CCM
 Context definition: Defining context attributes with interoperability in mind;
how will every GPS device know the current data format?
 Context sensing: The way context data is obtained; e.g. GPS data acquisition
 Context representation: The way context information is stored and transported;
e.g. transmitting such information
 Context interpretation: The way the context data is interpreted; e.g. we might
need additional GIS information to interpret the GPS data
Mobile computing notes by Pallavi Joshi
Contexts handled by CCM
 Identity
 Spatial and temporal information
 Environmental information
 Social information
 Proximity and availability of resources
 Physiological measurements
 Activity
 Schedules and agendas
Mobile computing notes by Pallavi Joshi
Functions of the CCM
 Responsible for receiving raw context data, collating the data into a useful form and
disseminating it to context consumers.
 Present context information to consumers in suitable and interoperable form.
 Context model should allow aggregation.
 Dynamic updates should be possible.
 Context history should be available.
 Context should be filtered.
Mobile computing notes by Pallavi Joshi
Composite Capabilities/Preference Profiles
 Proposed W3C standard for describing device capabilities and user preferences
 Based on Resource Description framework (RDF)
 Can be serialized using XML
 Origin server or proxy can perform some sort of content to device matching
 Abbreviated as CC/PP
Mobile computing notes by Pallavi Joshi
CC/PP in action
 Device sends serialized profile model with request for content.
 Origin server receives serialized RDF profile and converts it into an in – memory
model.
 The profile for the requested document is retrieved and an in –memory model is
created.
 The device profile model is matched against the document profile model.
 A suitable representation of the document is chosen. Either content switch on
context or content transcoding on context is employed.
 Document is returned to device and presented.
Mobile computing notes by Pallavi Joshi
Simplest use of CC/PP
Mobile computing notes by Pallavi Joshi
Format for RDF
Mobile computing notes by Pallavi Joshi
Example for RDF
Mobile computing notes by Pallavi Joshi
Parser for RDF
 Java based RDF parser (SiRPAC) is available free on the web.
 SiRPAC can be used to parse serialised RDF into triples.
 Triples are the output of RDF parsers and are of the form triple (subject, predicate,
object).
 Using triples, it is possible to build a CC/PP model. The model is updated whenever
new context data are sent from context sources.
Mobile computing notes by Pallavi Joshi
Policy Manager
 Responsible for controlling policies related to mobility
 Should be able to define policy for documents/services and assign roles to user
 Should assign roles to users like
– Permission
– Prohibition
– Obligations
 Policy combined with context should determine
– what action(s) the user is allowed to perform?
– what action(s) the user is obliged to perform?
– the policy applicable
Mobile computing notes by Pallavi Joshi
Semantic Web
 Facilitates putting machine understandable data on the web
 Facilitates web definition and linking in a way to be useful for machines in the
context of automation, security, filtering, integration and data reuse
 Increases the modularity of web applications
 Built on syntaxes which use URI’s to represent data
 Such syntaxes are called Resource Description Framework (RDF) syntaxes
Mobile computing notes by Pallavi Joshi
Security Manager
 Secures connection between client device and origin server
 Should handle
– Confidentiality (managed by encryption)
– Integrity (managed by algorithms)
– Availability (relates to peripheral security)
– Non – repudiation (managed by digital signatures)
Mobile computing notes by Pallavi Joshi
Platform for Privacy Preference Project
 Emerging standard defined by W3C
 Enables websites to express their privacy practices in a standardized format
retrievable and interpretable by user agents
 Any discrepancies between a site’s practices and the user preferences can be
flagged as well
 Does not provide any mechanism for ensuring that websites act according to their
policies
 Intended to be complementary to both legislative and self–regulatory programmes
Mobile computing notes by Pallavi Joshi
Adaptability Manager
 Based on context and policy , it should adapt to:
– Content
– Behaviour
– Other aspects
 May take any number of actions depending upon the information passed to it by
Context Manager
 May include appending location – specific information to documents
Mobile computing notes by Pallavi Joshi
Content adaptation
 Content should be able to adapt to dynamic situations.
 Adaptation can be static or dynamic.
 Content adaptation can be performed either at content level in server or agent
level in client.
 Content adaptation can be handled by middleware as well.
 Content adaptation needs to consider the physical and logical capabilities of the
device, effective network bandwidth and payload (total number of bits delivered to
the agent for static parts).
Mobile computing notes by Pallavi Joshi
Content transcoding
The resource requirements for the client devices can be determined by:
 Static content size in bits
 Display size
 Streaming bit rate
 Colour requirements
 Compression formats
 Hardware requirements
Mobile computing notes by Pallavi Joshi
Types of content transcoding
 Spatial transcoding
 Temporal transcoding
 Colour transcoding
 Code transcoding
 Object or semantic transcoding
Mobile computing notes by Pallavi Joshi
Content rating and filtering
 Need to ensure social discipline in the electronic world
 Platform for Internet Content Selection (PICS)
 PICS – W3C proposed standard for web content rating
 PICS – set of technical specifications for labels that help software and rating services
to work synergistically
 PICS – services should choose their own criteria for proper identification and filtering
of content
 Rating can be though self labeling or third party labeling
 Originally designed to help parents and teachers control children access to the
Internet
 Also includes code signing and privacy
Mobile computing notes by Pallavi Joshi
RSACI
 Acronym for Recreational Software Advisory Council – Internet
 Has a PICS compliant rating system called Resaca
 Resaca has four categories – violence, nudity, sex and language
 Has a rating range from 0 to 4
 0 means no potentially offensive content
 4 means highest level of offensive content
 PICS – a general meta data system
 PICS labels – helpful in finding desirable content on the web
 PICS – enables more sophisticated commerce, communication, indexing and searching
services
Mobile computing notes by Pallavi Joshi
Content Aggregation
From the content aggregator’s perspective, services are of two categories:
 Single service request – works at user level and for one user
Example : A user may request a webpage in Hindi from proxy server. Here, the user buys
both the content and translation service.
 Group service request – works for a group of users
Example : The content aggregator has some arrangement for advertisement. It
examines all HTML pages and inserts an advertisement at an appropriate place.
Mobile computing notes by Pallavi Joshi
Seamless Communication
 A ubiquitous system involves availability and accessibility from anywhere, anytime
and through any network or device.
 Seamless communication shall involve seamless handovers and seamless roaming.
 Handoff is the process by which the connection to the network is moved from one
base station to another within the same network without discontinuing the service.
 Roaming shall involve the point of attachment moving from one base station of one
network to a base station of another network.
Mobile computing notes by Pallavi Joshi
Aspects of Seamless Communication
 Authentication across network boundaries
 Authorization across network boundaries
 Billing and charging data collection
 End – to – end data security across roaming
 Handoff between wireless access points
 Roaming between networks
 Session migration
 IP mobility
Mobile computing notes by Pallavi Joshi
Autonomous Computing
The purpose of autonomous computing is to free users and system administrators from
the details of the system operation and maintenance complexity. It combines the
following functions:
 Self configurable
 Self optimizing
 Self healing
 Self protecting
 Self upgradable
Mobile computing notes by Pallavi Joshi
Context aware systems
The following information needs to be handled in a mobile computing environment
for making a system context aware:
 Location information
 Device information
 Network information
 User information
 Environment information
Mobile computing notes by Pallavi Joshi
Global Positioning System
 Gives the exact positioning on Earth
 Funded and controlled by US Department of Defense
 Has three parts – the space segment, the user segment and control segment.
 Has 24 satellites , each in its own orbit 11,000 nautical miles above Earth.
Mobile computing notes by Pallavi Joshi
Making existing applications mobile enabled
 Enhancing an existing application
 Renting an application
 Developing a new application
 Buying a packaged solution
 Bridging the gap through middleware
Mobile computing notes by Pallavi Joshi
Chapter 4
Emerging Technologies
Mobile computing notes by Pallavi Joshi
Emerging Technologies
 Bluetooth
 Radio Frequency Identification (RFID)
 WiMAX
 Mobile IP
 IPv6
 Java Card
Mobile computing notes by Pallavi Joshi
Bluetooth
 Name comes from nickname of Danish king Harald Blåtand
Allows users to make ad hoc wireless connections between
devices like mobile phones, desktop or notebook computers
wirelessly
Data transfer at a speed of about 720 Kbps within 50 meters
(150 feet) of range or beyond through walls, clothing and even
luggage bags
 Built into a small microchip
Operates in a globally available frequency band ensuring
worldwide interoperability
 Managed and maintained by Bluetooth Special Interest Group
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol
Uses the unlicensed 2.4 GHz ISM (Industrial Scientific and
Medical) frequency band
 79 available channels spaced 1 MHz apart from 2.402 GHz to
2.480 GHz
Allows power levels starting from 1mW (covering 10
centimetres) to 100mW (covering upto 100 meters) suitable for
short device zone to personal area networks within a home
Supports both unicast (point-to-point) and multicast (point-to-
multipoint) connections
Bluetooth protocols are a collection of many inter-related
protocols
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol
 Uses the master and slave relationship
 Master and slaves together form a Piconet when master allows
slaves to talk
Up to seven ‘slave’devices can be set to communicate with a
‘master’in a Piconet
Scatternet is formed when several of piconets are linked
together to form a larger network in an ad hoc manner
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol
Scatternet is a topology where a device from one piconet also
acts as a member of another piconet wherein a device being a
master in one piconet can simultaneously be a slave in the other
one
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol
Bluetooth Core protocols plus Bluetooth radio protocols are
required by most of Bluetooth devices
Uses spread spectrum technologies at the Physical Layer while
using both direct sequence and frequency hopping spread
spectrum technologies
Uses connectionless (ACL–Asynchronous Connectionless
Link) and connection-oriented (SCO–Synchronous Connection-
oriented Link) links
Cable Replacement layer, Telephony Control layer and
Adopted protocol layer form application-oriented protocols
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol Stack
OBEX – Object Exchange Protocol
WAE – WirelessApplication Environment
W
AP – Wireless Application Protocol
LMP – Link Manager Protocol
TCS BIN – Telephony Control Specification Binary
SDP – Service Discovery Protocol
RFCOMM – Radio Frequency Communication
L2CAP – Logical Link Control and Adaptation Protocol
Mobile computing notes by Pallavi Joshi
Bluetooth Protocol Stack
1. Bluetooth Core Protocols
2. Cable Replacement Protocol
3. Telephony Control Protocols
4. Adopted Protocols
Mobile computing notes by Pallavi Joshi
Bluetooth Core Protocols
 Baseband – enables physical RF link
 Link Manager Protocol (LMP) – manages devices in
range, power modes, connections, duty cycles, etc.
Logical Link Control and Adaptation Protocol (L2CAP) –
segmentation and re-assembly of fragmented packets with their
multiplexing
Service Discovery Protocol (SDP) – Enables a device to join a
piconet
Mobile computing notes by Pallavi Joshi
Cable Replacement Protocol
Radio Frequency Communication (RFCOMM) - emulates RS-
232 control and data signals over Bluetooth baseband protocol
Mobile computing notes by Pallavi Joshi
Telephony Control Protocols
Telephony Control Specification Binary (TCS BIN) - defines
the call control signaling protocol and handles mobility
management for groups of Bluetooth TCS devices
Attention (AT) Commands - defines a set of commands by
which a mobile phone can be used and controlled as a modem for
fax and data transfers
Mobile computing notes by Pallavi Joshi
Adopted Protocols
Point-to-Point Protocol (PPP) - means of taking IP packets
to/from the PPP layer and placing them onto the LAN
Transmission Control Protocol/Internet Protocol (TCP/IP) -
used for communication across the Internet
Object Exchange (OBEX) Protocol - session protocol to
exchange objects and used to browse the contents of folders on
remote devices
Content Formats - used to exchange messages and notes and
synchronize data amongst various devices
Mobile computing notes by Pallavi Joshi
Bluetooth Security
Offers security infrastructure starting from authentication, key
exchange to encryption
Uses the publicly available cipher algorithm known as
SAFER+ to authenticate a device’s identity
Mobile computing notes by Pallavi Joshi
Bluetooth Application Models
Each application model in Bluetooth is realized through a Profile.
Profiles define the protocols and protocol features supporting a
particular usage model. Some common profiles are:
 File Transfer
 Internet Bridge
 LAN Access
 Synchronization
 Headset
Mobile computing notes by Pallavi Joshi
RFID
 Radio Frequency Identification
Radio transponder (known as RFID tags) carrying an ID
(Identification) can be read through radio frequency (RF)
interfaces
Tag is attached to the object and data within the tag provides
identification for the object
Object could be an entity in a manufacturing shop, goods in
transit, item in a retail store, a vehicle in a parking lot, a pet, or a
book in a library
Mobile computing notes by Pallavi Joshi
RFID System
Comprises of different functional areas like:
 Means of reading or interrogating the
 Mechanism to filter some of the data
 Means to communicate the data in the tag with a host computer
 Means for updating or entering customized data into the tag
Mobile computing notes by Pallavi Joshi
RFID Tags
Three basic criteria for categorisation:
 Frequency
 Application
 Power levels
Mobile computing notes by Pallavi Joshi
RFID tags based on frequency
Works on six frequencies of 132.4 KHz, 13.56 MHz, 433
MHz, 918 MHz, 2.4 GHz and 5.8 GHz
Low frequency range tags are slow in data transfer and suitable
for slow moving objects, security access, asset tracking and
animal identification applications
High frequency range tags offer long reading ranges and high
data transfer speed and are used for fast moving objects like
railway wagon tracking and identification of vehicles on freeways
for automated toll collection
 Higher the frequency, higher the data transfer rates
Mobile computing notes by Pallavi Joshi
RFID tags based on applications
Speed of the object and distance to be read determines the type
of tag to be used
RFID systems follow contact-less and non line-of-sight nature
of the technology
 Tags can be read at high speeds
RFID tag contains two segments of memory - one segment is a
factory set and used to uniquely identify a tag while the other one
is used by the application
Read/write capability of a RFID system is an advantage in
interactive applications such as work-in-process or maintenance
tracking
Mobile computing notes by Pallavi Joshi
RFID tags based on power levels
 Two types -Active and Passive tags
 Passive tags are generally in low frequency range
 Tags at higher frequency range can be either active or passive
Mobile computing notes by Pallavi Joshi
Active Tags
 Powered by an internal battery and are typically read/write
 Memory can vary from a few bytes to 1MB
Battery supplied power of an active tag generally gives it a
longer read range
 Greater the size, greater the cost and a limited operational life
Mobile computing notes by Pallavi Joshi
Passive Tags
 Operate without own power source
 Obtains operating power from the reader’s antenna
Data within a passive tag is read only and generally cannot be
changed during operation
Lighter, less expensive and offer a virtually unlimited
operational life
Have shorter read ranges than active tags and require a high
powered reader
 Data is usually 32 to 128 bits long
Mobile computing notes by Pallavi Joshi
Components of an RFID system
Atransponder programmed with unique information (RFID
tag)
 Atransceiver with decoder (a reader)
 An antenna or coil
Close proximity passive tags rely on electromagnetic or inductive
coupling techniques whereas active tags are based upon
propagating electromagnetic waves techniques
Mobile computing notes by Pallavi Joshi
Coupling in Passive and Active RFID tags
(a) Passive RFID tags (b)Active RFID tags
Mobile computing notes by Pallavi Joshi
Appl
icati
on
areas
for
RFI
D
 Transportation and Logistics
 Manufacturing and Processing
 Security
 Animal tagging
 Retail store and enterprise stores
 Community library
 Time and attendance
 Postal tracking
 Airline baggage reconciliation
 Road toll management
Mobile computing notes by Pallavi Joshi
Wireless Broadband
Also known as Wireless MetropolitanArea Network (Wireless
MAN) and Wireless MicrowaveAccess (WiMAX)
 IEEE 802.16 standard released inApril 2002
Offers an alternative to high bandwidth wired access networks
like fiber optic, cable modems and DSL
Provides network access to buildings through exterior antennas
communicating with radio base stations
Networks can be created in just weeks by deploying a small
number of base stations on buildings or poles to create high
capacity wireless access systems
Mobile computing notes by Pallavi Joshi
Overview of IEEE 802.16
Mobile computing notes by Pallavi Joshi
Sub-standards of IEEE 802.16
 IEEE 802.16.1 -Air interface for 10 to 66 GHz
 IEEE 802.16.2 - Coexistence of broadband wireless access
systems
IEEE 802.16.3 -Air interface for licensed frequencies, 2 to 11
GHz
Mobile computing notes by Pallavi Joshi
Basics of IEEE 802.16
IEEE 802.16 standards are concerned with the air interface
between a subscriber’s transceiver station and a base transceiver
station
 The Physical Layer
 MAC Layer
 Convergence Layer
Mobile computing notes by Pallavi Joshi
Physical Layer
Specifies the frequency band, the modulation scheme, error-
correction techniques, synchronization between transmitter and
receiver, data rate and the multiplexing structure
Both TDD and FDD alternatives support adaptive burst profiles
in which modulation and coding options may be dynamically
assigned on a burst-by-burst basis
 Three physical layer for services: Wireless MAN-
SC2, Wireless MAN-OFDM and Wireless MAN-OFDMA
Mobile computing notes by Pallavi Joshi
Medium Access Control Layer
 Designed for point-to-multipoint broadband wireless access
 Addresses the need for very high bit rates, both uplink (to the
base station) and downlink (from the base station)
Services like multimedia and voice can run as 802.16 MAC is
equipped to accommodate both continuous and bursty traffic
Mobile computing notes by Pallavi Joshi
Convergence Layer
 Provides functions specific to the service being provided
Bearer services include digital audio/video multicast, digital
telephony, A
TM, Internet access, wireless trunks in telephone
networks and frame relay
Mobile computing notes by Pallavi Joshi
Mobile IP
 ‘Mobile IP’signifies that, while a user is connected to
applications across the Internet and the user’s point of attachment
changes dynamically, all connections are maintained despite the
change in underlying network properties
 Similar to the handoff/roaming situation in cellular network
Mobile IP allows the mobile node to use two IP addresses
called home address and care of address
The home address is static and known to everybody as the
identity of the host
The care of address changes at each new point of attachment
and can be thought of as the mobile node’s location specific
address
Mobile computing notes by Pallavi Joshi
Working of Mobile IP
Mobile computing notes by Pallavi Joshi
Working of Mobile IP
Let’s take the case of mobile node (A) and another host (server X).
The following steps take place:
Server X wants to transmit an IP datagram to nodeA. The home
address of A is advertised and known to X. X does not know
whetherAis in the home network or somewhere else. Therefore, X
sends the packet toAwithA’s home address as the destination IP
address in the IP header. The IP datagram is routed toA’s home
network.
Mobile computing notes by Pallavi Joshi
Working of Mobile IP
At the A’s home network, the incoming IP datagram is
intercepted by the home agent. The home agent discovers thatAis
in a foreign network. A care of address has been allocated to A by
this foreign network and available with the home agent. The home
agent encapsulates the entire datagram inside a new IP
datagram, with A’s care of address in the IP header. This new
datagram with the care of address as the destination address is
retransmitted by the home agent.
At the foreign network, the incoming IP datagram is intercepted
by the foreign agent. The foreign agent is the counterpart of the
home agent in the foreign network. The foreign agent strips off
the outer IP header, and delivers the original datagram toA.
Mobile computing notes by Pallavi Joshi
Working of Mobile IP
A intends to respond to this message and sends traffic to X. In
this example, X is not mobile; therefore X has a fixed IP address.
For routingA
’s IP datagram to X, each datagram is sent to some
router in the foreign network. Typically, this router is the foreign
agent.Auses X’s IP static address as the destination address in the
IP header.
The IP datagram fromAto X travels directly across the
network, using X’s IP address as the destination address.
Mobile computing notes by Pallavi Joshi
Working of Mobile IP
Discovery -Amobile node uses a discovery procedure to
identify prospective home agents and foreign agents.
Registration -Amobile node uses a registration procedure to
inform its home agent of its care-of address.
Tunneling - Tunneling procedure is used to forward IP
datagrams from a home address to a care of address.
Mobile computing notes by Pallavi Joshi
IP headers in Mobile IP
Mobile computing notes by Pallavi Joshi
Cellular IP
None of the nodes know the exact location of a mobile host.
Packets addressed to a mobile host are routed to its current base
station on a hop-by-hop basis where each node only needs to
know on which of its outgoing ports to forward packets. This
limited routing information (referred as mapping) is local to the
node and does not assume that nodes have any knowledge of the
wireless network topology. Mappings are created and updated
based on the packets transmitted by mobile hosts.
Mobile computing notes by Pallavi Joshi
Cellular IP
Uses two parallel structures of mappings through Paging
Caches (PC) and Routing Caches (RC)
PCs maintain mappings for stationary and idle (not in data
communication state) hosts
 RC maintains mappings for mobile hosts
Mapping entries in PC have a large timeout interval, in the
order of seconds or minutes. RCs maintain mappings for mobile
hosts currently receiving data or expecting to receive data
Mobile computing notes by Pallavi Joshi
Relationship between Mobile IP and Cellular IP
Mobile computing notes by Pallavi Joshi
Internet Protocol version 6
 Successor to today’s IP version 4 protocol (IPv4)
 Internet Engineering Task Force (IETF) has produced a
comprehensive set of specifications (RFC
1287, 1752, 1886, 1971, 1993, 2292, 2373, 2460, 2473, etc.) that
define the next-generation IP protocol originally known as ‘IPNg’
Uses 128 bit addresses for each packet creating a virtually
infinite number of IP addresses (approximately 3.4*10**38 IP
addresses) as opposed to 3758096384 IPv4 addresses
Mobile computing notes by Pallavi Joshi
IPv6
 There are global addresses and local addresses
 Global addresses are used for routing of global Internet
 Link local addresses are available within a subnet
 IPv6 uses hierarchical addressing with three level of addresses
 Includes a Public Topology (the 48 bit external routing prefix)
 Site Topology (typically a 16 bit subnet number)
Interface Identifier (typically an automatically generated 64 bit
number unique on the local LAN segment)
Mobile computing notes by Pallavi Joshi
Hierarchical addressing of IPv6
Mobile computing notes by Pallavi Joshi
IPv6 Security
Comes native with a security protocol called IP Security
(IPSec)
IPSec protocol is a standards-based method of providing
privacy, integrity and authenticity to information transferred
across IP networks
Mobile computing notes by Pallavi Joshi
Features of IPSec
Diffie-Hellman key exchange mechanism for deriving key
between peers on a public network
 Public key cryptography to guarantee the identity of the two
parties and avoid man-in-the-middle attacks
Bulk encryption algorithms, such as 3DES, for encrypting the
data
Keyed hash algorithms, such as HMAC, combined with
traditional hash algorithms such as MD5 or SHAfor providing
packet authentication
 Digital certificates signed by a certificate authority to act as
digital ID cards
 IPSec provides IP network layer encryption
Mobile computing notes by Pallavi Joshi
Migrating from IPv4 to IPv6
Migration of the network components to be able to support
IPv6 packets. Using IP tunneling, IPv6 packets can propagate over
an IPv4 envelope. Existing routers can support IP tunneling.
Migration of the computing nodes in the network. This will
need the operating system upgrades so that they support IPv6
along with IPv4. Upgraded systems will have both IPv4 and IPv6
stacks.
Migration of networking applications in both client and server
systems. This requires porting of the applications from IPv4 to
IPv6 environment.
Mobile computing notes by Pallavi Joshi
Interconnecting IPv6 networks
Tunneling is one of the key deployment strategies for both
service providers as well as enterprises during the period of IPv4
and IPv6 coexistence.
Tunneling service providers can offer an end-to-end IPv6
service without major upgrades to the infrastructure and without
impacting current IPv4 services.
Mobile computing notes by Pallavi Joshi
Tunneling Mechanisms
Manually created tunnels such as IPv6 manually configured
tunnels (RFC 2893)
 IPv6 over IPv4 tunnels
Semiautomatic tunnel mechanisms such as that employed by
tunnel broker services
 Fully automatic tunnel mechanisms such as IPv4 compatible
Mobile computing notes by Pallavi Joshi
Mobile IP with IPv6
IPv6 with hierarchical addressing scheme can manage IP
mobility much efficiently.
IPv6 also attempts to simplify the process of renumbering
which could be critical to the future routing of the Internet traffic.
Mobility Support in IPv6, as proposed by the Mobile IP
working group, follows the design for Mobile IPv4. It retains the
ideas of a home network, home agent and the use of encapsulation
to deliver packets from the home network to the mobile node’s
current point of attachment.
While discovery of a care of address is still required, a mobile
node can configure its a care of address by using Stateless
Address Auto-configuration and Neighbor Discovery. Thus,
foreign agents are not required to support mobility in IPv6.
Mobile computing notes by Pallavi Joshi
Java Card
 Smart card with Java framework
 Smart card is a plastic card with intelligence and memory
Asmart card is embedded with either (i) a microprocessor and
a memory chip or (ii) only a memory chip with non-
programmable logic
Amicroprocessor card can have an intelligent program resident
within the card which can add, delete, and otherwise manipulate
information on the card
 Amemory card can store some information for some pre-
defined operation
Mobile computing notes by Pallavi Joshi
Java Card
 Java was chosen as the vehicle for interoperability
 All the microprocessor based smart cards now offer JavaAPI
framework on the smart card
Java Card technology preserves many of the benefits of the
Java programming languages such as
productivity, security, robustness, tools, and portability
For Java card, the Java Virtual Machine ( JVM), the language
definition, and the core packages have been made more compact
to bring Java technology to the resource constrained smart cards
Mobile computing notes by Pallavi Joshi
Architecture of Java Card
Mobile computing notes by Pallavi Joshi
Functioning of Java Card
 Java card technology supports OTA(Over TheAir) downloads
 Applications written for the Java Card platform are referred to
as applets
Challenge of Java Card technology on smart card is to fit Java
system software in a resource constraint smart card while
conserving enough space for applications
The Java Card virtual machine on a smart card is split into two
parts; one that runs off-card and the other that runs on-card
Mobile computing notes by Pallavi Joshi
Functioning of Java Card
Many processing tasks that are not constrained to execute at
run time, such as class loading, bytecode verification, resolution
and linking, and optimization, are dedicated to the virtual machine
that is running off-card where resources are usually not a concern
The on-card components of Java Card include components like
the Java card virtual machine ( JCVM), the Java card runtime
environment ( JCRE), and the JavaAPI
Task of the compiler is to convert a Java source into Java class
files
The converter will convert class files into a format
downloadable into the smart card while ensuring the byte code
validity
Mobile computing notes by Pallavi Joshi
Functioning of Java Card
The converter checks the classes off-card for
 Well formedness
 Java Card subset violations
 Static variable initialization
 Reference resolution
 Byte code optimization
 StorageAllocation.
 The java card interpreter
 Executes the applets
 Controls run-time resources
 Enforces runtime security
Mobile computing notes by Pallavi Joshi
Functioning of Java Card
Following conversion by the off-card VM into CAP (Converted
APlet) format, the applet is transferred into the card using the
installer
 Applet is selected for execution by the JCRE
JCRE is made up of the on-card virtual machine and the Java
CardAPI classes and performs additional runtime security checks
through applet firewall
Applet firewall partitions the objects stored into separate
protected object spaces, called contexts and controls the access to
shareable interfaces of these objects
It is then executed on JVCM which is scaled down version of
standard JVM ( Java Virtual Machine)
Mobile computing notes by Pallavi Joshi
GSM
Mobile computing notes by Pallavi Joshi
Global System for Mobile Communications
 Originally GSM stood for Groupe Speciale Mobile
 GSM to meet the following business objectives
1. Support for international roaming
2. Good speech quality
3. Ability to support handheld terminals
4. Low terminal and service cost
5. Spectral efficiency
6. Support for a range of new services and facilities
7. ISDN compatibility
Mobile computing notes by Pallavi Joshi
GSM Timeline
Mobile computing notes by Pallavi Joshi
Use of TDMA and FDMA in GSM
Uses a combination of FDMA(Frequency Division Multiple
Access) and TDMA(Time Division MultipleAccess)
Allocation of 50 MHz (890–915 MHz and 935–960 MHz)
bandwidth in the 900 MHz frequency band and using FDMA
further divided into 124 (125 channels, 1 not used) channels
each with a carrier bandwidth of 200 KHz
Using TDMA, each of the above mentioned channels is
then further divided into 8 time slots
So, with the combination of FDMA and TDMA, a
maximum of992 channels for transmit and receive can be
realized
Mobile computing notes by Pallavi Joshi
Frequency reuse in GSM
To serve hundreds of thousands of users, the frequency must be
reused and this is done through cells.
The area to be covered is subdivided into radio zones or
cells. Though in reality these cells could be of any shape,
for convenient modeling purposes these are modeled as
hexagons. Base stations are positioned at the center of
these cells.
Each cell i receives a subset of frequencies fbi from the
total set assigned to the respective mobile network. To
avoid any type of co-channel interference, two neighboring
cells never use the same frequencies.
Mobile computing notes by Pallavi Joshi
Frequency reuse in GSM
Only at a distance of D (known as frequency reuse
distance), the same frequency from the set fbi can be
reused. Cells with distance D from cell i, can be assigned
one or all the frequencies from the set fbi belonging to cell i.
When moving from one cell to another during an ongoing
conversation, an automatic channel change occurs. This
phenomenon is called handover. Handover maintains an
active speech and data connection over cell boundaries.
The regular repetition of frequencies in cells result in a
clustering of cells. The clusters generated in this way can
consume the whole frequency band. The size of a cluster is
defined by k, the number of cells in the cluster. This also
defines the frequency reuse distance D. The figure in next
slide shows an example of cluster size of 4.
Mobile computing notes by Pallavi Joshi
Cell clusters in GSM
Mobile computing notes by Pallavi Joshi
GSM System Hierarchy
Mobile computing notes by Pallavi Joshi
GSM System Hierarchy
Consists at the minimum one administrative region
assigned to one MSC (Mobile Switching Centre)
Administrative region is commonly known as PLMN
(Public Land Mobile Network)
Each administrative region is subdivided into one or
many LocationArea (LA)
One LA consists of many cell groups and each cell group
is assigned to one BSC (Base Station Controller)
 For each LA, there will be at least one BSC while cells in
one BSC can belong to different LAs
Mobile computing notes by Pallavi Joshi
GSM Architecture
Mobile computing notes by Pallavi Joshi
GSM Architecture
Cells are formed by the radio areas covered by a BTS
(Base Transceiver Station)
 Several BTSs are controlled by one BSC
Traffic from the MS (Mobile Station) is routed through
MSC
Calls originating from or terminating in a fixed network or
other mobile networks is handled by the GMSC (Gateway
MSC)
Mobile computing notes by Pallavi Joshi
Operational Architecture of GSM
Mobile computing notes by Pallavi Joshi
Home Location Register (HLR) in GSM
 It contains the following information:
1. Authentication information like International Mobile
Subscriber Identity (IMSI)
2. Identification information like name, address, etc. of the
subscriber
3. Identification information like Mobile Subscriber ISDN
(MSISDN) etc.
4. Billing information like prepaid or postpaid
5. Operator selected denial of service to a subscriber
Mobile computing notes by Pallavi Joshi
Home Location Register (HLR) in GSM
6. Handling of supplementary services like for CFU (Call
Forwarding Unconditional), CFB (Call Forwarding Busy),
CFNR (Call Forwarding Not Reachable) or CFNA (Call
Forwarding Not Answered)
7. Storage of SMS Service Center (SC) number in case the
mobile is not connectable so that whenever the mobile is
connectable, a paging signal is sent to the SC
8. Provisioning information like whether long distance and
international calls allowed or not
9. Provisioning information like whether roaming is enabled
or not
Mobile computing notes by Pallavi Joshi
Home Location Register (HLR) in GSM
10. Information related to auxiliary services like Voice mail, data,
fax services, etc.
11. Information related to auxiliary services like CLI (Caller Line
Identification), etc.
12. Information related to supplementary services for call routing.
In GSM network, one can customize the personal profile to
the extent that while the subscriber is roaming in a foreign
PLMN, incoming calls can be barred.Also, outgoing
international calls can be barred, etc.
13. Some variable information like pointer to the VLR, location
area of the subscriber, Power OFF status of the handset,
etc.Mobile computing notes by Pallavi Joshi
Entities in GSM
The Mobile Station (MS) - This includes the Mobile
Equipment (ME) and the Subscriber Identity Module (SIM).
The Base Station Subsystem (BSS) - This includes the Base
Transceiver Station (BTS) and the Base Station Controller (BSC).
The Network and Switching Subsystem (NSS) - This includes
Mobile Switching Center (MSC), Home Location Register (HLR),
Visitor Location Register (VLR), Equipment Identity Register
(EIR), and theAuthentication Center (AUC).
The Operation and Support Subsystem (OSS) - This includes
the Operation and Maintenance Center (OMC).
Mobile computing notes by Pallavi Joshi
Mobile Station
Mobile Station (MS) consists of two main elements: mobile
equipment or mobile device (that is the phone without the
SIM card) and Subscriber Identity Module (SIM)
Terminals distinguished principally by their power and
application
SIM is installed in every GSM phone and identifies the
terminal
SIM cards used in GSM phones are smart processor
cards with a processor and a small memory
SIM card contains the International Mobile Subscriber
Identity (IMSI) used to identify the subscriber to the system,
a secret key for authentication, and other security
information
Mobile computing notes by Pallavi Joshi
Base Station Subsystem
Base Station Subsystem (BSS) connects the Mobile
Station and the Network and Switching Subsystem (NSS)
In charge of the transmission and reception for the last
mile
BSS can be divided into two parts: Base Transceiver
Station (BTS) or Base Station and Base Station Controller
(BSC)
Base Transceiver Station corresponds to the transceivers
and antennas used in each cell of the network
BTS is usually placed in the center of a cell and its
transmitting power defines the size of a cell
Mobile computing notes by Pallavi Joshi
Base Station Subsystem
BTS houses the radio transmitter and the receivers that define a
cell and handles the radio-link protocols with the Mobile Station
while handling between one and sixteen transceivers depending
on the density of users in the cell
Base Station Controller is the connection between the BTS and
the Mobile service Switching Center (MSC) and manages the
radio resources for one or more BTSs
BSC handles handovers, radio-channel setup, control of radio
frequency power levels of the BTSs, exchange function, and the
frequency hopping
Mobile computing notes by Pallavi Joshi
Network and Switching Subsystem
 Central component of the Network Subsystem is the
Mobile Switching Center (MSC)
 Signaling between functional entities in the Network
Subsystem uses Signaling System Number 7 (SS7)
 MSC together with Home Location Register (HLR) and
Visitor Location Register (VLR) databases, provide the
call-routing and roaming capabilities of GSM
 MSC does the following functions:
1. It acts like a normal switching node for mobile
subscribers of the same network (connection between
mobile phone to mobile phone within the same network)
Mobile computing notes by Pallavi Joshi
Network and Switching Subsystem
2. It acts like a normal switching node for the PSTN fixed
telephone (connection between mobile phone to fixed
phone)
3. It acts like a normal switching node for ISDN
4. It provides all the functionality needed to handle a
mobile subscriber, such as registration, authentication,
location updating, handovers and call routing
5. It includes databases needed in order to store
information to manage the mobility of a roaming
subscriber
Mobile computing notes by Pallavi Joshi
Network Switching Subsystem
MSC together with Home Location Register (HLR) and
Visitor Location Register (VLR) databases, provide the call-
routing and roaming capabilities of GSM
HLR contains all the administrative information of each
subscriber registered in the corresponding GSM network
Location of the mobile is typically in the form of the
signaling address of the VLR associated with the mobile
station
HLR is always fixed and stored in the home network,
whereas the VLR logically moves with the subscriber
VLR is similar to a cache, whereas HLR is the persistent
storage
Mobile computing notes by Pallavi Joshi
Network and Switching Subsystem
VLR contains selected administrative information
borrowed from the HLR, necessary for call control and
provisioning of the subscribed services
When a subscriber enters the covering area of a new
MSC, the VLR associated with this MSC can request
information about the new subscriber from its corresponding
HLR in the home network
There is a component called Gateway MSC (GMSC) that
is associated with the MSC
Mobile computing notes by Pallavi Joshi
Network and Switching Subsystem
GMSC is the interface between the mobile cellular
network and the PSTN and also is in charge of routing calls
from the fixed network towards a GSM user and vice versa
GMSC is often implemented in the same node as the
MSC
 GIWU (GSM Inter Working Unit) corresponds to an
interface to various networks for data communications
Mobile computing notes by Pallavi Joshi
Operation and Support Subsystem
Operations and Support Subsystem (OSS) controls and
monitors the GSM system
OSS is connected to the different components of the
NSS and to the BSC and also in charge of controlling the
traffic load of the BSS
 Equipment Identity Register (EIR) rests with OSS
EIR is a database that contains a list of all valid mobile
equipment within the network, where each mobile station is
identified by its International Mobile Equipment Identity
(IMEI)
 EIR contains a list of IMEIs of all valid terminals
Mobile computing notes by Pallavi Joshi
Operation and Support Subsystem
An IMEI is marked as invalid if it has been reported stolen or is
not type approved
The EIR allows the MSC to forbid calls from this stolen or
unauthorized terminals
Authentication Center (AUC) is responsible for the
authentication of a subscriber
AUC is a protected database and stores a copy of the secret key
stored in each subscriber’s SIM card
Mobile computing notes by Pallavi Joshi
Short Message Service
Short Message Service (SMS) is one of the most popular
services within GSM
SMS is a data service and allows a user to enter text
message up to 160 characters in length when 7 bit English
characters are used
 SMS is a proactive bearer and is an ‘always on’network
Message center is referred to as Service Centre (SC) or
SMS Controller (SMSC)
 SMSC is a system within the core GSM network which
works as the store and forward system for SMS messages
Mobile computing notes by Pallavi Joshi
SMS
Two types of SMS: SMMT (Short Message Mobile Terminated
Point-to-Point) and SMMO (Short Message Mobile Originated
Point-to-Point)
SMMT is an incoming short message from the network and is
terminated in the MS (phone or Mobile Station)
 SMMO is an outgoing message originated in the MS, and
forwarded to the network for delivery
For an outgoing message, the SMS is sent from the phone to
SC via the VLR and the Inter Working MSC (IWMSC)
For incoming message, the path is from SC to the MS via the
HLR and the Gateway MSC (GMSC)
Mobile computing notes by Pallavi Joshi
SMS Transfer
Mobile computing notes by Pallavi Joshi
From speech to radio waves
Mobile computing notes by Pallavi Joshi
From speech to radio waves
Digitizer and source coding: The user speech is digitized at 8
KHz sampling rate using Regular Pulse Excited–Linear Predictive
Coder (RPE–LPC) with a Long Term Predictor loop where
information from previous samples is used to predict the current
sample. Each sample is then represented in signed 13-bit
linear PCM value. This digitized data is passed to the coder
with frames of 160 samples where encoder compresses
these 160 samples into 260-bits GSM frames resulting in
one second of speech compressed into 1625 bytes and
achieving a rate of 13 Kbits/sec.
Mobile computing notes by Pallavi Joshi
From speech to radio waves
Channel coding: This introduces redundancy into the data for
error detection and possible error correction where the gross bit
rate after channel coding is 22.8 kbps (or 456 bits every 20 ms).
These 456 bits are divided into eight 57-bit blocks and the result is
interleaved amongst eight successive time slot bursts for
protection against burst transmission errors.
Interleaving: This step rearranges a group of bits in a particular
way to improve the performance of the error-correction
mechanisms. The interleaving decreases the possibility of losing
whole bursts during the transmission by dispersing the errors.
Ciphering: This encrypts blocks of user data using a symmetric
key shared by the mobile station and the BTS.
Mobile computing notes by Pallavi Joshi
From speech to radio waves
Burst formatting: It adds some binary information to the
ciphered block for use in synchronization and equalization
of the received data.
Modulation: The modulation technique chosen for the
GSM system is the Gaussian Minimum Shift Keying
(GMSK) where binary data is converted back into analog
signal to fit the frequency and time requirements for the
multiple access rules. This signal is then radiated as radio
wave over the air.
Multipath and equalization:An equaliser is in charge of
extracting the ‘right’signal from the received signal while
estimating the channel impulse response of the GSM system and
then it constructs an inverse filter. The received signal is then
passed through the inverse filter.
Mobile computing notes by Pallavi Joshi
From speech to radio waves
Synchronization: For successful operation of a mobile radio
system, time and frequency synchronization are needed.
Frequency synchronization is necessary so that the transmitter and
receiver frequency match (in FDMA) while Time synchronization
is necessary to identify the frame boundary and the bits within the
frame (in TDMA).
To avoid collisions of burst transmitted by MS with the
adjacent timeslot such collisions, the Timing Advance
technique is used where frame is advanced in time so that
this offsets the delay due to greater distance. Using this
technique and the triangulation of the intersection cell sites,
the location of a mobile station can be determined from
within the network.
Mobile computing notes by Pallavi Joshi
Call Routing
The directory number dialed to reach a mobile subscriber is
called the Mobile Subscriber ISDN (MSISDN) which is defined
by the E.164 numbering plan and includes a country code and a
National Destination Code, which identifies the subscriber’s
operator. The first few digits of the remaining subscriber number
may identify the subscriber’s HLR within the home PLMN
For example, the MSISDN number of a subscriber in
Bangalore associated withAirtel network is +919845XYYYYY
which is a unique number and understood from anywhere in the
world. Here, + means prefix for international dialing, 91 is the
country code for India and 45 is the network operator’s code
(Airtel in this case). X is the level number managed by the
network operator ranging from 0 to 9 while YYYYY is the
subscriber code which , too, is managed by the operator.
Mobile computing notes by Pallavi Joshi
Call Routing
Mobile computing notes by Pallavi Joshi
Call Routing
The call first goes to the local PSTN exchange where
PSTN exchange looks at the routing table and determines
that it is a call to a mobile network.
PSTN forwards the call to the Gateway MSC (GMSC) of
the mobile network.
MSC enquires the HLR to determine the status of the
subscriber. It will decide whether the call is to be routed or
not. If MSC finds that the call can be processed, it will find
out the address of the VLR where the mobile is expected to
be present.
Mobile computing notes by Pallavi Joshi
Call Routing
If VLR is that of a different PLMN, it will forward the call to
the foreign PLMN through the Gateway MSC. If the VLR is
in the home network, it will determine the Location Area
(LA).
Within the LA, it will page and locate the phone and
connect the call.
Mobile computing notes by Pallavi Joshi
PLMN Interfaces
Basic configuration of a GSM network contains a central
HLR and a central VLR where HLR contains all security,
provisioning and subscriber related information and VLR
stores the location information and other transient data.
MSC needs subscriber parameter for successful call set-
up.
Any data related to user call (connection, teardown etc.)
are processed with SS7 protocol for signaling using ISUP
(ISDN User Part) stack between network nodes.
For mobile specific signaling, a protocol stack called MAP
(Mobile Application Part) is used over the SS7 network
which does all database transactions and
handover/roaming transactions between the MSC.
Mobile computing notes by Pallavi Joshi
GSM Addresses and Identifiers
International Mobile Station Equipment Identity (IMEI): Every
mobile equipment in this world has a unique identifier which is
called IMEI. IMEI is allocated by the equipment manufacturer
and registered by the network operator in the Equipment Identity
Register (EIR).
International Mobile Subscriber Identity (IMSI): When
registered with a GSM operator, each subscriber is assigned a
unique identifier called IMSI which is stored in the SIM card and
secured by the operator. IMSI consists of several parts: 3 decimal
digits of Mobile Country Code (MCC), 2 decimal digits of Mobile
Network Code (MNC) and a maximum of 10 decimal digits of
Mobile Subscriber Identification Number (MSIN) which is a
unique number of the subscriber within the home network.
Mobile computing notes by Pallavi Joshi
GSM Addresses and Identifiers
Mobile Subscriber ISDN Number (MSISDN): The MSISDN
number is the real telephone number as is known to the external
world. MSISDN number is public information whereas IMSI is
private to the operator. IMSI can be multiple such as when a
subscriber opts for fax and data, he is assigned a total of three
numbers: one for voice call, one for fax call and another for data
call. MSISDN follows the international ISDN (Integrated Systems
Data Network) numbering plan.
ISDN has Country Code (CC) of 1 to 3 decimal digits, National
Destination Code (NDC) of 2 to 3 decimal digits and Subscriber
Number (SN) of maximum 10 decimal digits.
Mobile computing notes by Pallavi Joshi
GSM Addresses and Identifiers
Location Area Identity: Each LA in a PLMN has its own
identifier called Location Area Identifier (LAI) which is structured
hierarchically and unique. LAI consists of 3 digits of CC, 2 digits
of Mobile Network Code and maximum of 5 digits of Location
Area Code.
Mobile Station Roaming Number (MSRN): When a subscriber
is roaming in another network, a temporary ISDN number is
assigned to the subscriber called MSRN. MSRN is assigned by
the local VLR in charge of the mobile station and follows the
structure of MSISDN.
Mobile computing notes by Pallavi Joshi
GSM Addresses and Identifiers
Temporary Mobile Subscriber Identity (TMSI): TMSI is a
temporary identifier assigned by the serving VLR used in place of
the IMSI for identification and addressing of the mobile station.
Together with the current location area, a TMSI allows a
subscriber to be identified uniquely.
Local Mobile Subscriber Identity (LMSI): LMSI is assigned by
the VLR and stored in the HLR and is used as a searching key for
faster database access within the VLR.
Cell Identifier: Within a LA, every cell has a unique Cell
Identifier (CI) and together with a LAI, a cell can be identified
uniquely through Global Cell Identity (LAI & CI).
MSCs and Location Registers (HLR & VLR) are addressed
with ISDN numbers while they may use a Signaling Point Code
(SPC) within a PLMN.
Mobile computing notes by Pallavi Joshi
Network aspects in GSM
Signaling protocol structure in GSM
Mobile computing notes by Pallavi Joshi
Network aspects in GSM
Layer 1 is the physical layer which uses the channel structures
over the air interface.
Layer 2 is the data link layer and across the Um interface, the
data link layer is a modified version of the LAPD protocol used in
ISDN or X.25, called LAPDm.
Across theAinterface, the Message Transfer Part layer 2 of
Signaling System Number 7 is used.
Mobile computing notes by Pallavi Joshi
Network aspects in GSM
 Layer 3 of the GSM signaling protocol is itself divided
into three sub-layers:
1. Radio Resources Management: It controls the set-up,
maintenance and termination of radio and fixed channels,
including handovers.
2. Mobility Management: It manages the location updating and
registration procedures as well as security and authentication.
3. Connection Management: It handles general call control and
manages Supplementary Services and the Short Message
Service.
Mobile computing notes by Pallavi Joshi
Handover
 The procedure of change of resources is called handover when
the user is mobile while the call is in progress.
 There are four different types of handover in the GSM system,
which involve transferring a call between:
1. Channels (time slots) in the same cell
2. Cells (Base Transceiver Stations) under the control of the
same Base Station Controller (BSC)
3. Cells under the control of different BSCs but belonging to the
same Mobile Switching Center (MSC)
4. Cells under the control of different MSCs
Mobile computing notes by Pallavi Joshi
Handover
First two types of handover, called internal handovers, involve
only one Base Station Controller (BSC). To save signaling
bandwidth, they are managed by the BSC without involving the
Mobile services Switching Center (MSC), except to notify it at the
completion of the handover.
Last two types of handover, called external handovers, are
handled by the MSC.
Mobile computing notes by Pallavi Joshi
Mobility Management
Mobility Management (MM) function handles the procedures
that arise from the mobility of the subscriber and is in charge of
all the aspects related to the mobility of the user, especially the
roaming, the location management, and the security/authentication
of the subscriber.
First location update procedure is called the IMSI attach
procedure where the MS indicates its IMSI to the network
whereas when a mobile station is powered off, it performs an
IMSI detach procedure in order to tell the network that it is no
longer connected.
Mobile computing notes by Pallavi Joshi
Mobility Management
Alocation update message is sent to the new MSC/VLR which
records the location area information and then sends the location
information to the subscriber’s HLR.
If the mobile station is authenticated and authorized in the new
MSC/VLR, the subscriber’s HLR cancels the registration of the
mobile station with the old MSC/VLR.
Location update is also performed periodically and if after the
updating time period, the mobile station has not registered, it is
then deregistered.
Mobile computing notes by Pallavi Joshi
Mobility Management
When there is an incoming call for a subscriber, the mobile
phone needs to be located and a channel needs to be allocated and
the call connected.
A powered-on mobile is informed of an incoming call by a
paging message sent over the paging channel of the cells within
the current location area while location updating procedures and
subsequent call routing use MSC, HLR and VLR.
If the subscriber is entitled to service, HLR sends a subset of
the subscriber information needed for call control to the new
MSC/VLR and sends a message to the old MSC/VLR to cancel
the old registration.
Mobile computing notes by Pallavi Joshi
Mobility Management
An incoming mobile terminating call is directed to the Gateway
MSC (GMSC) function which, as a switch, interrogates the
subscriber’s HLR to obtain routing information and thus contains
a table linking MSISDNs to their corresponding HLRs.
The routing information that is returned to the GMSC is the
Mobile Station Roaming Number (MSRN).
MSRNs are related to the geographical numbering plan and not
visible to subscribers.
Mobile computing notes by Pallavi Joshi
Mobility Management
Generally, GMSC queries the called subscriber’s HLR for an
MSRN.
HLR stores only the SS7 address of the subscriber’s current
VLR while VLR temporarily allocates an MSRN from its pool for
the call.
MSRN is returned to the HLR and back to the GMSC, which
can then route the call to the new MSC. At new MSC, IMSI
corresponding to the MSRN is looked up and the mobile station is
paged in its current location area.
 HLR is referred for incoming call whereas VLR is referred for
outgoing call.
Mobile computing notes by Pallavi Joshi
GSM Frequency Allocation
Normally, GSM uses 900 MHz band wherein 890-915 MHz is
allocated for the uplink (mobile station to base station) and 935–
960 MHz is allocated for the downlink (base station to mobile
station). Each way the bandwidth for the GSM system is 25 MHz
which provides 125 carriers uplink/downlink each having a
bandwidth of 200 kHz.
ARFCN (Absolute Radio Frequency Channel Numbers) denote
a forward and reverse channel pair which is separated in
frequency by 45 MHz.
Practically, a guard band of 100 kHz is provided at the upper
and lower end of the GSM 900 MHz spectrum and only 124
(duplex) channels are implemented.
Mobile computing notes by Pallavi Joshi
GSM Frequency Allocation
GSM uses a combination of Time Division MultipleAccess
(TDMA) and Frequency Division Multiple Access (FDMA)
encoding.
One or more carrier frequencies are assigned to each base
station and each of these carrier frequencies is then divided in
time using a TDMAscheme where fundamental unit is called a
burst period lasting approximately 0.577 ms.
Eight burst periods are grouped into a TDMA frame of
approximately 4.615 ms which forms the basic unit for the
definition of logical channels.
One physical channel is one burst period per TDMA frame
while, normally, channels are defined by the number and position
of their corresponding burst periods.
Mobile computing notes by Pallavi Joshi
GSM Frequency Allocation
Carrier frequencies and TDMAframes
Mobile computing notes by Pallavi Joshi
Authentication and Security
Authentication involves two functional entities - the SIM card
in the mobile phone and theAuthentication Center (AUC).
Following authentication by algorithmA3, a key is generated
for encryption.
An algorithmA8 is used to generate the key while a different
algorithm calledA5 is used for both ciphering and deciphering
procedures for signaling, voice and data.
So, SS7 signal, voice, data, and SMS within GSM networks are
ciphered over the wireless radio interface.
Mobile computing notes by Pallavi Joshi
A3 Algorithm
During authentication, MSC challenges the MS with a random
number (RAND).
SIM card uses this RAND received from the MSC and a secret
key Kj stored within the SIM as input. Both the RAND and the Kj
secret are 128 bits long. Using the A3 algorithm with RAND and
Kj as input a 32-bit output called signature response (SRES) is
generated in the MS and then sent back to MSC.
Using the same set of algorithms, the AUC also generates a
SRES. The SRES from MS and the SRES generated by theAUC
are compared.
 If they are the same, the MS is authenticated.
Mobile computing notes by Pallavi Joshi
A3 Algorithm
The idea is that no keys will be transacted over the air.
However, if the SRES values calculated independently by the SIM
and theAUC are the same, then Kj has to be same and if Kj is
same, SIM card is genuine.
Mobile computing notes by Pallavi Joshi
A8 Algorithm
 A8 algorithm is the key generation algorithm.
 A8 generates a session key, Kc, from the random challenge
RAND (received from the MSC) and from the secret key Kj.
Keys are generated at both the MS and the network end. The
session key, Kc, is used for ciphering till the MSC decides to
authenticate the MS once again.
Mobile computing notes by Pallavi Joshi
A5 Algorithm
A5 is the stream cipher algorithm used to encrypt over-the-air
transmissions. The stream cipher is initialized all over again for
every frame sent with the session key, Kc, and the number of the
frame being encrypted or decrypted.
Same Kc is used throughout the call but the 22-bit frame
number changes during the call, thus, generating a unique key
stream for every frame.
Mobile computing notes by Pallavi Joshi
GPRS
Mobile computing notes by Pallavi Joshi
GPRS
 General Packet Radio Service
Step to efficiently transport high-speed data over the current
GSM and TDMA-based wireless network infrastructures
Deployment of GPRS networks allows a variety of new
applications ranging from mobile e-commerce to mobile corporate
VPN access
GPRS allows for data speeds of 14.4 KBps to 171.2
KBps, which allow for comfortable Internet access
Allows for short ‘bursty’traffic, such as e-mail and web
browsing, as well as large volumes of data
Mobile computing notes by Pallavi Joshi
GPRS
 No dial-up modem connection is necessary
 Offers fast connection set-up mechanism to offer a perception
of being ‘always on’or ‘always connected’
 Immediacy is one of the prime advantages of GPRS
Mobile computing notes by Pallavi Joshi
QoS in GPRS
Allows definition of QoS profiles using the parameters of
service precedence, reliability, delay and throughput
 Service precedence is the priority of a service in relation to
another service which can be either high, normal or low
Reliability indicates the transmission characteristics required
by an application and guarantees certain maximum values for the
probability of loss, duplication, mis-sequencing and corruption of
packets
Delay parameters define maximum values for the mean delay
and the 95-percentile delay
Throughput specifies the maximum/peak bit rate and the mean
bit rate Mobile computing notes by Pallavi Joshi
GPRS Network Architecture
 GPRS uses the GSM architecture for voice
To offer packet data services through GPRS, a new class of
network nodes called GPRS support nodes (GSN) are introduced
GSNs are responsible for the delivery and routing of data
packets between the mobile stations and the external packet data
networks (PDN)
Two main GSNs are Serving GSN (SGSN) and Gateway GSN
(GGSN)
Mobile computing notes by Pallavi Joshi
SGSN
SGSN is at the same hierarchical level as the MSC and so,
whatever MSC does for voice, SGSN does for packet data
SGSN’s tasks include packet switching, routing and transfer,
mobility management, logical link management, authentication
and charging functions
SGSN processes registration of new mobile subscribers and
keeps a record of their location inside a given service area
Location register of the SGSN stores location information (like
current cell, current VLR, etc.) and user profiles of all GPRS users
registered with this SGSN
SGSN sends queries to HLR to obtain profile data of GPRS
subscribers
Mobile computing notes by Pallavi Joshi
GGSN
GGSN acts as an interface between the GPRS backbone
network and the external packet data networks and functions like
a router in a LAN
GGSN maintains routing information that is necessary to
tunnel Protocol Data Units (PDUs) to the SGSNs that service
particular mobile stations
GGSNs convert the GPRS packets coming from the SGSN into
the appropriate packet data protocol (PDP) format for the data
networks like Internet or X.25
GGSN stores the current SGSN address of the user and user’s
profile in its location register while performing authentication and
charging functions related to data transfer
Mobile computing notes by Pallavi Joshi
GPRS System Architecture
Mobile computing notes by Pallavi Joshi
GPRS Network Enhancements
Base Station System (BSS) needs enhancement to recognize
and send packet data and this includes BTS upgrade to allow
transportation of user data to the SGSN. BTS, too, needs to be
upgraded to support packet data transportation between BTS and
MS (mobile station).
HLR needs enhancement to register GPRS user profiles and
respond to queries originating from GSNs regarding these
profiles.
 MS (mobile station) for GPRS is different from that of GSM.
 SMS-GMSCs and SMS-IWMSCs are upgraded to support
SMS transmission via the SGSN.
Mobile computing notes by Pallavi Joshi
Channel Coding
Channel coding is used to protect the transmitted data packets
against errors
 Channel coding technique in GPRS is quite similar to the one
employed in conventional GSM
Under very bad channel conditions, reliable coding scheme is
used where redundant bits are added to recover from burst errors
Under good channel conditions, no encoding scheme is used
resulting in a higher data rate
Mobile computing notes by Pallavi Joshi
Transmission Plane Protocol Architecture
Mobile computing notes by Pallavi Joshi
Signaling Plane
Protocol architecture of the signaling plane comprises
protocols for control and support of the functions of the
transmission plane and includes GPRS attach and
detach, PDP context activation, control of routing paths and
allocation of network resources.
Between SGSN and HLR as well as between SGSN and
EIR, an enhanced Mobile Application Part (MAP) is
employed which is a mobile network specific extension of
the Signaling System SS#7 used in GSM and transports the
signaling information related to location updates, routing
information, user profiles and handovers.
MAP messages are exchanged over Transaction
Capabilities Application Part (TCAP) and Signaling
Connection Control Part (SCCP) while BSSGP is an
enhancement of GSM’s BSSAP.
Mobile computing notes by Pallavi Joshi
GPRS Backbone
 It includes the transmission plane between SGSN and GGSN.
User data packets and signaling information within GPRS
networks are encapsulated using GPRS Tunneling Protocol (GTP)
which is also used in both intra-PLMN (between SGSN and
GGSN within one PLMN) and inter-PLMN (between SGSN and
GGSN of different PLMNs).
GTP protocol tunnels the user data packets through GPRS
backbone by adding GPRS specific routing information in the
form of GTP packets which can carry data packets from both IP
and X.25 data networks.
Finally, GPRS backbone has an IP/X.25-over-GTP-over-
UDP/TCP-over-IP transport architecture.
Mobile computing notes by Pallavi Joshi
BSS-SGSN Interface
The BSS-SGSN interface is divided into four layers:
1. Sub-Network Dependent Convergence Protocol (SNDCP)
which transfers data packets between SGSN and
MS, multiplexes several connections of the network layer onto
one virtual logical connection of the underlying LLC layer and
does segmentation, compression-decompression of user data.
2. Logical Link Control (LLC) is data link layer protocol for
GPRS which functions similar to Link Access Procedure-D
(LAPD) and assures the reliable transfer of user data across a
wireless network.
Mobile computing notes by Pallavi Joshi
BSS-SGSN Interface
3. Base Station System GPRS Protocol (BSSGP) delivers routing
and QoS related information between BSS and SGSN.
4. Network Service layer manages the convergence sub-layer
that operates between BSSGP and Frame Relay Q.922 Core
by mapping BSSGP’s service requests to the appropriate
Frame Relay services.
Mobile computing notes by Pallavi Joshi
Air Interface
Air interface of GPRS comprises data link layer and physical
layer.
Data link layer between MS and BSS is divided into three
sublayers: the logical link control (LLC) layer, the radio link
control (RLC) layer and the medium access control (MAC) layer.
Physical layer between MS and BSS is divided into two
sublayers: the physical link layer (PLL) and the physical RF layer
(RFL).
Mobile computing notes by Pallavi Joshi
LLC Layer
Logical Link Control (LLC) layer provides a reliable logical
link between an MS and its assigned SGSN as its functionality is
based on HDLC (High Level Data Link Control) protocol and
includes sequence control, in-order delivery, flow
control, detection of transmission errors and retransmissions.
 Encryption is used.
Variable frame lengths are possible and both
acknowledged and unacknowledged data transmission
modes are supported.
Mobile computing notes by Pallavi Joshi
RLC Layer
Radio Link Control (RLC) layer establishes a reliable link
between MS and BSS.
 It also does segmentation and reassembly of LLC frames into
RLC data blocks andARQ of uncorrectable data.
Mobile computing notes by Pallavi Joshi
MAC Layer
MediumAccess Control (MAC) layer controls the access
attempts of an MS on the radio channel shared by several MSs by
employing algorithms for contention resolution, multi-user
multiplexing on a packet data traffic channel (PDTCH) and
scheduling and prioritizing based on the negotiated QoS.
Mobile computing notes by Pallavi Joshi
PL Layer
Physical Link Layer (PLL) provides services for information
transfer over a physical channel between the MS and the network.
 Its functions include data unit framing, data coding and
detection and correction of physical medium transmission errors.
 Physical Link Layer uses the services of the Physical RF Layer.
Mobile computing notes by Pallavi Joshi
PRF Layer
Physical RF Layer (RFL) performs the modulation of the
physical waveforms based on the sequence of bits received from
the Physical Link Layer above.
It also demodulates received wave forms into a sequence of
bits that are transferred to the Physical Link layer for
interpretation.
Mobile computing notes by Pallavi Joshi
Radio Resource Management
On the radio interface, GPRS uses a combination of FDMA
and TDMA.
 Aseries of logical channels are defined to perform functions
like signaling, broadcast of general system
information, synchronization, channel assignment, paging or
payload transport.
Such channels can be divided into two categories: traffic
channels and signaling channels.
GPRS traffic channels are allocated when data packets are sent
or received and they are released after the transmission of data.
GPRS allows a single mobile station to use multiple time slots
of the same TDMAframe for data transmission which is known as
Mobile computing notes by Pallavi Joshi
Radio Resource Management
Uplink and downlink channels are allocated separately which
efficiently supports asymmetric data traffic like Internet.
Physical channels to transport user data packet are called
Physical Data Traffic Channel (PDTCH) which are taken from a
common pool of all channels available in a cell.
Mapping of physical channels to either packet switched data (in
GPRS mode) or circuit switched data (in GSM mode) services are
performed dynamically depending on demand.
Demand-wise, the number of channels allocated for GPRS can
be changed. For example, physical channels not currently in use
by GSM can be allocated as PDTCHs to increase the bandwidth
of a GPRS connection.
Mobile computing notes by Pallavi Joshi
Security
 GPRS security is similar to the existing GSM security.
SGSN performs authentication and cipher setting procedures
based on the same algorithms, keys and other criteria of GSM.
GPRS uses a ciphering algorithm optimized for packet data
transmission.
Mobile computing notes by Pallavi Joshi
Attachment and Detachment in GPRS
MS registers itself with SGSN of GPRS network through a
GPRS attach which establishes a logical link between the MS and
the SGSN.
Network checks if MS is authorized to use the services; if so, it
copies the user profile from HLR to SGSN and assigns a Packet
Temporary Mobile Subscriber Identity (P-TMSI) to the MS.
To exchange data packets with external PDNs after a successful
GPRS attach, an MS must apply for an address which is called
PDP (Packet Data Protocol) address.
For each session, a PDP context is created which contains PDP
type (e.g. IPv4), PDP address assigned to the mobile station (e.g.
129.187.222.10), requested QoS and address of the GGSN that
will function as an access point to the PDN.
Mobile computing notes by Pallavi Joshi
Attachment and Detachment in GPRS
Such a context is stored in MS, SGSN and GGSN while with
an active PDP context, the MS is ‘visible’to the external PDN.
Auser may have several simultaneous PDP contexts active at a
given time and user data is transferred transparently between MS
and external data networks trough GTP encapsulation and
tunneling.
 Allocation of the PDP address can be static or dynamic.
In case of static address, the network operator permanently
assigns a PDP address to the user while in other case, a PDP
address is assigned to the user upon the activation of a PDP
context.
Mobile computing notes by Pallavi Joshi
PDP Context Activation
Using the message ‘activate PDP context request’, MS informs
the SGSN about the requested PDP context and if request is for
dynamic PDP address assignment, the parameter PDP address will
be left empty.
 After necessary security steps, if authentication is
successful, SGSN will send a ‘create PDP context request’
message to the GGSN, the result of which is a confirmation
message ‘create PDP context response’from the GGSN to the
SGSN, which contains the PDP address.
SGSN updates its PDP context table and confirms the
activation of the new PDP context to the MS.
Disconnection from the GPRS network is called GPRS detach
in which all the resources are released.
Mobile computing notes by Pallavi Joshi
PDP Context Activation
Mobile computing notes by Pallavi Joshi
Mobility Management
Mobility Management functions are used to track its location
within each PLMN in which SGSNs communicate with each other
to update the MS’s location in the relevant registers.
Profiles of MSs are preserved in VLRs that are accessible to
SGSNs via the local MSC.
Alogical link is established and maintained between the MS
and the SGSN at each PLMN.
At the end of transmission or when a mobile station moves out
of area of a specific SGSN, the logical link is released and the
resources associated with it can be reallocated.
Mobile computing notes by Pallavi Joshi
Routing
 Routing is the process of how packets are routed in GPRS.
Here, the example assumes two intra-PLMN backbone
networks of different PLMNs. Intra-PLMN backbone networks
connect GSNs of the same PLMN or the same network operator.
These intra-PLMN networks are connected with an inter-
PLMN backbone while an inter-PLMN backbone network
connects GSNs of different PLMNs and operators. However, a
roaming agreement is necessary between two GPRS network
providers.
Gateways between PLMNs and external inter-PLMN backbone
are called border gateways which perform security functions to
protect the private intra-PLMN backbones against malicious
attacks.Mobile computing notes by Pallavi Joshi
Routing
Let’s say that GPRS MS located in PLMN1 sends IP packets to
a host connected to the IP network (e.g. to a Web server connected
to the Internet).
SGSN that the MS is registered with encapsulates the IP
packets coming from the mobile station, examines the PDP
context and routes them through the intra-PLMN GPRS backbone
to the appropriate GGSN.
GGSN de-encapsulates the packets and sends them out on the
IP network, where IP routing mechanisms are used to transfer the
packets to the access router of the destination network and
finally, delivers the IP packets to the host.
Mobile computing notes by Pallavi Joshi
Routing
Let us also say that home-PLMN of the mobile station is
PLMN2.
An IP address has been assigned to MS by the GGSN of
PLMN2 and so, MS’s IP address has the same network prefix as
the IP address of the GGSN in PLMN2.
Correspondent host is now sending IP packets to the MS onto
the IP network and are routed to the GGSN of PLMN2 (the home-
GGSN of the MS). The latter queries the HLR and obtains the
information that the MS is currently located in PLMN1.
It encapsulates the incoming IP packets and tunnels them
through the inter-PLMN GPRS backbone to the appropriate
SGSN in PLMN1 while the SGSN de-encapsulates the packets
and delivers them to the MS.
Mobile computing notes by Pallavi Joshi
Routing
Mobile computing notes by Pallavi Joshi
Routing
HLR stores the user profile, the current SGSN address and the
PDP addresses for every GPRS user in the PLMN.
 When the MS registers with a new SGSN, HLR will send the
user profile to the new SGSN.
Signaling path between GGSN and HLR may be used by the
GGSN to query a user’s location and profile in order to update its
location register.
Mobile computing notes by Pallavi Joshi
Communicating with IP Networks
AGPRS network can be interconnected with Internet or a
corporate intranet and supports both IPv4 and IPv6.
From an external IP network’s point of view, the GPRS
network looks like any other IP sub-network, and the GGSN looks
like a usual IP router.
Each registered user who wants to exchange data packets with
the IP network gets an IP address which is taken from the address
space of the GPRS operator maintained by a Dynamic Host
Configuration Protocol (DHCP) server.
Address resolution between IP address and GSM address is
performed by the GGSN using the appropriate PDP context.
Mobile computing notes by Pallavi Joshi
Communicating with IP Networks
Domain Name Server (DNS) managed by the GPRS operator
or the external IP network operator is used to resolve host name.
To protect the PLMN from unauthorized access, a firewall is
installed between the private GPRS network and the external IP
network.
Thus, GPRS can be seen as a wireless extension of the Internet
all the way to a MS or mobile computer as mobile user has a
direct connection to the Internet.
Mobile computing notes by Pallavi Joshi
Communicating with IP Networks
Mobile computing notes by Pallavi Joshi
Data Services in GPRS
Any user is likely to use either of the two modes of the GPRS
network: application mode or tunneling mode.
In application mode, user uses the GPRS mobile phone to
access the applications running on the phone itself. The phone
here acts as the end user device.
In tunneling mode, user uses GPRS interface as an access to
the network as the end user device would be a large footprint
device like laptop computer or a small footprint device like PDA.
The mobile phone will be connected to the device and used as a
modem to access the wireless data network.
Mobile computing notes by Pallavi Joshi
GPR
S
Han
dsets
 GPRS terminal can be one of the three classes:A, B or C.
Class A terminal supports GPRS data and other GSM services
such as SMS and voice simultaneously. This includes
simultaneous attach, activation, monitoring and traffic.As such, a
classAterminal can make or receive calls on two services
simultaneously while supporting SMS.
Class B terminal can monitor GSM and GPRS channels
simultaneously, but can support only one of these services at any
time. Therefore, a Class B terminal can support simultaneous
attach, activation, and monitoring but not simultaneous traffic.
Users can make or receive calls on either a packet or a switched
call type sequentially but not simultaneously. SMS is supported in
class B terminals.
Mobile computing notes by Pallavi Joshi
GPRS Handsets
Class C terminal supports only non-simultaneous attach. The
user must select which service to connect to. Therefore, a class C
terminal can make or receive calls from only the manually
selected network service (and so, the service that is not selected is
not reachable). The GPRS specifications state that support of SMS
is optional for class C terminals.
Each handset will have a unique form factor. So, terminals will
be available in the standard form factor with a numeric keypad
and a relatively small display. Other types of phones with different
form factors, color displays, cameras are common apart from the
latest smart phones.
Mobile computing notes by Pallavi Joshi
Bearers in GPRS
Bearer services of GPRS offer end-to-end packet switched data
transfer.
GPRS supports two different kinds of data transport services:
point-to-point (PTP) services and point-to-multipoint (PTM)
services.
 GPRS continues to support SMS as a bearer.
Wireless Application Protocol is a data bearer service over
HTTP protocol, supported by GPRS.
 Multimedia Messaging Service, too, is supported by GPRS.
Mobile computing notes by Pallavi Joshi
Applications of GPRS
 Chat
 Multimedia Services
 Virtual Private Network
 Personal Information Management
 Job Sheet Dispatch
 Unified Messaging
 Vehicle Positioning
 Location based services and Telematics
Mobile computing notes by Pallavi Joshi
Limitations of GPRS
 Limited cell capacity for all users
 Lower access speed in reality
No support of GPRS Mobile Terminate Connection for a
mobile server
Mobile computing notes by Pallavi Joshi
Billing and Tariffing
Minimum charging information that must be collected are:
 Destination and source addresses
 Usage of radio interface
 Usage of external Packet Data Networks
 Usage of the packet data protocol addresses
Usage of general GPRS resources and location of the Mobile
Station
Mobile computing notes by Pallavi Joshi
Billing and Tariffing
Various business models exist for charging customers as billing
of services can be based on the transmitted data
volume, the type of service, the chosen QoS profile, etc.
GPRS call records are generated in the GPRS Service
Nodes.
Packet counts are passed to a Charging Gateway that
generates Call Detail Records that are sent to the billing
system.
Mobile computing notes by Pallavi Joshi
Wireless Application Protocol
Mobile computing notes by Pallavi Joshi
Outline
Mobile applications
How are mobile/wireless environments different?
What is WAP?
WAP Architecture
WAE (WML/WMLScript)
WTA Framework
WAP Push Services
WAP Protocol Stack
Hype v/s Reality
References and Resources
Mobile computing notes by Pallavi Joshi
Mobile Applications - 1
Vehicles
transmission of news, road condition etc
ad-hoc network with near vehicles to prevent accidents
Emergencies
early transmission of patient data to the hospital
ad-hoc network in case of earthquakes, cyclones
military ...
Traveling salesmen
direct access to central customer files
consistent databases for all agents
mobile office
Mobile computing notes by Pallavi Joshi
Mobile Applications - 2
Web access
outdoor Internet access
intelligent travel guide with up-to-date location dependent information
Information services
push: stock quotes; pull: nearest cash ATM
Disconnected operations
file-system caching for off-line work
mobile agents, e.g., shopping
Entertainment
games, etc
Mobile computing notes by Pallavi Joshi
Variability of the
Mobile Environment
Connectivity
• connected
• semi-connected
(asymmetric)
• weakly connected
• disconnected
Mobile Device Capability
• form factor
• GUI
• multimedia
• real-time multimedia
Mobility
• stationary
• nomadic (pedestrian speed)
• mobile (vehicular speed)
• roaming (mobile across networks)
Mobile computing notes by Pallavi Joshi
World Wide Web and Mobility
HTTP/HTML have not been designed for mobile applications/devices
HTTP 1.0 characteristics
designed for large bandwidth, low delay
stateless, client/server, request/response communication
connection oriented, one connection per request
TCP 3-way handshake, DNS lookup overheads
big protocol headers, uncompressed content transfer
primitive caching (often disabled, dynamic objects)
security problems (using SSL/TLS with proxies)
HTML characteristics
designed for computers with “high” performance, color high-resolution display,
mouse, hard disk
typically, web pages optimized for design, not for communication; ignore end-
system characteristics
Mobile computing notes by Pallavi Joshi
System Support for Mobile WWW
Enhanced browsers
client-aware support for mobility
Proxies
Client proxy: pre-fetching, caching, off-line use
Network proxy: adaptive content transformation for connections
Client and network proxy
Enhanced servers
server-aware support for mobility
serve the content in multiple ways, depending on client capabilities
New protocols/languages
WAP/WML
Mobile computing notes by Pallavi Joshi
Wireless Application Protocol (WAP)
Empowers mobile users with wireless devices to easily access and interact
with information and services.
A “standard” created by wireless and Internet companies to enable Internet
access from a cellular phone
wapforum.org:
co-founded by Ericsson, Motorola, Nokia, Phone.com
450 members in 2000, comprise of Handset manufacturers, Wireless service
providers, ISPs, Software companies in the wireless industry
Goals
deliver Internet services to mobile devices
enable applications to scale across a variety of transport options and
device types
independence from wireless network standards
GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-CDMA)
Mobile computing notes by Pallavi Joshi
WAP: Main Features
Browser
“Micro browser”, similar to existing web browsers
Markup language
Similar to HTML, adapted to mobile devices
Script language
Similar to Javascript, adapted to mobile devices
Gateway
Transition from wireless to wired world
Server
“Wap/Origin server”, similar to existing web servers
Protocol layers
Transport layer, security layer, session layer etc.
Telephony application interface
Access to telephony functions
Mobile computing notes by Pallavi Joshi
Internet Model
HTML
HTTP
TLS/SSL
TCP/IP
Mobile computing notes by Pallavi Joshi
Web Server
Content
CGI
Scripts
etc.
WML
Decks
with
WML-Script
WAP Gateway
WML Encoder
WMLScript
Compiler
Protocol Adapters
Client
WML
WML-
Script
WTAI
Etc.
HTTP
WSP/WTP
WAP Architecture
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP Application Server
Content
Application
Logic
WML
Decks
with
WML-Script
WML Encoder
WMLScript
Compiler
Protocol Adapters
Client
WML
WML-
Script
WTAI
Etc.
WSP/WTP
WAP Application Server
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP Architecture
Another look
Key Components
• Origin/Web Server
• WAP Gateway/Proxy
• WAP Protocol Stack
• Micro Browser
• WML/WML Script
• Transcoders
• WTA
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP: Network Elements
wireless network
fixed network
WAP
proxy
WTA
server
filter/
WAP
proxy
web
server
filter
PSTN
Internet
Binary WML: binary file format for clients
Binary WML
Binary WML
Binary WML
HTML
HTML
HTML WML
WML
HTML
Source: Schiller
Mobile computing notes by Pallavi Joshi
WAP Specifies
Wireless Application Environment
WML Microbrowser
WMLScript Virtual Machine
WMLScript Standard Library
Wireless Telephony Application Interface (WTAI)
WAP content types
Wireless Protocol Stack
Wireless Session Protocol (WSP)
Wireless Transport Layer Security (WTLS)
Wireless Transaction Protocol (WTP)
Wireless Datagram Protocol (WDP)
Wireless network interface definitions
Mobile computing notes by Pallavi Joshi
WAP Stack
MicroBrowser (WML,
WMLScript, WTA, WTAI)
Runs on top of WDP
Provided lightweight X-oriented service
• Unreliable 1-way request
• Reliable 1-way/2-way req./response
Lightweight SSL
Uses WIM/PKI-Cards
Datagram service on different
bearers
Convergence between bearer
services
Different Wireless Tech.
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP Stack
WAE (Wireless Application Environment):
Architecture: application model, browser, gateway, server
WML: XML-Syntax, based on card stacks, variables, ...
WTA: telephone services, such as call control, phone book etc.
WSP (Wireless Session Protocol):
Provides HTTP 1.1 functionality
Supports session management, security, etc.
WTP (Wireless Transaction Protocol):
Provides reliable message transfer mechanisms
Based on ideas from TCP/RPC
WTLS (Wireless Transport Layer Security):
Provides data integrity, privacy, authentication functions
Based on ideas from TLS/SSL
WDP (Wireless Datagram Protocol):
Provides transport layer functions
Based on ideas from UDP
Content encoding, optimized for low-bandwidth channels, simple devices
Mobile computing notes by Pallavi Joshi
Why is HTTP/HTML not enough?
Big pipe - small pipe syndrome
Wireless network
<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
HTTP-
EQUIV=
"Refre
sh"
CONTEN
T="180
0,
URL=/i
ndex.h
tml">
Internet
<WML>
<CARD>
<DO TYPE="ACCEPT">
<GO URL="/submit?Name=$N"/>
</DO>
Enter name:
<INPUT TYPE="TEXT" KEY="N"/>
</CARD>
</WML>
010011
010011
110110
010011
011011
011101
010010
011010
Content encoding
HTTP/HTML WAP
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP: “Killer” 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
Mobile computing notes by Pallavi Joshi
Wireless Application Environment (WAE)
Goals
device and network independent application environment
for low-bandwidth, wireless devices
considerations of slow links, limited memory, low computing power, small display,
simple user interface (compared to desktops)
integrated Internet/WWW programming model
high interoperability
Mobile computing notes by Pallavi Joshi
WAE Components
Architecture
Application model, Microbrowser, Gateway, Server
User Agents
WML/WTA/Others
content formats: vCard, vCalendar, Wireless Bitmap, WML, ...
WML
XML-Syntax, based on card stacks, variables, ...
WMLScript
procedural, loops, conditions, ... (similar to JavaScript)
WTA
telephone services, such as call control, text messages, phone book, ...
(accessible from WML/WMLScript)
Proxy (Method/Push)
Mobile computing notes by Pallavi Joshi
Origin Servers
WAE: Logical Model
web
server
other content
server
Gateway Client
other
WAE
user agents
WML
user agent
WTA
user agent
Push proxy
encoded
request
request
encoded
response
with
content
response
with
content
push
content
encoded
push
content
Method proxy
encoders
&
decoders
Mobile computing notes by Pallavi Joshi
WAP Microbrowser
Optimized for wireless devices
Minimal RAM, ROM, Display, CPU and keys
Provides consistent service UI across devices
Provides Internet compatibility
Enables wide array of available content and
applications
Mobile computing notes by Pallavi Joshi
WML: Wireless Markup Language
Tag-based browsing language:
Screen management (text, images)
Data input (text, selection lists, etc.)
Hyperlinks & navigation support
Takes into account limited display,
navigation capabilities of devices
XML-based language
describes only intent of interaction in an
abstract manner
presentation depends upon device
capabilities
Cards and Decks
document consists of many cards
User interactions are split into cards
Explicit navigation between cards
cards are grouped to decks
deck is similar to HTML page, unit of
content transmission
Events, variables and state mgmt
Content (XML)
XSL Processor
HTTP Browser
HTML StyleSheet
WML Browsers
WML Stylesheet
Mobile computing notes by Pallavi Joshi
WML
The basic unit is a card. Cards are grouped together into Decks Document ~ Deck
(unit of transfer)
All decks must contain
Document prologue
XML & document type declaration
<WML> element
Must contain one or more cards
<?xml version="1.0"?>
<!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN"
"http://www.wapforum.org/DTD/wml.xml">
<WML>
...
</WML>
WML File Structure
Mobile computing notes by Pallavi Joshi
WML Example
Input
Elements
Deck
Card
Navigation
Variables
<WML>
<CARD>
<DO TYPE=“ACCEPT”>
<GO URL=“#eCard”/>
</DO
Welcome!
</CARD>
<CARD NAME=“eCard”>
<DO TYPE=“ACCEPT”>
<GO URL=“/submit?N=$(N)&S=$(S)”/>
</DO>
Enter name: <INPUT KEY=“N”/>
Choose speed:
<SELECT KEY=“S”>
<OPTION VALUE=“0”>Fast</OPTION>
<OPTION VALUE=“1”>Slow</OPTION>
<SELECT>
</CARD>
</WML>
Mobile computing notes by Pallavi Joshi
Handling User Input
Select lists
Choose from a list of options
Input fields
Enter a string of text or numbers
KEY variables
Set by SELECT and INPUT elements
How user input is passed to other cards and the application server
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
<CARD>
<DO TYPE="ACCEPT" LABEL="View">
<GO URL="getcity.cgi?location=$city"/>
</DO>
Forecast
<SELECT KEY="city">
<OPTION VALUE="ber">Berlin</OPTION>
<OPTION VALUE="rom">Rome</OPTION>
<OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION>
</SELECT>
</CARD>
Forecast
1 Berlin
2 Rome
3>New City
____________
Find
The SELECT Element
Display a list of options
Each option may set the KEY variable and/or bind a task to the ACCEPT
key
TITLE= dynamically sets the label string
MULTIPLE=“TRUE”: Allows user to pick multiple items
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
<CARD>
<DO TYPE="ACCEPT">
<GO URL="?get=person"
METHOD="POST" POSTDATA="userid=$ssn"/>
</DO>
Soc Security:
<INPUT KEY="ssn" FORMAT="NNN-NN-NNNN"/>
</CARD>
Soc. Security:
287-33- _
____________
NUM
Soc. Security:
287-33- 7629
____________
OK
The INPUT Element
Prompts user to enter a string of text
DEFAULT=key_value; Default KEY variable (displayed to user)
FORMAT=format_specifier; If omitted, free-form entry is allowed
EMPTYOK="TRUE“; Browser will accept null input
TYPE="PASSWORD“; Special entry mode handled by the browser
MAXLENGTH=number; Maximum number of allowed characters
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WML Content
Formats
Common interchange formats, for interoperability
Formats:
Business cards: IMC vCard standard
Calendar: IMC vCalendar standard
Images: WBMP (Wireless BitMaP)
Compiled WML, WMLScript
Newly defined formats:
WML text and tokenized format
WMLScript text and bytecode format
WBMP image format
Binary format for size reduction
Bytecodes/tokens for common values and operators
Compressed headers
Data compression (e.g. images)
General-purpose transport compression can still be applied
Mobile computing notes by Pallavi Joshi
<CARD>
<DO TYPE="ACCEPT">
<GO URL="#c2"/>
</DO>
Continue <IMG LOCALSRC="righthand"
ALT="forward..."/>
</CARD>
<CARD NAME="c2">
<IMG SRC="../images/logo.wbmp"
ALT="Unwired Planet"/>
<BR/>Welcome!
</CARD>
Displaying Images
Insert app images or local icons within display text
1-bit BMP format
Images are ignored by non-bitmapped devices
Check HTTP_ACCEPT for “image/bmp”
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WML (other features)
Setting card styles to create forms
Using variables to cache user data
Using card intrinsic events to trigger transparent tasks
Using timers
Securing WML decks
Bookmarking decks
Mobile computing notes by Pallavi Joshi
WMLScript
Complement to WML
Derived from JavaScript™
Provides general scripting capabilities
Procedural logic, loops, conditionals, etc.
Optimized for small-memory, small-cpu devices
Features
local user interaction, validity check of user input
access to device facilities (phone call, address book etc.)
extensions to the device software
configure device, download new functionality after deployment
Bytecode-based virtual machine
Stack-oriented design, ROM-able
Designed for simple, low-impact implementation
WMLScript compiler resides in the network
Mobile computing notes by Pallavi Joshi
WMLScript Libraries
Lang - VM constants, general-purpose math functionality, etc.
String - string processing functions
URL - URL processing
Browser - WML browser interface
Dialog - simple user interface
Float - floating point functions
Mobile computing notes by Pallavi Joshi
Functions
WMLScript Example
Programming
Constructs
Variables
function currencyConvertor(currency, exchRate) {
return currency*exchangeRate;
}
function myDay(sunShines) {
var myDay;
if (sunShines) {
myDay = “Good”;
} else {
myDay = “Not so good”;
};
return myDay;
}
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
Wireless Telephony
Application (WTA)
Collection of telephony specific extensions
designed primarily for network operators
Example
calling a number (WML)
wtai://wp/mc;07216086415
calling a number (WMLScript)
WTAPublic.makeCall("07216086415");
Implementation
Extension of basic WAE application model
Extensions added to standard WML/WMLScript browser
Exposes additional API (WTAI)
Mobile computing notes by Pallavi Joshi
WTA Features
Extension of basic WAE application model
network model for interaction
client requests to server
event signaling: server can push content to the client
event handling
table indicating how to react on certain events from the network
client may now be able to handle unknown events
telephony functions
some application on the client may access telephony functions
WTAI includes:
Call control
Network text messaging
Phone book interface
Event processing
Security model: segregation
Separate WTA browser
Separate WTA port
Mobile computing notes by Pallavi Joshi
Placing an outgoing call with WTAI:
Input Element
WTAI Call
<WML>
<CARD>
<DO TYPE=“ACCEPT”>
<GO URL=“wtai:cc/mc;$(N)”/>
</DO>
Enter phone number:
<INPUT TYPE=“TEXT” KEY=“N”/>
</CARD>
</WML>
WTA Example (WML)
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
Placing an outgoing call with WTAI:
WTAI Call
function checkNumber(N) {
if (Lang.isInt(N))
WTAI.makeCall(N);
else
Dialog.alert(“Bad phone number”);
}
WTA Example
(WMLScript)
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WTA Logical Architecture
other WTA
servers
Client
WAE
services
WTA
user agent
WAP Gateway
encoders
&
decoders
other telephone networks
WTA Origin Server
WTA & WML
server
WML
Scripts
WML
decks
WTA
services
mobile
network
firewall
third party
origin servers
network operator
trusted domain
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTA Framework Components
Source: Heijden
Mobile computing notes by Pallavi Joshi
WTA User Agent
WTA User Agent
WML User agent with extended functionality
can access mobile device’s telephony functions through WTAI
can store WTA service content persistently in a repository
handles events originating in the mobile network
WTA User Agent Context
Abstraction of execution space
Holds current parameters, navigation history, state of user agent
Similar to activation record in a process address space
Uses connection-mode and connectionless services offered by WSP
Specific, secure WDP ports on the WAP gateway
Mobile computing notes by Pallavi Joshi
WTA Events and Repository
WTA Events
Network notifies device of event (such as incoming call)
WTA events map to device’s native events
WTA services are aware of and able to act on these events
example: incoming call indication, call cleared, call connected
WTA Repository
local store for content related to WTA services (minimize network traffic)
Channels: define the service
content format defining a WTA service stored in repository
XML document specifying eventid, title, abstract, and resources that
implement a service
Resources: execution scripts for a service
could be WML decks, WML Scripts, WBMP images..
downloaded from WTA server and stored in repository before service is
referenced
Server can also initiate download of a channel
Mobile computing notes by Pallavi Joshi
WTA Channels and Resources
Source: Heijden
Mobile computing notes by Pallavi Joshi
WTA Interface (public)
WTA Interface
generic, high-level interface to mobile’s telephony functions
setting up phone calls, reading and writing entries in phonebook..
Public WTAI
for third party WML content providers
restricted set of telephony functions available to any WAE User Agent
library functions
make call: allows application to setup call to a valid tel number
send DTMF tones: send DTMF tones through the setup call
user notified to grant permission for service execution
cannot be triggered by network events
example: Yellow pages service with “make call” feature
Mobile computing notes by Pallavi Joshi
WTA Interface (network)
Network Common WTAI
WTA service provider is in operator’s domain
all WTAI features are accessible, including the interface to WTA events
library functions
Voice-call control: setup call, accept, release, send DTMF tones
Network text: send text, read text, remove text (SMS)
Phonebook: write, read, remove phonebook entry
Call logs: last dialed numbers, missed calls, received calls
Miscellaneous: terminate WTA user agent, protect context
user can give blanket permission to invoke a function
example: Voice mail service
Network Specific WTAI
specific to type of bearer network
example:
GSM: call reject, call hold, call transfer, join multiparty, send USSD
Mobile computing notes by Pallavi Joshi
WTA Event Handling
Event occurrence
WTA user agent could be executing and expecting the event
WTA user agent could be executing and a different event occurs
No service is executing
Event handling
channel for each event defines the content to be processed upon reception of
that event
Event binding
association of an event with the corresponding handler (channel)
Global binding:
channel corresponding to the event is stored in the repository
event causes execution of resources defined by the channel
example: voice mail service
Temporary binding:
resources to be executed are defined by the already executing service
example: yellow pages lookup and call establishment
Mobile computing notes by Pallavi Joshi
Event Handling (no service in execution)
Source: Heijden
Mobile computing notes by Pallavi Joshi
Event Handling (service already execution)
1: Temporary binding exists
2. No temporary binding and context is protected
3: No temporary binding and context is not protected
Source: Heijden
Mobile computing notes by Pallavi Joshi
WTA: Voice mail Example
push deck
WTA client WTA server mobile network voice mail server
incoming voice
message
generate
new deck
display deck;
user selects
translate
setup call
wait for call
accept call
voice connection
indicate new voice message
request
play requested voice message
setup call
call indication
accept call accept call
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTA Application: Example (using WML)
<WML>
<CARD>
<DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/>
Please vote for your champion!
</CARD>
<CARD NAME="voteChamp">
<DO TYPE="ACCEPT" TASK="GO"
URL="wtai://cc/sc;$voteNo;1"/>
Please choose:
<SELECT KEY="voteNo">
<OPTION VALUE="6086415">Mickey</OPTION>
<OPTION VALUE="6086416">Donald</OPTION>
<OPTION VALUE="6086417">Pluto</OPTION>
</SELECT>
</CARD>
</WML>
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTA: Example with WML and WMLScript
function voteCall(Nr) {
var j = WTACallControl.setup(Nr,1);
if (j>=0) {
WMLBrowser.setVar("Message", "Called");
WMLBrowser.setVar("No", Nr);
}
else {
WMLBrowser.setVar("Message", "Error!");
WMLBrowser.setVar("No", j);
}
WMLBrowser.go("showResult");
}
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTA: Example with WML and WMLScript
<WML>
<CARD>
<DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/>
Please vote for your champion!
</CARD>
<CARD NAME="voteChamp">
<DO TYPE="ACCEPT" TASK="GO"
URL="/script#voteCall($voteNo)"/>
Please choose:
<SELECT KEY="voteNo">
<OPTION VALUE="6086415">Mickey</OPTION>
<OPTION VALUE="6086416">Donald</OPTION>
<OPTION VALUE="6086417">Pluto</OPTION>
</SELECT>
</CARD>
<CARD NAME="showResult">
Status of your call: $Message $No
</CARD>
</WML>
Source: Schiller
Mobile computing notes by Pallavi Joshi
WAP Push Services
Web push
Scheduled pull by client (browser)
example: Active Channels
no real-time alerting/response
example: stock quotes
Wireless push
accomplished by using the network itself
example: SMS
limited to simple text, cannot be used as starting point for service
example: if SMS contains news, user cannot request specific news item
WAP push
Network supported push of WML content
example: Alerts or service indications
Pre-caching of data (channels/resources)
Mobile computing notes by Pallavi Joshi
WAP Push Framework
Source: Heijden
Mobile computing notes by Pallavi Joshi
Push Access Protocol
Based on request/response model
Push initiator is the client
Push proxy is the server
Initiator uses HTTP POST to send push message to proxy
Initiator sends control information as an XML document, and
content for mobile (as WML)
Proxy sends XML entity in response indicating submission
status
Initiator can
cancel previous push
query status of push
query status/capabilities of device
Mobile computing notes by Pallavi Joshi
Push
Prox
y
Gate
way
WAP stack (communication with mobile device)
TCP/IP stack (communication with Internet push initiator)
Proxy layer does
control information parsing
content transformation
session management
client capabilities
store and forward
prioritization
address resolution
management function
Mobile computing notes by Pallavi Joshi
Over the Air (OTA) Protocol
Extends WSP with push-specific functionality
Application ID uniquely identifies a particular application in the
client (referenced as a URI)
Connection-oriented mode
client informs proxy of application IDs in a session
Connectionless mode
well known ports, one for secure and other for non-secure push
Session Initiation Application (SIA)
unconfirmed push from proxy to client
request to create a session for a specific user agent and bearer
Mobile computing notes by Pallavi Joshi
WAE Summary
WML
analogous to HTML (optimized for wireless)
event based, microbrowser user agent
WMLScript
analogous to JavaScript
features of compiler in the network
WTA
WTAI: different access rights for different applications/agents
WTA User Agent (analogy with operating systems)
Context – Activation Record
Channel – Interrupt Handler
Resource – Shared routines invoked by interrupt handlers
Repository – Library of interrupt handlers
feature of dynamically pushing the interrupt handler before the event
Push
no analogy in Internet
Mobile computing notes by Pallavi Joshi
WAP Gateway Summary
Encoders
translate between binary (WML) and text (HTML/WML)
Filters
transcoding between WML (wireless) and HTML (wired)
Method Proxy
similar to standard proxy services
WAP stack on wireless interface and TCP/IP stack on Internet interface
Push Proxy
Push Access Protocol with Internet Push Initiator (Web Server)
Over the Air Protocol with mobile device (and WAP Push Initiator)
Performs necessary filtering, translation etc.
Mobile computing notes by Pallavi Joshi
WAP Servers Summary
Origin Server
Web server with HTML/WML contents
Runs TCP/IP stack, needs PAP protocol for push, no end-to-end security
WAP Server
Serves WML content
Runs WAP stack, uses OTA protocol for push, end-to-end security possible
WTA Server
Specialized for telephony applications (runs WAP stack, uses push extensively)
Client initiated (make call “hyperlink” from a Yellow pages service)
Server intiated (incoming call from a Voice mail service)
Mobile computing notes by Pallavi Joshi
WAP: Protocol Stack
Source: Schiller
Bearers (GSM, CDPD, ...)
Security Layer (WTLS)
Session Layer (WSP)
Application Layer (WAE)
Transport Layer (WDP)
TCP/IP,
UDP/IP,
media
SSL/TLS
HTML, Java
HTTP
Internet WAP
WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.
Transaction Layer (WTP)
additional services
and applications
WCMP
A-SAP
S-SAP
TR-SAP
SEC-SAP
T-SAP
Mobile computing notes by Pallavi Joshi
WDP: Wireless Datagram Protocol
Goals
create a worldwide interoperable transport system by adapting WDP to the
different underlying technologies
transmission services, such as SMS in GSM might change, new services can
replace the old ones
WDP
Transport layer protocol within the WAP architecture
uses the Service Primitive
T-UnitData.req .ind
uses transport mechanisms of different bearer technologies
offers a common interface for higher layer protocols
allows for transparent communication despite different technologies
addressing uses port numbers
WDP over IP is UDP/IP
Mobile computing notes by Pallavi Joshi
WDP: Service Primitives
T-SAP T-SAP
T-DUnitdata.req
(DA, DP, SA, SP, UD) T-DUnitdata.ind
(SA, SP, UD)
T-DUnitdata.req
(DA, DP, SA, SP, UD)
T-DError.ind
(EC)
SAP: Service Access Point
DA: Destination Address
DP: Destination Port
SA: Source Address
SP: Source Port
UD: User Data
EC: Error Code
Source: Schiller
Mobile computing notes by Pallavi Joshi
WAP Over GSM Circuit-Switched
RAS - Remote Access Server
IWF - InterWorking Function
WSP
WAE
Subnetwork
IP
WSP
WAE Apps on
Other Servers
WAP
Proxy/Server
CSD-RF
PPP
IP
Mobile
IWF
PSTN
Circuit
CSD-
RF
ISP/RAS
Subnetwork
PSTN
Circuit
PPP
IP
WTP
UDP
WTP
UDP
Service, Protocol, and Bearer Example
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WAP Over GSM Short Message Service
SMS
WDP
WTP
WSP
WAE
SMS
Subnetwork
WDP
WDP Tunnel
Protocol
Subnetwork
WDP Tunnel
Protocol
WTP
WSP
WAE Apps on
other servers
SMSC
WAP
Proxy/Server
Mobile
under development
Service, Protocol, and Bearer Example
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WTLS:Wireless Transport Layer
Security
Goals
Provide mechanisms for secure transfer of content, for applications needing
privacy, identification, message integrity and non-repudiation
Provide support for protection against denial-of-service attacks
WTLS
is based on the TLS/SSL (Transport Layer Security) protocol
optimized for low-bandwidth communication channels
provides
privacy (encryption)
data integrity (MACs)
authentication (public-key and symmetric)
Employs special adapted mechanisms for wireless usage
Long lived secure sessions
Optimised handshake procedures
Provides simple data reliability for operation over datagram bearers
Mobile computing notes by Pallavi Joshi
Record Protocol
Handshake
Protocol
Alert
Protocol
Application
Protocol
Change Cipher
Spec Protocol
Transaction Protocol (WTP)
Datagram Protocol (WDP/UDP)
Bearer networks
WTLS
Record protocol
WTLS Internal Architecture
Source: WAP Forum
Mobile computing notes by Pallavi Joshi
WTLS: Secure session, Full handshake
SEC-Create.req
(SA, SP, DA, DP, KES, CS, CM)
SEC-Create.ind
(SA, SP, DA, DP, KES, CS, CM)
originator
SEC-SAP
peer
SEC-SAP
SEC-Create.cnf
(SNM, KR, SID, KES‘, CS‘, CM‘)
SEC-Create.res
(SNM, KR, SID, KES‘, CS‘, CM‘)
SEC-Exchange.req
SEC-Exchange.ind
SEC-Exchange.res
(CC)
SEC-Commit.req SEC-Exchange.cnf
(CC)
SEC-Commit.ind
SEC-Commit.cnf
Source: Schiller
KES: Key Exchange Suite
CS: Cipher Suite
CM: Compression Mode
SNM: Sequence Number Mode
KR: Key Refresh Cycle
SID: Session Identifier
CC: Client Certificate
Mobile computing notes by Pallavi Joshi
WTLS: Transferring
Datagrams
SEC-Unitdata.req
(SA, SP, DA, DP, UD) SEC-Unitdata.ind
(SA, SP, DA, DP, UD)
sender
SEC-SAP
receiver
SEC-SAP
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTP: Wireless Transaction Protocol
Goals
different transaction services that enable applications to select reliability, efficiency
levels
low memory requirements, suited to simple devices (< 10kbyte )
efficiency for wireless transmission
WTP
supports peer-to-peer, client/server and multicast applications
efficient for wireless transmission
support for different communication scenarios
class 0: unreliable message transfer
unconfirmed Invoke message with no Result message
a datagram that can be sent within the context of an existing Session
class 1: reliable message transfer without result message
confirmed Invoke message with no Result message
used for data push, where no response from the destination is expected
class 2: reliable message transfer with exactly one reliable result message
confirmed Invoke message with one confirmed Result message
a single request produces a single reply
Mobile computing notes by Pallavi Joshi
WTP Services and Protocols
WTP (Transaction)
provides reliable data transfer based on request/reply paradigm
no explicit connection setup or tear down
optimized setup (data carried in first packet of protocol exchange)
seeks to reduce 3-way handshake on initial request
supports
header compression
segmentation /re-assembly
retransmission of lost packets
selective-retransmission
port number addressing (UDP ports numbers)
flow control
message oriented (not stream)
supports an Abort function for outstanding requests
supports concatenation of PDUs
supports User acknowledgement or Stack acknowledgement option
acks may be forced from the WTP user (upper layer)
default is stack ack
Mobile computing notes by Pallavi Joshi
WTP Class 0 Transaction
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=0, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=0, H‘)
initiator
TR-SAP
responder
TR-SAP
Source: Schiller
A: Acknowledgement Type
(WTP/User)
C: Class (0,1,2)
H: Handle (socket alias)
Mobile computing notes by Pallavi Joshi
WTP Class 1 Transaction, no user ack & user
ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=1, H‘)
initiator
TR-SAP
responder
TR-SAP
TR-Invoke.res
(H‘)
TR-Invoke.cnf
(H)
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=1, H‘)
initiator
TR-SAP
responder
TR-SAP
TR-Invoke.cnf
(H)
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTP Class 2 Transaction, no user ack,
no hold on
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H‘)
initiator
TR-SAP
responder
TR-SAP
TR-Result.req
(UD*, H‘)
TR-Result.ind
(UD*, H)
TR-Invoke.cnf
(H)
TR-Result.res
(H)
TR-Result.cnf
(H‘)
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTP Class 2 Transaction, user ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H‘)
initiator
TR-SAP
responder
TR-SAP
TR-Result.ind
(UD*, H)
TR-Invoke.res
(H‘)
TR-Invoke.cnf
(H) TR-Result.req
(UD*, H‘)
TR-Result.res
(H)
TR-Result.cnf
(H‘)
Source: Schiller
Mobile computing notes by Pallavi Joshi
WTP Class 2 Transaction, hold on, no user ack
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind
(SA, SP, DA, DP, A, UD, C=2, H‘)
initiator
TR-SAP
responder
TR-SAP
TR-Result.req
(UD*, H‘)
TR-Result.ind
(UD*, H)
TR-Invoke.cnf
(H)
TR-Result.res
(H)
TR-Result.cnf
(H‘)
Source: Schiller
Mobile computing notes by Pallavi Joshi
WSP - Wireless Session Protocol
Goals
HTTP 1.1 functionality
Request/reply, content type negotiation, ...
support of client/server transactions, push technology
key management, authentication, Internet security services
WSP Services
provides shared state between client and server, optimizes content transfer
session management (establish, release, suspend, resume)
efficient capability negotiation
content encoding
push
WSP/B (Browsing)
HTTP/1.1 functionality - but binary encoded
exchange of session headers
push and pull data transfer
asynchronous requests
Mobile computing notes by Pallavi Joshi
WSP Overview
Header Encoding
compact binary encoding of headers, content type identifiers and other well-
known textual or structured values
reduces the data actually sent over the network
Capabilities (are defined for):
message size, client and server
protocol options: Confirmed Push Facility, Push Facility, Session Suspend
Facility, Acknowledgement headers
maximum outstanding requests
extended methods
header code pages
Suspend and Resume
server knows when client can accept a push
multi-bearer devices
dynamic addressing
allows the release of underlying bearer resources
Mobile computing notes by Pallavi Joshi
WSP Sessions
Session Context and Push
push can take advantage of session headers
server knows when client can accept a push
Connection-mode
long-lived communication, benefits of the session state, reliability
Connectionless-mode
stateless applications, no session creation overhead, no reliability overhead
Mobile computing notes by Pallavi Joshi
WSP/B session establishment
S-Connect.req
(SA, CA, CH, RC) S-Connect.ind
(SA, CA, CH, RC)
client
S-SAP
server
S-SAP
S-Connect.res
(SH, NC)
S-Connect.cnf
(SH, NC)
WTP Class 2
transaction
Source: Schiller
CH: Client Header
RC: Requested Capabilities
SH: Server Header
NC: Negotiated Capabilities
Mobile computing notes by Pallavi Joshi
WSP/B session suspend/resume
S-Suspend.req S-Suspend.ind
(R)
client
S-SAP
server
S-SAP
S-Resume.res
WTP Class 2
transaction
S-Suspend.ind
(R)
~ ~
S-Resume.req
(SA, CA) S-Resume.ind
(SA, CA)
S-Resume.cnf
WTP Class 0
transaction
Source: Schiller
R: Reason for disconnection
Mobile computing notes by Pallavi Joshi
WSP
/B
sessi
on
termi
natio
n
S-Disconnect.ind
(R)
client
S-SAP
server
S-SAP
S-Disconnect.ind
(R) WTP Class 0
transaction
S-Disconnect.req
(R)
Source: Schiller
Mobile computing notes by Pallavi Joshi
WSP/B method invoke
S-MethodInvoke.req
(CTID, M, RU) S-MethodInvoke.ind
(STID, M, RU)
client
S-SAP
server
S-SAP
S-MethodInvoke.res
(STID)
S-MethodInvoke.cnf
(CTID)
WTP Class 2
transaction
S-MethodResult.req
(STID, S, RH, RB)
S-MethodResult.ind
(CTID, S, RH, RB)
S-MethodResult.res
(CTID) S-MethodResult.cnf
(STID) CTID: Client Transaction ID
M: Method Invoked
RU: Request URI
STID: Server Transaction ID
S: Response Status
RH: Response Header
RB: Response BodySource: Schiller
Mobile computing notes by Pallavi Joshi
WSP/B over WTP - method invocation
S-MethodInvoke.req
S-MethodInvoke.ind
client
S-SAP
server
S-SAP
S-MethodInvoke.res
S-MethodInvoke.cnf
S-MethodResult.req
S-MethodResult.ind
S-MethodResult.res
S-MethodResult.cnf
TR-Invoke.req
initiator
TR-SAP
TR-Result.ind
TR-Invoke.cnf
TR-Result.res
TR-Invoke.ind
responder
TR-SAP
TR-Invoke.res
TR-Result.req
TR-Result.cnf
Source: Schiller
Mobile computing notes by Pallavi Joshi
WSP/B over WTP - asynchronous, unordered
requests
S-MethodInvoke_1.req
S-MethodInvoke_1.ind
client
S-SAP
server
S-SAP
S-MethodInvoke_2.req
S-MethodInvoke_3.req
S-MethodResult_1.ind
S-MethodInvoke_4.req
S-MethodResult_3.ind
S-MethodResult_4.ind
S-MethodResult_2.ind
S-MethodInvoke_3.ind
S-MethodInvoke_2.ind
S-MethodResult_1.req
S-MethodResult_2.req
S-MethodResult_3.req
S-MethodResult_4.req
S-MethodInvoke_4.ind
Source: Schiller
Mobile computing notes by Pallavi Joshi
WSP/B - confirmed/non-confirmed push
S-Push.req
(PH, PB)
client
S-SAP
server
S-SAP
WTP Class 1
transaction
S-Push.ind
(PH, PB)
S-ConfirmedPush.res
(CPID)
S-ConfirmedPush.ind
(CPID, PH, PB)
WTP Class 0
transaction
S-ConfirmedPush.req
(SPID, PH, PB)
client
S-SAP
server
S-SAP
S-ConfirmedPush.cnf
(SPID)
Source: Schiller
PH: Push Header
PB: Push Body
SPID: Server Push ID
CPID: Client Push ID
Mobile computing notes by Pallavi Joshi
WSP/B over WDP
S-Unit-MethodInvoke.req
(SA, CA, TID, M, RU)
client
S-SAP
server
S-SAP
S-Unit-MethodResult.ind
(CA, SA, TID, S, RH, RB)
S-Unit-Push.ind
(CA, SA, PID, PH, PB)
S-Unit-MethodInvoke.ind
(SA, CA, TID, M, RU)
S-Unit-MethodResult.req
(CA, SA, TID, S, RH, RB)
S-Unit-Push.req
(CA, SA, PID, PH, PB)
WDP Unitdata
service
Source: Schiller
Mobile computing notes by Pallavi Joshi
WAP Stack Summary
WDP
functionality similar to UDP in IP networks
WTLS
functionality similar to SSL/TLS (optimized for wireless)
WTP
Class 0: analogous to UDP
Class 1: analogous to TCP (without connection setup overheads)
Class 2: analogous to RPC (optimized for wireless)
features of “user acknowledgement”, “hold on”
WSP
WSP/B: analogous to http 1.1 (add features of suspend/resume)
method: analogous to RPC/RMI
features of asynchronous invocations, push (confirmed/unconfirmed)
Mobile computing notes by Pallavi Joshi
WAP: Ongoing Work
WDP
Tunnel to support WAP where no (end-to-end) IP bearer available
WTLS
support for end-to-end security (extending WTLS endpoint beyond WAP
Gateway)
interoperable between WAP and Internet (public key infrastructure)
integrating Smart Cards for security functions
WTP
efficient transport over wireless links (wireless TCP)
bearer selection/switching
quality of service definitions
WSP
quality of service parameters
multicast data, multimedia support
WAE
User agent profiles: personalize for device characteristics, preferences etc
Push architecture, asynchronous applications
Billing
Mobile computing notes by Pallavi Joshi
WAP: Hype vs Reality
Low-bandwidth wireless links
tcp/ip over wireless can also address these problems
encoding in http can also reduce data transfer on wireless links
Limited device capabilities
Microbrowser is appropriate to address this problem
WTAI features are not present in tcp/ip domain
Challenges in WAP
adapting to applications rich in content and interaction
service guarantees
interface design and usability
Other approaches for WWW access through mobiles
i-Mode (from NTT DoCoMo)
WAP is a TRAP (http://www.freeprotocols.org/wapTrap)
Mobile computing notes by Pallavi Joshi
Wireless LAN
Mobile computing notes by Pallavi Joshi
Overview
A wireless LAN uses wireless transmission medium
Used to have high prices, low data rates, occupational safety
concerns, and licensing requirements
Problems have been addressed
Popularity of wireless LANs has grown rapidly
Mobile computing notes by Pallavi Joshi
Applications - LAN Extension
Saves installation of LAN cabling
Eases relocation and other modifications to network structure
However, increasing reliance on twisted pair cabling for LANs
Most older buildings already wired with Cat 3 cable
Newer buildings are prewired with Cat 5
Wireless LAN to replace wired LANs has not happened
In some environments, role for the wireless LAN
Buildings with large open areas
Manufacturing plants, stock exchange trading floors, warehouses
Historical buildings
Small offices where wired LANs not economical
May also have wired LAN
Servers and stationary workstations
Mobile computing notes by Pallavi Joshi
Single Cell Wireless LAN
Configuration
Mobile computing notes by Pallavi Joshi
Multi-Cell Wireless LAN Configuration
Mobile computing notes by Pallavi Joshi
Applications
Cross-Building Interconnect
Connect LANs in nearby buildings
Point-to-point wireless link
Connect bridges or routers
Not a LAN per se
Usual to include this application under heading of wireless LAN
Mobile computing notes by Pallavi Joshi
Applications - Nomadic Access
Link between LAN hub and mobile data terminal
Laptop or notepad computer
Enable employee returning from trip to transfer data from portable computer to
server
Also useful in extended environment such as campus or cluster of
buildings
Users move around with portable computers
May wish access to servers on wired LAN
Mobile computing notes by Pallavi Joshi
Infrastructure Wireless LAN
Mobile computing notes by Pallavi Joshi
Applications –
Ad Hoc Networking
Peer-to-peer network
Set up temporarily to meet some immediate need
E.g. group of employees, each with laptop or palmtop, in business
or classroom meeting
Network for duration of meeting
Mobile computing notes by Pallavi Joshi
Add Hoc LAN
Mobile computing notes by Pallavi Joshi
Wireless LAN Requirements
Same as any LAN
High capacity, short distances, full connectivity, broadcast capability
Throughput: efficient use wireless medium
Number of nodes:Hundreds of nodes across multiple cells
Connection to backbone LAN: Use control modules to connect to both types of
LANs
Service area: 100 to 300 m
Low power consumption:Need long battery life on mobile stations
Mustn't require nodes to monitor access points or frequent handshakes
Transmission robustness and security:Interference prone and easily
eavesdropped
Collocated network operation:Two or more wireless LANs in same area
License-free operation
Handoff/roaming: Move from one cell to another
Dynamic configuration: Addition, deletion, and relocation of end systems
without disruption to users
Mobile computing notes by Pallavi Joshi
Technology
Infrared (IR) LANs: Individual cell of IR LAN limited to single
room
IR light does not penetrate opaque walls
Spread spectrum LANs: Mostly operate in ISM (industrial,
scientific, and medical) bands
No Federal Communications Commission (FCC) licensing is required in USA
Narrowband microwave: Microwave frequencies but not use
spread spectrum
Some require FCC licensing
Mobile computing notes by Pallavi Joshi
Infrared LANs
Strengths and Weaknesses
Spectrum virtually unlimited
Infrared spectrum is unregulated worldwide
Extremely high data rates
Infrared shares some properties of visible light
Diffusely reflected by light-colored objects
Use ceiling reflection to cover entire room
Does not penetrate walls or other opaque objects
More easily secured against eavesdropping than microwave
Separate installation in every room without interference
Inexpensive and simple
Uses intensity modulation, so receivers need to detect only amplitude
Background radiation
Sunlight, indoor lighting
Noise, requiring higher power and limiting range
Power limited by concerns of eye safety and power consumption
Mobile computing notes by Pallavi Joshi
Infrared LANs
Transmission Techniques
Directed-beam IR
Point-to-point links
Range depends on power and focusing
Can be kilometers
Used for building interconnect within line of sight
Indoor use to set up token ring LAN
IR transceivers positioned so that data circulate in ring
Omnidirectional
Single base station within line of sight of all other stations
Typically, mounted on ceiling
Acts as a multiport repeater
Other transceivers use directional beam aimed at ceiling unit
Diffused configuration
Transmitters are focused and aimed at diffusely reflecting ceiling
Mobile computing notes by Pallavi Joshi
Spread Spectrum LANs
Hub Configuration
Usually use multiple-cell arrangement
Adjacent cells use different center frequencies
Hub is typically mounted on ceiling
Connected to wired LAN
Connect to stations attached to wired LAN and in other cells
May also control access
IEEE 802.11 point coordination function
May also act as multiport repeater
Stations transmit to hub and receive from hub
Stations may broadcast using an omnidirectional antenna
Logical bus configuration
Hub may do automatic handoff
Weakening signal, hand off
Mobile computing notes by Pallavi Joshi
Spread Spectrum LANs
Transmission Issues
Licensing regulations differ from one country to another
USA FCC authorized two unlicensed applications within the ISM
band:
Spread spectrum - up to 1 watt
Very low power systems- up to 0.5 watts
902 - 928 MHz (915-MHz band)
2.4 - 2.4835 GHz (2.4-GHz band)
5.725 - 5.825 GHz (5.8-GHz band)
2.4 GHz also in Europe and Japan
Higher frequency means higher potential bandwidth
Interference
Devices at around 900 MHz, including cordless telephones, wireless
microphones, and amateur radio
Fewer devices at 2.4 GHz; microwave oven
Little competition at 5.8 GHz
Higher frequency band, more expensive equipment
Mobile computing notes by Pallavi Joshi
Narrow Band Microwave LANs
Just wide enough to accommodate signal
Until recently, all products used licensed band
At least one vendor has produced LAN product in ISM band
Mobile computing notes by Pallavi Joshi
Licensed Narrowband RF
Microwave frequencies usable for voice, data, and video licensed within
specific geographic areas to avoid interference
Radium 28 km
Can contain five licenses
Each covering two frequencies
Motorola holds 600 licenses (1200 frequencies) in the 18-GHz range
Cover all metropolitan areas with populations of 30,000 or more in USA
Use of cell configuration
Adjacent cells use nonoverlapping frequency bands
Motorola controls frequency band
Can assure nearby independent LANs do not interfere
All transmissions are encrypted
Licensed narrowband LAN guarantees interference-free communication
License holder has legal right tointerference-free data channel
Mobile computing notes by Pallavi Joshi
Unlicensed Narrowband RF
1995, RadioLAN introduced narrowband wireless LAN using
unlicensed ISM spectrum
Used for narrowband transmission at low power
0.5 watts or less
Operates at 10 Mbps
5.8-GHz band
50 m in semiopen office and 100 m in open office
Peer-to-peer configuration
Elects one node as dynamic master
Based on location, interference, and signal strength
Master can change automatically as conditions change
Includes dynamic relay function
Stations can act as repeater to move data between stations that are
out of range of each other
Mobile computing notes by Pallavi Joshi
IEEE 802.11 - BSS
MAC protocol and physical medium specification for wireless
LANs
Smallest building block is basic service set (BSS)
Number of stations
Same MAC protocol
Competing for access to same shared wireless medium
May be isolated or connect to backbone distribution system (DS)
through access point (AP)
AP functions as bridge
MAC protocol may be distributed or controlled by central
coordination function in AP
BSS generally corresponds to cell
DS can be switch, wired network, or wireless network
Mobile computing notes by Pallavi Joshi
BSS Configuration
Simplest: each station belongs to single BSS
Within range only of other stations within BSS
Can have two BSSs overlap
Station could participate in more than one BSS
Association between station and BSS dynamic
Stations may turn off, come within range, and go out of range
Mobile computing notes by Pallavi Joshi
Extended Service Set (ESS)
Two or more BSS interconnected by DS
Typically, DS is wired backbone but can be any network
Appears as single logical LAN to LLC
Mobile computing notes by Pallavi Joshi
Access Point (AP)
Logic within station that provides access to DS
Provides DS services in addition to acting as station
To integrate IEEE 802.11 architecture with wired LAN, portal
used
Portal logic implemented in device that is part of wired LAN and
attached to DS
E.g. Bridge or router
Mobile computing notes by Pallavi Joshi
IEEE 802.11 Architecture
Mobile computing notes by Pallavi Joshi
Services
Service Provider Category
Association Distribution system MSDU delivery
Authentication Station LAN access and
security
Deauthentication Station LAN access and
security
Dissassociation Distribution system MSDU delivery
Distribution Distribution system MSDU delivery
Integration Distribution system MSDU delivery
MSDU delivery Station MSDU delivery
Privacy Station LAN access and
security
Reassocation Distribution system MSDU delivery
Mobile computing notes by
Pallavi Joshi
Categorizing Services
Station services implemented in every 802.11 station
Including AP stations
Distribution services provided between BSSs
May be implemented in AP or special-purpose device
Three services used to control access and confidentiality
Six services used to support delivery of MAC service data units
(MSDUs) between stations
Block of data passed down from MAC user to MAC layer
Typically LLC PDU
If MSDU too large for MAC frame, fragment and transmit in series of
frames (see later)
Mobile computing notes by Pallavi Joshi
Distribution of Messages
Within a DS
Distribution is primary service used by stations to exchange MAC
frames when frame must traverse DS
From station in one BSS to station in another BSS
Transport of message through DS is beyond scope of 802.11
If stations within same BSS, distribution service logically goes through
single AP of that BSS
Integration service enables transfer of data between station on
802.11 LAN and one on an integrated 802.x LAN
Integrated refers to wired LAN physically connected to DS
Stations may be logically connected to 802.11 LAN via integration service
Integration service takes care of address translation and media
conversion
Mobile computing notes by Pallavi Joshi
Association Related Services
Purpose of MAC layer transfer MSDUs between MAC entities
Fulfilled by distribution service (DS)
DS requires information about stations within ESS
Provided by association-related services
Station must be associated before communicating
Three transition types of based on mobility
No transition: Stationary or moves within range of single BSS
BSS transition: From one BSS to another within same ESS
Requires addressing capability be able to recognize new location
ESS transition: From BSS in one ESS to BSS in another ESS
Only supported in sense that the station can move
Maintenance of upper-layer connections not guaranteed
Disruption of service likely
Mobile computing notes by Pallavi Joshi
Station Location
DS needs to know where destination station is
Identity of AP to which message should be delivered
Station must maintain association with AP within current BSS
Three services relate to this requirement:
Association: Establishes initial association between station and AP
To make identity and address known
Station must establish association with AP within particular BSS
AP then communicates information to other APs within ESS
Reassociation: Transfer established association to another AP
Allows station to move from one BSS to another
Disassociation: From either station or AP that association is terminated
Given before station leaves ESS or shuts
MAC management facility protects itself against stations that disappear
without notification
Mobile computing notes by Pallavi Joshi
Access and Privacy Services -
Authentication
On wireless LAN, any station within radio range other devices can transmit
Any station within radio range can receive
Authentication: Used to establish identity of stations to each other
Wired LANs assume access to physical connection conveys authority to connect to
LAN
Not valid assumption for wireless LANs
Connectivity achieved by having properly tuned antenna
Authentication service used to establish station identity
802.11 supports several authentication schemes
Allows expansion of these schemes
Does not mandate any particular scheme
Range from relatively insecure handshaking to public-key encryption schemes
802.11 requires mutually acceptable, successful authentication before association
Mobile computing notes by Pallavi Joshi
Access and Privacy Services -
Deauthentication and Privacy
Deauthentication: Invoked whenever an existing authentication is
to be terminated
Privacy: Used to prevent messages being read by others
802.11 provides for optional use of encryption
Mobile computing notes by Pallavi Joshi
Medium Access Control
MAC layer covers three functional areas
Reliable data delivery
Access control
Security
Beyond our scope
Mobile computing notes by Pallavi Joshi
Reliable Data Delivery
802.11 physical and MAC layers subject to unreliability
Noise, interference, and other propagation effects result in loss of
frames
Even with error-correction codes, frames may not successfully be
received
Can be dealt with at a higher layer, such as TCP
However, retransmission timers at higher layers typically order of seconds
More efficient to deal with errors at the MAC level
802.11 includes frame exchange protocol
Station receiving frame returns acknowledgment (ACK) frame
Exchange treated as atomic unit
Not interrupted by any other station
If noACK within short period of time, retransmit
Mobile computing notes by Pallavi Joshi
Four Frame Exchange
Basic data transfer involves exchange of two frames
To further enhance reliability, four-frame exchange may be used
Source issues a Request to Send (RTS) frame to destination
Destination responds with Clear to Send (CTS)
After receiving CTS, source transmits data
Destination responds with ACK
RTS alerts all stations within range of source that exchange is
under way
CTS alerts all stations within range of destination
Stations refrain from transmission to avoid collision
RTS/CTS exchange is required function of MAC but may be
disabled
Mobile computing notes by Pallavi Joshi
Media Access Control
Distributed wireless foundation MAC (DWFMAC)
Distributed access control mechanism
Optional centralized control on top
Lower sublayer is distributed coordination function (DCF)
Contention algorithm to provide access to all traffic
Asynchronous traffic
Point coordination function (PCF)
Centralized MAC algorithm
Contention free
Built on top of DCF
Mobile computing notes by Pallavi Joshi
IEEE 802.11 Protocol Architecture
Mobile computing notes by Pallavi Joshi
Distributed Coordination Function
DCF sublayer uses CSMA
If station has frame to transmit, it listens to medium
If medium idle, station may transmit
Otherwise must wait until current transmission complete
No collision detection
Not practical on wireless network
Dynamic range of signals very large
Transmitting station cannot distinguish incoming weak signals from noise
and effects of own transmission
DCF includes delays
Amounts to priority scheme
Interframe space
Mobile computing notes by Pallavi Joshi
Interframe Space
Single delay known as interframe space (IFS)
Using IFS, rules for CSMA:
1. Station with frame senses medium
• If idle, wait to see if remains idle for one IFS. If so, may transmit
immediately
2. If busy (either initially or becomes busy during IFS) station
defers transmission
• Continue to monitor until current transmission is over
3. Once current transmission over, delay another IFS
• If remains idle, back off random time and again sense
• If medium still idle, station may transmit
• During backoff time, if becomes busy, backoff timer is halted and
resumes when medium becomes idle
To ensure stability, binary exponential backoff used
Mobile computing notes by Pallavi Joshi
IEEE 802.11
Medium
Access
Control
Logic
Mobile computing notes by Pallavi Joshi
Priority
Use three values for IFS
SIFS (short IFS):
Shortest IFS
For all immediate response actions (see later)
PIFS (point coordination function IFS):
Midlength IFS
Used by the centralized controller in PCF scheme when issuing polls
DIFS (distributed coordination function IFS):
Longest IFS
Used as minimum delay for asynchronous frames contending for access
Mobile computing notes by Pallavi Joshi
SIFS Use - ACK
Station using SIFS to determine transmission opportunity has
highest priority
In preference to station waiting PIFS or DIFS time
SIFS used in following circumstances:
Acknowledgment (ACK): Station responds with ACK after
waiting SIFS gap
No collision detection so likelihood of collisions greater than CSMA/CD
MAC-level ACK gives efficient collision recovery
SIFS provide efficient delivery of multiple frame LLC PDU
Station with multiframe LLC PDU to transmit sends out MAC frames one at a
time
Each frame acknowledged after SIFS by recipient
When source receives ACK, immediately (after SIFS) sends next frame in
sequence
Once station has contended for channel, it maintains control of all fragments
sent
Mobile computing notes by Pallavi Joshi
SIFS Use – CTS
Clear to Send (CTS): Station can ensure data frame will get
through by issuing RTS
Destination station should immediately respond with CTS if ready to receive
All other stations hear RTS and defer
Poll response: See Point coordination Function (PCF)
Mobile computing notes by Pallavi Joshi
PIFS and DIFS
PIFS used by centralized controller
Issuing polls
Takes precedence over normal contention traffic
Frames using SIFS have precedence over PCF poll
DIFS used for all ordinary asynchronous traffic
Mobile computing notes by Pallavi Joshi
IEEE 802.11 MAC Timing
Basic Access Method
Mobile computing notes by Pallavi Joshi
Point Coordination Function (PCF)
Alternative access method implemented on top of DCF
Polling by centralized polling master (point coordinator)
Uses PIFS when issuing polls
PIFS smaller than DIFS
Can seize medium and lock out all asynchronous traffic while it issues polls and
receives responses
E.g. wireless network configured so number of stations with time-sensitive
traffic controlled by point coordinator
Remaining traffic contends for access using CSMA
Point coordinator polls in round-robin to stations configured for polling
When poll issued, polled station may respond using SIFS
If point coordinator receives response, it issues another poll using PIFS
If no response during expected turnaround time, coordinator issues poll
Mobile computing notes by Pallavi Joshi
Superframe
Point coordinator would lock out asynchronous traffic by issuing polls
Superframe interval defined
During first part of superframe interval, point coordinator polls round-robin to all
stations configured for polling
Point coordinator then idles for remainder of superframe
Allowing contention period for asynchronous access
At beginning of superframe, point coordinator may seize control and issue polls
for given period
Time varies because of variable frame size issued by responding stations
Rest of superframe available for contention-based access
At end of superframe interval, point coordinator contends for access using PIFS
If idle, point coordinator gains immediate access
Full superframe period follows
If busy, point coordinator must wait for idle to gain access
Results in foreshortened superframe period for next cycle
Mobile computing notes by Pallavi Joshi
IEEE 802.11 MAC Timing
PCF Superframe Construction
Mobile computing notes by Pallavi Joshi
IEEE 802.11 MAC Frame
Format
Mobile computing notes by Pallavi Joshi
MAC Frame Fields (1)
Frame Control:
Type of frame
Control, management, or data
Provides control information
Includes whether frame is to or from DS, fragmentation information, and
privacy information
Duration/Connection ID:
If used as duration field, indicates time (in s) channel will be allocated
for successful transmission of MAC frame
In some control frames, contains association or connection identifier
Addresses:
Number and meaning of address fields depend on context
Types include source, destination, transmitting station, and receiving
station
Mobile computing notes by Pallavi Joshi
MAC Frame Fields (2)
Sequence Control:
4-bit fragment number subfield
For fragmentation and reassembly
12-bit sequence number
Number frames between given transmitter and receiver
Frame Body:
MSDU (or a fragment of)
LLC PDU or MAC control information
Frame Check Sequence:
32-bit cyclic redundancy check
Mobile computing notes by Pallavi Joshi
Control Frames
Assist in reliable data delivery
Power Save-Poll (PS-Poll)
Sent by any station to station that includes AP
Request AP transmit frame buffered for this station while station in power-saving
mode
Request to Send (RTS)
First frame in four-way frame exchange
Clear to Send (CTS)
Second frame in four-way exchange
Acknowledgment (ACK)
Contention-Free (CF)-end
Announces end of contention-free period part of PCF
CF-End + CF-Ack:
Acknowledges CF-end
Ends contention-free period and releases stations from associated restrictions
Mobile computing notes by Pallavi Joshi
Data Frames – Data Carrying
Eight data frame subtypes, in two groups
First four carry upper-level data from source station to destination
station
Data
Simplest data frame
May be used in contention or contention-free period
Data + CF-Ack
Only sent during contention-free period
Carries data and acknowledges previously received data
Data + CF-Poll
Used by point coordinator to deliver data
Also to request station send data frame it may have buffered
Data + CF-Ack + CF-Poll
Combines Data + CF-Ack and Data + CF-Poll
Mobile computing notes by Pallavi Joshi
Data Frames –
Not Data Carrying
Remaining four data frames do not carry user data
Null Function
Carries no data, polls, or acknowledgments
Carries power management bit in frame control field to AP
Indicates station is changing to low-power state
Other three frames (CF-Ack, CF-Poll, CF-Ack + CF-Poll) same as
corresponding frame in preceding list (Data + CF-Ack, Data +
CF-Poll, Data + CF-Ack + CF-Poll) but without data
Mobile computing notes by Pallavi Joshi
Management Frames
Used to manage communications between stations and Aps
E.g. management of associations
Requests, response, reassociation, dissociation, and authentication
Mobile computing notes by Pallavi Joshi
802.11 Physical Layer
Issued in four stages
First part in 1997
IEEE 802.11
Includes MAC layer and three physical layer specifications
Two in 2.4-GHz band and one infrared
All operating at 1 and 2 Mbps
Two additional parts in 1999
IEEE 802.11a
5-GHz band up to 54 Mbps
IEEE 802.11b
2.4-GHz band at 5.5 and 11 Mbps
Most recent in 2002
IEEE 802.g extends IEEE 802.11b to higher data rates
Mobile computing notes by Pallavi Joshi
Original 802.11 Physical Layer -
DSSS
Three physical media
Direct-sequence spread spectrum
2.4 GHz ISM band at 1 Mbps and 2 Mbps
Up to seven channels, each 1 Mbps or 2 Mbps, can be used
Depends on bandwidth allocated by various national regulations
13 in most European countries
One in Japan
Each channel bandwidth 5 MHz
Encoding scheme DBPSK for 1-Mbps and DQPSK for 2-Mbps
Mobile computing notes by Pallavi Joshi
Original 802.11 Physical Layer - FHSS
Frequency-hopping spread spectrum
2.4 GHz ISM band at 1 Mbps and 2 Mbps
Uses multiple channels
Signal hopping from one channel to another based on a pseudonoise sequence
1-MHz channels are used
23 channels in Japan
70 in USA
Hopping scheme adjustable
E.g. Minimum hop rate forUSA is 2.5 hops per second
Minimum hop distance 6 MHz in North America and most of Europe and 5 MHz in
Japan
Two-level Gaussian FSK modulation for 1-Mbps
Bits encoded as deviations from current carrier frequency
For 2 Mbps, four-level GFSK used
Four different deviations from center frequency define four 2-bit combinations
Mobile computing notes by Pallavi Joshi
Original 802.11 Physical Layer – Infrared
Omnidirectional
Range up to 20 m
1 Mbps used 16-PPM (pulse position modulation)
Each group of 4 data bits mapped into one of 16-PPM symbols
Each symbol a string of 16 bits
Each 16-bit string consists of fifteen 0s and one binary 1
For 2-Mbps, each group of 2 data bits is mapped into one of four
4-bit sequences
Each sequence consists of three 0s and one binary 1
Intensity modulation
Presence of signal corresponds to 1
Mobile computing notes by Pallavi Joshi
802.11a
5-GHz band
Uses orthogonal frequency division multiplexing (OFDM)
Not spread spectrum
Also called multicarrier modulation
Multiple carrier signals at different frequencies
Some bits on each channel
Similar to FDM but all subchannels dedicated to single source
Data rates 6, 9, 12, 18, 24, 36, 48, and 54 Mbps
Up to 52 subcarriers modulated using BPSK, QPSK, 16-QAM, or
64-QAM
Depending on rate
Subcarrier frequency spacing 0.3125 MHz
Convolutional code at rate of 1/2, 2/3, or 3/4 provides forward error
correction
Mobile computing notes by Pallavi Joshi
802.11b
Extension of 802.11 DS-SS scheme
5.5 and 11 Mbps
Chipping rate 11 MHz
Same as original DS-SS scheme
Same occupied bandwidth
Complementary code keying (CCK) modulation to achieve higher data rate
in same bandwidth at same chipping rate
CCK modulation complex
Overview on next slide
Input data treated in blocks of 8 bits at 1.375 MHz
8 bits/symbol  1.375 MHz = 11 Mbps
Six of these bits mapped into one of 64 code sequences
Output of mapping, plus two additional bits, forms input to QPSK modulator
Mobile computing notes by Pallavi Joshi
11-Mbps CCK Modulation Scheme
Mobile computing notes by Pallavi Joshi
802.11g
Higher-speed extension to 802.11b
Combines physical layer encoding techniques used in 802.11a and
802.11b to provide service at a variety of data rates
Mobile computing notes by Pallavi Joshi

More Related Content

PPS
PPTX
1. Introduction to Mobile Computing-1.pptx
PPT
Mobile computing
PPTX
Mobile Network Technologies - Unit 1 Guide
PDF
Unit 1 - mobile computing introduction
PPT
pervasive computing is a technology that prevade's the user environment
PPT
Theory of automata and Formal languages.
PPT
mdm-intro-chapter1.ppt
1. Introduction to Mobile Computing-1.pptx
Mobile computing
Mobile Network Technologies - Unit 1 Guide
Unit 1 - mobile computing introduction
pervasive computing is a technology that prevade's the user environment
Theory of automata and Formal languages.
mdm-intro-chapter1.ppt

Similar to CS-411 Mobile computing.pdf (20)

PPT
Mdm intro-chapter1
PDF
introductionsssssssss-140822224222-phpapp01 (2).pdf
PPTX
Mobile computing- it
PDF
IT6601 MOBILE COMPUTING
PPT
Mobile Computing
PDF
Chapter Two.pdf
PPTX
Introduction To Mobile Computing
PPTX
M.Sc Mobile computing.pptx
PPTX
Mobile computing The brief explanation of mobile computing and how it used
PPT
chapteghhhhghhhhyyyyyyyyyyyyhyhhhr 1.ppt
PPT
Mobile computing
PPTX
Mobile computing
PPTX
CS8601 Unit-1.pptx
PDF
SM_5th-SEM_Cse_Mobile-Computing.pdf_________________
PPTX
Subhacloud computing ppt presentationand cloud computing
PPTX
1- Mobile Computing Introduction.pptx
PPT
introduction to wireless communication in mobile
PDF
Living Online: Anytime, Anywhere, Any Device- NFAIS 2012
PPTX
Lesson one introduction to mc
PDF
fundamental of mobile computingChapter 6.pdf
Mdm intro-chapter1
introductionsssssssss-140822224222-phpapp01 (2).pdf
Mobile computing- it
IT6601 MOBILE COMPUTING
Mobile Computing
Chapter Two.pdf
Introduction To Mobile Computing
M.Sc Mobile computing.pptx
Mobile computing The brief explanation of mobile computing and how it used
chapteghhhhghhhhyyyyyyyyyyyyhyhhhr 1.ppt
Mobile computing
Mobile computing
CS8601 Unit-1.pptx
SM_5th-SEM_Cse_Mobile-Computing.pdf_________________
Subhacloud computing ppt presentationand cloud computing
1- Mobile Computing Introduction.pptx
introduction to wireless communication in mobile
Living Online: Anytime, Anywhere, Any Device- NFAIS 2012
Lesson one introduction to mc
fundamental of mobile computingChapter 6.pdf
Ad

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Yogi Goddess Pres Conference Studio Updates
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Updated Idioms and Phrasal Verbs in English subject
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Cell Structure & Organelles in detailed.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
Final Presentation General Medicine 03-08-2024.pptx
Yogi Goddess Pres Conference Studio Updates
Microbial diseases, their pathogenesis and prophylaxis
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
STATICS OF THE RIGID BODIES Hibbelers.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Final Presentation General Medicine 03-08-2024.pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Updated Idioms and Phrasal Verbs in English subject
Supply Chain Operations Speaking Notes -ICLT Program
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
UNIT III MENTAL HEALTH NURSING ASSESSMENT
Anesthesia in Laparoscopic Surgery in India
What if we spent less time fighting change, and more time building what’s rig...
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Cell Structure & Organelles in detailed.
Module 4: Burden of Disease Tutorial Slides S2 2025
Ad

CS-411 Mobile computing.pdf

  • 1. Mobile Computing Chapter 1 Introduction Mobile computing notes by Pallavi Joshi
  • 2. Information … the foundation Information is power Information – the key ingredient of decision making process Information – the basic differentiator between human beings a n d animals Information – the harbinger of new technologies and concepts Information – the underlying foundation of world’s g r e a te st economies Information – the currency of today’s businesses Information – the basic need for proliferation of h u m a n civilization Mobile computing notes by Pallavi Joshi
  • 3. Is it fiction or fact ? Mobile computing notes by Pallavi Joshi
  • 4. Where are we moving to ? Computing means … Yesterday Centralized mainframes to distributed Today Distributed to centralized servers Protocols Proprietary Industry Standard -TCP/IP, GSM, etc. Access Direct terminals, Private Networks, etc. Content Data only Global (restricted) through Internet & VPR Data / Images Access media GUI, Multimedia, fixed wired device & Internet Application management Character mode, Teletype, fixed wired devices, etc. Centralized Centralized / Distributed Tomorrow Centralized servers with ubiquitous computing,ASP, etc. TCP/IP, Bluetooth IEEE W LAN, CDMA, 3G, etc. Ubiquity (anywhere, anytime, any device) through Internet & WVPR Data, Voice, Streaming & Real time multimedia Pervasive / Ubiquitous, wired, wireless, Internet, & Intelligent Networks Static/Mobile agents, Centralized, Distributed, etc. Mobile computing notes by Pallavi Joshi
  • 5. Mobility … the basic human instinct Mobility differentiates animals from plants Human beings – the most adventurous and risk t a k i n g creation Examples: • Man going to Moon • British coming to India • Indian entrepreneurs success in USA • Spread of Buddhism in far east Mobile computing notes by Pallavi Joshi
  • 6. Physical to logical mobility Early milestones of mobility Joseph Henry sends electric current to ring a bell over o n e mile of wire in 1830. Samuel F B Morse invented telegraph and sent “What hath God wrought ?” from Washington to Baltimore over 40 miles on May 24, 1844. Alexander Graham Bell sent the first telephonic message ove r wire on March 10, 1876, in Boston, Massachusetts. Mobile computing notes by Pallavi Joshi
  • 7. For computing while being mobile, we need … Access to data Access to information Access to knowledge Access to wisdom Mobile computing notes by Pallavi Joshi
  • 8. Fruits of the past – Dotcom boom and burst Dotcom boom established Internet as the Information S u p e r Highway. Appetite for data is going to increase in every sphere of s o c i a l life. Business sense makes a business sense. Mobility is going to be the key technology driver for future. Global service portability is going to be critical to the s u c c e s sof enterprises wireless proliferation. Mobile computing is a reality. Mobile computing notes by Pallavi Joshi
  • 9. Milestones for the Internet 1957 – ARPA founded following USSR’s Sputnik launch 1961 – Leonard Kleinrock, MIT – first paper on “Packet S w i t c h ” 1964 – Paul Baran, RAND, No single outage point 1965 – TX-2 at MIT Lincoln Lab and AN / FSQ-32 at Sy s t e m Development Corporation (Santa Monica, CA) are directly linked (without packet switches) via a dedicated 1200 bps phone line 1971 – Ray Tomlinson invents email 1972 – First public demo of Internet in ICCC, Telnet / F T P invented 1983 – 1st January TCP / IP became the Internet protocol 1991 – Tim Berners Lee invents World Wide Web 2000 – Internet boom 2002 – Dotcom bust Mobile computing notes by Pallavi Joshi
  • 10. Motivations for Mobile Computing Think of … You are traveling. You are in a place you are not familiar with. It is quite late at night. Suddenly you had a flat tyre, or it started raining, or you need to catch a train from the nearest station. You need to know train timing, direction to the station, or t h e nearest hotel with direction, or where you are, etc. You need an alert if any of the robots goes down for mor e than 5 minutes. You want to be notified if a particular mail is received in y our mailbox from a very important client. Mobile computing notes by Pallavi Joshi
  • 11. Mobile Computing Can be defined as “a computing environment over physical mobility” The user should be able to access data, information, or o t h e r logical objects from any device in any network while on the move. It should allow a user to perform a task from anywhere u s i n ga computing device in the public, corporate and personal information spaces. The communication bearer should be spread over both– wired and wireless media. Mobile computing notes by Pallavi Joshi
  • 12. Different names of Mobile Computing VHE – Virtual Home Environment Anywhere, anytime information Nomadic computing Pervasive computing Ubiquitous computing Global service portability Wearable computers Context aware computing Mobile computing notes by Pallavi Joshi
  • 13. Attributes of ubiquity Network Mobility Bearer Mobility Device Mobility Session Mobility Service Mobility Host Mobility User Mobility Mobile computing notes by Pallavi Joshi
  • 14. Network Mobility User should be able to move from one network to a n o t h e r network and use the same service. Example: User moves from Hong Kong to Singapore and uses the same GSM phone to access the corporate application. Mobile computing notes by Pallavi Joshi
  • 15. Bearer Mobility User should be able to move from one bearer to a n o t h e r while using the same service. Example: User is unable to access the WAP bearer due to some problem in the GSM network then he should be able to use voice or SMS bearer to access that same corporate application. Mobile computing notes by Pallavi Joshi
  • 16. Device Mobility User should be able to move from one device to a n o t h e r and use the same service. Example: User is using a PC to do his work. During the day, while he is on the street he would like to use his Palmtop to access the corporate application. Mobile computing notes by Pallavi Joshi
  • 17. Session Mobility A user session should be able to move from one user - a g e n t environment to another. Example: An unfinished session moving from a mobile device to a desktop computer is a good example. Mobile computing notes by Pallavi Joshi
  • 18. Service Mobility User should be able to move from one service to another. Example: User is writing a mail. Suddenly, he needs to refer to something else. In a PC, user simply opens another service and moves between them. User should be able to do the same in small footprint wireless devices. Mobile computing notes by Pallavi Joshi
  • 19. Host Mobility User should be able to move while the device is a h o s t computer. Example: The laptop computer of a user is a host for grid computing network. It is connected to a LAN port. Suddenly, the user realizes that he needs to leave for an offsite meeting. He disconnects from the LAN and should get connected to wireless LAN while his laptop being the host for grid computing network. Mobile computing notes by Pallavi Joshi
  • 20. User Mobility User should be able to move from one physical location to another location and use the same service. Example: User moves from London to New York and uses the Internet in either place to access the corporate application. Mobile computing notes by Pallavi Joshi
  • 21. Mobile Computing Functions Mobile computing notes by Pallavi Joshi
  • 22. Mobile Computing Environment Mobile computing notes by Pallavi Joshi
  • 23. Mobile Computing Devices The usage of devices are becoming more and m o r e integrated. The Human Computer Interaction (HCI) plays a critical r o l ein effectiveness, efficiency and user experience. The challenges in HCI are: Interaction must be consistent from one device t o another. Interaction has to be appropriate for a particular device and environment in which the system is being used. Mobile computing notes by Pallavi Joshi
  • 24. Dialogue Control There can be two types of user dialogues: Long session oriented transactions Short transactions Mobile computing notes by Pallavi Joshi
  • 25. Networks for Mobile Computing Mobile Computing can use different networks such as: Fixed line telephone networks GSM GPRS ATM Frame Relay ISDN CDMA CDPD DSL and many more as such … Mobile computing notes by Pallavi Joshi
  • 26. Middleware and Gateways A software layer between a user application and operating system can be termed as middleware. Gateways are deployed when there are different transport bearers or networks with dissimilar protocols. The various types are: Communication middleware Transaction processing middleware Behavior management middleware Communication gateways Database middleware Message oriented middleware Mobile computing notes by Pallavi Joshi
  • 27. Mobile applications Mobile application at static state (Portable Computing) - Computing while being mobile (may not be networked) Occasionally connected computing - Computing while being mobile and occasionally connected Vehicular (mobile and connected) - Computing while being mobile and always connected Mobile computing notes by Pallavi Joshi
  • 28. Mobile application attributes It needs a multi layer architecture. For data mobility, it needs network of networks. For data portability, it needs data / file to be on a centralized server. It requires a universal thin client (executable in any d e v i c e )only to do the rendering at the device. Execution environment should be independent of rendering. Mobile computing notes by Pallavi Joshi
  • 29. Effect of mobility on protocol stack Application - adaptations with context awareness and security Transport - congestion, flow control, QoS and security Network - addressing, routing and security Link - media access and handoff Physical - transmission errors and interference Mobile computing notes by Pallavi Joshi
  • 30. Limitations of Mobile Computing Limitations of the wireless network - heterogeneity of fragmented networks - frequent disconnections - limited communication bandwidth Limitations imposed by mobility - lack of mobility awareness by system / applications - route breakages Limitations of the mobile computer short battery lifetime limited capacities (memory, processing speed, e t c . ) Mobile computing notes by Pallavi Joshi
  • 31. Applications and services There are six basic categories: Personal (wallet, diary, etc.) Perishable (news, sports, stock quotes, etc.) Transaction oriented (bank transactions, mobile shopping,etc.) Location specific (restaurant guide, map service, etc.) Corporate (ERP, inventory, business alerts, etc.) Entertainment (fun, games, etc.) Mobile computing notes by Pallavi Joshi
  • 32. Examples of applications News: This is a very big basket of applications having different types of news. News could be political, current affair, breaking news, business news, sports news, community news, etc. Youth: This is a very high growth market with different applications to suit the style and lifestyle of the youth. These are primarily messaging based application like person – to – person messaging, chat, forums, dating, etc. Weather: There are different types of applications and services where mobile computing can make a difference. If we look at very closely when a person is on a vacation, and driving from one city to another, access to weather information can sometime save lives. . Mobile computing notes by Pallavi Joshi
  • 33. Examples of applications Corporate application: Standard corporate information is one of the most desirable information set for mobile workers. This will include corporate mail, address book, appointments, MIS applications, corporate Intranet, etc. Sales Force Automation: This group will offer m a n y applications. This will cater the large population of sales personnel. Applications will include sales order booking, inventory enquiry, shipment tracking, logistics related applications, etc. These applications will be very effective over wireless devices. m-broker: Getting correct and timely information related to different stocks is very important. Also, online trading of stocks while on move is quite critical for certain lifestyle. Mobile computing notes by Pallavi Joshi
  • 34. Examples of applications m-banking & telebanking: We need to access our banks f o r different transactions. If telebanking can be made ubiquitous, it shall help everybody. Many banks in India are offering banking over mobile phones using SMS. m-shopping: It will help to do different types of shopping using mobile devices like Palmtop, PocketPC, mobile phone, etc. Buying a drink from a vending machine at an airport using a mobile phone may be very handy especially when you do not have change. Micropayment based applications: Micropayments are t h e s e final transactions where the amount of money involved in a transaction is not very high. Micropayments using mobile phones can help rural people to do business in a much effective way. Mobile computing notes by Pallavi Joshi
  • 35. Examples of applications Interactive games: Many mobile network operators h a v e started offering different types of contest and interactive games to be played using mobile phone. Interactive TV shows: Many TV companies around the w o r l d use SMS as a bearer for interactive TV. This has also started in India where some of the leading TV companies are using SMS to make TV programmes interactive. Experts on call: Application system for experts, w h e r e experts use this while they are mobile to schedule their time and business. Others use this to schedule business with the expert. GPS based systems: Applications related to location tr a c kin g come under this category. This could be as simple as tracking a vehicle or even tracking an individual who got lost or struck due to bad weather. Mobile computing notes by Pallavi Joshi
  • 36. Examples of applications e - governance: These applications are very important to b r i d g ethe digital divide. The Bhoomi project of Karnataka government has computerized two crore land records of 67 lakh farmers living in 30,000 villages in the state. Many such projects in the Government can be made electronic, resulting into better and faster access to information managed by the government. Virtual laboratories: There are many labs and knowledge repositories around the world. These types of applications make the facility of these labs available across the boundary of culture and countries. Community forums: There are different social and community meetings. On making them electronic, it may help increase the involvement of more people to participate in community developments. Mobile computing notes by Pallavi Joshi
  • 37. Mobile Computing examples Job facilitator: These could be either proactive alerts or information related to jobs. Telemetric applications: Almost every industry and s p h e r e of life has the need for telemetric applications. Examples could be monitoring and control in manufacturing industry; vehicle tracking; meter reading; health care & emergency services; vending machine monitoring; research; control and service request for different emergency services like power plants; etc. Downloads: Different types of downloads starting f r o m ringing tone to pictures are part of this family. In many countries, these types of applications are very popular. Mobile computing notes by Pallavi Joshi
  • 38. Mobile Computing examples Corporate knowledge based applications: Nowadays, t h e r eare many applications which offer knowledge base. If a company has some knowledgebase, the same is required to be ubiquitous. Community knowledge based applications: Knowledge is power. Like in a corporation, knowledge is equally important for a community. Making knowledge ubiquitous always help the society at a large. Distance learning: Applications related to distance learning may be very desirable for developing countries. Simputer with voice interface can change the economics of the rural India with these kind of applications. Mobile computing notes by Pallavi Joshi
  • 39. Standards – Why are they necessary ? Standards are documented agreements containing technical specifications to be consistently used as rules, guidelines, or definitions of characteristics. Standard and Proprietary technologies Adaptation of technology in USA and Europe Mobile computing notes by Pallavi Joshi
  • 40. ETSI European Telecommunications Standards Institute It is an independent, non – profit standardization institution catering to telecommunications industry, based in Europe but having a worldwide scope. ETSI’s prime objective is to support global harmonizationby providing a forum in which all the key players can contribute actively. Mobile computing notes by Pallavi Joshi
  • 41. ISO International Organization for Standardization ISO is a worldwide federation of national standards bodies from more than 140 countries, one from each country. The mission of ISO is to promote the development of standardization and related activities in the world with a view to facilitating the international exchange of goods and services, and to developing cooperation in the spheres of intellectual, scientific, technological and economic activity. Mobile computing notes by Pallavi Joshi
  • 42. OMA Open Mobile Alliance The Open Mobile Alliance (OMA) has been established by the consolidation of the WAP Forum and the Open Mobile Architecture initiative. It intends to grow the market for the entire industry by removing barriers to interoperability and supporting a seamless and easy-to-use mobile experience for end users. Mobile computing notes by Pallavi Joshi
  • 43. IEEE Institute of Electrical and Electronics Engineers IEEE is an organization that produces standards, w h i c h are developed and used internationally. IEEE-SA demonstrates strong support of an industry-led consensus process for the development of standards and operating procedures and guidelines. Mobile computing notes by Pallavi Joshi
  • 44. EIA Electronics Industry Association EIA is a national trade organization within USA t h a t includes the full spectrum of U.S. electronics industry. EIA is a partnership of electronic and high-tech associations and companies whose mission is promoting the market development and competitiveness of the U.S. high-tech industry through domestic and international policy efforts. Mobile computing notes by Pallavi Joshi
  • 45. ITU International Telecommunications Union ITU was founded on the principle of cooperation b e t w e e n governments and the private sector. ITU Telecommunication Standardization Sector (ITU-T)’ s mission is to ensure an efficient and on-time production of high quality standards (Recommendations) covering all fields of telecommunications. Mobile computing notes by Pallavi Joshi
  • 46. W3C World Wide Web Consortium W3C develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential. By promoting interoperability and encouraging an open forum for discussion, W3C is committed to leading the technical evolution of the Web. Mobile computing notes by Pallavi Joshi
  • 47. 3GPP 3rd Generation Partnership Project 3GPP is to produce globally applicable technical specifications and technical reports for 3rd Generation mobile system. The scope was subsequently amended to include t h e maintenance and development of the Global System for Mobile communication (GSM) technical specifications and technical reports including evolved radio access technologies. Mobile computing notes by Pallavi Joshi
  • 48. ANSI American National Standards Institute ANSI plays an important part in creating international standards that support the worldwide sale of products, which prevent regions from using local standards to favor local industries. ANSI has been one of the fore runner standards organization in computing for more than three decades. Mobile computing notes by Pallavi Joshi
  • 49. UMTS Universal Mobile Telecommunications System UMTS is synonymous with a choice of WCDMA r a d i o access technology that has already been selected by many licensees worldwide. UMTS represents an evolution in terms of services and d a t a speeds from today’s second generation mobile networks like GSM. Mobile computing notes by Pallavi Joshi
  • 50. Bluetooth Bluetooth wireless technology is a worldwide specification for a small-form factor, low cost radio solution that provides links between mobile computers, mobile phones, other portable handheld devices, and connectivity to the Internet. The standards and specification for Bluetooth a r e developed, published and promoted by the Bluetooth Special Interest Group. Mobile computing notes by Pallavi Joshi
  • 51. IMT 2000 International Mobile Telecommunications 2000 It is an ITU standard for 3G wireless communication. It provides a framework for worldwide wireless accessby linking diverse terrestrial and satellite networks. Mobile computing notes by Pallavi Joshi
  • 52. CDG CDMA Development Group The CDG is an international consortium of companieswho have joined together to lead the adoption and evolution of CDMA wireless systems around the world. By working together, the CDG members will help ensure interoperability among systems, while expediting the availability of CDMA technology to consumers. Mobile computing notes by Pallavi Joshi
  • 53. PAM Forum Presence and Availability Management Forum The Presence and Availability Management (P AM) Forum is an independent consortium with a goal to accelerate the commercial deployment of targeted presence and availability applications and services that respect users’ preferences, permissions and privacy. PAM Forum will define a framework for the various standards and specifications needed for context/location aware applications. Mobile computing notes by Pallavi Joshi
  • 54. Parlay Group The Parlay Group is a multi – vendor consortium formed to develop open, technology – independent application programming interfaces. Parlay integrates intelligent network (IN) services w i t hIT applications via a secure, measured, and billable interface. Parlay will also help develop location/context a w a r e applications and services. Mobile computing notes by Pallavi Joshi
  • 55. IETF Internet Engineering Task Force IETF is the standard-making body for Internet a n d related technologies. IETF is an open international community of network designers, operators, vendors and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet. Mobile computing notes by Pallavi Joshi
  • 56. DECT Digital Enhanced Cordless Communications It is an ITSI standard for portable phones. DECT is known in ITU as a 3G system and is c ommonly referred to as IMT-FT (IMT Frequency Time). Mobile computing notes by Pallavi Joshi
  • 57. WiMAX Forum Worldwide Interoperability for Microwave Access WiMAX forum is dedicated to certifying the operations of interconnecting products. WiMAX aims to provide wireless data over long distancesin different forms ranging from point – to – point links to full scale mobile access networks. Mobile computing notes by Pallavi Joshi
  • 58. TTA Telecommunications Technology Association TTA is an IT standards organization catering to developmentof new standards based in Korea. It provides one stop services for comprehensive IT standards. Mobile computing notes by Pallavi Joshi
  • 59. Wi-Fi Alliance Wi-Fi owns trademark to Wi-Fi. It was previously known as Wireless Ethernet Compatibility Alliance. It is focused on interoperability and compatibility of Wi-Fi devices and pledges itself to continuous improvements in design and better user experience. Mobile computing notes by Pallavi Joshi
  • 60. ARIB Association of Radio Industries and Businesses ARIB is an institution, based in Japan, dedicated to ef ficientuse of radio spectrum and its implications in businesses. It also works in the area of frequency change support. Mobile computing notes by Pallavi Joshi
  • 61. CCSA China Communications Standards Association It is an attempt of Chinese Ministry of IT to adapt to r e f o r m telecommunications industry and market. It aims for being a nationally unified standards organizationin China. Mobile computing notes by Pallavi Joshi
  • 62. DLNA Digital Living Network Association It is a cross-industry association of consumer electronics, computing industry and mobile device companies . The objective of DLNA is to enable a seamless environmentfor sharing digital multimedia content across heterogeneous devices and networks. Mobile computing notes by Pallavi Joshi
  • 63. Players in the wireless space The stakeholders in the wireless network are: Regulatory authorities Operator or service provider Subscriber Equipment vendors Research organizations Mobile computing notes by Pallavi Joshi
  • 64. Chapter 2 Mobile Computing Architecture Mobile computing notes by Pallavi Joshi
  • 65. Internet – The Ubiquitous Network  Two ubiquitous networks – the telecommunications network and the Internet  Glue for telecommunications network – SS#7 (loosely)  Glue for the Internet – TCP/IP  Three basic types of content – audio, video and text  Three main segments of any network – Core, Edge and Access  Core – backbone of network and looks at the traffic from the stream of bits point of view  Edge – responsible for the distribution of traffic and looks at the traffic from the service point of view  Access – deals with last mile of transmission Mobile computing notes by Pallavi Joshi
  • 66. Architecture of Mobile Computing The three tier architecture contains the user interface or the presentation tier, the process management or the application tier and the data management tier. Mobile computing notes by Pallavi Joshi
  • 67. Mobile Computing Architecture Mobile computing notes by Pallavi Joshi
  • 68. Presentation Tier  Responsible for presenting the information to the end user  Run on the client device and offer all the user interfaces  Includes web browsers, WAP browsers and client programs Mobile computing notes by Pallavi Joshi
  • 69. Application Tier  Independent of presentation and database management  Handles functions related to middleware  Middleware – layer of software sitting between the operating system and user facing software  Many types of middleware – Message Oriented Middleware, Transaction Processing Middleware, Communication Middleware, Distributed Objects and Components, Transcoding Middleware, Web Services, etc. Mobile computing notes by Pallavi Joshi
  • 70. Message Oriented Middleware  Loosely connects different applications through asynchronous exchange of messages  Works independent of platform or processor configuration  Generally asynchronous and peer to peer  Works in publish / subscribe fashion  Examples – MQ series from IBM, JMS, etc. Mobile computing notes by Pallavi Joshi
  • 71. Transaction Processing Middleware  Provides tools and environment for developing transaction based distributed applications  Capable of providing services to thousands of clients in a distributed client – server environment  Independent of database architecture  Example – CICS from IBM Mobile computing notes by Pallavi Joshi
  • 72. Communication Middleware  Used to connect one application to another  Quite useful in the telecommunications world  Uses mediation server to automate the telnet protocol to communicate to nodes in the network  Example – Using telnet to connect one application to another Mobile computing notes by Pallavi Joshi
  • 73. Distributed Objects and Components  Handles open distributed object computing infrastructure  Example – Common Object Request Broker Architecture (CORBA)  CORBA – a vendor independent infrastructure  CORBA – highly interoperable across heterogeneous platforms Mobile computing notes by Pallavi Joshi
  • 74. Transcoding Middleware  Used to transcode one format of data to another suiting the needs of the client  Useful for content adaptation to fit the needs of device  Example – Internet Content Adaptation Protocol (ICAP) from IETF Mobile computing notes by Pallavi Joshi
  • 75. ICAP  Aimed at providing simple object based content vectoring for HTTP services  Lightweight protocol to do transcoding on HTTP messages  Similar to executing a RPC on a HTTP request  Adapted messages can either be HTTP requests or HTTP responses Mobile computing notes by Pallavi Joshi
  • 76. Data flow in an ICAP environment 1. A user agent makes a request to an ICAP-capable surrogate (ICAP client) for an object on an origin server. 2. The surrogate sends the request to the ICAP server. 3. The ICAP server executes the ICAP resource’s service on the request and sends the possibly modified request, or a response to the request back to the ICAP client. Continued… Mobile computing notes by Pallavi Joshi
  • 77. 4. The surrogate sends the request, possibly different from the original client request, to the origin server. 5. The origin server responds to the request. 6. The surrogate sends the reply (from either the ICAP server or the origin server) to the client. Mobile computing notes by Pallavi Joshi
  • 78. Web Services  Provides a standard means of communication and information exchange among different software applications  Public interfaces and bindings are defined using XML  Standards for service requestor and service provider  Service requestor – find and discover the description of services  Service provider – publish the description of services it provides Mobile computing notes by Pallavi Joshi
  • 79. Data Tier  Used to store data needed by the application and acts as a repository for both temporary and permanent data  Can use XML for interoperability of data with other systems and data sources  Might incorporate the use of Database Middleware and SyncML  Database Middleware – interfaces application programs and the database  Database Middleware – helps business logic run independent and transparent from database technology and database vendor Mobile computing notes by Pallavi Joshi
  • 80. SyncML  Emerging standard for synchronization of data access from different nodes  Promotes a single common data synchronization protocol that can be used industry wide  Supports naming and identification of records and common protocol commands to synchronize local and network data  Works over all networks used by mobile devices – wired and wireless Mobile computing notes by Pallavi Joshi
  • 81. Design Considerations  Context information is the information related to the surrounding environment of an actor in that environment.  Mobility implies that attributes associated with devices and users will change constantly.  Such changes shall mean that content and behavior of applications should be adapted to suit the current situation.  Some examples are: 1. Content with context awareness 2. Content switch on context 3. Content transcoding on context Mobile computing notes by Pallavi Joshi
  • 82. Concerning contexts in Mobile Computing The following contexts need to be taken care of:  User context  Device context  Network context  Bandwidth context  Location context  Time context  Environment context  Charging context  Security context Mobile computing notes by Pallavi Joshi
  • 83. Handling user context  Who is the user?  In Trusted Personal Devices (TPD), and certain desktop environments user can be assumed from a particular environment. For example, anybody from IIIT – B campus can access IEEE digital library.  In general, desktops are shared devices and user context is dynamic. Mobile computing notes by Pallavi Joshi
  • 84. Handling device context  What is the device behavior?  What is the display size?  Does it support color?  Does it support SyncML?  What bearers it support?  Is there any shared object between applications in device and server?  Can we identify the device without ambiguity (like IMEI)? Mobile computing notes by Pallavi Joshi
  • 85. Handling network context  What is the security policy in the network?  What are the available bearers in the network?  What are the different nodes in the network?  Does the network offer positioning information?  What are the different services available within the network?  What are the services the user has subscribed to? Mobile computing notes by Pallavi Joshi
  • 86. Handling bandwidth context  What is the bandwidth available for this network?  What is the bandwidth the subscriber is allowed to?  Is there any service level agreement on bandwidth between the user and network?  Who pays for the bandwidth? Mobile computing notes by Pallavi Joshi
  • 87. Handling location context  Can we locate the device?  What is the positioning information (For example, is the car facing north way or south way in the highway)? Mobile computing notes by Pallavi Joshi
  • 88. Handling time context  Can we identify the timezone of the client?  Can we get the timestamp of the client?  Can we synchronize the clock?  Providing information based on time. For example, I finish my meeting at 4:00 PM, the system (Cyberguide from Georgia Tech) can tell me that I can visit a museum and the close by aquarium followed by dinner in an Indian restaurant. Mobile computing notes by Pallavi Joshi
  • 89. Handling environment context  What are the environmental conditions of the surrounding?  Essential for sensor based networks  Essential for telematic applications  Essential for embedded systems Mobile computing notes by Pallavi Joshi
  • 90. Handling charging context  Who pays for this service?  How to collect the usage information?  Whom to send the information for billing the end user?  What are the principles of sharing the revenue with other service providers? Mobile computing notes by Pallavi Joshi
  • 91. Handling security context  What is the security context?  Can we authenticate the device?  Can we authenticate the user of the device?  Is the network trusted? If not, what is required to build the trust?  Is the network encrypted?  What types of encryption does the client support?  Does the client have a WIM (Wireless Identification Module)?  Does the client have a private key? Mobile computing notes by Pallavi Joshi
  • 92. Content architecture in Mobile Computing Mobile computing notes by Pallavi Joshi
  • 93. Client Context Manager (CCM)  Maintains information pertaining to: 1. Mobile devices 2. Users 3. Location 4. Network 5. Environment around each mobile device Mobile computing notes by Pallavi Joshi
  • 94. Challenges with CCM  Context definition: Defining context attributes with interoperability in mind; how will every GPS device know the current data format?  Context sensing: The way context data is obtained; e.g. GPS data acquisition  Context representation: The way context information is stored and transported; e.g. transmitting such information  Context interpretation: The way the context data is interpreted; e.g. we might need additional GIS information to interpret the GPS data Mobile computing notes by Pallavi Joshi
  • 95. Contexts handled by CCM  Identity  Spatial and temporal information  Environmental information  Social information  Proximity and availability of resources  Physiological measurements  Activity  Schedules and agendas Mobile computing notes by Pallavi Joshi
  • 96. Functions of the CCM  Responsible for receiving raw context data, collating the data into a useful form and disseminating it to context consumers.  Present context information to consumers in suitable and interoperable form.  Context model should allow aggregation.  Dynamic updates should be possible.  Context history should be available.  Context should be filtered. Mobile computing notes by Pallavi Joshi
  • 97. Composite Capabilities/Preference Profiles  Proposed W3C standard for describing device capabilities and user preferences  Based on Resource Description framework (RDF)  Can be serialized using XML  Origin server or proxy can perform some sort of content to device matching  Abbreviated as CC/PP Mobile computing notes by Pallavi Joshi
  • 98. CC/PP in action  Device sends serialized profile model with request for content.  Origin server receives serialized RDF profile and converts it into an in – memory model.  The profile for the requested document is retrieved and an in –memory model is created.  The device profile model is matched against the document profile model.  A suitable representation of the document is chosen. Either content switch on context or content transcoding on context is employed.  Document is returned to device and presented. Mobile computing notes by Pallavi Joshi
  • 99. Simplest use of CC/PP Mobile computing notes by Pallavi Joshi
  • 100. Format for RDF Mobile computing notes by Pallavi Joshi
  • 101. Example for RDF Mobile computing notes by Pallavi Joshi
  • 102. Parser for RDF  Java based RDF parser (SiRPAC) is available free on the web.  SiRPAC can be used to parse serialised RDF into triples.  Triples are the output of RDF parsers and are of the form triple (subject, predicate, object).  Using triples, it is possible to build a CC/PP model. The model is updated whenever new context data are sent from context sources. Mobile computing notes by Pallavi Joshi
  • 103. Policy Manager  Responsible for controlling policies related to mobility  Should be able to define policy for documents/services and assign roles to user  Should assign roles to users like – Permission – Prohibition – Obligations  Policy combined with context should determine – what action(s) the user is allowed to perform? – what action(s) the user is obliged to perform? – the policy applicable Mobile computing notes by Pallavi Joshi
  • 104. Semantic Web  Facilitates putting machine understandable data on the web  Facilitates web definition and linking in a way to be useful for machines in the context of automation, security, filtering, integration and data reuse  Increases the modularity of web applications  Built on syntaxes which use URI’s to represent data  Such syntaxes are called Resource Description Framework (RDF) syntaxes Mobile computing notes by Pallavi Joshi
  • 105. Security Manager  Secures connection between client device and origin server  Should handle – Confidentiality (managed by encryption) – Integrity (managed by algorithms) – Availability (relates to peripheral security) – Non – repudiation (managed by digital signatures) Mobile computing notes by Pallavi Joshi
  • 106. Platform for Privacy Preference Project  Emerging standard defined by W3C  Enables websites to express their privacy practices in a standardized format retrievable and interpretable by user agents  Any discrepancies between a site’s practices and the user preferences can be flagged as well  Does not provide any mechanism for ensuring that websites act according to their policies  Intended to be complementary to both legislative and self–regulatory programmes Mobile computing notes by Pallavi Joshi
  • 107. Adaptability Manager  Based on context and policy , it should adapt to: – Content – Behaviour – Other aspects  May take any number of actions depending upon the information passed to it by Context Manager  May include appending location – specific information to documents Mobile computing notes by Pallavi Joshi
  • 108. Content adaptation  Content should be able to adapt to dynamic situations.  Adaptation can be static or dynamic.  Content adaptation can be performed either at content level in server or agent level in client.  Content adaptation can be handled by middleware as well.  Content adaptation needs to consider the physical and logical capabilities of the device, effective network bandwidth and payload (total number of bits delivered to the agent for static parts). Mobile computing notes by Pallavi Joshi
  • 109. Content transcoding The resource requirements for the client devices can be determined by:  Static content size in bits  Display size  Streaming bit rate  Colour requirements  Compression formats  Hardware requirements Mobile computing notes by Pallavi Joshi
  • 110. Types of content transcoding  Spatial transcoding  Temporal transcoding  Colour transcoding  Code transcoding  Object or semantic transcoding Mobile computing notes by Pallavi Joshi
  • 111. Content rating and filtering  Need to ensure social discipline in the electronic world  Platform for Internet Content Selection (PICS)  PICS – W3C proposed standard for web content rating  PICS – set of technical specifications for labels that help software and rating services to work synergistically  PICS – services should choose their own criteria for proper identification and filtering of content  Rating can be though self labeling or third party labeling  Originally designed to help parents and teachers control children access to the Internet  Also includes code signing and privacy Mobile computing notes by Pallavi Joshi
  • 112. RSACI  Acronym for Recreational Software Advisory Council – Internet  Has a PICS compliant rating system called Resaca  Resaca has four categories – violence, nudity, sex and language  Has a rating range from 0 to 4  0 means no potentially offensive content  4 means highest level of offensive content  PICS – a general meta data system  PICS labels – helpful in finding desirable content on the web  PICS – enables more sophisticated commerce, communication, indexing and searching services Mobile computing notes by Pallavi Joshi
  • 113. Content Aggregation From the content aggregator’s perspective, services are of two categories:  Single service request – works at user level and for one user Example : A user may request a webpage in Hindi from proxy server. Here, the user buys both the content and translation service.  Group service request – works for a group of users Example : The content aggregator has some arrangement for advertisement. It examines all HTML pages and inserts an advertisement at an appropriate place. Mobile computing notes by Pallavi Joshi
  • 114. Seamless Communication  A ubiquitous system involves availability and accessibility from anywhere, anytime and through any network or device.  Seamless communication shall involve seamless handovers and seamless roaming.  Handoff is the process by which the connection to the network is moved from one base station to another within the same network without discontinuing the service.  Roaming shall involve the point of attachment moving from one base station of one network to a base station of another network. Mobile computing notes by Pallavi Joshi
  • 115. Aspects of Seamless Communication  Authentication across network boundaries  Authorization across network boundaries  Billing and charging data collection  End – to – end data security across roaming  Handoff between wireless access points  Roaming between networks  Session migration  IP mobility Mobile computing notes by Pallavi Joshi
  • 116. Autonomous Computing The purpose of autonomous computing is to free users and system administrators from the details of the system operation and maintenance complexity. It combines the following functions:  Self configurable  Self optimizing  Self healing  Self protecting  Self upgradable Mobile computing notes by Pallavi Joshi
  • 117. Context aware systems The following information needs to be handled in a mobile computing environment for making a system context aware:  Location information  Device information  Network information  User information  Environment information Mobile computing notes by Pallavi Joshi
  • 118. Global Positioning System  Gives the exact positioning on Earth  Funded and controlled by US Department of Defense  Has three parts – the space segment, the user segment and control segment.  Has 24 satellites , each in its own orbit 11,000 nautical miles above Earth. Mobile computing notes by Pallavi Joshi
  • 119. Making existing applications mobile enabled  Enhancing an existing application  Renting an application  Developing a new application  Buying a packaged solution  Bridging the gap through middleware Mobile computing notes by Pallavi Joshi
  • 120. Chapter 4 Emerging Technologies Mobile computing notes by Pallavi Joshi
  • 121. Emerging Technologies  Bluetooth  Radio Frequency Identification (RFID)  WiMAX  Mobile IP  IPv6  Java Card Mobile computing notes by Pallavi Joshi
  • 122. Bluetooth  Name comes from nickname of Danish king Harald Blåtand Allows users to make ad hoc wireless connections between devices like mobile phones, desktop or notebook computers wirelessly Data transfer at a speed of about 720 Kbps within 50 meters (150 feet) of range or beyond through walls, clothing and even luggage bags  Built into a small microchip Operates in a globally available frequency band ensuring worldwide interoperability  Managed and maintained by Bluetooth Special Interest Group Mobile computing notes by Pallavi Joshi
  • 123. Bluetooth Protocol Uses the unlicensed 2.4 GHz ISM (Industrial Scientific and Medical) frequency band  79 available channels spaced 1 MHz apart from 2.402 GHz to 2.480 GHz Allows power levels starting from 1mW (covering 10 centimetres) to 100mW (covering upto 100 meters) suitable for short device zone to personal area networks within a home Supports both unicast (point-to-point) and multicast (point-to- multipoint) connections Bluetooth protocols are a collection of many inter-related protocols Mobile computing notes by Pallavi Joshi
  • 124. Bluetooth Protocol  Uses the master and slave relationship  Master and slaves together form a Piconet when master allows slaves to talk Up to seven ‘slave’devices can be set to communicate with a ‘master’in a Piconet Scatternet is formed when several of piconets are linked together to form a larger network in an ad hoc manner Mobile computing notes by Pallavi Joshi
  • 125. Bluetooth Protocol Scatternet is a topology where a device from one piconet also acts as a member of another piconet wherein a device being a master in one piconet can simultaneously be a slave in the other one Mobile computing notes by Pallavi Joshi
  • 126. Bluetooth Protocol Bluetooth Core protocols plus Bluetooth radio protocols are required by most of Bluetooth devices Uses spread spectrum technologies at the Physical Layer while using both direct sequence and frequency hopping spread spectrum technologies Uses connectionless (ACL–Asynchronous Connectionless Link) and connection-oriented (SCO–Synchronous Connection- oriented Link) links Cable Replacement layer, Telephony Control layer and Adopted protocol layer form application-oriented protocols Mobile computing notes by Pallavi Joshi
  • 127. Bluetooth Protocol Stack OBEX – Object Exchange Protocol WAE – WirelessApplication Environment W AP – Wireless Application Protocol LMP – Link Manager Protocol TCS BIN – Telephony Control Specification Binary SDP – Service Discovery Protocol RFCOMM – Radio Frequency Communication L2CAP – Logical Link Control and Adaptation Protocol Mobile computing notes by Pallavi Joshi
  • 128. Bluetooth Protocol Stack 1. Bluetooth Core Protocols 2. Cable Replacement Protocol 3. Telephony Control Protocols 4. Adopted Protocols Mobile computing notes by Pallavi Joshi
  • 129. Bluetooth Core Protocols  Baseband – enables physical RF link  Link Manager Protocol (LMP) – manages devices in range, power modes, connections, duty cycles, etc. Logical Link Control and Adaptation Protocol (L2CAP) – segmentation and re-assembly of fragmented packets with their multiplexing Service Discovery Protocol (SDP) – Enables a device to join a piconet Mobile computing notes by Pallavi Joshi
  • 130. Cable Replacement Protocol Radio Frequency Communication (RFCOMM) - emulates RS- 232 control and data signals over Bluetooth baseband protocol Mobile computing notes by Pallavi Joshi
  • 131. Telephony Control Protocols Telephony Control Specification Binary (TCS BIN) - defines the call control signaling protocol and handles mobility management for groups of Bluetooth TCS devices Attention (AT) Commands - defines a set of commands by which a mobile phone can be used and controlled as a modem for fax and data transfers Mobile computing notes by Pallavi Joshi
  • 132. Adopted Protocols Point-to-Point Protocol (PPP) - means of taking IP packets to/from the PPP layer and placing them onto the LAN Transmission Control Protocol/Internet Protocol (TCP/IP) - used for communication across the Internet Object Exchange (OBEX) Protocol - session protocol to exchange objects and used to browse the contents of folders on remote devices Content Formats - used to exchange messages and notes and synchronize data amongst various devices Mobile computing notes by Pallavi Joshi
  • 133. Bluetooth Security Offers security infrastructure starting from authentication, key exchange to encryption Uses the publicly available cipher algorithm known as SAFER+ to authenticate a device’s identity Mobile computing notes by Pallavi Joshi
  • 134. Bluetooth Application Models Each application model in Bluetooth is realized through a Profile. Profiles define the protocols and protocol features supporting a particular usage model. Some common profiles are:  File Transfer  Internet Bridge  LAN Access  Synchronization  Headset Mobile computing notes by Pallavi Joshi
  • 135. RFID  Radio Frequency Identification Radio transponder (known as RFID tags) carrying an ID (Identification) can be read through radio frequency (RF) interfaces Tag is attached to the object and data within the tag provides identification for the object Object could be an entity in a manufacturing shop, goods in transit, item in a retail store, a vehicle in a parking lot, a pet, or a book in a library Mobile computing notes by Pallavi Joshi
  • 136. RFID System Comprises of different functional areas like:  Means of reading or interrogating the  Mechanism to filter some of the data  Means to communicate the data in the tag with a host computer  Means for updating or entering customized data into the tag Mobile computing notes by Pallavi Joshi
  • 137. RFID Tags Three basic criteria for categorisation:  Frequency  Application  Power levels Mobile computing notes by Pallavi Joshi
  • 138. RFID tags based on frequency Works on six frequencies of 132.4 KHz, 13.56 MHz, 433 MHz, 918 MHz, 2.4 GHz and 5.8 GHz Low frequency range tags are slow in data transfer and suitable for slow moving objects, security access, asset tracking and animal identification applications High frequency range tags offer long reading ranges and high data transfer speed and are used for fast moving objects like railway wagon tracking and identification of vehicles on freeways for automated toll collection  Higher the frequency, higher the data transfer rates Mobile computing notes by Pallavi Joshi
  • 139. RFID tags based on applications Speed of the object and distance to be read determines the type of tag to be used RFID systems follow contact-less and non line-of-sight nature of the technology  Tags can be read at high speeds RFID tag contains two segments of memory - one segment is a factory set and used to uniquely identify a tag while the other one is used by the application Read/write capability of a RFID system is an advantage in interactive applications such as work-in-process or maintenance tracking Mobile computing notes by Pallavi Joshi
  • 140. RFID tags based on power levels  Two types -Active and Passive tags  Passive tags are generally in low frequency range  Tags at higher frequency range can be either active or passive Mobile computing notes by Pallavi Joshi
  • 141. Active Tags  Powered by an internal battery and are typically read/write  Memory can vary from a few bytes to 1MB Battery supplied power of an active tag generally gives it a longer read range  Greater the size, greater the cost and a limited operational life Mobile computing notes by Pallavi Joshi
  • 142. Passive Tags  Operate without own power source  Obtains operating power from the reader’s antenna Data within a passive tag is read only and generally cannot be changed during operation Lighter, less expensive and offer a virtually unlimited operational life Have shorter read ranges than active tags and require a high powered reader  Data is usually 32 to 128 bits long Mobile computing notes by Pallavi Joshi
  • 143. Components of an RFID system Atransponder programmed with unique information (RFID tag)  Atransceiver with decoder (a reader)  An antenna or coil Close proximity passive tags rely on electromagnetic or inductive coupling techniques whereas active tags are based upon propagating electromagnetic waves techniques Mobile computing notes by Pallavi Joshi
  • 144. Coupling in Passive and Active RFID tags (a) Passive RFID tags (b)Active RFID tags Mobile computing notes by Pallavi Joshi
  • 145. Appl icati on areas for RFI D  Transportation and Logistics  Manufacturing and Processing  Security  Animal tagging  Retail store and enterprise stores  Community library  Time and attendance  Postal tracking  Airline baggage reconciliation  Road toll management Mobile computing notes by Pallavi Joshi
  • 146. Wireless Broadband Also known as Wireless MetropolitanArea Network (Wireless MAN) and Wireless MicrowaveAccess (WiMAX)  IEEE 802.16 standard released inApril 2002 Offers an alternative to high bandwidth wired access networks like fiber optic, cable modems and DSL Provides network access to buildings through exterior antennas communicating with radio base stations Networks can be created in just weeks by deploying a small number of base stations on buildings or poles to create high capacity wireless access systems Mobile computing notes by Pallavi Joshi
  • 147. Overview of IEEE 802.16 Mobile computing notes by Pallavi Joshi
  • 148. Sub-standards of IEEE 802.16  IEEE 802.16.1 -Air interface for 10 to 66 GHz  IEEE 802.16.2 - Coexistence of broadband wireless access systems IEEE 802.16.3 -Air interface for licensed frequencies, 2 to 11 GHz Mobile computing notes by Pallavi Joshi
  • 149. Basics of IEEE 802.16 IEEE 802.16 standards are concerned with the air interface between a subscriber’s transceiver station and a base transceiver station  The Physical Layer  MAC Layer  Convergence Layer Mobile computing notes by Pallavi Joshi
  • 150. Physical Layer Specifies the frequency band, the modulation scheme, error- correction techniques, synchronization between transmitter and receiver, data rate and the multiplexing structure Both TDD and FDD alternatives support adaptive burst profiles in which modulation and coding options may be dynamically assigned on a burst-by-burst basis  Three physical layer for services: Wireless MAN- SC2, Wireless MAN-OFDM and Wireless MAN-OFDMA Mobile computing notes by Pallavi Joshi
  • 151. Medium Access Control Layer  Designed for point-to-multipoint broadband wireless access  Addresses the need for very high bit rates, both uplink (to the base station) and downlink (from the base station) Services like multimedia and voice can run as 802.16 MAC is equipped to accommodate both continuous and bursty traffic Mobile computing notes by Pallavi Joshi
  • 152. Convergence Layer  Provides functions specific to the service being provided Bearer services include digital audio/video multicast, digital telephony, A TM, Internet access, wireless trunks in telephone networks and frame relay Mobile computing notes by Pallavi Joshi
  • 153. Mobile IP  ‘Mobile IP’signifies that, while a user is connected to applications across the Internet and the user’s point of attachment changes dynamically, all connections are maintained despite the change in underlying network properties  Similar to the handoff/roaming situation in cellular network Mobile IP allows the mobile node to use two IP addresses called home address and care of address The home address is static and known to everybody as the identity of the host The care of address changes at each new point of attachment and can be thought of as the mobile node’s location specific address Mobile computing notes by Pallavi Joshi
  • 154. Working of Mobile IP Mobile computing notes by Pallavi Joshi
  • 155. Working of Mobile IP Let’s take the case of mobile node (A) and another host (server X). The following steps take place: Server X wants to transmit an IP datagram to nodeA. The home address of A is advertised and known to X. X does not know whetherAis in the home network or somewhere else. Therefore, X sends the packet toAwithA’s home address as the destination IP address in the IP header. The IP datagram is routed toA’s home network. Mobile computing notes by Pallavi Joshi
  • 156. Working of Mobile IP At the A’s home network, the incoming IP datagram is intercepted by the home agent. The home agent discovers thatAis in a foreign network. A care of address has been allocated to A by this foreign network and available with the home agent. The home agent encapsulates the entire datagram inside a new IP datagram, with A’s care of address in the IP header. This new datagram with the care of address as the destination address is retransmitted by the home agent. At the foreign network, the incoming IP datagram is intercepted by the foreign agent. The foreign agent is the counterpart of the home agent in the foreign network. The foreign agent strips off the outer IP header, and delivers the original datagram toA. Mobile computing notes by Pallavi Joshi
  • 157. Working of Mobile IP A intends to respond to this message and sends traffic to X. In this example, X is not mobile; therefore X has a fixed IP address. For routingA ’s IP datagram to X, each datagram is sent to some router in the foreign network. Typically, this router is the foreign agent.Auses X’s IP static address as the destination address in the IP header. The IP datagram fromAto X travels directly across the network, using X’s IP address as the destination address. Mobile computing notes by Pallavi Joshi
  • 158. Working of Mobile IP Discovery -Amobile node uses a discovery procedure to identify prospective home agents and foreign agents. Registration -Amobile node uses a registration procedure to inform its home agent of its care-of address. Tunneling - Tunneling procedure is used to forward IP datagrams from a home address to a care of address. Mobile computing notes by Pallavi Joshi
  • 159. IP headers in Mobile IP Mobile computing notes by Pallavi Joshi
  • 160. Cellular IP None of the nodes know the exact location of a mobile host. Packets addressed to a mobile host are routed to its current base station on a hop-by-hop basis where each node only needs to know on which of its outgoing ports to forward packets. This limited routing information (referred as mapping) is local to the node and does not assume that nodes have any knowledge of the wireless network topology. Mappings are created and updated based on the packets transmitted by mobile hosts. Mobile computing notes by Pallavi Joshi
  • 161. Cellular IP Uses two parallel structures of mappings through Paging Caches (PC) and Routing Caches (RC) PCs maintain mappings for stationary and idle (not in data communication state) hosts  RC maintains mappings for mobile hosts Mapping entries in PC have a large timeout interval, in the order of seconds or minutes. RCs maintain mappings for mobile hosts currently receiving data or expecting to receive data Mobile computing notes by Pallavi Joshi
  • 162. Relationship between Mobile IP and Cellular IP Mobile computing notes by Pallavi Joshi
  • 163. Internet Protocol version 6  Successor to today’s IP version 4 protocol (IPv4)  Internet Engineering Task Force (IETF) has produced a comprehensive set of specifications (RFC 1287, 1752, 1886, 1971, 1993, 2292, 2373, 2460, 2473, etc.) that define the next-generation IP protocol originally known as ‘IPNg’ Uses 128 bit addresses for each packet creating a virtually infinite number of IP addresses (approximately 3.4*10**38 IP addresses) as opposed to 3758096384 IPv4 addresses Mobile computing notes by Pallavi Joshi
  • 164. IPv6  There are global addresses and local addresses  Global addresses are used for routing of global Internet  Link local addresses are available within a subnet  IPv6 uses hierarchical addressing with three level of addresses  Includes a Public Topology (the 48 bit external routing prefix)  Site Topology (typically a 16 bit subnet number) Interface Identifier (typically an automatically generated 64 bit number unique on the local LAN segment) Mobile computing notes by Pallavi Joshi
  • 165. Hierarchical addressing of IPv6 Mobile computing notes by Pallavi Joshi
  • 166. IPv6 Security Comes native with a security protocol called IP Security (IPSec) IPSec protocol is a standards-based method of providing privacy, integrity and authenticity to information transferred across IP networks Mobile computing notes by Pallavi Joshi
  • 167. Features of IPSec Diffie-Hellman key exchange mechanism for deriving key between peers on a public network  Public key cryptography to guarantee the identity of the two parties and avoid man-in-the-middle attacks Bulk encryption algorithms, such as 3DES, for encrypting the data Keyed hash algorithms, such as HMAC, combined with traditional hash algorithms such as MD5 or SHAfor providing packet authentication  Digital certificates signed by a certificate authority to act as digital ID cards  IPSec provides IP network layer encryption Mobile computing notes by Pallavi Joshi
  • 168. Migrating from IPv4 to IPv6 Migration of the network components to be able to support IPv6 packets. Using IP tunneling, IPv6 packets can propagate over an IPv4 envelope. Existing routers can support IP tunneling. Migration of the computing nodes in the network. This will need the operating system upgrades so that they support IPv6 along with IPv4. Upgraded systems will have both IPv4 and IPv6 stacks. Migration of networking applications in both client and server systems. This requires porting of the applications from IPv4 to IPv6 environment. Mobile computing notes by Pallavi Joshi
  • 169. Interconnecting IPv6 networks Tunneling is one of the key deployment strategies for both service providers as well as enterprises during the period of IPv4 and IPv6 coexistence. Tunneling service providers can offer an end-to-end IPv6 service without major upgrades to the infrastructure and without impacting current IPv4 services. Mobile computing notes by Pallavi Joshi
  • 170. Tunneling Mechanisms Manually created tunnels such as IPv6 manually configured tunnels (RFC 2893)  IPv6 over IPv4 tunnels Semiautomatic tunnel mechanisms such as that employed by tunnel broker services  Fully automatic tunnel mechanisms such as IPv4 compatible Mobile computing notes by Pallavi Joshi
  • 171. Mobile IP with IPv6 IPv6 with hierarchical addressing scheme can manage IP mobility much efficiently. IPv6 also attempts to simplify the process of renumbering which could be critical to the future routing of the Internet traffic. Mobility Support in IPv6, as proposed by the Mobile IP working group, follows the design for Mobile IPv4. It retains the ideas of a home network, home agent and the use of encapsulation to deliver packets from the home network to the mobile node’s current point of attachment. While discovery of a care of address is still required, a mobile node can configure its a care of address by using Stateless Address Auto-configuration and Neighbor Discovery. Thus, foreign agents are not required to support mobility in IPv6. Mobile computing notes by Pallavi Joshi
  • 172. Java Card  Smart card with Java framework  Smart card is a plastic card with intelligence and memory Asmart card is embedded with either (i) a microprocessor and a memory chip or (ii) only a memory chip with non- programmable logic Amicroprocessor card can have an intelligent program resident within the card which can add, delete, and otherwise manipulate information on the card  Amemory card can store some information for some pre- defined operation Mobile computing notes by Pallavi Joshi
  • 173. Java Card  Java was chosen as the vehicle for interoperability  All the microprocessor based smart cards now offer JavaAPI framework on the smart card Java Card technology preserves many of the benefits of the Java programming languages such as productivity, security, robustness, tools, and portability For Java card, the Java Virtual Machine ( JVM), the language definition, and the core packages have been made more compact to bring Java technology to the resource constrained smart cards Mobile computing notes by Pallavi Joshi
  • 174. Architecture of Java Card Mobile computing notes by Pallavi Joshi
  • 175. Functioning of Java Card  Java card technology supports OTA(Over TheAir) downloads  Applications written for the Java Card platform are referred to as applets Challenge of Java Card technology on smart card is to fit Java system software in a resource constraint smart card while conserving enough space for applications The Java Card virtual machine on a smart card is split into two parts; one that runs off-card and the other that runs on-card Mobile computing notes by Pallavi Joshi
  • 176. Functioning of Java Card Many processing tasks that are not constrained to execute at run time, such as class loading, bytecode verification, resolution and linking, and optimization, are dedicated to the virtual machine that is running off-card where resources are usually not a concern The on-card components of Java Card include components like the Java card virtual machine ( JCVM), the Java card runtime environment ( JCRE), and the JavaAPI Task of the compiler is to convert a Java source into Java class files The converter will convert class files into a format downloadable into the smart card while ensuring the byte code validity Mobile computing notes by Pallavi Joshi
  • 177. Functioning of Java Card The converter checks the classes off-card for  Well formedness  Java Card subset violations  Static variable initialization  Reference resolution  Byte code optimization  StorageAllocation.  The java card interpreter  Executes the applets  Controls run-time resources  Enforces runtime security Mobile computing notes by Pallavi Joshi
  • 178. Functioning of Java Card Following conversion by the off-card VM into CAP (Converted APlet) format, the applet is transferred into the card using the installer  Applet is selected for execution by the JCRE JCRE is made up of the on-card virtual machine and the Java CardAPI classes and performs additional runtime security checks through applet firewall Applet firewall partitions the objects stored into separate protected object spaces, called contexts and controls the access to shareable interfaces of these objects It is then executed on JVCM which is scaled down version of standard JVM ( Java Virtual Machine) Mobile computing notes by Pallavi Joshi
  • 179. GSM Mobile computing notes by Pallavi Joshi
  • 180. Global System for Mobile Communications  Originally GSM stood for Groupe Speciale Mobile  GSM to meet the following business objectives 1. Support for international roaming 2. Good speech quality 3. Ability to support handheld terminals 4. Low terminal and service cost 5. Spectral efficiency 6. Support for a range of new services and facilities 7. ISDN compatibility Mobile computing notes by Pallavi Joshi
  • 181. GSM Timeline Mobile computing notes by Pallavi Joshi
  • 182. Use of TDMA and FDMA in GSM Uses a combination of FDMA(Frequency Division Multiple Access) and TDMA(Time Division MultipleAccess) Allocation of 50 MHz (890–915 MHz and 935–960 MHz) bandwidth in the 900 MHz frequency band and using FDMA further divided into 124 (125 channels, 1 not used) channels each with a carrier bandwidth of 200 KHz Using TDMA, each of the above mentioned channels is then further divided into 8 time slots So, with the combination of FDMA and TDMA, a maximum of992 channels for transmit and receive can be realized Mobile computing notes by Pallavi Joshi
  • 183. Frequency reuse in GSM To serve hundreds of thousands of users, the frequency must be reused and this is done through cells. The area to be covered is subdivided into radio zones or cells. Though in reality these cells could be of any shape, for convenient modeling purposes these are modeled as hexagons. Base stations are positioned at the center of these cells. Each cell i receives a subset of frequencies fbi from the total set assigned to the respective mobile network. To avoid any type of co-channel interference, two neighboring cells never use the same frequencies. Mobile computing notes by Pallavi Joshi
  • 184. Frequency reuse in GSM Only at a distance of D (known as frequency reuse distance), the same frequency from the set fbi can be reused. Cells with distance D from cell i, can be assigned one or all the frequencies from the set fbi belonging to cell i. When moving from one cell to another during an ongoing conversation, an automatic channel change occurs. This phenomenon is called handover. Handover maintains an active speech and data connection over cell boundaries. The regular repetition of frequencies in cells result in a clustering of cells. The clusters generated in this way can consume the whole frequency band. The size of a cluster is defined by k, the number of cells in the cluster. This also defines the frequency reuse distance D. The figure in next slide shows an example of cluster size of 4. Mobile computing notes by Pallavi Joshi
  • 185. Cell clusters in GSM Mobile computing notes by Pallavi Joshi
  • 186. GSM System Hierarchy Mobile computing notes by Pallavi Joshi
  • 187. GSM System Hierarchy Consists at the minimum one administrative region assigned to one MSC (Mobile Switching Centre) Administrative region is commonly known as PLMN (Public Land Mobile Network) Each administrative region is subdivided into one or many LocationArea (LA) One LA consists of many cell groups and each cell group is assigned to one BSC (Base Station Controller)  For each LA, there will be at least one BSC while cells in one BSC can belong to different LAs Mobile computing notes by Pallavi Joshi
  • 188. GSM Architecture Mobile computing notes by Pallavi Joshi
  • 189. GSM Architecture Cells are formed by the radio areas covered by a BTS (Base Transceiver Station)  Several BTSs are controlled by one BSC Traffic from the MS (Mobile Station) is routed through MSC Calls originating from or terminating in a fixed network or other mobile networks is handled by the GMSC (Gateway MSC) Mobile computing notes by Pallavi Joshi
  • 190. Operational Architecture of GSM Mobile computing notes by Pallavi Joshi
  • 191. Home Location Register (HLR) in GSM  It contains the following information: 1. Authentication information like International Mobile Subscriber Identity (IMSI) 2. Identification information like name, address, etc. of the subscriber 3. Identification information like Mobile Subscriber ISDN (MSISDN) etc. 4. Billing information like prepaid or postpaid 5. Operator selected denial of service to a subscriber Mobile computing notes by Pallavi Joshi
  • 192. Home Location Register (HLR) in GSM 6. Handling of supplementary services like for CFU (Call Forwarding Unconditional), CFB (Call Forwarding Busy), CFNR (Call Forwarding Not Reachable) or CFNA (Call Forwarding Not Answered) 7. Storage of SMS Service Center (SC) number in case the mobile is not connectable so that whenever the mobile is connectable, a paging signal is sent to the SC 8. Provisioning information like whether long distance and international calls allowed or not 9. Provisioning information like whether roaming is enabled or not Mobile computing notes by Pallavi Joshi
  • 193. Home Location Register (HLR) in GSM 10. Information related to auxiliary services like Voice mail, data, fax services, etc. 11. Information related to auxiliary services like CLI (Caller Line Identification), etc. 12. Information related to supplementary services for call routing. In GSM network, one can customize the personal profile to the extent that while the subscriber is roaming in a foreign PLMN, incoming calls can be barred.Also, outgoing international calls can be barred, etc. 13. Some variable information like pointer to the VLR, location area of the subscriber, Power OFF status of the handset, etc.Mobile computing notes by Pallavi Joshi
  • 194. Entities in GSM The Mobile Station (MS) - This includes the Mobile Equipment (ME) and the Subscriber Identity Module (SIM). The Base Station Subsystem (BSS) - This includes the Base Transceiver Station (BTS) and the Base Station Controller (BSC). The Network and Switching Subsystem (NSS) - This includes Mobile Switching Center (MSC), Home Location Register (HLR), Visitor Location Register (VLR), Equipment Identity Register (EIR), and theAuthentication Center (AUC). The Operation and Support Subsystem (OSS) - This includes the Operation and Maintenance Center (OMC). Mobile computing notes by Pallavi Joshi
  • 195. Mobile Station Mobile Station (MS) consists of two main elements: mobile equipment or mobile device (that is the phone without the SIM card) and Subscriber Identity Module (SIM) Terminals distinguished principally by their power and application SIM is installed in every GSM phone and identifies the terminal SIM cards used in GSM phones are smart processor cards with a processor and a small memory SIM card contains the International Mobile Subscriber Identity (IMSI) used to identify the subscriber to the system, a secret key for authentication, and other security information Mobile computing notes by Pallavi Joshi
  • 196. Base Station Subsystem Base Station Subsystem (BSS) connects the Mobile Station and the Network and Switching Subsystem (NSS) In charge of the transmission and reception for the last mile BSS can be divided into two parts: Base Transceiver Station (BTS) or Base Station and Base Station Controller (BSC) Base Transceiver Station corresponds to the transceivers and antennas used in each cell of the network BTS is usually placed in the center of a cell and its transmitting power defines the size of a cell Mobile computing notes by Pallavi Joshi
  • 197. Base Station Subsystem BTS houses the radio transmitter and the receivers that define a cell and handles the radio-link protocols with the Mobile Station while handling between one and sixteen transceivers depending on the density of users in the cell Base Station Controller is the connection between the BTS and the Mobile service Switching Center (MSC) and manages the radio resources for one or more BTSs BSC handles handovers, radio-channel setup, control of radio frequency power levels of the BTSs, exchange function, and the frequency hopping Mobile computing notes by Pallavi Joshi
  • 198. Network and Switching Subsystem  Central component of the Network Subsystem is the Mobile Switching Center (MSC)  Signaling between functional entities in the Network Subsystem uses Signaling System Number 7 (SS7)  MSC together with Home Location Register (HLR) and Visitor Location Register (VLR) databases, provide the call-routing and roaming capabilities of GSM  MSC does the following functions: 1. It acts like a normal switching node for mobile subscribers of the same network (connection between mobile phone to mobile phone within the same network) Mobile computing notes by Pallavi Joshi
  • 199. Network and Switching Subsystem 2. It acts like a normal switching node for the PSTN fixed telephone (connection between mobile phone to fixed phone) 3. It acts like a normal switching node for ISDN 4. It provides all the functionality needed to handle a mobile subscriber, such as registration, authentication, location updating, handovers and call routing 5. It includes databases needed in order to store information to manage the mobility of a roaming subscriber Mobile computing notes by Pallavi Joshi
  • 200. Network Switching Subsystem MSC together with Home Location Register (HLR) and Visitor Location Register (VLR) databases, provide the call- routing and roaming capabilities of GSM HLR contains all the administrative information of each subscriber registered in the corresponding GSM network Location of the mobile is typically in the form of the signaling address of the VLR associated with the mobile station HLR is always fixed and stored in the home network, whereas the VLR logically moves with the subscriber VLR is similar to a cache, whereas HLR is the persistent storage Mobile computing notes by Pallavi Joshi
  • 201. Network and Switching Subsystem VLR contains selected administrative information borrowed from the HLR, necessary for call control and provisioning of the subscribed services When a subscriber enters the covering area of a new MSC, the VLR associated with this MSC can request information about the new subscriber from its corresponding HLR in the home network There is a component called Gateway MSC (GMSC) that is associated with the MSC Mobile computing notes by Pallavi Joshi
  • 202. Network and Switching Subsystem GMSC is the interface between the mobile cellular network and the PSTN and also is in charge of routing calls from the fixed network towards a GSM user and vice versa GMSC is often implemented in the same node as the MSC  GIWU (GSM Inter Working Unit) corresponds to an interface to various networks for data communications Mobile computing notes by Pallavi Joshi
  • 203. Operation and Support Subsystem Operations and Support Subsystem (OSS) controls and monitors the GSM system OSS is connected to the different components of the NSS and to the BSC and also in charge of controlling the traffic load of the BSS  Equipment Identity Register (EIR) rests with OSS EIR is a database that contains a list of all valid mobile equipment within the network, where each mobile station is identified by its International Mobile Equipment Identity (IMEI)  EIR contains a list of IMEIs of all valid terminals Mobile computing notes by Pallavi Joshi
  • 204. Operation and Support Subsystem An IMEI is marked as invalid if it has been reported stolen or is not type approved The EIR allows the MSC to forbid calls from this stolen or unauthorized terminals Authentication Center (AUC) is responsible for the authentication of a subscriber AUC is a protected database and stores a copy of the secret key stored in each subscriber’s SIM card Mobile computing notes by Pallavi Joshi
  • 205. Short Message Service Short Message Service (SMS) is one of the most popular services within GSM SMS is a data service and allows a user to enter text message up to 160 characters in length when 7 bit English characters are used  SMS is a proactive bearer and is an ‘always on’network Message center is referred to as Service Centre (SC) or SMS Controller (SMSC)  SMSC is a system within the core GSM network which works as the store and forward system for SMS messages Mobile computing notes by Pallavi Joshi
  • 206. SMS Two types of SMS: SMMT (Short Message Mobile Terminated Point-to-Point) and SMMO (Short Message Mobile Originated Point-to-Point) SMMT is an incoming short message from the network and is terminated in the MS (phone or Mobile Station)  SMMO is an outgoing message originated in the MS, and forwarded to the network for delivery For an outgoing message, the SMS is sent from the phone to SC via the VLR and the Inter Working MSC (IWMSC) For incoming message, the path is from SC to the MS via the HLR and the Gateway MSC (GMSC) Mobile computing notes by Pallavi Joshi
  • 207. SMS Transfer Mobile computing notes by Pallavi Joshi
  • 208. From speech to radio waves Mobile computing notes by Pallavi Joshi
  • 209. From speech to radio waves Digitizer and source coding: The user speech is digitized at 8 KHz sampling rate using Regular Pulse Excited–Linear Predictive Coder (RPE–LPC) with a Long Term Predictor loop where information from previous samples is used to predict the current sample. Each sample is then represented in signed 13-bit linear PCM value. This digitized data is passed to the coder with frames of 160 samples where encoder compresses these 160 samples into 260-bits GSM frames resulting in one second of speech compressed into 1625 bytes and achieving a rate of 13 Kbits/sec. Mobile computing notes by Pallavi Joshi
  • 210. From speech to radio waves Channel coding: This introduces redundancy into the data for error detection and possible error correction where the gross bit rate after channel coding is 22.8 kbps (or 456 bits every 20 ms). These 456 bits are divided into eight 57-bit blocks and the result is interleaved amongst eight successive time slot bursts for protection against burst transmission errors. Interleaving: This step rearranges a group of bits in a particular way to improve the performance of the error-correction mechanisms. The interleaving decreases the possibility of losing whole bursts during the transmission by dispersing the errors. Ciphering: This encrypts blocks of user data using a symmetric key shared by the mobile station and the BTS. Mobile computing notes by Pallavi Joshi
  • 211. From speech to radio waves Burst formatting: It adds some binary information to the ciphered block for use in synchronization and equalization of the received data. Modulation: The modulation technique chosen for the GSM system is the Gaussian Minimum Shift Keying (GMSK) where binary data is converted back into analog signal to fit the frequency and time requirements for the multiple access rules. This signal is then radiated as radio wave over the air. Multipath and equalization:An equaliser is in charge of extracting the ‘right’signal from the received signal while estimating the channel impulse response of the GSM system and then it constructs an inverse filter. The received signal is then passed through the inverse filter. Mobile computing notes by Pallavi Joshi
  • 212. From speech to radio waves Synchronization: For successful operation of a mobile radio system, time and frequency synchronization are needed. Frequency synchronization is necessary so that the transmitter and receiver frequency match (in FDMA) while Time synchronization is necessary to identify the frame boundary and the bits within the frame (in TDMA). To avoid collisions of burst transmitted by MS with the adjacent timeslot such collisions, the Timing Advance technique is used where frame is advanced in time so that this offsets the delay due to greater distance. Using this technique and the triangulation of the intersection cell sites, the location of a mobile station can be determined from within the network. Mobile computing notes by Pallavi Joshi
  • 213. Call Routing The directory number dialed to reach a mobile subscriber is called the Mobile Subscriber ISDN (MSISDN) which is defined by the E.164 numbering plan and includes a country code and a National Destination Code, which identifies the subscriber’s operator. The first few digits of the remaining subscriber number may identify the subscriber’s HLR within the home PLMN For example, the MSISDN number of a subscriber in Bangalore associated withAirtel network is +919845XYYYYY which is a unique number and understood from anywhere in the world. Here, + means prefix for international dialing, 91 is the country code for India and 45 is the network operator’s code (Airtel in this case). X is the level number managed by the network operator ranging from 0 to 9 while YYYYY is the subscriber code which , too, is managed by the operator. Mobile computing notes by Pallavi Joshi
  • 214. Call Routing Mobile computing notes by Pallavi Joshi
  • 215. Call Routing The call first goes to the local PSTN exchange where PSTN exchange looks at the routing table and determines that it is a call to a mobile network. PSTN forwards the call to the Gateway MSC (GMSC) of the mobile network. MSC enquires the HLR to determine the status of the subscriber. It will decide whether the call is to be routed or not. If MSC finds that the call can be processed, it will find out the address of the VLR where the mobile is expected to be present. Mobile computing notes by Pallavi Joshi
  • 216. Call Routing If VLR is that of a different PLMN, it will forward the call to the foreign PLMN through the Gateway MSC. If the VLR is in the home network, it will determine the Location Area (LA). Within the LA, it will page and locate the phone and connect the call. Mobile computing notes by Pallavi Joshi
  • 217. PLMN Interfaces Basic configuration of a GSM network contains a central HLR and a central VLR where HLR contains all security, provisioning and subscriber related information and VLR stores the location information and other transient data. MSC needs subscriber parameter for successful call set- up. Any data related to user call (connection, teardown etc.) are processed with SS7 protocol for signaling using ISUP (ISDN User Part) stack between network nodes. For mobile specific signaling, a protocol stack called MAP (Mobile Application Part) is used over the SS7 network which does all database transactions and handover/roaming transactions between the MSC. Mobile computing notes by Pallavi Joshi
  • 218. GSM Addresses and Identifiers International Mobile Station Equipment Identity (IMEI): Every mobile equipment in this world has a unique identifier which is called IMEI. IMEI is allocated by the equipment manufacturer and registered by the network operator in the Equipment Identity Register (EIR). International Mobile Subscriber Identity (IMSI): When registered with a GSM operator, each subscriber is assigned a unique identifier called IMSI which is stored in the SIM card and secured by the operator. IMSI consists of several parts: 3 decimal digits of Mobile Country Code (MCC), 2 decimal digits of Mobile Network Code (MNC) and a maximum of 10 decimal digits of Mobile Subscriber Identification Number (MSIN) which is a unique number of the subscriber within the home network. Mobile computing notes by Pallavi Joshi
  • 219. GSM Addresses and Identifiers Mobile Subscriber ISDN Number (MSISDN): The MSISDN number is the real telephone number as is known to the external world. MSISDN number is public information whereas IMSI is private to the operator. IMSI can be multiple such as when a subscriber opts for fax and data, he is assigned a total of three numbers: one for voice call, one for fax call and another for data call. MSISDN follows the international ISDN (Integrated Systems Data Network) numbering plan. ISDN has Country Code (CC) of 1 to 3 decimal digits, National Destination Code (NDC) of 2 to 3 decimal digits and Subscriber Number (SN) of maximum 10 decimal digits. Mobile computing notes by Pallavi Joshi
  • 220. GSM Addresses and Identifiers Location Area Identity: Each LA in a PLMN has its own identifier called Location Area Identifier (LAI) which is structured hierarchically and unique. LAI consists of 3 digits of CC, 2 digits of Mobile Network Code and maximum of 5 digits of Location Area Code. Mobile Station Roaming Number (MSRN): When a subscriber is roaming in another network, a temporary ISDN number is assigned to the subscriber called MSRN. MSRN is assigned by the local VLR in charge of the mobile station and follows the structure of MSISDN. Mobile computing notes by Pallavi Joshi
  • 221. GSM Addresses and Identifiers Temporary Mobile Subscriber Identity (TMSI): TMSI is a temporary identifier assigned by the serving VLR used in place of the IMSI for identification and addressing of the mobile station. Together with the current location area, a TMSI allows a subscriber to be identified uniquely. Local Mobile Subscriber Identity (LMSI): LMSI is assigned by the VLR and stored in the HLR and is used as a searching key for faster database access within the VLR. Cell Identifier: Within a LA, every cell has a unique Cell Identifier (CI) and together with a LAI, a cell can be identified uniquely through Global Cell Identity (LAI & CI). MSCs and Location Registers (HLR & VLR) are addressed with ISDN numbers while they may use a Signaling Point Code (SPC) within a PLMN. Mobile computing notes by Pallavi Joshi
  • 222. Network aspects in GSM Signaling protocol structure in GSM Mobile computing notes by Pallavi Joshi
  • 223. Network aspects in GSM Layer 1 is the physical layer which uses the channel structures over the air interface. Layer 2 is the data link layer and across the Um interface, the data link layer is a modified version of the LAPD protocol used in ISDN or X.25, called LAPDm. Across theAinterface, the Message Transfer Part layer 2 of Signaling System Number 7 is used. Mobile computing notes by Pallavi Joshi
  • 224. Network aspects in GSM  Layer 3 of the GSM signaling protocol is itself divided into three sub-layers: 1. Radio Resources Management: It controls the set-up, maintenance and termination of radio and fixed channels, including handovers. 2. Mobility Management: It manages the location updating and registration procedures as well as security and authentication. 3. Connection Management: It handles general call control and manages Supplementary Services and the Short Message Service. Mobile computing notes by Pallavi Joshi
  • 225. Handover  The procedure of change of resources is called handover when the user is mobile while the call is in progress.  There are four different types of handover in the GSM system, which involve transferring a call between: 1. Channels (time slots) in the same cell 2. Cells (Base Transceiver Stations) under the control of the same Base Station Controller (BSC) 3. Cells under the control of different BSCs but belonging to the same Mobile Switching Center (MSC) 4. Cells under the control of different MSCs Mobile computing notes by Pallavi Joshi
  • 226. Handover First two types of handover, called internal handovers, involve only one Base Station Controller (BSC). To save signaling bandwidth, they are managed by the BSC without involving the Mobile services Switching Center (MSC), except to notify it at the completion of the handover. Last two types of handover, called external handovers, are handled by the MSC. Mobile computing notes by Pallavi Joshi
  • 227. Mobility Management Mobility Management (MM) function handles the procedures that arise from the mobility of the subscriber and is in charge of all the aspects related to the mobility of the user, especially the roaming, the location management, and the security/authentication of the subscriber. First location update procedure is called the IMSI attach procedure where the MS indicates its IMSI to the network whereas when a mobile station is powered off, it performs an IMSI detach procedure in order to tell the network that it is no longer connected. Mobile computing notes by Pallavi Joshi
  • 228. Mobility Management Alocation update message is sent to the new MSC/VLR which records the location area information and then sends the location information to the subscriber’s HLR. If the mobile station is authenticated and authorized in the new MSC/VLR, the subscriber’s HLR cancels the registration of the mobile station with the old MSC/VLR. Location update is also performed periodically and if after the updating time period, the mobile station has not registered, it is then deregistered. Mobile computing notes by Pallavi Joshi
  • 229. Mobility Management When there is an incoming call for a subscriber, the mobile phone needs to be located and a channel needs to be allocated and the call connected. A powered-on mobile is informed of an incoming call by a paging message sent over the paging channel of the cells within the current location area while location updating procedures and subsequent call routing use MSC, HLR and VLR. If the subscriber is entitled to service, HLR sends a subset of the subscriber information needed for call control to the new MSC/VLR and sends a message to the old MSC/VLR to cancel the old registration. Mobile computing notes by Pallavi Joshi
  • 230. Mobility Management An incoming mobile terminating call is directed to the Gateway MSC (GMSC) function which, as a switch, interrogates the subscriber’s HLR to obtain routing information and thus contains a table linking MSISDNs to their corresponding HLRs. The routing information that is returned to the GMSC is the Mobile Station Roaming Number (MSRN). MSRNs are related to the geographical numbering plan and not visible to subscribers. Mobile computing notes by Pallavi Joshi
  • 231. Mobility Management Generally, GMSC queries the called subscriber’s HLR for an MSRN. HLR stores only the SS7 address of the subscriber’s current VLR while VLR temporarily allocates an MSRN from its pool for the call. MSRN is returned to the HLR and back to the GMSC, which can then route the call to the new MSC. At new MSC, IMSI corresponding to the MSRN is looked up and the mobile station is paged in its current location area.  HLR is referred for incoming call whereas VLR is referred for outgoing call. Mobile computing notes by Pallavi Joshi
  • 232. GSM Frequency Allocation Normally, GSM uses 900 MHz band wherein 890-915 MHz is allocated for the uplink (mobile station to base station) and 935– 960 MHz is allocated for the downlink (base station to mobile station). Each way the bandwidth for the GSM system is 25 MHz which provides 125 carriers uplink/downlink each having a bandwidth of 200 kHz. ARFCN (Absolute Radio Frequency Channel Numbers) denote a forward and reverse channel pair which is separated in frequency by 45 MHz. Practically, a guard band of 100 kHz is provided at the upper and lower end of the GSM 900 MHz spectrum and only 124 (duplex) channels are implemented. Mobile computing notes by Pallavi Joshi
  • 233. GSM Frequency Allocation GSM uses a combination of Time Division MultipleAccess (TDMA) and Frequency Division Multiple Access (FDMA) encoding. One or more carrier frequencies are assigned to each base station and each of these carrier frequencies is then divided in time using a TDMAscheme where fundamental unit is called a burst period lasting approximately 0.577 ms. Eight burst periods are grouped into a TDMA frame of approximately 4.615 ms which forms the basic unit for the definition of logical channels. One physical channel is one burst period per TDMA frame while, normally, channels are defined by the number and position of their corresponding burst periods. Mobile computing notes by Pallavi Joshi
  • 234. GSM Frequency Allocation Carrier frequencies and TDMAframes Mobile computing notes by Pallavi Joshi
  • 235. Authentication and Security Authentication involves two functional entities - the SIM card in the mobile phone and theAuthentication Center (AUC). Following authentication by algorithmA3, a key is generated for encryption. An algorithmA8 is used to generate the key while a different algorithm calledA5 is used for both ciphering and deciphering procedures for signaling, voice and data. So, SS7 signal, voice, data, and SMS within GSM networks are ciphered over the wireless radio interface. Mobile computing notes by Pallavi Joshi
  • 236. A3 Algorithm During authentication, MSC challenges the MS with a random number (RAND). SIM card uses this RAND received from the MSC and a secret key Kj stored within the SIM as input. Both the RAND and the Kj secret are 128 bits long. Using the A3 algorithm with RAND and Kj as input a 32-bit output called signature response (SRES) is generated in the MS and then sent back to MSC. Using the same set of algorithms, the AUC also generates a SRES. The SRES from MS and the SRES generated by theAUC are compared.  If they are the same, the MS is authenticated. Mobile computing notes by Pallavi Joshi
  • 237. A3 Algorithm The idea is that no keys will be transacted over the air. However, if the SRES values calculated independently by the SIM and theAUC are the same, then Kj has to be same and if Kj is same, SIM card is genuine. Mobile computing notes by Pallavi Joshi
  • 238. A8 Algorithm  A8 algorithm is the key generation algorithm.  A8 generates a session key, Kc, from the random challenge RAND (received from the MSC) and from the secret key Kj. Keys are generated at both the MS and the network end. The session key, Kc, is used for ciphering till the MSC decides to authenticate the MS once again. Mobile computing notes by Pallavi Joshi
  • 239. A5 Algorithm A5 is the stream cipher algorithm used to encrypt over-the-air transmissions. The stream cipher is initialized all over again for every frame sent with the session key, Kc, and the number of the frame being encrypted or decrypted. Same Kc is used throughout the call but the 22-bit frame number changes during the call, thus, generating a unique key stream for every frame. Mobile computing notes by Pallavi Joshi
  • 240. GPRS Mobile computing notes by Pallavi Joshi
  • 241. GPRS  General Packet Radio Service Step to efficiently transport high-speed data over the current GSM and TDMA-based wireless network infrastructures Deployment of GPRS networks allows a variety of new applications ranging from mobile e-commerce to mobile corporate VPN access GPRS allows for data speeds of 14.4 KBps to 171.2 KBps, which allow for comfortable Internet access Allows for short ‘bursty’traffic, such as e-mail and web browsing, as well as large volumes of data Mobile computing notes by Pallavi Joshi
  • 242. GPRS  No dial-up modem connection is necessary  Offers fast connection set-up mechanism to offer a perception of being ‘always on’or ‘always connected’  Immediacy is one of the prime advantages of GPRS Mobile computing notes by Pallavi Joshi
  • 243. QoS in GPRS Allows definition of QoS profiles using the parameters of service precedence, reliability, delay and throughput  Service precedence is the priority of a service in relation to another service which can be either high, normal or low Reliability indicates the transmission characteristics required by an application and guarantees certain maximum values for the probability of loss, duplication, mis-sequencing and corruption of packets Delay parameters define maximum values for the mean delay and the 95-percentile delay Throughput specifies the maximum/peak bit rate and the mean bit rate Mobile computing notes by Pallavi Joshi
  • 244. GPRS Network Architecture  GPRS uses the GSM architecture for voice To offer packet data services through GPRS, a new class of network nodes called GPRS support nodes (GSN) are introduced GSNs are responsible for the delivery and routing of data packets between the mobile stations and the external packet data networks (PDN) Two main GSNs are Serving GSN (SGSN) and Gateway GSN (GGSN) Mobile computing notes by Pallavi Joshi
  • 245. SGSN SGSN is at the same hierarchical level as the MSC and so, whatever MSC does for voice, SGSN does for packet data SGSN’s tasks include packet switching, routing and transfer, mobility management, logical link management, authentication and charging functions SGSN processes registration of new mobile subscribers and keeps a record of their location inside a given service area Location register of the SGSN stores location information (like current cell, current VLR, etc.) and user profiles of all GPRS users registered with this SGSN SGSN sends queries to HLR to obtain profile data of GPRS subscribers Mobile computing notes by Pallavi Joshi
  • 246. GGSN GGSN acts as an interface between the GPRS backbone network and the external packet data networks and functions like a router in a LAN GGSN maintains routing information that is necessary to tunnel Protocol Data Units (PDUs) to the SGSNs that service particular mobile stations GGSNs convert the GPRS packets coming from the SGSN into the appropriate packet data protocol (PDP) format for the data networks like Internet or X.25 GGSN stores the current SGSN address of the user and user’s profile in its location register while performing authentication and charging functions related to data transfer Mobile computing notes by Pallavi Joshi
  • 247. GPRS System Architecture Mobile computing notes by Pallavi Joshi
  • 248. GPRS Network Enhancements Base Station System (BSS) needs enhancement to recognize and send packet data and this includes BTS upgrade to allow transportation of user data to the SGSN. BTS, too, needs to be upgraded to support packet data transportation between BTS and MS (mobile station). HLR needs enhancement to register GPRS user profiles and respond to queries originating from GSNs regarding these profiles.  MS (mobile station) for GPRS is different from that of GSM.  SMS-GMSCs and SMS-IWMSCs are upgraded to support SMS transmission via the SGSN. Mobile computing notes by Pallavi Joshi
  • 249. Channel Coding Channel coding is used to protect the transmitted data packets against errors  Channel coding technique in GPRS is quite similar to the one employed in conventional GSM Under very bad channel conditions, reliable coding scheme is used where redundant bits are added to recover from burst errors Under good channel conditions, no encoding scheme is used resulting in a higher data rate Mobile computing notes by Pallavi Joshi
  • 250. Transmission Plane Protocol Architecture Mobile computing notes by Pallavi Joshi
  • 251. Signaling Plane Protocol architecture of the signaling plane comprises protocols for control and support of the functions of the transmission plane and includes GPRS attach and detach, PDP context activation, control of routing paths and allocation of network resources. Between SGSN and HLR as well as between SGSN and EIR, an enhanced Mobile Application Part (MAP) is employed which is a mobile network specific extension of the Signaling System SS#7 used in GSM and transports the signaling information related to location updates, routing information, user profiles and handovers. MAP messages are exchanged over Transaction Capabilities Application Part (TCAP) and Signaling Connection Control Part (SCCP) while BSSGP is an enhancement of GSM’s BSSAP. Mobile computing notes by Pallavi Joshi
  • 252. GPRS Backbone  It includes the transmission plane between SGSN and GGSN. User data packets and signaling information within GPRS networks are encapsulated using GPRS Tunneling Protocol (GTP) which is also used in both intra-PLMN (between SGSN and GGSN within one PLMN) and inter-PLMN (between SGSN and GGSN of different PLMNs). GTP protocol tunnels the user data packets through GPRS backbone by adding GPRS specific routing information in the form of GTP packets which can carry data packets from both IP and X.25 data networks. Finally, GPRS backbone has an IP/X.25-over-GTP-over- UDP/TCP-over-IP transport architecture. Mobile computing notes by Pallavi Joshi
  • 253. BSS-SGSN Interface The BSS-SGSN interface is divided into four layers: 1. Sub-Network Dependent Convergence Protocol (SNDCP) which transfers data packets between SGSN and MS, multiplexes several connections of the network layer onto one virtual logical connection of the underlying LLC layer and does segmentation, compression-decompression of user data. 2. Logical Link Control (LLC) is data link layer protocol for GPRS which functions similar to Link Access Procedure-D (LAPD) and assures the reliable transfer of user data across a wireless network. Mobile computing notes by Pallavi Joshi
  • 254. BSS-SGSN Interface 3. Base Station System GPRS Protocol (BSSGP) delivers routing and QoS related information between BSS and SGSN. 4. Network Service layer manages the convergence sub-layer that operates between BSSGP and Frame Relay Q.922 Core by mapping BSSGP’s service requests to the appropriate Frame Relay services. Mobile computing notes by Pallavi Joshi
  • 255. Air Interface Air interface of GPRS comprises data link layer and physical layer. Data link layer between MS and BSS is divided into three sublayers: the logical link control (LLC) layer, the radio link control (RLC) layer and the medium access control (MAC) layer. Physical layer between MS and BSS is divided into two sublayers: the physical link layer (PLL) and the physical RF layer (RFL). Mobile computing notes by Pallavi Joshi
  • 256. LLC Layer Logical Link Control (LLC) layer provides a reliable logical link between an MS and its assigned SGSN as its functionality is based on HDLC (High Level Data Link Control) protocol and includes sequence control, in-order delivery, flow control, detection of transmission errors and retransmissions.  Encryption is used. Variable frame lengths are possible and both acknowledged and unacknowledged data transmission modes are supported. Mobile computing notes by Pallavi Joshi
  • 257. RLC Layer Radio Link Control (RLC) layer establishes a reliable link between MS and BSS.  It also does segmentation and reassembly of LLC frames into RLC data blocks andARQ of uncorrectable data. Mobile computing notes by Pallavi Joshi
  • 258. MAC Layer MediumAccess Control (MAC) layer controls the access attempts of an MS on the radio channel shared by several MSs by employing algorithms for contention resolution, multi-user multiplexing on a packet data traffic channel (PDTCH) and scheduling and prioritizing based on the negotiated QoS. Mobile computing notes by Pallavi Joshi
  • 259. PL Layer Physical Link Layer (PLL) provides services for information transfer over a physical channel between the MS and the network.  Its functions include data unit framing, data coding and detection and correction of physical medium transmission errors.  Physical Link Layer uses the services of the Physical RF Layer. Mobile computing notes by Pallavi Joshi
  • 260. PRF Layer Physical RF Layer (RFL) performs the modulation of the physical waveforms based on the sequence of bits received from the Physical Link Layer above. It also demodulates received wave forms into a sequence of bits that are transferred to the Physical Link layer for interpretation. Mobile computing notes by Pallavi Joshi
  • 261. Radio Resource Management On the radio interface, GPRS uses a combination of FDMA and TDMA.  Aseries of logical channels are defined to perform functions like signaling, broadcast of general system information, synchronization, channel assignment, paging or payload transport. Such channels can be divided into two categories: traffic channels and signaling channels. GPRS traffic channels are allocated when data packets are sent or received and they are released after the transmission of data. GPRS allows a single mobile station to use multiple time slots of the same TDMAframe for data transmission which is known as Mobile computing notes by Pallavi Joshi
  • 262. Radio Resource Management Uplink and downlink channels are allocated separately which efficiently supports asymmetric data traffic like Internet. Physical channels to transport user data packet are called Physical Data Traffic Channel (PDTCH) which are taken from a common pool of all channels available in a cell. Mapping of physical channels to either packet switched data (in GPRS mode) or circuit switched data (in GSM mode) services are performed dynamically depending on demand. Demand-wise, the number of channels allocated for GPRS can be changed. For example, physical channels not currently in use by GSM can be allocated as PDTCHs to increase the bandwidth of a GPRS connection. Mobile computing notes by Pallavi Joshi
  • 263. Security  GPRS security is similar to the existing GSM security. SGSN performs authentication and cipher setting procedures based on the same algorithms, keys and other criteria of GSM. GPRS uses a ciphering algorithm optimized for packet data transmission. Mobile computing notes by Pallavi Joshi
  • 264. Attachment and Detachment in GPRS MS registers itself with SGSN of GPRS network through a GPRS attach which establishes a logical link between the MS and the SGSN. Network checks if MS is authorized to use the services; if so, it copies the user profile from HLR to SGSN and assigns a Packet Temporary Mobile Subscriber Identity (P-TMSI) to the MS. To exchange data packets with external PDNs after a successful GPRS attach, an MS must apply for an address which is called PDP (Packet Data Protocol) address. For each session, a PDP context is created which contains PDP type (e.g. IPv4), PDP address assigned to the mobile station (e.g. 129.187.222.10), requested QoS and address of the GGSN that will function as an access point to the PDN. Mobile computing notes by Pallavi Joshi
  • 265. Attachment and Detachment in GPRS Such a context is stored in MS, SGSN and GGSN while with an active PDP context, the MS is ‘visible’to the external PDN. Auser may have several simultaneous PDP contexts active at a given time and user data is transferred transparently between MS and external data networks trough GTP encapsulation and tunneling.  Allocation of the PDP address can be static or dynamic. In case of static address, the network operator permanently assigns a PDP address to the user while in other case, a PDP address is assigned to the user upon the activation of a PDP context. Mobile computing notes by Pallavi Joshi
  • 266. PDP Context Activation Using the message ‘activate PDP context request’, MS informs the SGSN about the requested PDP context and if request is for dynamic PDP address assignment, the parameter PDP address will be left empty.  After necessary security steps, if authentication is successful, SGSN will send a ‘create PDP context request’ message to the GGSN, the result of which is a confirmation message ‘create PDP context response’from the GGSN to the SGSN, which contains the PDP address. SGSN updates its PDP context table and confirms the activation of the new PDP context to the MS. Disconnection from the GPRS network is called GPRS detach in which all the resources are released. Mobile computing notes by Pallavi Joshi
  • 267. PDP Context Activation Mobile computing notes by Pallavi Joshi
  • 268. Mobility Management Mobility Management functions are used to track its location within each PLMN in which SGSNs communicate with each other to update the MS’s location in the relevant registers. Profiles of MSs are preserved in VLRs that are accessible to SGSNs via the local MSC. Alogical link is established and maintained between the MS and the SGSN at each PLMN. At the end of transmission or when a mobile station moves out of area of a specific SGSN, the logical link is released and the resources associated with it can be reallocated. Mobile computing notes by Pallavi Joshi
  • 269. Routing  Routing is the process of how packets are routed in GPRS. Here, the example assumes two intra-PLMN backbone networks of different PLMNs. Intra-PLMN backbone networks connect GSNs of the same PLMN or the same network operator. These intra-PLMN networks are connected with an inter- PLMN backbone while an inter-PLMN backbone network connects GSNs of different PLMNs and operators. However, a roaming agreement is necessary between two GPRS network providers. Gateways between PLMNs and external inter-PLMN backbone are called border gateways which perform security functions to protect the private intra-PLMN backbones against malicious attacks.Mobile computing notes by Pallavi Joshi
  • 270. Routing Let’s say that GPRS MS located in PLMN1 sends IP packets to a host connected to the IP network (e.g. to a Web server connected to the Internet). SGSN that the MS is registered with encapsulates the IP packets coming from the mobile station, examines the PDP context and routes them through the intra-PLMN GPRS backbone to the appropriate GGSN. GGSN de-encapsulates the packets and sends them out on the IP network, where IP routing mechanisms are used to transfer the packets to the access router of the destination network and finally, delivers the IP packets to the host. Mobile computing notes by Pallavi Joshi
  • 271. Routing Let us also say that home-PLMN of the mobile station is PLMN2. An IP address has been assigned to MS by the GGSN of PLMN2 and so, MS’s IP address has the same network prefix as the IP address of the GGSN in PLMN2. Correspondent host is now sending IP packets to the MS onto the IP network and are routed to the GGSN of PLMN2 (the home- GGSN of the MS). The latter queries the HLR and obtains the information that the MS is currently located in PLMN1. It encapsulates the incoming IP packets and tunnels them through the inter-PLMN GPRS backbone to the appropriate SGSN in PLMN1 while the SGSN de-encapsulates the packets and delivers them to the MS. Mobile computing notes by Pallavi Joshi
  • 272. Routing Mobile computing notes by Pallavi Joshi
  • 273. Routing HLR stores the user profile, the current SGSN address and the PDP addresses for every GPRS user in the PLMN.  When the MS registers with a new SGSN, HLR will send the user profile to the new SGSN. Signaling path between GGSN and HLR may be used by the GGSN to query a user’s location and profile in order to update its location register. Mobile computing notes by Pallavi Joshi
  • 274. Communicating with IP Networks AGPRS network can be interconnected with Internet or a corporate intranet and supports both IPv4 and IPv6. From an external IP network’s point of view, the GPRS network looks like any other IP sub-network, and the GGSN looks like a usual IP router. Each registered user who wants to exchange data packets with the IP network gets an IP address which is taken from the address space of the GPRS operator maintained by a Dynamic Host Configuration Protocol (DHCP) server. Address resolution between IP address and GSM address is performed by the GGSN using the appropriate PDP context. Mobile computing notes by Pallavi Joshi
  • 275. Communicating with IP Networks Domain Name Server (DNS) managed by the GPRS operator or the external IP network operator is used to resolve host name. To protect the PLMN from unauthorized access, a firewall is installed between the private GPRS network and the external IP network. Thus, GPRS can be seen as a wireless extension of the Internet all the way to a MS or mobile computer as mobile user has a direct connection to the Internet. Mobile computing notes by Pallavi Joshi
  • 276. Communicating with IP Networks Mobile computing notes by Pallavi Joshi
  • 277. Data Services in GPRS Any user is likely to use either of the two modes of the GPRS network: application mode or tunneling mode. In application mode, user uses the GPRS mobile phone to access the applications running on the phone itself. The phone here acts as the end user device. In tunneling mode, user uses GPRS interface as an access to the network as the end user device would be a large footprint device like laptop computer or a small footprint device like PDA. The mobile phone will be connected to the device and used as a modem to access the wireless data network. Mobile computing notes by Pallavi Joshi
  • 278. GPR S Han dsets  GPRS terminal can be one of the three classes:A, B or C. Class A terminal supports GPRS data and other GSM services such as SMS and voice simultaneously. This includes simultaneous attach, activation, monitoring and traffic.As such, a classAterminal can make or receive calls on two services simultaneously while supporting SMS. Class B terminal can monitor GSM and GPRS channels simultaneously, but can support only one of these services at any time. Therefore, a Class B terminal can support simultaneous attach, activation, and monitoring but not simultaneous traffic. Users can make or receive calls on either a packet or a switched call type sequentially but not simultaneously. SMS is supported in class B terminals. Mobile computing notes by Pallavi Joshi
  • 279. GPRS Handsets Class C terminal supports only non-simultaneous attach. The user must select which service to connect to. Therefore, a class C terminal can make or receive calls from only the manually selected network service (and so, the service that is not selected is not reachable). The GPRS specifications state that support of SMS is optional for class C terminals. Each handset will have a unique form factor. So, terminals will be available in the standard form factor with a numeric keypad and a relatively small display. Other types of phones with different form factors, color displays, cameras are common apart from the latest smart phones. Mobile computing notes by Pallavi Joshi
  • 280. Bearers in GPRS Bearer services of GPRS offer end-to-end packet switched data transfer. GPRS supports two different kinds of data transport services: point-to-point (PTP) services and point-to-multipoint (PTM) services.  GPRS continues to support SMS as a bearer. Wireless Application Protocol is a data bearer service over HTTP protocol, supported by GPRS.  Multimedia Messaging Service, too, is supported by GPRS. Mobile computing notes by Pallavi Joshi
  • 281. Applications of GPRS  Chat  Multimedia Services  Virtual Private Network  Personal Information Management  Job Sheet Dispatch  Unified Messaging  Vehicle Positioning  Location based services and Telematics Mobile computing notes by Pallavi Joshi
  • 282. Limitations of GPRS  Limited cell capacity for all users  Lower access speed in reality No support of GPRS Mobile Terminate Connection for a mobile server Mobile computing notes by Pallavi Joshi
  • 283. Billing and Tariffing Minimum charging information that must be collected are:  Destination and source addresses  Usage of radio interface  Usage of external Packet Data Networks  Usage of the packet data protocol addresses Usage of general GPRS resources and location of the Mobile Station Mobile computing notes by Pallavi Joshi
  • 284. Billing and Tariffing Various business models exist for charging customers as billing of services can be based on the transmitted data volume, the type of service, the chosen QoS profile, etc. GPRS call records are generated in the GPRS Service Nodes. Packet counts are passed to a Charging Gateway that generates Call Detail Records that are sent to the billing system. Mobile computing notes by Pallavi Joshi
  • 285. Wireless Application Protocol Mobile computing notes by Pallavi Joshi
  • 286. Outline Mobile applications How are mobile/wireless environments different? What is WAP? WAP Architecture WAE (WML/WMLScript) WTA Framework WAP Push Services WAP Protocol Stack Hype v/s Reality References and Resources Mobile computing notes by Pallavi Joshi
  • 287. Mobile Applications - 1 Vehicles transmission of news, road condition etc ad-hoc network with near vehicles to prevent accidents Emergencies early transmission of patient data to the hospital ad-hoc network in case of earthquakes, cyclones military ... Traveling salesmen direct access to central customer files consistent databases for all agents mobile office Mobile computing notes by Pallavi Joshi
  • 288. Mobile Applications - 2 Web access outdoor Internet access intelligent travel guide with up-to-date location dependent information Information services push: stock quotes; pull: nearest cash ATM Disconnected operations file-system caching for off-line work mobile agents, e.g., shopping Entertainment games, etc Mobile computing notes by Pallavi Joshi
  • 289. Variability of the Mobile Environment Connectivity • connected • semi-connected (asymmetric) • weakly connected • disconnected Mobile Device Capability • form factor • GUI • multimedia • real-time multimedia Mobility • stationary • nomadic (pedestrian speed) • mobile (vehicular speed) • roaming (mobile across networks) Mobile computing notes by Pallavi Joshi
  • 290. World Wide Web and Mobility HTTP/HTML have not been designed for mobile applications/devices HTTP 1.0 characteristics designed for large bandwidth, low delay stateless, client/server, request/response communication connection oriented, one connection per request TCP 3-way handshake, DNS lookup overheads big protocol headers, uncompressed content transfer primitive caching (often disabled, dynamic objects) security problems (using SSL/TLS with proxies) HTML characteristics designed for computers with “high” performance, color high-resolution display, mouse, hard disk typically, web pages optimized for design, not for communication; ignore end- system characteristics Mobile computing notes by Pallavi Joshi
  • 291. System Support for Mobile WWW Enhanced browsers client-aware support for mobility Proxies Client proxy: pre-fetching, caching, off-line use Network proxy: adaptive content transformation for connections Client and network proxy Enhanced servers server-aware support for mobility serve the content in multiple ways, depending on client capabilities New protocols/languages WAP/WML Mobile computing notes by Pallavi Joshi
  • 292. Wireless Application Protocol (WAP) Empowers mobile users with wireless devices to easily access and interact with information and services. A “standard” created by wireless and Internet companies to enable Internet access from a cellular phone wapforum.org: co-founded by Ericsson, Motorola, Nokia, Phone.com 450 members in 2000, comprise of Handset manufacturers, Wireless service providers, ISPs, Software companies in the wireless industry Goals deliver Internet services to mobile devices enable applications to scale across a variety of transport options and device types independence from wireless network standards GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-CDMA) Mobile computing notes by Pallavi Joshi
  • 293. WAP: Main Features Browser “Micro browser”, similar to existing web browsers Markup language Similar to HTML, adapted to mobile devices Script language Similar to Javascript, adapted to mobile devices Gateway Transition from wireless to wired world Server “Wap/Origin server”, similar to existing web servers Protocol layers Transport layer, security layer, session layer etc. Telephony application interface Access to telephony functions Mobile computing notes by Pallavi Joshi
  • 295. Web Server Content CGI Scripts etc. WML Decks with WML-Script WAP Gateway WML Encoder WMLScript Compiler Protocol Adapters Client WML WML- Script WTAI Etc. HTTP WSP/WTP WAP Architecture Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 296. WAP Application Server Content Application Logic WML Decks with WML-Script WML Encoder WMLScript Compiler Protocol Adapters Client WML WML- Script WTAI Etc. WSP/WTP WAP Application Server Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 297. WAP Architecture Another look Key Components • Origin/Web Server • WAP Gateway/Proxy • WAP Protocol Stack • Micro Browser • WML/WML Script • Transcoders • WTA Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 298. WAP: Network Elements wireless network fixed network WAP proxy WTA server filter/ WAP proxy web server filter PSTN Internet Binary WML: binary file format for clients Binary WML Binary WML Binary WML HTML HTML HTML WML WML HTML Source: Schiller Mobile computing notes by Pallavi Joshi
  • 299. WAP Specifies Wireless Application Environment WML Microbrowser WMLScript Virtual Machine WMLScript Standard Library Wireless Telephony Application Interface (WTAI) WAP content types Wireless Protocol Stack Wireless Session Protocol (WSP) Wireless Transport Layer Security (WTLS) Wireless Transaction Protocol (WTP) Wireless Datagram Protocol (WDP) Wireless network interface definitions Mobile computing notes by Pallavi Joshi
  • 300. WAP Stack MicroBrowser (WML, WMLScript, WTA, WTAI) Runs on top of WDP Provided lightweight X-oriented service • Unreliable 1-way request • Reliable 1-way/2-way req./response Lightweight SSL Uses WIM/PKI-Cards Datagram service on different bearers Convergence between bearer services Different Wireless Tech. Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 301. WAP Stack WAE (Wireless Application Environment): Architecture: application model, browser, gateway, server WML: XML-Syntax, based on card stacks, variables, ... WTA: telephone services, such as call control, phone book etc. WSP (Wireless Session Protocol): Provides HTTP 1.1 functionality Supports session management, security, etc. WTP (Wireless Transaction Protocol): Provides reliable message transfer mechanisms Based on ideas from TCP/RPC WTLS (Wireless Transport Layer Security): Provides data integrity, privacy, authentication functions Based on ideas from TLS/SSL WDP (Wireless Datagram Protocol): Provides transport layer functions Based on ideas from UDP Content encoding, optimized for low-bandwidth channels, simple devices Mobile computing notes by Pallavi Joshi
  • 302. Why is HTTP/HTML not enough? Big pipe - small pipe syndrome Wireless network <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 HTTP- EQUIV= "Refre sh" CONTEN T="180 0, URL=/i ndex.h tml"> Internet <WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="/submit?Name=$N"/> </DO> Enter name: <INPUT TYPE="TEXT" KEY="N"/> </CARD> </WML> 010011 010011 110110 010011 011011 011101 010010 011010 Content encoding HTTP/HTML WAP Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 303. WAP: “Killer” 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 Mobile computing notes by Pallavi Joshi
  • 304. Wireless Application Environment (WAE) Goals device and network independent application environment for low-bandwidth, wireless devices considerations of slow links, limited memory, low computing power, small display, simple user interface (compared to desktops) integrated Internet/WWW programming model high interoperability Mobile computing notes by Pallavi Joshi
  • 305. WAE Components Architecture Application model, Microbrowser, Gateway, Server User Agents WML/WTA/Others content formats: vCard, vCalendar, Wireless Bitmap, WML, ... WML XML-Syntax, based on card stacks, variables, ... WMLScript procedural, loops, conditions, ... (similar to JavaScript) WTA telephone services, such as call control, text messages, phone book, ... (accessible from WML/WMLScript) Proxy (Method/Push) Mobile computing notes by Pallavi Joshi
  • 306. Origin Servers WAE: Logical Model web server other content server Gateway Client other WAE user agents WML user agent WTA user agent Push proxy encoded request request encoded response with content response with content push content encoded push content Method proxy encoders & decoders Mobile computing notes by Pallavi Joshi
  • 307. WAP Microbrowser Optimized for wireless devices Minimal RAM, ROM, Display, CPU and keys Provides consistent service UI across devices Provides Internet compatibility Enables wide array of available content and applications Mobile computing notes by Pallavi Joshi
  • 308. WML: Wireless Markup Language Tag-based browsing language: Screen management (text, images) Data input (text, selection lists, etc.) Hyperlinks & navigation support Takes into account limited display, navigation capabilities of devices XML-based language describes only intent of interaction in an abstract manner presentation depends upon device capabilities Cards and Decks document consists of many cards User interactions are split into cards Explicit navigation between cards cards are grouped to decks deck is similar to HTML page, unit of content transmission Events, variables and state mgmt Content (XML) XSL Processor HTTP Browser HTML StyleSheet WML Browsers WML Stylesheet Mobile computing notes by Pallavi Joshi
  • 309. WML The basic unit is a card. Cards are grouped together into Decks Document ~ Deck (unit of transfer) All decks must contain Document prologue XML & document type declaration <WML> element Must contain one or more cards <?xml version="1.0"?> <!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN" "http://www.wapforum.org/DTD/wml.xml"> <WML> ... </WML> WML File Structure Mobile computing notes by Pallavi Joshi
  • 310. WML Example Input Elements Deck Card Navigation Variables <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO Welcome! </CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD> </WML> Mobile computing notes by Pallavi Joshi
  • 311. Handling User Input Select lists Choose from a list of options Input fields Enter a string of text or numbers KEY variables Set by SELECT and INPUT elements How user input is passed to other cards and the application server Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 312. <CARD> <DO TYPE="ACCEPT" LABEL="View"> <GO URL="getcity.cgi?location=$city"/> </DO> Forecast <SELECT KEY="city"> <OPTION VALUE="ber">Berlin</OPTION> <OPTION VALUE="rom">Rome</OPTION> <OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION> </SELECT> </CARD> Forecast 1 Berlin 2 Rome 3>New City ____________ Find The SELECT Element Display a list of options Each option may set the KEY variable and/or bind a task to the ACCEPT key TITLE= dynamically sets the label string MULTIPLE=“TRUE”: Allows user to pick multiple items Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 313. <CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security: <INPUT KEY="ssn" FORMAT="NNN-NN-NNNN"/> </CARD> Soc. Security: 287-33- _ ____________ NUM Soc. Security: 287-33- 7629 ____________ OK The INPUT Element Prompts user to enter a string of text DEFAULT=key_value; Default KEY variable (displayed to user) FORMAT=format_specifier; If omitted, free-form entry is allowed EMPTYOK="TRUE“; Browser will accept null input TYPE="PASSWORD“; Special entry mode handled by the browser MAXLENGTH=number; Maximum number of allowed characters Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 314. WML Content Formats Common interchange formats, for interoperability Formats: Business cards: IMC vCard standard Calendar: IMC vCalendar standard Images: WBMP (Wireless BitMaP) Compiled WML, WMLScript Newly defined formats: WML text and tokenized format WMLScript text and bytecode format WBMP image format Binary format for size reduction Bytecodes/tokens for common values and operators Compressed headers Data compression (e.g. images) General-purpose transport compression can still be applied Mobile computing notes by Pallavi Joshi
  • 315. <CARD> <DO TYPE="ACCEPT"> <GO URL="#c2"/> </DO> Continue <IMG LOCALSRC="righthand" ALT="forward..."/> </CARD> <CARD NAME="c2"> <IMG SRC="../images/logo.wbmp" ALT="Unwired Planet"/> <BR/>Welcome! </CARD> Displaying Images Insert app images or local icons within display text 1-bit BMP format Images are ignored by non-bitmapped devices Check HTTP_ACCEPT for “image/bmp” Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 316. WML (other features) Setting card styles to create forms Using variables to cache user data Using card intrinsic events to trigger transparent tasks Using timers Securing WML decks Bookmarking decks Mobile computing notes by Pallavi Joshi
  • 317. WMLScript Complement to WML Derived from JavaScript™ Provides general scripting capabilities Procedural logic, loops, conditionals, etc. Optimized for small-memory, small-cpu devices Features local user interaction, validity check of user input access to device facilities (phone call, address book etc.) extensions to the device software configure device, download new functionality after deployment Bytecode-based virtual machine Stack-oriented design, ROM-able Designed for simple, low-impact implementation WMLScript compiler resides in the network Mobile computing notes by Pallavi Joshi
  • 318. WMLScript Libraries Lang - VM constants, general-purpose math functionality, etc. String - string processing functions URL - URL processing Browser - WML browser interface Dialog - simple user interface Float - floating point functions Mobile computing notes by Pallavi Joshi
  • 319. Functions WMLScript Example Programming Constructs Variables function currencyConvertor(currency, exchRate) { return currency*exchangeRate; } function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay; } Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 320. Wireless Telephony Application (WTA) Collection of telephony specific extensions designed primarily for network operators Example calling a number (WML) wtai://wp/mc;07216086415 calling a number (WMLScript) WTAPublic.makeCall("07216086415"); Implementation Extension of basic WAE application model Extensions added to standard WML/WMLScript browser Exposes additional API (WTAI) Mobile computing notes by Pallavi Joshi
  • 321. WTA Features Extension of basic WAE application model network model for interaction client requests to server event signaling: server can push content to the client event handling table indicating how to react on certain events from the network client may now be able to handle unknown events telephony functions some application on the client may access telephony functions WTAI includes: Call control Network text messaging Phone book interface Event processing Security model: segregation Separate WTA browser Separate WTA port Mobile computing notes by Pallavi Joshi
  • 322. Placing an outgoing call with WTAI: Input Element WTAI Call <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML> WTA Example (WML) Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 323. Placing an outgoing call with WTAI: WTAI Call function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”); } WTA Example (WMLScript) Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 324. WTA Logical Architecture other WTA servers Client WAE services WTA user agent WAP Gateway encoders & decoders other telephone networks WTA Origin Server WTA & WML server WML Scripts WML decks WTA services mobile network firewall third party origin servers network operator trusted domain Source: Schiller Mobile computing notes by Pallavi Joshi
  • 325. WTA Framework Components Source: Heijden Mobile computing notes by Pallavi Joshi
  • 326. WTA User Agent WTA User Agent WML User agent with extended functionality can access mobile device’s telephony functions through WTAI can store WTA service content persistently in a repository handles events originating in the mobile network WTA User Agent Context Abstraction of execution space Holds current parameters, navigation history, state of user agent Similar to activation record in a process address space Uses connection-mode and connectionless services offered by WSP Specific, secure WDP ports on the WAP gateway Mobile computing notes by Pallavi Joshi
  • 327. WTA Events and Repository WTA Events Network notifies device of event (such as incoming call) WTA events map to device’s native events WTA services are aware of and able to act on these events example: incoming call indication, call cleared, call connected WTA Repository local store for content related to WTA services (minimize network traffic) Channels: define the service content format defining a WTA service stored in repository XML document specifying eventid, title, abstract, and resources that implement a service Resources: execution scripts for a service could be WML decks, WML Scripts, WBMP images.. downloaded from WTA server and stored in repository before service is referenced Server can also initiate download of a channel Mobile computing notes by Pallavi Joshi
  • 328. WTA Channels and Resources Source: Heijden Mobile computing notes by Pallavi Joshi
  • 329. WTA Interface (public) WTA Interface generic, high-level interface to mobile’s telephony functions setting up phone calls, reading and writing entries in phonebook.. Public WTAI for third party WML content providers restricted set of telephony functions available to any WAE User Agent library functions make call: allows application to setup call to a valid tel number send DTMF tones: send DTMF tones through the setup call user notified to grant permission for service execution cannot be triggered by network events example: Yellow pages service with “make call” feature Mobile computing notes by Pallavi Joshi
  • 330. WTA Interface (network) Network Common WTAI WTA service provider is in operator’s domain all WTAI features are accessible, including the interface to WTA events library functions Voice-call control: setup call, accept, release, send DTMF tones Network text: send text, read text, remove text (SMS) Phonebook: write, read, remove phonebook entry Call logs: last dialed numbers, missed calls, received calls Miscellaneous: terminate WTA user agent, protect context user can give blanket permission to invoke a function example: Voice mail service Network Specific WTAI specific to type of bearer network example: GSM: call reject, call hold, call transfer, join multiparty, send USSD Mobile computing notes by Pallavi Joshi
  • 331. WTA Event Handling Event occurrence WTA user agent could be executing and expecting the event WTA user agent could be executing and a different event occurs No service is executing Event handling channel for each event defines the content to be processed upon reception of that event Event binding association of an event with the corresponding handler (channel) Global binding: channel corresponding to the event is stored in the repository event causes execution of resources defined by the channel example: voice mail service Temporary binding: resources to be executed are defined by the already executing service example: yellow pages lookup and call establishment Mobile computing notes by Pallavi Joshi
  • 332. Event Handling (no service in execution) Source: Heijden Mobile computing notes by Pallavi Joshi
  • 333. Event Handling (service already execution) 1: Temporary binding exists 2. No temporary binding and context is protected 3: No temporary binding and context is not protected Source: Heijden Mobile computing notes by Pallavi Joshi
  • 334. WTA: Voice mail Example push deck WTA client WTA server mobile network voice mail server incoming voice message generate new deck display deck; user selects translate setup call wait for call accept call voice connection indicate new voice message request play requested voice message setup call call indication accept call accept call Source: Schiller Mobile computing notes by Pallavi Joshi
  • 335. WTA Application: Example (using WML) <WML> <CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion! </CARD> <CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="wtai://cc/sc;$voteNo;1"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> </WML> Source: Schiller Mobile computing notes by Pallavi Joshi
  • 336. WTA: Example with WML and WMLScript function voteCall(Nr) { var j = WTACallControl.setup(Nr,1); if (j>=0) { WMLBrowser.setVar("Message", "Called"); WMLBrowser.setVar("No", Nr); } else { WMLBrowser.setVar("Message", "Error!"); WMLBrowser.setVar("No", j); } WMLBrowser.go("showResult"); } Source: Schiller Mobile computing notes by Pallavi Joshi
  • 337. WTA: Example with WML and WMLScript <WML> <CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion! </CARD> <CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="/script#voteCall($voteNo)"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> <CARD NAME="showResult"> Status of your call: $Message $No </CARD> </WML> Source: Schiller Mobile computing notes by Pallavi Joshi
  • 338. WAP Push Services Web push Scheduled pull by client (browser) example: Active Channels no real-time alerting/response example: stock quotes Wireless push accomplished by using the network itself example: SMS limited to simple text, cannot be used as starting point for service example: if SMS contains news, user cannot request specific news item WAP push Network supported push of WML content example: Alerts or service indications Pre-caching of data (channels/resources) Mobile computing notes by Pallavi Joshi
  • 339. WAP Push Framework Source: Heijden Mobile computing notes by Pallavi Joshi
  • 340. Push Access Protocol Based on request/response model Push initiator is the client Push proxy is the server Initiator uses HTTP POST to send push message to proxy Initiator sends control information as an XML document, and content for mobile (as WML) Proxy sends XML entity in response indicating submission status Initiator can cancel previous push query status of push query status/capabilities of device Mobile computing notes by Pallavi Joshi
  • 341. Push Prox y Gate way WAP stack (communication with mobile device) TCP/IP stack (communication with Internet push initiator) Proxy layer does control information parsing content transformation session management client capabilities store and forward prioritization address resolution management function Mobile computing notes by Pallavi Joshi
  • 342. Over the Air (OTA) Protocol Extends WSP with push-specific functionality Application ID uniquely identifies a particular application in the client (referenced as a URI) Connection-oriented mode client informs proxy of application IDs in a session Connectionless mode well known ports, one for secure and other for non-secure push Session Initiation Application (SIA) unconfirmed push from proxy to client request to create a session for a specific user agent and bearer Mobile computing notes by Pallavi Joshi
  • 343. WAE Summary WML analogous to HTML (optimized for wireless) event based, microbrowser user agent WMLScript analogous to JavaScript features of compiler in the network WTA WTAI: different access rights for different applications/agents WTA User Agent (analogy with operating systems) Context – Activation Record Channel – Interrupt Handler Resource – Shared routines invoked by interrupt handlers Repository – Library of interrupt handlers feature of dynamically pushing the interrupt handler before the event Push no analogy in Internet Mobile computing notes by Pallavi Joshi
  • 344. WAP Gateway Summary Encoders translate between binary (WML) and text (HTML/WML) Filters transcoding between WML (wireless) and HTML (wired) Method Proxy similar to standard proxy services WAP stack on wireless interface and TCP/IP stack on Internet interface Push Proxy Push Access Protocol with Internet Push Initiator (Web Server) Over the Air Protocol with mobile device (and WAP Push Initiator) Performs necessary filtering, translation etc. Mobile computing notes by Pallavi Joshi
  • 345. WAP Servers Summary Origin Server Web server with HTML/WML contents Runs TCP/IP stack, needs PAP protocol for push, no end-to-end security WAP Server Serves WML content Runs WAP stack, uses OTA protocol for push, end-to-end security possible WTA Server Specialized for telephony applications (runs WAP stack, uses push extensively) Client initiated (make call “hyperlink” from a Yellow pages service) Server intiated (incoming call from a Voice mail service) Mobile computing notes by Pallavi Joshi
  • 346. WAP: Protocol Stack Source: Schiller Bearers (GSM, CDPD, ...) Security Layer (WTLS) Session Layer (WSP) Application Layer (WAE) Transport Layer (WDP) TCP/IP, UDP/IP, media SSL/TLS HTML, Java HTTP Internet WAP WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc. Transaction Layer (WTP) additional services and applications WCMP A-SAP S-SAP TR-SAP SEC-SAP T-SAP Mobile computing notes by Pallavi Joshi
  • 347. WDP: Wireless Datagram Protocol Goals create a worldwide interoperable transport system by adapting WDP to the different underlying technologies transmission services, such as SMS in GSM might change, new services can replace the old ones WDP Transport layer protocol within the WAP architecture uses the Service Primitive T-UnitData.req .ind uses transport mechanisms of different bearer technologies offers a common interface for higher layer protocols allows for transparent communication despite different technologies addressing uses port numbers WDP over IP is UDP/IP Mobile computing notes by Pallavi Joshi
  • 348. WDP: Service Primitives T-SAP T-SAP T-DUnitdata.req (DA, DP, SA, SP, UD) T-DUnitdata.ind (SA, SP, UD) T-DUnitdata.req (DA, DP, SA, SP, UD) T-DError.ind (EC) SAP: Service Access Point DA: Destination Address DP: Destination Port SA: Source Address SP: Source Port UD: User Data EC: Error Code Source: Schiller Mobile computing notes by Pallavi Joshi
  • 349. WAP Over GSM Circuit-Switched RAS - Remote Access Server IWF - InterWorking Function WSP WAE Subnetwork IP WSP WAE Apps on Other Servers WAP Proxy/Server CSD-RF PPP IP Mobile IWF PSTN Circuit CSD- RF ISP/RAS Subnetwork PSTN Circuit PPP IP WTP UDP WTP UDP Service, Protocol, and Bearer Example Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 350. WAP Over GSM Short Message Service SMS WDP WTP WSP WAE SMS Subnetwork WDP WDP Tunnel Protocol Subnetwork WDP Tunnel Protocol WTP WSP WAE Apps on other servers SMSC WAP Proxy/Server Mobile under development Service, Protocol, and Bearer Example Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 351. WTLS:Wireless Transport Layer Security Goals Provide mechanisms for secure transfer of content, for applications needing privacy, identification, message integrity and non-repudiation Provide support for protection against denial-of-service attacks WTLS is based on the TLS/SSL (Transport Layer Security) protocol optimized for low-bandwidth communication channels provides privacy (encryption) data integrity (MACs) authentication (public-key and symmetric) Employs special adapted mechanisms for wireless usage Long lived secure sessions Optimised handshake procedures Provides simple data reliability for operation over datagram bearers Mobile computing notes by Pallavi Joshi
  • 352. Record Protocol Handshake Protocol Alert Protocol Application Protocol Change Cipher Spec Protocol Transaction Protocol (WTP) Datagram Protocol (WDP/UDP) Bearer networks WTLS Record protocol WTLS Internal Architecture Source: WAP Forum Mobile computing notes by Pallavi Joshi
  • 353. WTLS: Secure session, Full handshake SEC-Create.req (SA, SP, DA, DP, KES, CS, CM) SEC-Create.ind (SA, SP, DA, DP, KES, CS, CM) originator SEC-SAP peer SEC-SAP SEC-Create.cnf (SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Create.res (SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Exchange.req SEC-Exchange.ind SEC-Exchange.res (CC) SEC-Commit.req SEC-Exchange.cnf (CC) SEC-Commit.ind SEC-Commit.cnf Source: Schiller KES: Key Exchange Suite CS: Cipher Suite CM: Compression Mode SNM: Sequence Number Mode KR: Key Refresh Cycle SID: Session Identifier CC: Client Certificate Mobile computing notes by Pallavi Joshi
  • 354. WTLS: Transferring Datagrams SEC-Unitdata.req (SA, SP, DA, DP, UD) SEC-Unitdata.ind (SA, SP, DA, DP, UD) sender SEC-SAP receiver SEC-SAP Source: Schiller Mobile computing notes by Pallavi Joshi
  • 355. WTP: Wireless Transaction Protocol Goals different transaction services that enable applications to select reliability, efficiency levels low memory requirements, suited to simple devices (< 10kbyte ) efficiency for wireless transmission WTP supports peer-to-peer, client/server and multicast applications efficient for wireless transmission support for different communication scenarios class 0: unreliable message transfer unconfirmed Invoke message with no Result message a datagram that can be sent within the context of an existing Session class 1: reliable message transfer without result message confirmed Invoke message with no Result message used for data push, where no response from the destination is expected class 2: reliable message transfer with exactly one reliable result message confirmed Invoke message with one confirmed Result message a single request produces a single reply Mobile computing notes by Pallavi Joshi
  • 356. WTP Services and Protocols WTP (Transaction) provides reliable data transfer based on request/reply paradigm no explicit connection setup or tear down optimized setup (data carried in first packet of protocol exchange) seeks to reduce 3-way handshake on initial request supports header compression segmentation /re-assembly retransmission of lost packets selective-retransmission port number addressing (UDP ports numbers) flow control message oriented (not stream) supports an Abort function for outstanding requests supports concatenation of PDUs supports User acknowledgement or Stack acknowledgement option acks may be forced from the WTP user (upper layer) default is stack ack Mobile computing notes by Pallavi Joshi
  • 357. WTP Class 0 Transaction TR-Invoke.req (SA, SP, DA, DP, A, UD, C=0, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=0, H‘) initiator TR-SAP responder TR-SAP Source: Schiller A: Acknowledgement Type (WTP/User) C: Class (0,1,2) H: Handle (socket alias) Mobile computing notes by Pallavi Joshi
  • 358. WTP Class 1 Transaction, no user ack & user ack TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H‘) initiator TR-SAP responder TR-SAP TR-Invoke.res (H‘) TR-Invoke.cnf (H) TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H‘) initiator TR-SAP responder TR-SAP TR-Invoke.cnf (H) Source: Schiller Mobile computing notes by Pallavi Joshi
  • 359. WTP Class 2 Transaction, no user ack, no hold on TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) initiator TR-SAP responder TR-SAP TR-Result.req (UD*, H‘) TR-Result.ind (UD*, H) TR-Invoke.cnf (H) TR-Result.res (H) TR-Result.cnf (H‘) Source: Schiller Mobile computing notes by Pallavi Joshi
  • 360. WTP Class 2 Transaction, user ack TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) initiator TR-SAP responder TR-SAP TR-Result.ind (UD*, H) TR-Invoke.res (H‘) TR-Invoke.cnf (H) TR-Result.req (UD*, H‘) TR-Result.res (H) TR-Result.cnf (H‘) Source: Schiller Mobile computing notes by Pallavi Joshi
  • 361. WTP Class 2 Transaction, hold on, no user ack TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) initiator TR-SAP responder TR-SAP TR-Result.req (UD*, H‘) TR-Result.ind (UD*, H) TR-Invoke.cnf (H) TR-Result.res (H) TR-Result.cnf (H‘) Source: Schiller Mobile computing notes by Pallavi Joshi
  • 362. WSP - Wireless Session Protocol Goals HTTP 1.1 functionality Request/reply, content type negotiation, ... support of client/server transactions, push technology key management, authentication, Internet security services WSP Services provides shared state between client and server, optimizes content transfer session management (establish, release, suspend, resume) efficient capability negotiation content encoding push WSP/B (Browsing) HTTP/1.1 functionality - but binary encoded exchange of session headers push and pull data transfer asynchronous requests Mobile computing notes by Pallavi Joshi
  • 363. WSP Overview Header Encoding compact binary encoding of headers, content type identifiers and other well- known textual or structured values reduces the data actually sent over the network Capabilities (are defined for): message size, client and server protocol options: Confirmed Push Facility, Push Facility, Session Suspend Facility, Acknowledgement headers maximum outstanding requests extended methods header code pages Suspend and Resume server knows when client can accept a push multi-bearer devices dynamic addressing allows the release of underlying bearer resources Mobile computing notes by Pallavi Joshi
  • 364. WSP Sessions Session Context and Push push can take advantage of session headers server knows when client can accept a push Connection-mode long-lived communication, benefits of the session state, reliability Connectionless-mode stateless applications, no session creation overhead, no reliability overhead Mobile computing notes by Pallavi Joshi
  • 365. WSP/B session establishment S-Connect.req (SA, CA, CH, RC) S-Connect.ind (SA, CA, CH, RC) client S-SAP server S-SAP S-Connect.res (SH, NC) S-Connect.cnf (SH, NC) WTP Class 2 transaction Source: Schiller CH: Client Header RC: Requested Capabilities SH: Server Header NC: Negotiated Capabilities Mobile computing notes by Pallavi Joshi
  • 366. WSP/B session suspend/resume S-Suspend.req S-Suspend.ind (R) client S-SAP server S-SAP S-Resume.res WTP Class 2 transaction S-Suspend.ind (R) ~ ~ S-Resume.req (SA, CA) S-Resume.ind (SA, CA) S-Resume.cnf WTP Class 0 transaction Source: Schiller R: Reason for disconnection Mobile computing notes by Pallavi Joshi
  • 367. WSP /B sessi on termi natio n S-Disconnect.ind (R) client S-SAP server S-SAP S-Disconnect.ind (R) WTP Class 0 transaction S-Disconnect.req (R) Source: Schiller Mobile computing notes by Pallavi Joshi
  • 368. WSP/B method invoke S-MethodInvoke.req (CTID, M, RU) S-MethodInvoke.ind (STID, M, RU) client S-SAP server S-SAP S-MethodInvoke.res (STID) S-MethodInvoke.cnf (CTID) WTP Class 2 transaction S-MethodResult.req (STID, S, RH, RB) S-MethodResult.ind (CTID, S, RH, RB) S-MethodResult.res (CTID) S-MethodResult.cnf (STID) CTID: Client Transaction ID M: Method Invoked RU: Request URI STID: Server Transaction ID S: Response Status RH: Response Header RB: Response BodySource: Schiller Mobile computing notes by Pallavi Joshi
  • 369. WSP/B over WTP - method invocation S-MethodInvoke.req S-MethodInvoke.ind client S-SAP server S-SAP S-MethodInvoke.res S-MethodInvoke.cnf S-MethodResult.req S-MethodResult.ind S-MethodResult.res S-MethodResult.cnf TR-Invoke.req initiator TR-SAP TR-Result.ind TR-Invoke.cnf TR-Result.res TR-Invoke.ind responder TR-SAP TR-Invoke.res TR-Result.req TR-Result.cnf Source: Schiller Mobile computing notes by Pallavi Joshi
  • 370. WSP/B over WTP - asynchronous, unordered requests S-MethodInvoke_1.req S-MethodInvoke_1.ind client S-SAP server S-SAP S-MethodInvoke_2.req S-MethodInvoke_3.req S-MethodResult_1.ind S-MethodInvoke_4.req S-MethodResult_3.ind S-MethodResult_4.ind S-MethodResult_2.ind S-MethodInvoke_3.ind S-MethodInvoke_2.ind S-MethodResult_1.req S-MethodResult_2.req S-MethodResult_3.req S-MethodResult_4.req S-MethodInvoke_4.ind Source: Schiller Mobile computing notes by Pallavi Joshi
  • 371. WSP/B - confirmed/non-confirmed push S-Push.req (PH, PB) client S-SAP server S-SAP WTP Class 1 transaction S-Push.ind (PH, PB) S-ConfirmedPush.res (CPID) S-ConfirmedPush.ind (CPID, PH, PB) WTP Class 0 transaction S-ConfirmedPush.req (SPID, PH, PB) client S-SAP server S-SAP S-ConfirmedPush.cnf (SPID) Source: Schiller PH: Push Header PB: Push Body SPID: Server Push ID CPID: Client Push ID Mobile computing notes by Pallavi Joshi
  • 372. WSP/B over WDP S-Unit-MethodInvoke.req (SA, CA, TID, M, RU) client S-SAP server S-SAP S-Unit-MethodResult.ind (CA, SA, TID, S, RH, RB) S-Unit-Push.ind (CA, SA, PID, PH, PB) S-Unit-MethodInvoke.ind (SA, CA, TID, M, RU) S-Unit-MethodResult.req (CA, SA, TID, S, RH, RB) S-Unit-Push.req (CA, SA, PID, PH, PB) WDP Unitdata service Source: Schiller Mobile computing notes by Pallavi Joshi
  • 373. WAP Stack Summary WDP functionality similar to UDP in IP networks WTLS functionality similar to SSL/TLS (optimized for wireless) WTP Class 0: analogous to UDP Class 1: analogous to TCP (without connection setup overheads) Class 2: analogous to RPC (optimized for wireless) features of “user acknowledgement”, “hold on” WSP WSP/B: analogous to http 1.1 (add features of suspend/resume) method: analogous to RPC/RMI features of asynchronous invocations, push (confirmed/unconfirmed) Mobile computing notes by Pallavi Joshi
  • 374. WAP: Ongoing Work WDP Tunnel to support WAP where no (end-to-end) IP bearer available WTLS support for end-to-end security (extending WTLS endpoint beyond WAP Gateway) interoperable between WAP and Internet (public key infrastructure) integrating Smart Cards for security functions WTP efficient transport over wireless links (wireless TCP) bearer selection/switching quality of service definitions WSP quality of service parameters multicast data, multimedia support WAE User agent profiles: personalize for device characteristics, preferences etc Push architecture, asynchronous applications Billing Mobile computing notes by Pallavi Joshi
  • 375. WAP: Hype vs Reality Low-bandwidth wireless links tcp/ip over wireless can also address these problems encoding in http can also reduce data transfer on wireless links Limited device capabilities Microbrowser is appropriate to address this problem WTAI features are not present in tcp/ip domain Challenges in WAP adapting to applications rich in content and interaction service guarantees interface design and usability Other approaches for WWW access through mobiles i-Mode (from NTT DoCoMo) WAP is a TRAP (http://www.freeprotocols.org/wapTrap) Mobile computing notes by Pallavi Joshi
  • 376. Wireless LAN Mobile computing notes by Pallavi Joshi
  • 377. Overview A wireless LAN uses wireless transmission medium Used to have high prices, low data rates, occupational safety concerns, and licensing requirements Problems have been addressed Popularity of wireless LANs has grown rapidly Mobile computing notes by Pallavi Joshi
  • 378. Applications - LAN Extension Saves installation of LAN cabling Eases relocation and other modifications to network structure However, increasing reliance on twisted pair cabling for LANs Most older buildings already wired with Cat 3 cable Newer buildings are prewired with Cat 5 Wireless LAN to replace wired LANs has not happened In some environments, role for the wireless LAN Buildings with large open areas Manufacturing plants, stock exchange trading floors, warehouses Historical buildings Small offices where wired LANs not economical May also have wired LAN Servers and stationary workstations Mobile computing notes by Pallavi Joshi
  • 379. Single Cell Wireless LAN Configuration Mobile computing notes by Pallavi Joshi
  • 380. Multi-Cell Wireless LAN Configuration Mobile computing notes by Pallavi Joshi
  • 381. Applications Cross-Building Interconnect Connect LANs in nearby buildings Point-to-point wireless link Connect bridges or routers Not a LAN per se Usual to include this application under heading of wireless LAN Mobile computing notes by Pallavi Joshi
  • 382. Applications - Nomadic Access Link between LAN hub and mobile data terminal Laptop or notepad computer Enable employee returning from trip to transfer data from portable computer to server Also useful in extended environment such as campus or cluster of buildings Users move around with portable computers May wish access to servers on wired LAN Mobile computing notes by Pallavi Joshi
  • 383. Infrastructure Wireless LAN Mobile computing notes by Pallavi Joshi
  • 384. Applications – Ad Hoc Networking Peer-to-peer network Set up temporarily to meet some immediate need E.g. group of employees, each with laptop or palmtop, in business or classroom meeting Network for duration of meeting Mobile computing notes by Pallavi Joshi
  • 385. Add Hoc LAN Mobile computing notes by Pallavi Joshi
  • 386. Wireless LAN Requirements Same as any LAN High capacity, short distances, full connectivity, broadcast capability Throughput: efficient use wireless medium Number of nodes:Hundreds of nodes across multiple cells Connection to backbone LAN: Use control modules to connect to both types of LANs Service area: 100 to 300 m Low power consumption:Need long battery life on mobile stations Mustn't require nodes to monitor access points or frequent handshakes Transmission robustness and security:Interference prone and easily eavesdropped Collocated network operation:Two or more wireless LANs in same area License-free operation Handoff/roaming: Move from one cell to another Dynamic configuration: Addition, deletion, and relocation of end systems without disruption to users Mobile computing notes by Pallavi Joshi
  • 387. Technology Infrared (IR) LANs: Individual cell of IR LAN limited to single room IR light does not penetrate opaque walls Spread spectrum LANs: Mostly operate in ISM (industrial, scientific, and medical) bands No Federal Communications Commission (FCC) licensing is required in USA Narrowband microwave: Microwave frequencies but not use spread spectrum Some require FCC licensing Mobile computing notes by Pallavi Joshi
  • 388. Infrared LANs Strengths and Weaknesses Spectrum virtually unlimited Infrared spectrum is unregulated worldwide Extremely high data rates Infrared shares some properties of visible light Diffusely reflected by light-colored objects Use ceiling reflection to cover entire room Does not penetrate walls or other opaque objects More easily secured against eavesdropping than microwave Separate installation in every room without interference Inexpensive and simple Uses intensity modulation, so receivers need to detect only amplitude Background radiation Sunlight, indoor lighting Noise, requiring higher power and limiting range Power limited by concerns of eye safety and power consumption Mobile computing notes by Pallavi Joshi
  • 389. Infrared LANs Transmission Techniques Directed-beam IR Point-to-point links Range depends on power and focusing Can be kilometers Used for building interconnect within line of sight Indoor use to set up token ring LAN IR transceivers positioned so that data circulate in ring Omnidirectional Single base station within line of sight of all other stations Typically, mounted on ceiling Acts as a multiport repeater Other transceivers use directional beam aimed at ceiling unit Diffused configuration Transmitters are focused and aimed at diffusely reflecting ceiling Mobile computing notes by Pallavi Joshi
  • 390. Spread Spectrum LANs Hub Configuration Usually use multiple-cell arrangement Adjacent cells use different center frequencies Hub is typically mounted on ceiling Connected to wired LAN Connect to stations attached to wired LAN and in other cells May also control access IEEE 802.11 point coordination function May also act as multiport repeater Stations transmit to hub and receive from hub Stations may broadcast using an omnidirectional antenna Logical bus configuration Hub may do automatic handoff Weakening signal, hand off Mobile computing notes by Pallavi Joshi
  • 391. Spread Spectrum LANs Transmission Issues Licensing regulations differ from one country to another USA FCC authorized two unlicensed applications within the ISM band: Spread spectrum - up to 1 watt Very low power systems- up to 0.5 watts 902 - 928 MHz (915-MHz band) 2.4 - 2.4835 GHz (2.4-GHz band) 5.725 - 5.825 GHz (5.8-GHz band) 2.4 GHz also in Europe and Japan Higher frequency means higher potential bandwidth Interference Devices at around 900 MHz, including cordless telephones, wireless microphones, and amateur radio Fewer devices at 2.4 GHz; microwave oven Little competition at 5.8 GHz Higher frequency band, more expensive equipment Mobile computing notes by Pallavi Joshi
  • 392. Narrow Band Microwave LANs Just wide enough to accommodate signal Until recently, all products used licensed band At least one vendor has produced LAN product in ISM band Mobile computing notes by Pallavi Joshi
  • 393. Licensed Narrowband RF Microwave frequencies usable for voice, data, and video licensed within specific geographic areas to avoid interference Radium 28 km Can contain five licenses Each covering two frequencies Motorola holds 600 licenses (1200 frequencies) in the 18-GHz range Cover all metropolitan areas with populations of 30,000 or more in USA Use of cell configuration Adjacent cells use nonoverlapping frequency bands Motorola controls frequency band Can assure nearby independent LANs do not interfere All transmissions are encrypted Licensed narrowband LAN guarantees interference-free communication License holder has legal right tointerference-free data channel Mobile computing notes by Pallavi Joshi
  • 394. Unlicensed Narrowband RF 1995, RadioLAN introduced narrowband wireless LAN using unlicensed ISM spectrum Used for narrowband transmission at low power 0.5 watts or less Operates at 10 Mbps 5.8-GHz band 50 m in semiopen office and 100 m in open office Peer-to-peer configuration Elects one node as dynamic master Based on location, interference, and signal strength Master can change automatically as conditions change Includes dynamic relay function Stations can act as repeater to move data between stations that are out of range of each other Mobile computing notes by Pallavi Joshi
  • 395. IEEE 802.11 - BSS MAC protocol and physical medium specification for wireless LANs Smallest building block is basic service set (BSS) Number of stations Same MAC protocol Competing for access to same shared wireless medium May be isolated or connect to backbone distribution system (DS) through access point (AP) AP functions as bridge MAC protocol may be distributed or controlled by central coordination function in AP BSS generally corresponds to cell DS can be switch, wired network, or wireless network Mobile computing notes by Pallavi Joshi
  • 396. BSS Configuration Simplest: each station belongs to single BSS Within range only of other stations within BSS Can have two BSSs overlap Station could participate in more than one BSS Association between station and BSS dynamic Stations may turn off, come within range, and go out of range Mobile computing notes by Pallavi Joshi
  • 397. Extended Service Set (ESS) Two or more BSS interconnected by DS Typically, DS is wired backbone but can be any network Appears as single logical LAN to LLC Mobile computing notes by Pallavi Joshi
  • 398. Access Point (AP) Logic within station that provides access to DS Provides DS services in addition to acting as station To integrate IEEE 802.11 architecture with wired LAN, portal used Portal logic implemented in device that is part of wired LAN and attached to DS E.g. Bridge or router Mobile computing notes by Pallavi Joshi
  • 399. IEEE 802.11 Architecture Mobile computing notes by Pallavi Joshi
  • 400. Services Service Provider Category Association Distribution system MSDU delivery Authentication Station LAN access and security Deauthentication Station LAN access and security Dissassociation Distribution system MSDU delivery Distribution Distribution system MSDU delivery Integration Distribution system MSDU delivery MSDU delivery Station MSDU delivery Privacy Station LAN access and security Reassocation Distribution system MSDU delivery Mobile computing notes by Pallavi Joshi
  • 401. Categorizing Services Station services implemented in every 802.11 station Including AP stations Distribution services provided between BSSs May be implemented in AP or special-purpose device Three services used to control access and confidentiality Six services used to support delivery of MAC service data units (MSDUs) between stations Block of data passed down from MAC user to MAC layer Typically LLC PDU If MSDU too large for MAC frame, fragment and transmit in series of frames (see later) Mobile computing notes by Pallavi Joshi
  • 402. Distribution of Messages Within a DS Distribution is primary service used by stations to exchange MAC frames when frame must traverse DS From station in one BSS to station in another BSS Transport of message through DS is beyond scope of 802.11 If stations within same BSS, distribution service logically goes through single AP of that BSS Integration service enables transfer of data between station on 802.11 LAN and one on an integrated 802.x LAN Integrated refers to wired LAN physically connected to DS Stations may be logically connected to 802.11 LAN via integration service Integration service takes care of address translation and media conversion Mobile computing notes by Pallavi Joshi
  • 403. Association Related Services Purpose of MAC layer transfer MSDUs between MAC entities Fulfilled by distribution service (DS) DS requires information about stations within ESS Provided by association-related services Station must be associated before communicating Three transition types of based on mobility No transition: Stationary or moves within range of single BSS BSS transition: From one BSS to another within same ESS Requires addressing capability be able to recognize new location ESS transition: From BSS in one ESS to BSS in another ESS Only supported in sense that the station can move Maintenance of upper-layer connections not guaranteed Disruption of service likely Mobile computing notes by Pallavi Joshi
  • 404. Station Location DS needs to know where destination station is Identity of AP to which message should be delivered Station must maintain association with AP within current BSS Three services relate to this requirement: Association: Establishes initial association between station and AP To make identity and address known Station must establish association with AP within particular BSS AP then communicates information to other APs within ESS Reassociation: Transfer established association to another AP Allows station to move from one BSS to another Disassociation: From either station or AP that association is terminated Given before station leaves ESS or shuts MAC management facility protects itself against stations that disappear without notification Mobile computing notes by Pallavi Joshi
  • 405. Access and Privacy Services - Authentication On wireless LAN, any station within radio range other devices can transmit Any station within radio range can receive Authentication: Used to establish identity of stations to each other Wired LANs assume access to physical connection conveys authority to connect to LAN Not valid assumption for wireless LANs Connectivity achieved by having properly tuned antenna Authentication service used to establish station identity 802.11 supports several authentication schemes Allows expansion of these schemes Does not mandate any particular scheme Range from relatively insecure handshaking to public-key encryption schemes 802.11 requires mutually acceptable, successful authentication before association Mobile computing notes by Pallavi Joshi
  • 406. Access and Privacy Services - Deauthentication and Privacy Deauthentication: Invoked whenever an existing authentication is to be terminated Privacy: Used to prevent messages being read by others 802.11 provides for optional use of encryption Mobile computing notes by Pallavi Joshi
  • 407. Medium Access Control MAC layer covers three functional areas Reliable data delivery Access control Security Beyond our scope Mobile computing notes by Pallavi Joshi
  • 408. Reliable Data Delivery 802.11 physical and MAC layers subject to unreliability Noise, interference, and other propagation effects result in loss of frames Even with error-correction codes, frames may not successfully be received Can be dealt with at a higher layer, such as TCP However, retransmission timers at higher layers typically order of seconds More efficient to deal with errors at the MAC level 802.11 includes frame exchange protocol Station receiving frame returns acknowledgment (ACK) frame Exchange treated as atomic unit Not interrupted by any other station If noACK within short period of time, retransmit Mobile computing notes by Pallavi Joshi
  • 409. Four Frame Exchange Basic data transfer involves exchange of two frames To further enhance reliability, four-frame exchange may be used Source issues a Request to Send (RTS) frame to destination Destination responds with Clear to Send (CTS) After receiving CTS, source transmits data Destination responds with ACK RTS alerts all stations within range of source that exchange is under way CTS alerts all stations within range of destination Stations refrain from transmission to avoid collision RTS/CTS exchange is required function of MAC but may be disabled Mobile computing notes by Pallavi Joshi
  • 410. Media Access Control Distributed wireless foundation MAC (DWFMAC) Distributed access control mechanism Optional centralized control on top Lower sublayer is distributed coordination function (DCF) Contention algorithm to provide access to all traffic Asynchronous traffic Point coordination function (PCF) Centralized MAC algorithm Contention free Built on top of DCF Mobile computing notes by Pallavi Joshi
  • 411. IEEE 802.11 Protocol Architecture Mobile computing notes by Pallavi Joshi
  • 412. Distributed Coordination Function DCF sublayer uses CSMA If station has frame to transmit, it listens to medium If medium idle, station may transmit Otherwise must wait until current transmission complete No collision detection Not practical on wireless network Dynamic range of signals very large Transmitting station cannot distinguish incoming weak signals from noise and effects of own transmission DCF includes delays Amounts to priority scheme Interframe space Mobile computing notes by Pallavi Joshi
  • 413. Interframe Space Single delay known as interframe space (IFS) Using IFS, rules for CSMA: 1. Station with frame senses medium • If idle, wait to see if remains idle for one IFS. If so, may transmit immediately 2. If busy (either initially or becomes busy during IFS) station defers transmission • Continue to monitor until current transmission is over 3. Once current transmission over, delay another IFS • If remains idle, back off random time and again sense • If medium still idle, station may transmit • During backoff time, if becomes busy, backoff timer is halted and resumes when medium becomes idle To ensure stability, binary exponential backoff used Mobile computing notes by Pallavi Joshi
  • 415. Priority Use three values for IFS SIFS (short IFS): Shortest IFS For all immediate response actions (see later) PIFS (point coordination function IFS): Midlength IFS Used by the centralized controller in PCF scheme when issuing polls DIFS (distributed coordination function IFS): Longest IFS Used as minimum delay for asynchronous frames contending for access Mobile computing notes by Pallavi Joshi
  • 416. SIFS Use - ACK Station using SIFS to determine transmission opportunity has highest priority In preference to station waiting PIFS or DIFS time SIFS used in following circumstances: Acknowledgment (ACK): Station responds with ACK after waiting SIFS gap No collision detection so likelihood of collisions greater than CSMA/CD MAC-level ACK gives efficient collision recovery SIFS provide efficient delivery of multiple frame LLC PDU Station with multiframe LLC PDU to transmit sends out MAC frames one at a time Each frame acknowledged after SIFS by recipient When source receives ACK, immediately (after SIFS) sends next frame in sequence Once station has contended for channel, it maintains control of all fragments sent Mobile computing notes by Pallavi Joshi
  • 417. SIFS Use – CTS Clear to Send (CTS): Station can ensure data frame will get through by issuing RTS Destination station should immediately respond with CTS if ready to receive All other stations hear RTS and defer Poll response: See Point coordination Function (PCF) Mobile computing notes by Pallavi Joshi
  • 418. PIFS and DIFS PIFS used by centralized controller Issuing polls Takes precedence over normal contention traffic Frames using SIFS have precedence over PCF poll DIFS used for all ordinary asynchronous traffic Mobile computing notes by Pallavi Joshi
  • 419. IEEE 802.11 MAC Timing Basic Access Method Mobile computing notes by Pallavi Joshi
  • 420. Point Coordination Function (PCF) Alternative access method implemented on top of DCF Polling by centralized polling master (point coordinator) Uses PIFS when issuing polls PIFS smaller than DIFS Can seize medium and lock out all asynchronous traffic while it issues polls and receives responses E.g. wireless network configured so number of stations with time-sensitive traffic controlled by point coordinator Remaining traffic contends for access using CSMA Point coordinator polls in round-robin to stations configured for polling When poll issued, polled station may respond using SIFS If point coordinator receives response, it issues another poll using PIFS If no response during expected turnaround time, coordinator issues poll Mobile computing notes by Pallavi Joshi
  • 421. Superframe Point coordinator would lock out asynchronous traffic by issuing polls Superframe interval defined During first part of superframe interval, point coordinator polls round-robin to all stations configured for polling Point coordinator then idles for remainder of superframe Allowing contention period for asynchronous access At beginning of superframe, point coordinator may seize control and issue polls for given period Time varies because of variable frame size issued by responding stations Rest of superframe available for contention-based access At end of superframe interval, point coordinator contends for access using PIFS If idle, point coordinator gains immediate access Full superframe period follows If busy, point coordinator must wait for idle to gain access Results in foreshortened superframe period for next cycle Mobile computing notes by Pallavi Joshi
  • 422. IEEE 802.11 MAC Timing PCF Superframe Construction Mobile computing notes by Pallavi Joshi
  • 423. IEEE 802.11 MAC Frame Format Mobile computing notes by Pallavi Joshi
  • 424. MAC Frame Fields (1) Frame Control: Type of frame Control, management, or data Provides control information Includes whether frame is to or from DS, fragmentation information, and privacy information Duration/Connection ID: If used as duration field, indicates time (in s) channel will be allocated for successful transmission of MAC frame In some control frames, contains association or connection identifier Addresses: Number and meaning of address fields depend on context Types include source, destination, transmitting station, and receiving station Mobile computing notes by Pallavi Joshi
  • 425. MAC Frame Fields (2) Sequence Control: 4-bit fragment number subfield For fragmentation and reassembly 12-bit sequence number Number frames between given transmitter and receiver Frame Body: MSDU (or a fragment of) LLC PDU or MAC control information Frame Check Sequence: 32-bit cyclic redundancy check Mobile computing notes by Pallavi Joshi
  • 426. Control Frames Assist in reliable data delivery Power Save-Poll (PS-Poll) Sent by any station to station that includes AP Request AP transmit frame buffered for this station while station in power-saving mode Request to Send (RTS) First frame in four-way frame exchange Clear to Send (CTS) Second frame in four-way exchange Acknowledgment (ACK) Contention-Free (CF)-end Announces end of contention-free period part of PCF CF-End + CF-Ack: Acknowledges CF-end Ends contention-free period and releases stations from associated restrictions Mobile computing notes by Pallavi Joshi
  • 427. Data Frames – Data Carrying Eight data frame subtypes, in two groups First four carry upper-level data from source station to destination station Data Simplest data frame May be used in contention or contention-free period Data + CF-Ack Only sent during contention-free period Carries data and acknowledges previously received data Data + CF-Poll Used by point coordinator to deliver data Also to request station send data frame it may have buffered Data + CF-Ack + CF-Poll Combines Data + CF-Ack and Data + CF-Poll Mobile computing notes by Pallavi Joshi
  • 428. Data Frames – Not Data Carrying Remaining four data frames do not carry user data Null Function Carries no data, polls, or acknowledgments Carries power management bit in frame control field to AP Indicates station is changing to low-power state Other three frames (CF-Ack, CF-Poll, CF-Ack + CF-Poll) same as corresponding frame in preceding list (Data + CF-Ack, Data + CF-Poll, Data + CF-Ack + CF-Poll) but without data Mobile computing notes by Pallavi Joshi
  • 429. Management Frames Used to manage communications between stations and Aps E.g. management of associations Requests, response, reassociation, dissociation, and authentication Mobile computing notes by Pallavi Joshi
  • 430. 802.11 Physical Layer Issued in four stages First part in 1997 IEEE 802.11 Includes MAC layer and three physical layer specifications Two in 2.4-GHz band and one infrared All operating at 1 and 2 Mbps Two additional parts in 1999 IEEE 802.11a 5-GHz band up to 54 Mbps IEEE 802.11b 2.4-GHz band at 5.5 and 11 Mbps Most recent in 2002 IEEE 802.g extends IEEE 802.11b to higher data rates Mobile computing notes by Pallavi Joshi
  • 431. Original 802.11 Physical Layer - DSSS Three physical media Direct-sequence spread spectrum 2.4 GHz ISM band at 1 Mbps and 2 Mbps Up to seven channels, each 1 Mbps or 2 Mbps, can be used Depends on bandwidth allocated by various national regulations 13 in most European countries One in Japan Each channel bandwidth 5 MHz Encoding scheme DBPSK for 1-Mbps and DQPSK for 2-Mbps Mobile computing notes by Pallavi Joshi
  • 432. Original 802.11 Physical Layer - FHSS Frequency-hopping spread spectrum 2.4 GHz ISM band at 1 Mbps and 2 Mbps Uses multiple channels Signal hopping from one channel to another based on a pseudonoise sequence 1-MHz channels are used 23 channels in Japan 70 in USA Hopping scheme adjustable E.g. Minimum hop rate forUSA is 2.5 hops per second Minimum hop distance 6 MHz in North America and most of Europe and 5 MHz in Japan Two-level Gaussian FSK modulation for 1-Mbps Bits encoded as deviations from current carrier frequency For 2 Mbps, four-level GFSK used Four different deviations from center frequency define four 2-bit combinations Mobile computing notes by Pallavi Joshi
  • 433. Original 802.11 Physical Layer – Infrared Omnidirectional Range up to 20 m 1 Mbps used 16-PPM (pulse position modulation) Each group of 4 data bits mapped into one of 16-PPM symbols Each symbol a string of 16 bits Each 16-bit string consists of fifteen 0s and one binary 1 For 2-Mbps, each group of 2 data bits is mapped into one of four 4-bit sequences Each sequence consists of three 0s and one binary 1 Intensity modulation Presence of signal corresponds to 1 Mobile computing notes by Pallavi Joshi
  • 434. 802.11a 5-GHz band Uses orthogonal frequency division multiplexing (OFDM) Not spread spectrum Also called multicarrier modulation Multiple carrier signals at different frequencies Some bits on each channel Similar to FDM but all subchannels dedicated to single source Data rates 6, 9, 12, 18, 24, 36, 48, and 54 Mbps Up to 52 subcarriers modulated using BPSK, QPSK, 16-QAM, or 64-QAM Depending on rate Subcarrier frequency spacing 0.3125 MHz Convolutional code at rate of 1/2, 2/3, or 3/4 provides forward error correction Mobile computing notes by Pallavi Joshi
  • 435. 802.11b Extension of 802.11 DS-SS scheme 5.5 and 11 Mbps Chipping rate 11 MHz Same as original DS-SS scheme Same occupied bandwidth Complementary code keying (CCK) modulation to achieve higher data rate in same bandwidth at same chipping rate CCK modulation complex Overview on next slide Input data treated in blocks of 8 bits at 1.375 MHz 8 bits/symbol  1.375 MHz = 11 Mbps Six of these bits mapped into one of 64 code sequences Output of mapping, plus two additional bits, forms input to QPSK modulator Mobile computing notes by Pallavi Joshi
  • 436. 11-Mbps CCK Modulation Scheme Mobile computing notes by Pallavi Joshi
  • 437. 802.11g Higher-speed extension to 802.11b Combines physical layer encoding techniques used in 802.11a and 802.11b to provide service at a variety of data rates Mobile computing notes by Pallavi Joshi