Communication in Dynamic Networks
Ian Downes October 12 2010
Joint work with Omprakash Gnawali, Brano Kusy and Leonidas Guibas
Wednesday, October 13, 2010
Broad goals
• Understand dynamic networks
• Bounds on communication performance
• Distributed algorithms/protocols that perform well
2
Wednesday, October 13, 2010
Static
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route: Route:
Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:Route:
Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
• Routes between nodes are (nearly) static
• Build up next hop information for all destinations, e.g. use Dijkstra’s, repair as necessary
• Little concept of time
• Solved (OSPF,...)
Wednesday, October 13, 2010
Static with updates
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route: Route:
Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:Route:
Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
• Routes between nodes are (nearly) static
• Build up next hop information for all destinations, e.g. use Dijkstra’s, repair as necessary
• Little concept of time
• Solved (OSPF,...)
Wednesday, October 13, 2010
Dynamic - connected
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route: Route:
Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
Route:Route:
• Assume path exists, discover as required
• Mostly ignore time, think only over short intervals
• Working protocols (AODV, DYMO,...)
Wednesday, October 13, 2010
Dynamic - not nec. connected
• Source to destination path does not necessarily exist!
• Network is constantly changing
• Not well understood
• Not well solved
Wednesday, October 13, 2010
Specific questions
• How to route through a dynamic network?
• What are the baseline performance limits?
• What information can be used?
• What are the practical performance limits?
• How to extend concepts from static graphs to dynamic graphs?
Wednesday, October 13, 2010
DTN protocols
• Direct delivery:
➡ No routing, wait until source node meets the destination node. Poor delivery and latency
• First contact:
➡ Forward the message to the first contact, i.e. message follows a random walk. Same issues.
• Epidemic:
➡ Replicate the packet at every contact. Optimal route? Poor performance due to congestion.
8
Wednesday, October 13, 2010
DTN protocols
• Spray and Wait
➡ Limit total number of copies. Either one or remainder/2 to contact. Explore n paths.
• PRoPHET:
➡ Maintain history of contacts, swap history on contact, also data if better chances. Next hop estimation.
• MaxProp:
➡ Use history to estimate path likelihood. Acks.
Wednesday, October 13, 2010
Time-expanded graph
• Determine the discrete states the graph exists in and expand them out explicitly
• Simplified communication model
• Feasible for sparse dynamic graphs
Wednesday, October 13, 2010
Time-expanded - construction
time
space
Wednesday, October 13, 2010
Yellow Cabs in SF
• All ~500 taxi cabs in the San Francisco Yellow Cab fleet
• Taxis log and send GPS position and occupancy state once a minute
• One month dataset available on Crawdad, continuous data available over web api
Wednesday, October 13, 2010
Yellow Cabs in SF
Wednesday, October 13, 2010
Contacts few and far between
5 min. 30 min. 1 1.5 2 4time (hours)
1 0 -2
1 0 -1
1 0 0
inter-contacttimeCCDF
10% of inter-contact times <30 minutes
90% of inter-contact times < 2 12 hours
14
multi-hop DTN is essential
Wednesday, October 13, 2010
SF Taxi TE-Graph
• 500 taxis moving for two hours
• Time-expanded graph is large but manageable
➡ 150,000 nodes
➡ ~2 million edges
➡ 1.5 GB (can be optimized)
➡ 2 minutes to construct, 10’s of seconds for shortest path
Wednesday, October 13, 2010
20 taxis over 2 hours
16
Wednesday, October 13, 2010
Delivery with finite window
06:00:
00
08:00:
00
10:00:
00
0.0
0.2
0.4
0.6
0.8
1.0
deliveryrate
4 hours
4hours
1 min.
5 min.
30 min.
1 hr.
4 hr.
17
Wednesday, October 13, 2010
Traffic patterns
• Base is the taxi depot (280/C. Chavez)
• Collection (position updates):
➡ All taxis periodically send updates to the base
➡ Period 5 - 10 minutes
• Peer-to-base (occ. status updates):
➡ Taxis randomly decide to send to the base station
• Peer-to-peer (random messages?):
Wednesday, October 13, 2010
Delivery probability
40%
60%
80%
100%
Peer2peer Peer2base Collection
Del
iver
y P
rob
abil
ity
(%
)
DD FC E SW P MP Opt
0%
20%
19
Wednesday, October 13, 2010
Routing overhead
100
150
200
250
300
350
Peer2peer Peer2base Collection
Ov
erh
ead
Rat
io
DD FC E SW P MP Opt
0
50
20
Wednesday, October 13, 2010
Delivery latency
Peer2base Collection
Av
erag
e L
aten
cy (
sec)
DD FC E SW P MP Opt
0
200
400
600
800
1,000
1,200
1,400
1,600
1,800
Peer2peer
21
Wednesday, October 13, 2010
Network structure
• Understand the graph structure
➡ Extend ideas from static network analysis
• Betweenness centrality
➡ trajectory betweenness informs about the importance of that trajectory in the network, remove that agent and what happens.
➡ edge betweenness gives the importance of a communication opportunity, indicates the contention that would occur if everyone tried to do uncapacitated shortest path routing
Wednesday, October 13, 2010
Network structure
• Closeness centrality
➡ Closeness centrality:: propagation delay for information spread, new method to reflect the routing protocol behavior?
Wednesday, October 13, 2010
Network measures
how hard is it to get knowledge?
how useful is knowledge?
static
rwp
dtn
SFdieselnet
infocom
Wednesday, October 13, 2010
Context/broader impact
• Improved understanding of dynamic communication networks
• New routing protocol/adaptation
• Wider applicability to other dynamic networks
➡ social networks (email, news propagation)
➡ animal networks
➡ p2p networks
Wednesday, October 13, 2010