Mobile Computing
Download
Report
Transcript Mobile Computing
What is Mobile Computing?
Wireless Communication Systems
Mobile Communication Systems Architecture
Key Technologies of Mobile Computing
Applications
Key Technologies of Mobile Computing
Positioning
Mobility management
Routing
Mobile agent
Positioning – Needs of Pedestrains
汽車導航:靠GPS,精準度容忍較高
行人導航:可能在indoor或地下室,精準度容忍較低
Positioning Technologies
Concepts of positioning
Satellite-based solutions
Network-based solutions
IMU-based solutions
Concepts of Positioning
測量使用者與衛星距離
系統管理者survey network infrastructure,
BS如何佈置,訊號特徵
慣性導航,感測手機加速度及方向
(角度)改變以進行導航
Comparisons of Positioning Technologies
Satellite-based solutions
higher hardware cost (terminal-based positioning)
function well in outdoor environments
[高樓大廈密集會有問題]
example: GPS, A-GPS, D-GPS
Network-based solutions
need communication infrastructure
[e.g. base station]
more suitable in indoor environments
[有infrastructure訊號覆蓋就可以]
example: WiFi, PHS, GSM
IMU (Inertial Measurement Unit)-based solutions
extra hardware cost
[G-sensor (重力感應器) 和M-sensor (電子羅盤)]
without any infrastructure support
inherently accumulated errors
[同時需要依賴其他技術及參考座標,會有累積誤差問題]
usually operate as auxiliary component
Satellite-Based Solutions
Triangulation (Trilateration)
triangulation:利用GPS或BS訊號,透過TOA (Time of
Arrival)技術,量測自己跟三個點的距離跟角度
trilateration: a method for determining the
intersections of three sphere surfaces given the
centers and radii of the three spheres.
measure distances or angles of at least three
reference points
usually need specific hardware supports
widely used in many positioning systems, such as
GPS
GPS
GPS
distance is measured by time of arrival (ToA)
[根據打下來的訊號傳送到參考點的時間,再乘以光速當
做距離的判斷]
need very precise time synchronization
1μs time shift will result in 300m distance error
GPS systems
USA: GPS
Russia: GLONASS
Europe: Galileo
China: Beidou
Data Transferred from Satellites
Constellation [星曆,星座區域,衛星的位置] of 24 satellites
L1 frequency for civilian use
L2 frequency for military and government use
1500 bits/frame, 50bps (pretty low)
[星曆資訊包在一個frame的內容中傳送,手機透過GPS設備接
受此星曆資訊]
Time of week, TOW
Data Transferred from Satellites
Broadcast Ephemeris [【天】星曆表;(帶星曆表的)曆書]
(accurate position)
Almanac [曆書;年曆]
At least 30 sec. for first fix
[開機後需30 sec設定時間,對汽車導航算是可接受,對手機
使用者LBS服務30 sec時間太長]
AGPS (Assisted GPS)
GPS’s weaknesses
TTFF (Time To First Fix) of GPS > 30 seconds
(average case: 2~3 min)
signal cannot be correctly received in buildings or
sheltered areas
Possible solutions
A-GPS
透過BS接收星曆資訊,透過網路傳給手機
FCC: a preferred solution for E911
operators: no need to change telecommunication
infrastructure
AGPS Concept
Positioning Errors of GPS
Standard Positioning Service (SPS)
C/A-Code (Coarse/Acquisition Code)
SA (Selective Availability)
西元2000年前US Army在衛星加入SA干擾,定位誤差達
150m
西元2000年後,移除SA干擾,定位誤差可到25m,汽車
導航才能精準使用,但需求精準度更高的LBS服務仍無
法使用
horizontal accuracy: 100m
vertical accuracy: 156m
commercial use
Deviation is more than 5 meters
weather error
multipath error
GDOP (Geometric Dilution of Precision)
receiver error
Ephemeris error
SA (Selective Availability)
cycle slips
DGPS (Differential GPS)
Goal: increase the accuracy of positions derived
from GPS receivers
Use base receivers with known locations nearby
the GPS receivers to achieve high positioning
accuracy (< 5m)
[根據自己的經緯度座標,再與收到的衛星訊號做計算,最
後把校正碼(corrections)送給附近的使用者]
The cost of build-in GPS chip is more than 10% of
the material cost of mobile phones
The number of mobile phones equipped with GPS
OBSERVATION
Americans time spent
indoors: 89%
transport: 6%
outdoors: 5%
Network-Based Postioning
Properties
need communication infrastructure
more suitable in indoor environments
example: WiFi, PHS, GSM
Site survey
deployment of base stations
radio map
Categories
cell-ID
triangulation / trilateration
fingerprinting
Cell-ID Localization
Error = 200m~1km
1. User找最近的BS
2. 管理者需經過site survey知道BS座標
3. Cell-ID localization最易實作,
但誤差大(約數百公尺到一公里)
Triangulation Localization
Problems:
propagation attenuation,
multipath
1. 利用訊號衰減做為距離量測方式
2. 根據收到三個BS訊號強度,
換算距離,可定自己的位置
3. 缺點:訊號強度不穩定,
會有multipath的問題
Indoor is better, error = 3m
Fingerprinting Localization
1. 西元2000年,Microsoft Lab提出,
透過特徵比對做定位
2. 管理者先做site survey,在固定點收訊號,
用特徵值表示在該位置附近的BS所收訊號
(Radio Pattern)
3. 將這些特徵值存在DB (包括經緯座標
及訊號特徵)
4. 商業化系統:Skyhook Wireless
Technology Used in Revolutionary iPhone
and iPod touch (蒐集上億802.11訊號)
5. 此方法適用在indoor (精準度可達3m),
其位置與訊號特徵值差異不會太大
IMU-Based Positioning
Properties
without any infrastructure support
inherently accumulated errors
usually operate as auxiliary component
Extra hardware cost
inertia reference
relative acceleration (G-Sensor [重力感應器], Pedometer [
步數計;步程計] Function)
relative angle (M-Sensor [電子羅盤], Compass Function)
Summary of Positioning Technologies
A reliable and ubiquitous positioning technology
is the key factor of LBS
There is no dominating positioning technology
Hybrid positioning may be the answer
SMS for Location
Simple format for mobile phones’ short message service
[描述定位結果]
Google Maps and Google Latitude support announce
location via SMS (proprietary format).
Source: 工業技術研究院GPS位置資訊簡訊共通標準座談會
OPEN GeoSMS
Examples
OMIA,1;2504.8015,N;12133.9766,E;1;101,02-81018898,台北市
信義路五段七號
GeoSMS/2;2502.01,N;12133.851,E;P;101/02-81018898/台北市
信義路五段七號
Source: 工業技術研究院GPS位置資訊簡訊共通標準座談會
Application: Car Accident Insurance Process
Key Technologies of Mobile Computing
Positioning
Mobility management
Routing
Mobile agent
Mobile Management – Cellular System
GSM System Architecture
GSM Location Area Hierarchy
Handoff
Inter-LA Registration
Inter-MSC Registration
Inter-VLR Registration
Successful registration
HLR
Location update into HLR
Deregistration
Delete VLR data
3
5
TMSI
Old
VLR
New
VLR
2
MS IMSI & other data for authentication
1
TMSI, old LAI,
MSC, VLR
4
new
TMSI
Call Origination Procedure
Call Termination Procedure
Mobile Management –
Mobile IPv4
Mobility issues in IP Networks
once a mobile terminal moves to a new subnet, a
correspondent node needs to use the mobile’s new IP
address
it is difficult to force every possible correspondent
node to keep track when a mobile terminal may
change its IP address and what the mobile’s new
address will be
changing IP address will cause on-going TCP
sessions to break
Mobility management should
ensure on-going TCP connection does not break
restore quickly if TCP connection breaks
Home Network
Home
address
a globally unique and routable IP address
preconfigured or dynamically assigned
Home
network
the network whose network address prefix matches that of
the mobile terminal’s home address
Home
agent (HA)
maintain up-to-date location information for the mobile
intercept packets addressed to the mobile’s home address
tunnel packets to the mobile’s current location
Note: Network Prefix
7
A:
0
24
Network
Host
14
B:
C:
1
1
0
1
16
Network
0
Host
21
8
Network
Host
Class A Network (/8 Prefixes)
Class B Networks (/16 Prefixes)
Class C Networks (/24 Prefixes)
IP addresses are divided into three different
classes
each of the following figure defines different-sized
network and host parts
there are also class D addresses specify a multicast
group, and class E addresses that are currently
unused
in all cases, the address is 32 bits long
43
7
A:
0
24
Network
Host
14
B:
1
0
16
Network
Host
21
C:
1
1
0
Network
8
Host
IP addresses: (a) class A; (b) class B; (c) class C
44
45
the class of an IP address is identified in the most
significant few bits
if the first bit is 0, it is a class A address
if the first bit is 1 and the second is 0, it is a class B
if the first two bits are 1 and the third is 0, it is a class
C address
32
of the approximately 4 billion (= 2 )possible IP
addresses
one-half are class A
one-quarter are class B
one-eighth are class C
Class A addresses
7 bits for the network part and 24 bits for the host part
7
126 (= 2 -2) class A networks (0 and 127 are reserved)
24
each network can accommodate up to 2 -2 (about 16
million) hosts (again, two are reserved values)
Class B addresses
14 bits for the network part and 16 bits for the host
part
16
65,534 (= 2 -2) hosts
46
47
Class C addresses
21 bits for the network part and 8 bits for the host
part
2l
2,097,152 (= 2 ) class C networks
254 hosts (host identifier 255 is reserved for
broadcast, and 0 is not a valid host number)
IP addresses are written as four decimal integers
separated by dots
each integer represents the decimal value
contained in 1 byte (= 0~255) of the address,
starting at the most significant
eg., 171.69.210.245
Internet domain names (DNS)
also hierarchical
domain names tend to be ASCII strings separated
by dots, e.g., cs.nccu.edu.tw
48
Foreign Network
Care-of Address (CoA)
assigned to the mobile by the foreign network
a mobile uses its CoA to receive IP packets in
the foreign network
Foreign agent (FA)
provides CoAs and other necessary
configuration information (e.g., address of
default IP router) to visiting mobiles
de-tunnels packets from the tunnel sent from a
visiting mobile’s HA and then delivers the
packets to the visiting mobile
acts as the IP default router for packets sent
by visiting mobile terminals
helps visiting mobiles to determine whether
they have moved into a different network
Two Types of COAs in MIPv4
Foreign Agent CoA
an IP address of a FA
each FA is responsible for providing FA CoAs
to visiting mobiles
when FA CoA is used, the mobile’s HA tunnels
the packets to the mobile’s current FA that
addressed to the mobile’s home address
the FA will then de-tunnel the packets and
deliver them to the mobile
Co-located CoA
a CoA acquired by a mobile terminal through any
method external to Mobile IP
example, a mobile may use the Dynamic Host
Configuration Protocol (DHCP) to obtain a temporary
address dynamically
the mobile terminal’s HA tunnels the packets
addressed to the mobile’s home address directly to
the mobile itself; these packets do not have to go
through any FA
Key Technologies of Mobile Computing
Positioning
Mobility management
Routing
Mobile agent
Ad Hoc Routing Protocols
Ad hoc routing protocols must deal with
high power consumption
low bandwidth
high error rates
Ad hoc routing protocols category
table-driven
source-initiated (demand-driven)
Ad hoc routing
protocols
Table-driven
DSDV
CGSR
WRP
Source-initiated
on-demand
AODV DSR
LMR
ABR
TORA
SSR
Table-Driven Routing Protocols
Table-driven routing protocols
maintain consistent, up-to-date routing information
require each node to maintain one or more tables to store routing
information
Protocols
Destination-Sequenced Distance-Vector Routing (DSDV)
Clusterhead Gateway Switch Routing (CGSR)
Wireless Routing Protocol (WRP)
Source-Initiated On-Demand Routing
Protocols
Source-initiated on-demand routing protocols
creates routes only when desired by the source node
Some routing scheme
Ad Hoc On-Demand Distance Vector Routing (AODV)
Dynamic Source Routing (DSR)
Temporally Ordered Routing Algorithm (TORA)
Associativity-Based Routing (ABR)
Signal Stability Routing (SSR)
Ad Hoc On-Demand Distance Vector Routing
(AODV)
A source node initiates a path discovery process when
desires to send a message
does not already have a valid route
Path discovery
broadcasts a route request (RREQ) packet to its neighbors
neighbors then forward the request to their neighbors until either
the destination or an intermediate node with a "fresh enough"
route to the destination is located
Propagation of the PREQ
RREQ
& RREP
intermediate nodes record the address of the
neighbor from which the first copy of the broadcast
packet is received
if additional copies of the same RREQ are later
received, these packets are discarded
once the RREQ reaches the destination, the
destination node responds by unicasting a route
reply (RREP) packet back
if a route entry is not used within the specified
lifetime, the route will be deleted
Path of the RREP to the Source
Key Technologies of Mobile Computing
Positioning
Mobility management
Routing
Mobile agent
What is a Mobile Agent?
Mobile Agent (Intelligent Message)
an electronic message carries a computer program
either procedural or declarative
it can be executed by the receiving servers on behalf
of the originating client
the program in the message can instruct a receiving
server to forward the message to another server
continuously in a pipeline fashion
Mobile Agent Model
The agent model is based on the concepts of
places and agents
places
places provide the environment for executing
mobile agents
a place is entirely located on a single node of the
underlying network
an agent system consists of a number of these
places
agents
mobile agents are active entities, which may move
from place to place to meet other agents and to
access the places' services
an agent can be identified by a globally unique
agent identifier, which is generated at the agent's
creation time and is not changed throughout its life
communication between agents may be local or
global
Example of a Mobile Agent
指令l : 設定旅遊日期
指令2 : 要求進入某航空公司(airline A)的定位系統
指令3 : 要求定八月一日中午以後從紐約到芝加哥的頭等艙機位
指令4 : 要求進入AVIS租車公司的預約系統
指令5 : 要求預定一部中型車,取車時間為飛機到達後半小時,使
用期兩天
指令6 : 要求進入芝加哥希爾頓旅館的定房系統
指令7 : 要求訂一個晚上的單人房,到達時間為飛機抵達後兩小時
指令8 : 要求回到客戶的終端機(PC或smart phone等)
指令9 : 要求把結果存檔
指令10 : 要求顯示結果
Mobile Agent Itinery
Classification of Agents in a Mobile Agent
System
Mobile agents
Service agents
system services
application-level services
Types of Agents Communication
Agent / service agent interaction [client/server]
Mobile agent / mobile agent interaction [peer-topeer]
Anonymous agent group interaction
User / agent interaction
Agent / Service Agent Interaction
Service agents are the representatives of services
in the agent world, the style of interaction is
typically client/server
Services are requested by issuing requests,
results are reported by responses
An RPC-like communication mechanism should
be provided
Client Server Paradigm
Mobile Agent / Mobile Agent Interaction
The rule of the communication partners in this
type are peer-to-peer rather than client/server
Each mobile agent has its own agenda and hence
initiates and controls its interactions according to
its needs and goals
Mobile Agent Paradigm
Why Mobile Agents for Mobile Computing?
Resolve the problems with wireless communications
noisy
expensive
low bandwidth
unreliable (intermittent connection)
limited battery life
Scalable clients
Resource optimization
if an agent's goals require extensive communication
with a particular resource on the network, moving
closer to the resource can reduce or eliminate
network traffic, allowing the agent to perform its
duties more quickly
Distributed parallel processing
agents can move to lightly loaded machines when
necessary and delegate subtasks to other mobile
agents, allowing true parallel processing
Reliability
mobility and autonomy allow an agent to move from its
point of origin into a network and continue to operate,
even if the originating device is temporarily or
permanently disconnected from the network
by doing so, the agent can provide services and satisfy
predefined goals without user intervention
Mobile Agent Systems
Mobile Agent System Author
Language
Secure Communication Server Resource
Agent Protection
Telescript
General Magic
Created their own
OO, type-safe
language
Not supported
Tacoma
D'Agents
Cornell University
University of Tromso,
Norway
Dartmouth College
Agent transfer is authenticated Capability-based
using RSA and encrypted
resource access. Quotas
using RC4
can be imposed.
Authorization based on
agent's identity
Not supported
Not supported
Aglets
IBM
Voyager
ObjectSpace
Concordia
Mitsubishi Electric
Ajanta
University of
Minnesota
Tcl, but is created
to be written in other
scripting languages
Tcl interpreter, mo- Uses PGP for authentication
dified to execute
and encryption
scripts and capture
state of execution at
thread level
Java. IBM developed Not supported
a separate class
library to create
mobile agents
Java. Unique feature Not supported
is a utility which
takes any Java class
and creates a remotely-accessible version of it.
Java. Has Itinerary Agent transfer is encrypted and
object, which keeps authenticated using SSL
track of an agent's
migration path
Java
Transfer is encrypted using
DES and authenticated using
ElGamal protocol
Not supported
Uses safe-Tcl as its
Not supported
secure execution envireon
ment. No support for
owner-based authorization
Statically specified access Not supported
rights, based on only two
security categories:
trusted and untrusted
Programmer must extend Not supported
Security Manager. Only
two security categories:
native and foreign.
SecurityManager screen
acceses using a statically
configured ACL based on
agent owner identity
Capability-based resource
access. Authorization
based on agent's owner
Agents protected from
other agents via the
resource access
mechanism
Mechanisms to detect
tampering of agent's
state and code