Single-copy Routing
Download
Report
Transcript Single-copy Routing
ATCN: Delay Tolerant Networks
(17/11/07)
Thrasyvoulos Spyropoulos (Akis)
[email protected]
Goals and Structure
Goals:
Provide an overview of this new exciting area
Motivate a new networking paradigm
Describe the challenges for existing protocols and present
proposed DTN solutions (focus on routing)
Analytical models and Mobility models for DTNs
Structure:
Week 17/11: Motivation, Challenges, and Scheduled Routing
Week 24/11: Opportunistic Routing, Buffer Management, Coding
Week 1/12: Theoretical Models, Mobility Models (Part II)
2
“Legacy” Networks
Internet, Telephone network
Wired or fixed links
A SUCCESS STORY!
3
Wireless Networks as Connected Graphs
Why? Good understanding and many existing protocols
Worked for wired nets; why not wireless also?
End-to-end path
S
D
node
link
4
5
Long Propagation Delays vs.“Chatty” Internet Protocols
Propagation Delay is much larger than transmission time! (minutes
around our solar system)
Internet protocols are “chatty”
TCP:
S: “Hi! You want to talk?” (SYN) 20min
R: “Sure! Let’s establish a session” (SYN+ACK) 20min
S: “Ok, let’s go for it!” (ACK) 20 min
…..
(slow start phase)
S: “Can you send me the pic of Mars?”
…..
6
TCP chatiness
More than 3h for one 1MB pic!
transmission time (1MB/128Kbps) = 1min !!!
7
The “Internet” Assumptions (not holding)
1.
Continuous, bidirectional end-to-end path
2.
Protocols are “conversational”
Short round-trips
3.
TCP slow start; receive ACK to send next packet
Symmetric data rates
4.
Keep up with the sender
Low error rates
TCP sees errors as signs of congestion
Traditional protocols suffer:
Transport (TCP handshake)
Naming (DNS)
Security (PKI, handshake)
Routing (end to end path)
8
Solution? Delay Tolerant Networking
IDEA 1: Bundles
“Atomic” messages containing all necessary info
e.g. SMTP: (HELO + RCPT + … + email)
IDEA 2: Store-Carry-and-Forward (Hop-by-Hop transport)
Next hop not available => store message for long time (hours, days?)
Current node takes message responsibility
Local retransmission
9
10
Wireless Connectivity Revisited
End-to-end path
S
D
node
link
Is this realistic???
11
Intermittent Connectivity: The Technical Argument
Intermittent Connectivity may appear because of:
propagation effects: shadowing, deep fades
B
X
A
B
B
12
Intermittent Connectivity: The Technical Argument(2)
Intermittent Connectivity may appear because of:
Propagation effects, shadowing, deep fades
Mobility: paths change too fast; huge overhead for maintenance
C
C
A
B
13
Intermittent Connectivity: The Technical Argument(3)
Intermittent Connectivity may appear because of:
Propagation effects, shadowing, deep fades
Mobility: paths change too fast; huge overhead for maintenance
Power: nodes shut down to save power or “hide”
Save power
(e.g. sensor)
A
C
B
Low probability of detection (LPD)
(e.g. army node)
14
Wireless Connectivity: A More Realistic View
S
S
X
X
D
D
path
path
disruption!
disruption!
X
Paths
E2E Delays
Internet
end-to-end
<ms
Wireless Ad Hoc
partial
sec, min(?), hours(?),…
15
Intermittent Connectivity: The Economical Argument
Maybe it’s cheaper to not assume connectivity rather
than enforce it
Rural areas (countryside, freeways) :
overprovision of base stations?
OR just live with a sparse network and “episodic” connectivity?
Sensor Networks (attached on animals):
Enough Tx power for connectivity? ($100/node)
Very low power nodes? (e.g. RFID, $1/node)
16
Applications: Sensor Networks for Habitat Monitoring
Herd of zebras
(range of few meters)
Herd of zebras
(range of few meters)
Z
Z
Z
Z
Z
Z
Z
Increase power for connectivity?
Z
Z
Z
Considerably reduce lifetime of network! (power law)
What about obstacles?
base station
Live with a sparse network (connected clusters)
Use DTN principles to carry traffic towards sink
17
Applications: Internet to Remote Communities
Service Kiosks: Banking and Governement, Email, WWW (cached)
Challenges: high cost of infrastructure (fiber, w), power outages,
maintenance personnel
The chosen comm. method for the One Laptop Per Child project!
18
Wireless Data Networks: Cellular
Cellular Networks: Wired backbone + wireless last link
Wireless Last Hop
Wired
Backbone
A SUCCESS STORY for voice/SMS!
Internet? (GPRS): not really (low bandwidth + high price)
19
What about the “western world”?
Cellular:
+ Good coverage
- Low bit rates, expensive per KB
WiFi (802.11)
+ Higher bit rates, cheap per KB
- Sporadic coverage only
WiMax?
What about information theory?
20
Wireless Data Coverage: Map of Open APs
Only Partial Coverage: HOTSPOTS
No real “mobile computing”!
21
Intermittent/Opportunistic Wireless Data Networks
Multi-hop access
Extend infrastructure
Peer-to-peer access
Local news/info may be
available at a node nearby
Bypass infrastructure($$)
22
Inter-Vehicular Communications
Safety, accident prevention (lightweight vehicles)
Traffic reports, traffic routing
Info-services (Internet, local adds, nearby gas stations, etc.)
23
Summarizing: Delay Tolerant Architecture for Wireless
A necessity:
Deep space communications, underwater networks
A choice:
Sensor networks
Remote, underdeveloped areas
Extension:
Peer-to-peer wireless
Vehicular networks
24
A Counterargument: Are We Delay Tolerant?
Mail
Do not usually care about email reaching destination right away
Do not usually expect an answer right away
File downloading
Studies of P2P systems traffic:
Users are patient: 1h even for small files; 3-4 days for large files
Web browsing
Analysis of WWW traffic from Internet cafes in Cambodia/Ghana
Locality, efficient caching: 50% cache hit rate in many cases
Up to 70% hit rate with stale hits
A familiar example: SMS
25
A Counterargument: APs always better than ad hoc
How many APs? WiMax? Centralized bandwidth enough for
everyone?
server
AP
Where is the Internet heading?
peer
client
peer
client
client
Infrastructure-based
access
client-server application
peer
P2P network:
bittorrent,
Ad hoc network
freenet, chord, etc.
26
Traditional Routing (proactive)
Proactive Routing
S
(DSDV, OLSR, OSPF)
Flood Periodic Topology Updates
(UPD)
S learns next hop to D
UPD
D
UPD UPD
UPD
UPD
UPD reaches only
same cluster as D!
27
Traditional Routing (reactive)
Reactive Routing
REQ
S
(DSR, AODV)
Flood Route Request (REQ)
S waits for reply from D
REQ
REQ
D
REQ
REQ reaches only same
cluster as S!
28
Store-Carry-and-Forward (Mobility-assisted) Routing
1.
2.
3.
Connectivity-over-time
Store messages (persistent) when no link
Carry until forwarding opportunity arises
Forward independently and opportunistically
no knowledge about destination
1
12
D
13
S
14
4
2
Question:
how do you choose
the
11
15
3
next hop(s)?
7
16
5
8
10
29
DTN Routing
Graph is disconnected and/or time-varying
G(t) = {V, E(t)}
G = {V,C}, C = set of contacts ci
ci = {vi,vj,tstart,tfinish,bandwidth,prop. delay,…}
30
Types of Contacts
Scheduled contacts
e.g. satellite links, bus routes
enforced contacts: robots, message ferries (more later)
all info known
Probabilistic contacts
statistics about contacts known
e.g. mobility model, or past observation+prediction
sensors with random wake-up schedule
Opportunistic contacts
not known before it occurs
e.g. a tourist car that happens to drive by the village
31
Routing with Complete Knowledge
Computing minimum cost (“shortest”) paths
Delay:
Transmission
Propagation
Queuing = Waiting for contact + waiting for queue to drain
Link weight w(e,t) = message arriving at edge e at time t, is predicted to
arrive at end of e at time t + w(e,t)
Approach 1: MED (Minimum Expected Delay)
Approach 2: Modify Dijkstra’s algorithm
32
Minimum Expected Delay (MED) Algorithm
Oracles used: Contact Summary
Edge cost = average waiting time
average contact wait + transmission + propagation
Regular routing => minimize average path delay
Downsides:
No reaction to congestion
Ignores a good link even if it is available
33
Dijkstra with time-varying costs
Message size = m
Edge Capacity = c(e,t)
Edge Propagation Delay = d(e,t)
Queue backlog = Q(e,t,s): data queued for e at time t
at node s
w(e,t) = w’(e,t,m,s) = t’(e,t,m,s) – t + d(e,t’)
t"
t' (e, t, m, s) min{t" | c(e, x)dx (m Q(e, t, s)}
t
34
Dijkstra’s with Time-varying Costs (Q(e,t,s = 0))
Step 1
Time = 0
L(B)=5
B
cAB=(5,7),(13,16),(20,22)…
cBD=(3,4),(11,15),(26,28)…
wAB(0) = 5
L(A)=0
A
cBC=(7,10),(14,15),(26,30)… D
L(D)=
wAC(0) = 9
cAC(9,10),(14,17),(25,26),…
cCD=(6,7),(13,15),(23,25)…
C
L(C)=9
35
Dijkstra’s with Time-varying Costs (Q(e,t,s)=0), cont’d
Step 1
Time = 5
7
L(B)=5
B
cBD=(3,4),(11,15),(26,28)…
cAB=(5,7),(13,16),(20,22)…
wBC(5) = 2
L(A)=0
A
wBD(5) = 6
cBC=(7,10),(14,15),(26,30)… D
L(D)=
L(D)=11
wCD(7) = 6
cAC=(9,10),(14,17),(25,26),…
cCD=(5,6),(13,15),(23,25)…
C
L(C)=9
L(C)=7
36
Earliest Delivery (ED)
Q(e,t,s) = 0
Ignores queuing info
Ignores buffer occupancy
Source routing
ED is optimal if:
1.
2.
Low traffic rates (e.g. 1 msg)
Or infinite bandwidth and buffer
Problems
If an edge is missed due to lack of bandwidth => may
result in disastrous behavior
37
Earliest Delivery with Local Queuing (EDLQ)
Knowledge: Contacts
PLUS: look at local queues for choosing paths:
e = (s,*) Q(e,t,s) = data queued for e at time t
otherwise Q(e,t,s) = 0
Problems:
Buffer overflow
Potential loops (not consistent topology view between
nodes when running Dijkstra)
38
Routing with Complete Knowledge (2)
Many ideas from graph theory and network
flow problems
Optimize some metric (e.g. average path cost)
While abiding to constraints (e.g. link/buffer
capacities)
Transport Networks with time-varying graphs
Quickest transshipment of cargo with time-varying
links (e.g. a periodic cargo flight)
Dynamic Network Flows
Rather difficult problems in general
39
Time-expanded Graphs
40
MEED: Minimum Estimated Expected Delay
Keep history of past contacts
Maintain running average
Sliding window
Large window => slow reaction to changes
Small window => too many updates, oscillations
Link-state epidemic dissemination
Whenever a contact changes significantly (x% form previous
estimate) => flood topology update packet
41
Calculating the Routing Path
Eventually topology updates from all nodes (global
topology) – not all equally “fresh”
Source Routing? Intermediate hops might have more
recent info than source
Hop-by-Hop Routing? What if an infrequent contact
(large expected wait) arrives first?
Per-contact routing = assign current contact cost 0
42
Example of MEED routing
Link AB (path ABD) is better on average than link AC (path ACD)
But if at time t link AC is up, then ACD is better! (per contact
routing)
43
Enforcing the Contacts: Message Ferrying
A sparse network of “production” nodes
Nodes may be static (e.g. sensors) => how to
bridge partitions?
Nodes may be mobile, but slow => long delays
waiting for a contact to occur may take time
Solution: Use specialized nodes (DataMules or
Message Ferries) to carry traffic between
production nodes
Ferries are always mobile
No energy considerations
44
Message Ferrying: Enforce Ferry Trajectory
Robots, unmanned aerial vehicles (UAVs) Li al ‘03, Zhao et al ’04
S
DataMule
DataMule
DataMule
D
DataMule
The problem: design optimal trajectories
45
Static Nodes + Single Ferry
bij = traffic (rate) requirement from node i to j
Ferry route L of length |L|
Ferry speed f: ferry cycle T = |L|/f
d ijL
= average delay for traffic from i to j
Wait for ferry: T/2f
Upload data (queuing at node): f(ferry in range, upload rate)
Wait for destination (on ferry): T/2f
Download data to recipient: f(ferry in range, download rate)
dL
L
b
d
ij ij
i, j
b
average delay for all traffic
ij
i, j
46
Static Nodes + Single Ferry (2)
Problem: find trajectory L, such that:
-
min d
L
L
ij
(Delay Problem)
- while satisfying traffic matrix B = {bij}
(Bandwidth Problem)
Delay problem:
Assume infinite/enough bandwidth for bij
All data uploaded when encountered
min d ijL ,such that L passes by all nodes
L
Delay Problem = Traveling Salesman Problem (NP-complete)
47
Traveling Salesman Problem
Given a (connected) weighted graph
Find a path that:
Visits all nodes exactly once
And has a minimum cost
Step 1: TSP approximation
algorithms
Step 2: Local optimization
48
Ferry Trajectory Design (Multiple Ferries)
Single-Route Algorithm (SIRA)
Multiple-Route Algorithm (MURA)
Ferries
Node Relay Algorithm (NRA)
Ferry Relay
Algorithm (FRA)
49