A low complexity visualization tool that helps to perform complex systems analysis

In this paper, we present an extension of large network visualization (LaNet-vi), a tool to visualize large scale networks using the k-core decomposition. One of the new features is how vertices compute their angular position. While in the later version it is done using shell clusters, in this version we use the angular coordinate of vertices in higher k-shells, and arrange the highest shell according to a cliques decomposition. The time complexity goes from to O(n) upon bounds on a heavy-tailed degree distribution. The tool also performs a k-core-connectivity analysis, highlighting vertices that are not k-connected; e.g. this property is useful to measure robustness or quality of service (QoS) capabilities in communication networks. Finally, the actual version of LaNet-vi can draw labels and all the edges using transparencies, yielding an accurate visualization. Based on the obtained figure, it is possible to distinguish different sources and types of complex networks at a glance, in a sort of ‘network iris-print’.


Introduction
The study and analysis of complex systems presents a vast field of research today, covering from biological systems, going through social networks, up to Internet and WWW networks. The distinctive feature of these systems is their emerging behaviour, e.g. the way their members become connected or their self-organized hierarchical structure. Several studies have been done on social sciences, critical infrastructures and epidemiology [1]- [4] among others, where systems are normally represented by a graph, called a complex network.
In this paper, we propose visualization as a tool to show internal properties of complex networks. The first version of our tool, large network visualization (LaNet-vi) [5] presents the network graph in a two-dimensional (2D) figure, where each vertex's position is computed mainly using the k-core decomposition and other algorithms, uncovering the hierarchy and the way that vertices are connected, like a precise fingerprint of the complex network. The main key is the low complexity of the k-core decomposition (O(e): linear in the number of edges), which makes it suitable for visualizing large networks. In the second version (LaNet-vi2), presented in this paper, we preserve a low complexity algorithm (O(n 3/B ) for networks with heavy tailed degree distribution, where n is the number of vertices and 2 B 3 is the exponent of a power law bounding the distribution), adding the following new features.
Firstly, we draw the maximum core as a collection of cliques 4 and then the remaining vertices compute their angle from the angle of neighbours in higher shells. This allows to establish an 'order' giving an accurate picture of network structure.
Secondly, this new version also produces scalable vector graphics (SVG) figures. In these figures, we can display all the graph edges without overwhelming the picture, by taking advantage of transparencies and thus showing the complete network connectivity.
Thirdly, LaNet-vi2 allows visualization of vertices not observing the core-connectivity, i.e. that the minimum number of paths edge-disjoint is k, where k is the core that contains both ends. 3 We present a theorem that assures k-edge-connectivity, and all vertices infringing this property are highlighted in the visualization. This property can be interpreted as the network robustness, e.g. having k paths to connect two vertices means that the network can support at least k broken edges to become disconnected.
Finally, LaNet-vi2 can include vertex labels, which helps to find vertices in the picture, improving the interpretation of the figure.
The remainder of the paper is organized as follows: a brief state of the art is presented in section 2, then new algorithms are shown in section 3, some examples are given in section 4, and finally section 5 concludes the paper.

Related work
To the best of our knowledge, there are a few visualization tools using k-core decomposition. The first approach to use k-core decomposition on visualization is a work by Batagelj et al [6], where the adjacency-matrix of some cores has been analysed.
Then, the algorithm presented on 'Drawing the AS graph in 2.5 dimensions' by Baur et al [7] is the first one that combines k-cores and visualization of the complete network. This proposal uses directed spectral analysis to draw the maximum core, and then a combination of barycentric and iteratively directed-forces allows them to draw other shells in decreasing order, each in one layer, resulting in a 3D figure. This approach is not able to represent several shell's components.
The next tool is the first version of LaNet-vi [5,8], which gives a 2D representation of the whole graph, allowing to distinguish between different graphs and also to validate models of complex systems. It is important to stress that 2D representations are more suitable for information visualization than others due to human perception reasons (see [9] and references therein).
The Halfmoon [10] paradigm proposes a visualization where all vertices and edges are drawn, vertices are placed in a half-circle grouped by shell index. Here, transparency is used to show how shells are connected. This visualization cannot distinguish between components on the same core.
Finally, pajek [11] is a software package for the analysis and visualization of large networks, which can compute several parameters measured on complex networks (k-core decomposition included).
Visualization is not the unique application of k-core decomposition. It has been used in the analysis of protein interaction networks by Bader and Hogue [12], and in the prediction of protein functions by Altaf-Ul-Amin et al [13] and Wuchty and Almaas [14]. Another interesting application was done in the networking area by Gkantsidis et al [15] and by Batagelj and Zaversnik [16], who used the k-cores to filter out peripheral autonomous systems for Internet networks. We can add, also in the networking area, a paper of Mahadevan et al [17] which depicts the usual parameters for characterizing autonomous systems maps, the k-cores being one of them. The work of Ducheneaut et al [18] presents the analysis of a game players' network using the k-core decomposition. Finally, the Complex System SCILAB tool [19], which is a plug-in for SCILAB (http://scilab.org), is capable of computing parameters like those obtained from the k-core decomposition.

How LaNet-vi2 works
This tool is an open source project hosted on sourceforge [20] running on Linux as well as Windows. It is also included inside Network Workbench (NWB) [21], a toolkit for network research, composed by a framework developed in Java language and tools on binary (precompiled) format. There is also available an online [22] version that accepts networks and sends the results by e-mail.
A problem with the first version is that it cannot show the internal organization, which is the central improvement on this new version. Observing that the highest core has diameter 2 in most complex networks, we decomposed it into cliques, drawing them in different sectors of the central circle. This clique decomposition is not unique, but is an interesting way to organize the central core. Then, sons in lower shells can use the fathers' angles to compute their angle, achieving the organization of the whole graph. This method is different from the previous version [5], which grouped vertices by clusters, placing each of them in a random angular sector according to their size. The problem is the high amount of clusters, whose sizes follow a Zipf law resulting in lots of sectors with very different sizes. Now, each vertex chooses its position according to the angles of neighbours in higher shells and also their cluster neighbours. In this way, we eliminate a lot of cross-connections across the centre of each shell, yielding a clearer figure. The rest of the positioning parameters are the same as those in the previous version, that is the radius is computed using neighbours in higher shells and the component information (for more details see [5]).
This new version can draw both kinds of graphs, the old ones using clusters to place shells, or the new approach where the highest core organizes the remaining vertices. In the previous version of LaNet-vi rendering was carried out with PovRay software. As mentioned, compatibility with SVG has recently been added, which is an open language that offers, among other things, an effect of transparency on objects, allowing to smoothly visualize all edges in big networks without hiding vertices. This new version can produce SVG and PovRay files for both visualizations (clusters or cliques), calling the appropriate render to produce final figures in PNG format. The rest of this section is dedicated to presenting new algorithms, to discussing their time complexity, and to giving a formal treatment of the relation between connectivity and the k-shell index.

New visualization algorithm
The new algorithm keeps on doing the k-core decomposition and components analysis. We will briefly introduce some notations and definitions used through the paper, and then present the algorithm.
An undirected graph is denoted as G = (V, E), where V = {v i } is the set of vertices and E = {e i j } is the set of edges, where e i j denotes an edge between v i and v j . A vertex degree will be named d G (v i ), or d(v i ) for short. The highest degree is d max . The number of vertices and edges will be n = |V | and e = |E|, respectively. The k-core definition [23] is the following, Definition 1. A subgraph H = (C, E|C) induced by the set C ⊆ V is a k-core or a core of order k if and only if the degree of every vertex v ∈ C induced in H is greater than or equal to k (in symbolic form, this reads ∀v ∈ C : d H (v) k), and H is the maximum subgraph with this property.

5
A k-core of G can therefore be obtained by recursively removing all the vertices of degree lower than k, until all vertices in the remaining graph have degree greater than or equal to k. This decomposition can be easily implemented: the algorithm by Batagelj and Zversnik [16] presents a time complexity of order O(n + e) for a general graph. This makes the algorithm very efficient for sparse graphs, where e is in the order of n.

Definition 2.
A vertex i has shell index k, that is s(i) = k, if it belongs to the k-core but not to the (k + 1)-core, and the k-shell S k is composed by all the vertices whose shell index is k. The maximum value k such that S k is not empty is denoted k max .
Notice that the k-core is thus the union of all shells S s with s k.

Each shell S s is thus composed by clusters
LaNet-vi2 takes the complex network and computes the k-core decomposition, analysing whether each core has multiple components, as is done in the previous version [5]. Then, it picks out the subgraph corresponding to the highest core which is decomposed into cliques.
Once cliques have been built, the central core is decomposed into several circular sectors proportional to the cliques' sizes. For each clique, its vertices are placed uniformly on the periphery of the corresponding sector.
The central core is given a radius R k max such that its area is proportional to the amount of vertices and their sizes, to assure they do not get overlapped. The remaining space in the image is divided into equidistant rings, one for each core.
Vertices in lower cores are positioned in sectors close to their neighbours of higher cores. In this way the central cliques organize the deployment of the whole graph. The algorithm for positioning each vertex computes a radius ρ and an angle φ. The radius is computed by where N i/ s(i) being the subset of N i formed by those vertices which are in a shell higher than or equal to v i . The angle is a circular average of all its neighbours' angles from higher cores and those from the same core whose angle is already computed (denoted by φ C j ), as As the main difference between the previous version and the new one is the cliques decomposition, we present the algorithm that we used. It is important to highlight that finding 6 the maximum clique in a graph is an NP-complete problem [24], and is unfeasible for complex networks, so we used an heuristic that attempts to find the biggest cliques first. We will use the following concepts: The neighbourhood of a vertex v i ∈ V is the induced subgraph of G that includes all vertices connected to v i . It will be denoted by The set of connections among neighbours T i is the set of edges whose vertices belong to v i 's neighbourhood, this is The clustering coefficient cc(v i ) for v i ∈ V is the relation between the amount of connections among v i 's neighbours w 1 , w 2 , . . . , w N i and the maximum possible connections among them, specifically The common neighbourhood C i j is the induced graph of G formed by every vertex adjacent to both v i and v j .
A useful result for our algorithm is that the amount of neighbours' connections |T i | can be computed having C i j for every v j adjacent to v i , in this way: for v j , v k adjacent to v i , if they are connected to each other, then v j ∈ C ik and v k ∈ C i j , so The detailed algorithm is described in table 1. First of all, we isolate the central core, which is a subgraph G = (V, E) of the whole network. The objective consists of finding the main cliques in G. As vertices in the biggest clique should have neighbours with a great number of connections among them, we order V by this parameter, |T i |. We take then the vertex with more connected neighbours, v j , to form a subset V 1 and proceed to add neighbours subject to the constraint that they are connected to every vertex in this subset, until no more neighbours can be added. The first ones to be added are those that have more shared neighbours with v j , because they have more possibilities of being part of a big clique. Once no more neighbours can be added the clique is closed and a new one is started taking the first of the remaining vertices. This procedure continues until there are no more vertices left. Finally, a partition composed by cliques {V 1 , V 2 , . . . , V n } will be obtained, which are collectively exhaustive and mutually exclusive with respect to V .
As can be seen, the algorithm makes extensive use of the coefficients |C i j |, so they will be computed at the beginning.

Complexity analysis
Naming n k max the number of vertices on the maximum core k max , and d k max its maximum degree, we begin the analysis. On lines 7-10 of algorithm 1 (first step) every pair of neighbours v j , v k of the same vertex v i is taken, and as v i is a neighbour of both, |C jk | is incremented. There is no need to build the set C jk , we only have to know its size. The condition k > j is necessary so that the pair does not appear twice, in different order. There are compute connections among neighbours |T i | using equation (8)  if it's adjacent to every vertex in V n (V n ⊂ N j ) then 25 add v j to clique V n 26 remove v j from W 27 n = n + 1 28 29 return {V i } neighbours for v i , which is less than d 2 k max , so the number of operations for this step is bounded by n k max d 2 k max . On lines 12-13 (second step) every |T i | is obtained by adding the |C i j |'s for every neighbour v j , as shown in equation (8). There is one operation per neighbour, so d(v i ) operations for v i and 2e k max for the whole core (denoting by e k max the number of edges in the highest core). An upper bound for e k max is n k max d k max , then this step is O(n k max d k max ).
Line 15 (third step) orders vertices in V by |T i |. The number of operations here is O(n k max log n k max ). is that of a complete graph, in which 1 + 2 + · · · + d(v f ) checks have to be made, and a bound for this is d 2 k max . Lines 25-27 take constant time. Then, the complexity of the 'while' loop is O(n cliques d 2 k max ). The two steps that govern time are the first and the last ones, and taking into account that the number of cliques n cliques is lower than n k max , we have O(n(k max ) d 2 k max ). Now, d k max is bounded by d max , and n k max can be bounded also by d max for most real complex networks (as we verified; for Internet maps see [8]). Therefore, the whole algorithm 1 complexity is Now, we need to bound d max in terms of n. Complex networks usually have a heavy tailed degree distribution [3], which can be bounded by a power law where n(d) is the number of vertices with degree d. This is because degree distributions are either a power law or Weibull distribution, with an exponential cutoff (due to the finite size of networks). Some early work on Internet topology [25] reports exponents in the range 2.1 B 2.5 for Internet topology, and in general complex networks have exponents in the range 2 B 3. From equation (10) we obtain from where d ∝ n(1) n(d) Therefore, from equations (9) and (12) the total time complexity to perform the organization of the highest core is O(n 3/B ), considering a degree distribution bounded by a power law with exponent B of equation (10).

Connectivity analysis
Let us introduce the following:

Definition 4. Considering a graph G and its k-core decomposition, (i) given k, two vertices in the k-core are core-connected if there are k edge-disjoint paths between them; and (ii) the graph is core-connected if given two vertices in a k-core, they are core-connected.
In other words, taking the minimum shell index of a pair of vertices gives a lower bound of edge-connectivity when the graph is k-core-connected. Notice that each core's graph has to be connected, i.e. to have only one component; otherwise it is not possible to find paths.
LaNet-vi2 can evaluate if a graph is k-core-connected for simple graphs having only one component for all k-cores. The Internet is an example of this kind of network, as well as some biological networks [13,14], the international flights network [26,27], etc. Examples of other networks that do not belong to this category are scientific collaborations [28] or the World Wide Web [8]. 9 The connectivity is important in terms of what the network represents. For example, considering the Internet, the connectivity expresses the number of independent paths (more precisely edges independent paths for edge-connectivity) between a couple of routers or autonomous systems. In this case, connectivity gives a measure of robustness, if you are considering the probability of isolation; or a measure of the probability to find a path with an specified quality of service (QoS).
The following theorem states conditions for k-edge-connectivity in a graph with minimum degree k. Let G = (V, E) be a simple graph (i.e. without loops, without multiple edges). Let . Let r and r G 1 denote the usual distance in G and G 1 , respectively. A cut between two sets of vertices A and B is denoted by [A, B]. We assume in the following that V 1 and V 2 are nonvoid, and define δ(x, y) If x ∈ V and A ⊂ V , we set δ(x, A) . = min a∈A δ(x, a). We shall also use the notations

Theorem 1. Assume that
(iv) One of the following: The proof is presented in [29]. This theorem is related to a well-known theorem of Plesník (see [30], theorem 6), which states that in a simple graph of diameter 2 the edge connectivity is equal to the minimum degree. In fact, under hypothesis (iv)a, our theorem follows from Plesník's result by 'contracting' V 2 to a vertex. The resulting graph is not simple, but we can avoid this problem by replacing all edges joining one vertex to the contracted one by only one edge.
Therefore, we can apply theorem 1 recursively to all shells of a graph, starting from the highest one, in order to determine when a couple of vertices are core-connected (see definition 4(i)). For instance, taking G to be the highest core (i.e., k max -core), and V 2 as a vertex, if G has diameter 2, it is k max -edge-connected. Then, taking each cluster (from those with shellindex k max to k min ), we can apply theorem 1 and thus prove that this cluster is k-edge-connected if it verifies the hypothesis. Here cluster a has a k max − 2 connectivity, but cluster b has only m < k max − 1 connectivity.
LaNet-vi2 begins from the highest core checking that it has diameter 2. Then, it takes one by one all clusters of shell k − 1, where k is the previous shell (first time the highest one), and verifies hypothesis (iii) and (iv) of theorem 1. Notice that hypothesis (i) is assured by the definition of the shell, and hypothesis (ii) is guaranteed by the previous shell. However, a certain cluster in the s-shell can have a lower connectivity than s, while their sons (clusters connected to it in lower shells) can have a good connectivity (equal to or larger than its shell index). This case is illustrated in figure 1.
The time complexity is not modified by the verification of hypothesis (iii) and (iv) of theorem 1. Computing hypothesis (iii) requires a breadth-search on the cluster plus edges connecting towards higher shells, which has a complexity of O(e c + e h ), e c being the number of edges in the cluster and e h the number of edges towards higher shells. Testing hypothesis (iv) is shorter and requires only O(e h ). This process is done from higher to lower shells, and each edge of the graph is visited a constant number of times. Therefore, the total complexity of this step is O(e), e being the total number of edges, which is the same as for the k-core decomposition.
The picture obtained with Lanet-vi2 picks out the vertices in a k-shell that do not satisfy core-connectivity by drawing them in white or black for colour pictures, or using a square instead of a circle for greyscale images. Therefore, the set of vertices in colour (or greyscale) forms a k-core-connected graph.

Adding labels
The functionality of visualizing the vertices' names or numbers has been added. We implemented a mesh to control the overlapping of names, in the following way: the image of W × H pixels is divided into cells of 10 × 12 pixels, which is the monospaced font size. After each vertex is drawn, the closest cells to it in the mesh are analysed (left-side, right-side, up and right, up and left, down and right and down and left), considering a number of consecutive cells equal to the name string size, and all the cells bordering them. If the number of overlaps (cells that are already occupied by text) is lower than a certain amount (which we defined as one to avoid superpositions almost completely), then the name is stamped and all these consecutive cells on the mesh are marked as occupied. This method does not assure that all the names are stamped, but the stamped ones will certainly be legible. If all names are necessary, using a bigger resolution will always help, because for greater resolutions the text uses less space and does not cover the vertices.
The user can also select which names to show, by only including in the names file those ones, and omitting the names for the rest of the vertices.

Complex networks analysis using LaNet-vi
This section is dedicated to analysing a complex network using real data. We focus on the autonomous systems Internet map (or AS map for short), which is a network composed by autonomous systems as vertices and their peer-relationships as edges. ASes are networks whose administration is centralized. They are used either for connecting institutions or customers to the Internet (called stub ASes), or to interconnect stub ASes and interconnection ASes. The AS map is the top hierarchy view of the Internet, where each AS is identified by a number from 1 to 65 535. One of the most important reasons for such organization is the freedom to apply policies to interconnect different ASes, reflecting commercial agreements. It is important to note that even if these relationships can be directed, it is needed to treat them as undirected ones to apply the k-core decomposition as it is explained here. We are not interested in searching 'commercial relationships' but 'possible connections' because all communication links are bidirectional (i.e. on any link data flows in both directions).
The analysis presented in this paper uses the three following databases: The first one is the Oregon Route Views [31], which collects the BGP [32] routing tables of several BGP routers having a great number of peer connections. This method allows knowledge of the public routes on the Internet, but not all routes are public due to the policies of each AS. The second source is CAIDA [33], that uses a couple of tens of skitter probes (a tool based on traceroute and ping) to survey Internet maps [34]. These probes discover paths by sending packets to Internet addresses; then paths can be merged to obtain a map at different levels, here we focus only on the AS level. The main difference with respect to the first technique, is that information is gathered from real paths, i.e. a path traversed by data packets. This allows us to obtain routes that are not declared on public BGP tables. The third source is the DIMES project [35], that uses a distributed system (based on traceroute and ping) composed by several thousands of probes to measure Internet maps [36], also using real paths. The main difference between this project and the former is the number of probes, which is a thousand times greater than CAIDA and yields a more detailed map [37]; besides the techniques are different (see [36] for more details).
The new layering algorithm of LaNet-vi maintains some features from the previous version (for these ones see [5]), others have changed (marked as * ), and there are some new ones (marked with # ). Shells width. Vertices within the same shell are initially placed on a circle, but then they are moved to the centre according to their neighbours on higher shells, producing a thick ring. Its thickness gives an idea of how high their neighbours are, and is controlled by the parameter [5]. Degree-shell index correlation. Degree and shell-index are centrality measures, so it is very important to study their correlation. Degree is represented by the vertex size (in a logarithmic scale), and shell-index by colours (going from blue for the lowest shell, to red for the highest one); both scales and their maximum values are displayed.

12
Disconnected components. A k-core can have more than one component, which is highlighted by drawing each component in separated circles, each of them proportional to its component size. A γ parameter controls the diameter and δ controls the distance between components [5]. Shell clusters*. This feature is only available when the cliques decomposition is deactivated. Clusters of vertices having the same shell index are drawn in the same angular sector. Edges*. Due to layout changes in this new version, edges are placed in a different way, giving a better image. For PovRay-based figures, we continue using a random fraction of edges, because they are solid (not transparent) and drawing all edges would result in a non intelligible figure. Instead, for SVG figures we draw all edges taking advantage of transparency. In both cases, the edges show how shells are connected. Each extreme of an edge is drawn with the same colour as the vertex at the opposite side. Highest core # . It is displayed as a collection of cliques, assigning a different circular sector of the central core for each one, depending on its size. This feature allows us to observe the proximity of vertices. Since the remaining vertices choose their angle using this information, it is possible to see when a clique or a group of them is more connected to the whole network. Core-connectivity # . Setting this option, LaNet-vi2 corroborates whether a vertex verifies all conditions for core-connectivity, highlighting those which do not. This property is useful on networks with only one component, but if it is used on other graphs, LaNet-vi2 will apply it only to the greatest component. For example, due to exploration issues it is possible to obtain a network with several components for the Internet, but the only meaningful one is the greatest (the others are too small). Labels # . In this version, labels scaled to the size of the figure are added and superimposed labels are avoided, i.e. when a label occupies a place already used it is not displayed. The order in which labels are placed is from the highest k-shell to the lowest one, and is random inside a k-shell. Through an input file the user can provide the names of all vertices or just those he is interested in. Anyway, in order to have all labels displayed, it is essential to generate a high resolution image. Multigraphs # . Networks with several edges between vertices are called multigraphs, and we can compute the k-core decomposition taking these edges into account. For this option, we cannot assure the core-connectivity, so it is set off. Zoom # . It is possible to draw a portion of the whole image, in order to focus on an interesting part in high resolution. Detailed information # : This version gives (under user command-line request) a list of vertices by core, the vertices in each clique for the highest core, and the list of vertices that are not core-connected.
In the presented case, AS Internet maps, we cannot show all features LaNet-vi2 is capable of, but we illustrate how to use our tool to analyse these complex networks.
The main characteristics of AS maps are the following (several are obtained from [5]): • lower shells are mostly connected to the highest one, shown by the predominant red colour (that of the k max -core) of edges at the external radius and violet colour near the central circle; • high degree-shell index correlation, which means most connected vertices are in the most robust subgraph (or the one with most routing capabilities), i.e. there are no star-like subgraphs; • distribution of lower shells is sparse (e.g. thick rings), meaning that vertices in these shells are widely connected to different higher shells; • several cliques exist in the k max -core, where normally one is the biggest; • they are k-core-connected. These characteristics identify AS maps from others. It is important to stress that the first and second characteristics together imply a disassortative [38] behaviour, because low degree vertices are connected to high degree ones. For instance, there are other Internet maps at more detailed granularity: Internet Routers (IR), which have different characteristics. As an example, IR maps have shells mostly interconnected without a particular hierarchy, and no degree-shell index correlation [5], yielding a quasi planar (neither assortative nor disassortative) nearestneighbour distribution [4].
This networks classification, which we call 'network fingerprint', could also be done by the previous LaNet-vi version, but this new version is able to identify also the maps source. We call this feature the 'network iris-print'.
We present images from three AS map sources: Oregon Route Views in figure 2, CAIDA in figure 3 and DIMES in figure 4, all graphics are in high resolution (use the zoom to see details).   AS obtained from CAIDA project [33] in January 2008. Upper figure has AS names, and bottom figure has two-letter country codes (http://www.iana.org/domains/root/db/). As a first observation, Oregon Route Views maps have several cliques on their highest core and edges arise from all angles. There is a little concentration of middle shells on first and second quadrant, but not a significant amount. It is interesting to see that even though the maximum degree has increased, the number of shells has decreased from 2005 to 2008. CAIDA maps show a big clique that concentrates vertices of all shells on the first quadrant in 2005 and first and second quadrant in 2008. We appreciate that degree and number of shells are decreasing, justified by the number of probes: 21 in 2005 and 10 in 2008. DIMES maps present one big clique (about a half of the first quadrant) and several small cliques, where most vertices are concentrated in the first quadrant for both years. It is worth remarking that the number of shells is also reduced since the maximum degree is increased.
We observe that CAIDA and DIMES are the most similar, because both exploration methods gather information from real paths, whereas Oregon Route Views uses the public BGP routing tables. The most important difference between CAIDA and DIMES is the number of probes, because DIMES uses several thousand.
Finally, we present visualizations with labels in figure 5. We can observe shortcuts of ASes' names on the top graph, and their origin countries on the bottom one. Notice there are no geographic groups (e.g. we cannot identify Asian ASes in a specific angular sector), mainly due to the highest core composition (most of the ASes are located in the US) and because the larger ASes span over several countries.

Conclusions
In this paper, we have presented the second version of LaNet-vi, a Large Network visualization tool, capable not only of identifying different types of networks like AS or IR maps ('network fingerprint'), but also of recognizing its source, providing a useful tool to see at a glance connectivity properties ('network iris-print'). We also performed a core-connectivity analysis, and visualized through LaNet-vi the vertices that do not verify this property. In communication networks, core-connectivity can be interpreted as robustness or QoS capability.
Moreover, LaNet-vi2 is now capable of producing SVG figures, which combined with edge transparency yields a precise visualization. As a final feature, our tool can now display labels, deal with multigraphs and draw a portion of the picture.
Finally, we envisage visualization of weighted graphs as future work, including these edge weights in the graphical algorithm. This might help to interpret the properties of new networks and to better understand their organization.