using vector clocks to visualize communication flow

30
Using Vector Clocks to Visualize Communication Flow Martin Harrigan Complex & Adaptive Systems Laboratory (CASL) University College Dublin

Upload: martin-harrigan

Post on 12-Jun-2015

1.441 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Using Vector Clocks to Visualize Communication Flow

Using Vector Clocks to VisualizeCommunication Flow

Martin Harrigan

Complex & Adaptive Systems Laboratory (CASL)University College Dublin

Page 2: Using Vector Clocks to Visualize Communication Flow

IntroductionCommunication FlowVector Clocks

The Methodology

Experiments

Conclusions & Future Work

Page 3: Using Vector Clocks to Visualize Communication Flow

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

Page 4: Using Vector Clocks to Visualize Communication Flow

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?

Page 5: Using Vector Clocks to Visualize Communication Flow

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.

Page 6: Using Vector Clocks to Visualize Communication Flow

Introduction

A suggests to B,C, and D thatthey meet at theCity HotelOdense.

Page 7: Using Vector Clocks to Visualize Communication Flow

Introduction

C and D agreeto meet at theCab Inn.

Page 8: Using Vector Clocks to Visualize Communication Flow

Introduction

B and D agreeto meet at theRadisson Blu.

Page 9: Using Vector Clocks to Visualize Communication Flow

Introduction

A checks with Band C where theyshould meet.

D is no longerreachable but theyknow to meet himat the RadissonBlu.

Page 10: Using Vector Clocks to Visualize Communication Flow

Introduction

Vector clocks maintain, for each actor, the time of their mostrecent communication, either directly or indirectly, from every

other actor.

Page 11: Using Vector Clocks to Visualize Communication Flow

The Methodology

visualizeVectorClocks

Page 12: Using Vector Clocks to Visualize Communication Flow

The Methodology

Page 13: Using Vector Clocks to Visualize Communication Flow

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)

Page 14: Using Vector Clocks to Visualize Communication Flow

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.

Page 15: Using Vector Clocks to Visualize Communication Flow

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

Page 16: Using Vector Clocks to Visualize Communication Flow

The Methodology

For each instantaneous graph:

Page 17: Using Vector Clocks to Visualize Communication Flow

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

Page 18: Using Vector Clocks to Visualize Communication Flow

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)

Page 19: Using Vector Clocks to Visualize Communication Flow

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?

Page 20: Using Vector Clocks to Visualize Communication Flow

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

Page 21: Using Vector Clocks to Visualize Communication Flow

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?

Page 22: Using Vector Clocks to Visualize Communication Flow

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.

Page 23: Using Vector Clocks to Visualize Communication Flow

Experiments

DS1: All communications were possible.

25th 50th 75th 100th

Page 24: Using Vector Clocks to Visualize Communication Flow

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

Page 25: Using Vector Clocks to Visualize Communication Flow

Experiments

DS3: The actors were partitioned into four equal subsets and allintra-subset communications were possible.

25th 50th 75th 100th

Page 26: Using Vector Clocks to Visualize Communication Flow

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

Page 27: Using Vector Clocks to Visualize Communication Flow

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

Page 28: Using Vector Clocks to Visualize Communication Flow

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.

Page 29: Using Vector Clocks to Visualize Communication Flow

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).

Page 30: Using Vector Clocks to Visualize Communication Flow

Thank You