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