# Identifying Roles in an IP Network with Temporal and Structural Density

Get Complete Project Material File(s) Now! »

## Description of the algorithm

One may trivially enumerate all maximal cliques in a graph as follows. One maintains a set M of previously found cliques (maximal or not), as well as a set S of cancomputing didate cliques. Then for each clique C in S, one removes C from S and searches for nodes outside C connected to all nodes in clique C, thus obtaining new cliques (one for each such node) larger than C. If one finds no such node, then clique C is maximal and it is part of the output. Otherwise, if the newly found cliques have not already been found (i.e., they do not belong to M), then one adds them to S and M. The set S is initialized with the trivial cliques containing only one node, and all maximal cliques have been found when S is empty. The set M is used for memorization, and ensures that one does not examine the same clique more than once. In [Johnson et al., 1988] the authors use this framework to enumerate all maximal cliques of agraph in lexicographic order.
Our algorithm for finding D-cliques in a link stream L = (T,V, E) (Algorithm 1) relies on the same scheme. We initialize the set S of candidate D-cliques and the set M of all found D-cliques with the trivial D-cliques (fa, bg, [t, t]) for all (t, a, b) in E (Line 2). Then, until S is empty (while loop of Lines 3 to 24), we pick an element (X, [b, e]) in S (Line 4) and search for nodes v outside X such that (X [ fvg, [b, e]) is a D-clique (Lines 6 to 10). We also look for a value b0 < b such that (X, [b0, e]) is a D-clique (Lines 11 to 16), and likewise a value e0 > e such that (X, [b, e0]) is a D-clique (Lines 17 to 22). If we find such a node, such a b0 or such an e0, then D-clique C is not maximal and we add to S and M the new D-cliques larger than C we just found (Lines 10, 16 and 22), on the condition that they had not already been seen (i.e., they do not belong to M). Otherwise, C is maximal and is part of the output (Line 24).

### Computational complexity

In order to investigate the complexity of our algorithm, let us denote by n = jVj the number of nodes and m = jEj the number of links in L. First notice that the number of elements in the configuration space built by the algorithm is bounded by the number of subsets of V times the number of sub-intervals of T.
Moreover, for all D-clique C = (X, [b, e]) in the configuration space, there exists a link (b, u, v) or a link (b + D, u, v) in E. Indeed, the initial trivial D-cliques are in the first case, and all D-cliques obtained from them are also in this case until Line 16 is applied. The D-cliques built after this are in the second case. Likewise, there exists a link (e, u, v) or a link (e 􀀀 D, u, v) in E. Therefore, the number of possible values for b and e for any D-clique in the configuration space is proportional to the number of time instants at which a link occurs, which is bounded by the number of links m. The number of sub-intervals of T corresponding to a D-clique in the configuration space is therefore in O(m2). This bound is reached in the worst case, for instance if the stream is a sequence of links occurring once every D time interval.
The trivial bound O(2n) for the number of subsets of V is also reached in the worst case, for instance if there is a link between all pairs of nodes at the same time: the algorithm will enumerate all subsets of V. Therefore, the number of elements in the configuration space is in O(2nm2). This leads to the space complexity of our algorithm: it is proportional to the space needed to store the configuration space, which is in O(2nnm2) since each element may be stored in O(n) space.

READ  Coded continuous phase modulation schemes for satellite transmis- sions

#### Impact of data structure

Notice that Algorithm 1 makes no assumption on the order in which elements of S are processed, which corresponds to the way we explore the configuration space. In particular, if S is a first-in-first-out structure (a queue), the algorithm performs a BFS of the configuration space; if it is a last-in-first-out structure (a stack) then it performs a DFS. The execution time is essentially the same in all cases. The size of S may vary, but the space complexity of the algorithm is dominated by the size of M, that does not change. Still, the data structure impacts the order in which D-cliques are found.

Traffic captures

We use the data gathered on June 25, 2013 as part of the experiment « A Day in the Life of the Internet » (DITL). The data was collected (using port mirroring on a router) on a transit link between WIDE and the upstream ISP, see Figure 8.1. Due to the nature of the capture, the resulting network is intrinsically bipartite: traffic between two WIDE machines (or between two « Internet » machines) cannot be seen at this router, and is not captured. Thanks to expert knowledge from the maintainers of the MAWI repository, we can precisely know which machines are in and out of WIDE.

I A basic language for link streams
1 Context
1.1 Models inducing information loss
1.2 Models inducing no information loss
1.2.1 Static graphs from sequences of interactions
1.2.2 Temporal networks
1.2.3 Time-Varying Graphs
1.3 Conclusion
2 Basics
2.3 Line stream
2.4 Induced graphs
2.5 Conclusion
3 Density-based notions
3.1 Density, neighborhood and degree
3.2 Node clusters
3.3 Cliques
3.4 Clustering coefficient and transitivity ratio
3.5 Conclusion
4 Paths-based notions
4.1 Paths
4.2 Connectivity
4.3 Centralities
4.3.1 Closeness centrality
4.3.2 Betweenness centrality
4.4 k-closure
4.5 Conclusion
5.2 Density
5.3 Degree
5.4 Clusters
5.5 Conclusion
6 Computing cliques in link streams
6.1 Definitions
6.2 Algorithm
6.2.1 Description of the algorithm
6.2.2 Proof of correctness
6.2.3 Computational complexity
6.3 Experiments
6.3.1 Dataset
6.3.2 Impact of data structure
6.3.3 Examining D-cliques
6.4 Conclusion
7 Conclusion and perspectives
II Application to IP traffic
8 Context
8.1 Sources of data
8.1.1 CAIDA
8.1.2 MAWI
8.1.3 USC ANT
8.1.4 KDD Cup
8.2 Analysis of IP traffic
8.2.1 Graph-based
8.2.2 Time-series analysis
8.2.3 Machine-learning
8.3 The MAWI dataset
8.3.1 Traffic captures
8.3.2 MAWILab event database
9 MAWI traffic as a link stream
9.1 Traffic modelling
9.2.1 Density and clustering coefficient
9.2.2 Projection
9.2.3 Redundancy
9.3 Conclusion
10 Analysis of IP traffic
10.1 Our approach
10.1.1 Event characterization
10.1.2 Event identification through manual inspection
10.1.3 Hierarchy of features for the analysis of IP traffic
10.1.4 Analysis of IP traffic process
10.2 Results
10.2.1 Preliminary features
10.2.2 Basic features on the link stream
10.2.3 Comparison with MAWILab
10.3 Conclusion
11 Conclusions and perspectives
III Conclusions and perspectives
12 Summary and Contributions
13 Perspectives
13.1.1 Computational considerations
13.1.2 Algorithmic considerations
13.2 Modules and dense groups
13.2.1 Modular decomposition
13.2.2 Dense groups and communities
13.2.3 Generation of synthetic link streams
13.2.4 Visualization
13.2.5 Event detection in link streams
13.2.6 Applications
13.3 Prediction
Appendices
A Analysis of the temporal and structural features of threads in a mailing-list
A.1 Introduction
A.2 Dataset
A.3 Framework and notations
A.4 Basic statistics
A.6.3 Quotient stream
A.7 Conclusion
B Identifying Roles in an IP Network with Temporal and Structural Density
B.1 Introduction
B.2 Notion of D-density
B.2.1 Framework