View
1.441
Download
8
Category
Tags:
Preview:
Citation preview
Using Vector Clocks to VisualizeCommunication Flow
Martin Harrigan
Complex & Adaptive Systems Laboratory (CASL)University College Dublin
IntroductionCommunication FlowVector Clocks
The Methodology
Experiments
Conclusions & Future Work
Introduction
A metaphor for communication: flow in conduits
‘slow and fast conduits’ (Kossinets et al., ’08)
‘transatlantic flows of communication’ (Leskovec
& Horvitz, ’08)
‘a series of tubes’ (Stevens, ’06)
It is a tempting metaphor when visualizing communication flow.
A dynamic weighted directed graph?
people ↔ vertices
communications ↔ (weighted)directed edges
time ↔ animation
Introduction
Is the graphical design grounded in the substance to becommunicated (Brandes, ’99)?
Is there a discrepancy between the visualization and theanalysis of communication flow?
Visualization
crossings
area
slopes
symmetries
mental map
Analysis
synchronization
information latency
temporal distance
network backbones
periodicity
Can we integrate the two?
Introduction
Vector clocks are a useful tool when analyzingcommunication flow...
Introduced by Fidge (’88) and Mattern (’89).
Aid with the causal ordering of events indistributed systems.
Provide greater insight into communication flowthan dynamic weighted directed graphs (Kossinets et al.,
’08).
We can use them to visualize communication flow.
Introduction
A suggests to B,C, and D thatthey meet at theCity HotelOdense.
Introduction
C and D agreeto meet at theCab Inn.
Introduction
B and D agreeto meet at theRadisson Blu.
Introduction
A checks with Band C where theyshould meet.
D is no longerreachable but theyknow to meet himat the RadissonBlu.
Introduction
Vector clocks maintain, for each actor, the time of their mostrecent communication, either directly or indirectly, from every
other actor.
The Methodology
visualizeVectorClocks
The Methodology
The Methodology
During a time interval [0, T ], we have a set of vertices V anda set of time-attributed directed edges E.
The instantaneous graph Gt = (V,Et) at time-slice t is thegraph with vertex set V and edge setEt = {(u, v)|(u, v, t) ∈ E}.
Input: G0, . . . , GT (instantaneous graphs)
The Methodology
For each instantaneous graph:
1 Each vertex has a corresponding vector clock which representsa point in a high-dimensional space.
2 Each time-attributed directed edge (communication) updatesthe vector clock of the target (receiving) vertex.
3 We compute the distances between all pairs of vector clocksusing an appropriate metric.
4 We construct a dissimilarity matrix from these distances.
5 We use multidimensional scaling (MDS) to produce an 2-dvisualization of the data points.
The Methodology
Output: C0, . . . , CT (2-d coordinates for each time-slice)
t = 0 t = 1 t = 2 t = 3
Greene et al., ’10, Lancichinetti et al., 08
The Methodology
For each instantaneous graph:
The Methodology
For each instantaneous graph:
1 Each vertex has a corresponding vector clock which representsa point in a high-dimensional space.
φu,t =
t1t2...tn
Initialization
Individual increment ateach time-slice
The Methodology
For each instantaneous graph:
2 Each time-attributed directed edge (communication) updatesthe vector clock of the target (receiving) vertex.
φu,t =
t1t2...tn
, φv,t =s1s2...sn
=⇒ φv,t =
max(t1, s1)max(t2, s2)
...max(tn, sn)
The Methodology
For each instantaneous graph:
3 We compute the distances between all pairs of vector clocksusing an appropriate metric.
d(φu,t, φv,t) =√(t1 − s1)2 + (t2 − s2)2 + · · ·+ (tn − sn)2
Which metric?
The Methodology
For each instantaneous graph:
4 We construct a dissimilarity matrix from these distances.
Mt =
0 d(φu1,t, φu2,t) · · · d(φu1,t, φun,t)
d(φu2,t, φu1,t) 0...
. . .
d(φun,t, φu1,t) 0
The Methodology
For each instantaneous graph:
5 We use multidimensional scaling (MDS) to produce an 2-dvisualization of the data points.
Dynamic MDS?
Procrustes Analysis?
Experiments
Four artificial datasets comprising temporal sequences ofcommunications between 100 actors during a time interval[0, 99].
The datasets were generated by fixing the set of possiblecommunications and then selecting a communication from theset of possible communications at time-slice t with probabilityp = 0.005.
Each dataset had a distinct underlying communicationpattern.
Experiments
DS1: All communications were possible.
25th 50th 75th 100th
Experiments
DS2: Communications were possible between every pair of actorsin only one direction such that there were no directed cycles of
communication.
25th 50th 75th 100th
Experiments
DS3: The actors were partitioned into four equal subsets and allintra-subset communications were possible.
25th 50th 75th 100th
Experiments
DS4: The actors were partitioned as in DS3 and intra-subsetcommunications were possible between every pair of actors in only
one direction such that there were no directed cycles ofcommunication.
25th 50th 75th 100th
Experiments
We also visualized a VAST 2008 challenge dataset (Grinstein et al.,
’08).
This dataset comprises mobile phone call records over a 10day period between 400 unique mobile phones.
We set each time-slice equal to one hour.
25th 50th 75th 100th
Conclusions & Future Work
A novel methodology for visualizing communication flow.
temporal sequence of communications → vector clocks
vector clocksdistance metric−−−−−−−−−−→ dissimilarity matrix
dissimilarity matrixMDS−−→ 2-d visualizations
Actors who have received the same orcommunicatively-equivalent communications are placed closetogether whereas actors that have received largely differentcommunications are placed far apart.
Conclusions & Future Work
There is much future work:
Both the distance metric (Bellman, ’61) and the choice of MDSalgorithm need investigation.
Can we extend vector clocks to model the attenuation ofinformation, the bounded capacity of communicationchannels, etc.? Can we visualize synchronicity, networkbackbones, periodicity?
Scalability (maintenance of the vector clocks and thecomputation of the dissimilarity matrix).
Thank You
Recommended