<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article
  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">PLoS ONE</journal-id>
<journal-id journal-id-type="publisher-id">plos</journal-id>
<journal-id journal-id-type="pmc">plosone</journal-id><journal-title-group>
<journal-title>PLoS ONE</journal-title></journal-title-group>
<issn pub-type="epub">1932-6203</issn>
<publisher>
<publisher-name>Public Library of Science</publisher-name>
<publisher-loc>San Francisco, USA</publisher-loc></publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">PONE-D-13-46885</article-id>
<article-id pub-id-type="doi">10.1371/journal.pone.0087986</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer science</subject><subj-group><subject>Computer modeling</subject></subj-group><subj-group><subject>Computing methods</subject><subj-group><subject>Mathematical computing</subject></subj-group></subj-group><subj-group><subject>Computing systems</subject></subj-group></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Earth sciences</subject><subj-group><subject>Energy and power</subject><subj-group><subject>Power distribution</subject><subj-group><subject>Electric power distribution</subject></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Mathematics</subject><subj-group><subject>Applied mathematics</subject><subj-group><subject>Complex systems</subject></subj-group></subj-group><subj-group><subject>Mathematical computing</subject></subj-group><subj-group><subject>Statistics</subject><subj-group><subject>Statistical methods</subject></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics</subject><subj-group><subject>Statistical mechanics</subject></subj-group></subj-group></article-categories>
<title-group>
<article-title>Self-Healing Networks: Redundancy and Structure</article-title>
<alt-title alt-title-type="running-head">Self-Healing Networks: Redundancy and Structure</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Quattrociocchi</surname><given-names>Walter</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Caldarelli</surname><given-names>Guido</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref><xref ref-type="aff" rid="aff4"><sup>4</sup></xref><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Scala</surname><given-names>Antonio</given-names></name><xref ref-type="aff" rid="aff4"><sup>4</sup></xref><xref ref-type="aff" rid="aff3"><sup>3</sup></xref><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib>
</contrib-group>
<aff id="aff1"><label>1</label><addr-line>Laboratory for the modeling of biological and socio-technical systems, Northeastern University, Boston, Massachusetts, United States of America</addr-line></aff>
<aff id="aff2"><label>2</label><addr-line>LIMS the London Institute of Mathematical Sciences, Mayfair, London, United Kingdom</addr-line></aff>
<aff id="aff3"><label>3</label><addr-line>IMT Alti Studi Lucca, Lucca, Italy</addr-line></aff>
<aff id="aff4"><label>4</label><addr-line>ISC-CNR Uos “Sapienza”, Roma, Italy</addr-line></aff>
<contrib-group>
<contrib contrib-type="editor" xlink:type="simple"><name name-style="western"><surname>Moreno</surname><given-names>Yamir</given-names></name>
<role>Editor</role>
<xref ref-type="aff" rid="edit1"/></contrib>
</contrib-group>
<aff id="edit1"><addr-line>University of Zaragoza, Spain</addr-line></aff>
<author-notes>
<corresp id="cor1">* E-mail: <email xlink:type="simple">antonio.scala@cnr.it</email></corresp>
<fn fn-type="conflict"><p>The authors have declared that no competing interests exist.</p></fn>
<fn fn-type="con"><p>Conceived and designed the experiments: AS WQ GC. Performed the experiments: WQ. Analyzed the data: AS. Contributed reagents/materials/analysis tools: AS WQ. Wrote the paper: AS WQ GC.</p></fn>
</author-notes>
<pub-date pub-type="collection"><year>2014</year></pub-date>
<pub-date pub-type="epub"><day>12</day><month>2</month><year>2014</year></pub-date>
<volume>9</volume>
<issue>2</issue>
<elocation-id>e87986</elocation-id>
<history>
<date date-type="received"><day>7</day><month>11</month><year>2013</year></date>
<date date-type="accepted"><day>1</day><month>1</month><year>2014</year></date>
</history>
<permissions>
<copyright-year>2014</copyright-year>
<copyright-holder>Quattrociocchi et al</copyright-holder><license xlink:type="simple"><license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/" xlink:type="simple">Creative Commons Attribution License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.</license-p></license></permissions>
<abstract>
<p>We introduce the concept of self-healing in the field of complex networks modelling; in particular, self-healing capabilities are implemented through distributed communication protocols that exploit redundant links to recover the connectivity of the system. We then analyze the effect of the level of redundancy on the resilience to multiple failures; in particular, we measure the fraction of nodes still served for increasing levels of network damages. Finally, we study the effects of redundancy under different connectivity patterns—from planar grids, to small-world, up to scale-free networks—on healing performances. Small-world topologies show that introducing some long-range connections in planar grids greatly enhances the resilience to multiple failures with performances comparable to the case of the most resilient (and least realistic) scale-free structures. Obvious applications of self-healing are in the important field of infrastructural networks like gas, power, water, oil distribution systems.</p>
</abstract>
<funding-group><funding-statement>Funding for this work was provided by the authors' institutions (London Institute of Mathematical Sciences, IMT Lucca Institute for Advanced Studies, CNR-ISC), US grant HDTRA1-11-1-0048, CNR-PNR National Project “Crisis-Lab,” and EU FET project MULTIPLEX nr.317532. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</funding-statement></funding-group><counts><page-count count="7"/></counts></article-meta>
</front>
<body><sec id="s1">
<title>Introduction</title>
<p>In the field of complex networks <xref ref-type="bibr" rid="pone.0087986-Caldarelli1">[1]</xref>, <xref ref-type="bibr" rid="pone.0087986-Barrat1">[2]</xref>, most studies have been focused on how to improve the <italic>robustness</italic> (i.e. the capability of surviving intentional and/or random failures) of existing networks<xref ref-type="bibr" rid="pone.0087986-Schneider1">[3]</xref>. Much less has been done regarding the <italic>resilience</italic> (i.e. the capability of recovering failures). In fact, implementing smart (as well as economic) strategies aimed at maintaining high level of performances is a crucial issue yet to be solved and represents one of the most pressing and interesting scientific challenge. A most important field of application for the results of such investigations are infrastructural networks. Infrastructural networks are the backbone of our society that critically depends on the continuity of functioning of systems like power, gas or water distribution.</p>
<p>As a standard, infrastructural networks have been designed to be resilient at least to the loss of a single component; on the other hand, their constantly growing size of has increased the possibility of multiple failures which often have not been considered in their original design. In general, implementing the possibility of recovering from <italic>any sequence</italic> of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e001" xlink:type="simple"/></inline-formula> failures requires an exponentially growing effort in means and investments; it is therefore viable to consider implementing systems that are able to recover from <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e002" xlink:type="simple"/></inline-formula> failures <italic>on average</italic>: in this paper we will follow such a statistical approach.</p>
<p>In the field of communication <xref ref-type="bibr" rid="pone.0087986-Flocchini1">[4]</xref>–<xref ref-type="bibr" rid="pone.0087986-Flocchini2">[6]</xref> and wireless networks <xref ref-type="bibr" rid="pone.0087986-Sarma1">[7]</xref>–<xref ref-type="bibr" rid="pone.0087986-Ramchurn1">[10]</xref> self-healing algorithms have recently been the subject of massive investigation. In general, such strategies aimed at maintaining network connectivity assume the possibility of creating anew communications channels among the nodes of the networks, often with no constraints on the number of new connections available <xref ref-type="bibr" rid="pone.0087986-Pandurangan1">[11]</xref>. This is no the case in infrastructural networks, where the possibility to create new links among nodes is normally not available (at least in the short run), since links are physical (fixed in advance) and creating new ones requires both time and investments.</p>
<p>In general, self-healing in infrastructural networks should be though as a constrained mechanism in which only a limited amount of resources is available. An example of such an approach can be found in material science where new polymeric compounds are capable of self healing due to the presence of small amounts of healing agents that gets released and activated upon cracking <xref ref-type="bibr" rid="pone.0087986-White1">[12]</xref>, <xref ref-type="bibr" rid="pone.0087986-Toohey1">[13]</xref>. An alternative strategy to ensure the continuity of a system is to ensure redundancy in the interconnectivity of its components; for example, when a hole is punched in a leaf, the remaining vessels are capable to sustain the extra flow necessary to keep the tissues alive <xref ref-type="bibr" rid="pone.0087986-Katifori1">[14]</xref>.</p>
<p>Infrastructural networks are very well engineered systems characterised by fluxes of commodities (from electric power to drinking water). In this paper we consider a simplified description of such systems in terms of complex networks with a simple dynamical process describing the flow of a commodity from one or more sources (production) to several sinks (consumption). We the introduce a novel healing strategy based on the activation of fixed redundant resources (backup links) via a generic routing algorithm and study the resilience of the networks to multiple failures. The presence of such backup links is customary in technological networks; hence, our self-healing procedure is within the reach of current technology. As an example, urban low-voltage distribution power grids have an almost planar topology and are essentially radial (tree-like) networks with few inactive backup-links that can be activated (often manually) to restore power in case of failures.</p>
</sec><sec id="s2">
<title>Results</title>
<sec id="s2a">
<title>Model</title>
<p>In our scenario the system is assumed to describe a network that distributes some utility following flow conservation analogous to Kirchoff's current law; examples of systems following such constrains are not only power grids, but also the flows of fluids in distribution networks like water, gas, oil (at least at stationarity). As a further simplification, we will consider a single node to be the source of the commodity distributed on the network and we will not consider any constrain on the amount of flow that can be transported by any link; hence, connectivity among a sink and a source in enough to have the sink served. In our scenario, all the nodes (except the source) are considered to be potential sinks. Hence, to serve as many nodes as possible, connectivity must be maximized.</p>
<p>A further assumption is that at each instant of time, the topology of the network distributing the commodity is a tree (the <italic>active tree</italic>); in fact, such a structure meets the infrastructures' managers needs – i.e., to measure (for billing purposes) in an easy and precise way how much of a given quantity is served to any single node of the network. In networks – like drinking water – where such assumption is not strictly true, very few loops (i.e. low meshedness) are present <xref ref-type="bibr" rid="pone.0087986-Yazdani1">[15]</xref>.</p>
<p>To model active trees, we start from an underlying network topology and build up a spanning tree. The set of all possible redundant links is exactly the set of links in the network not belonging to the spanning tree. In order to allow for recovery, we also consider the presence of <italic>dormant</italic> backup links – i.e., a set of links that can be switched on – as in the case urban of low-voltage distribution power grids.</p>
<p>While commodities can be transported only via active links, in order to implement our self-healing strategy we assume that nodes are able to communicate by means of a suitable distributed interaction protocol only with the set of neighbouring nodes, i.e. the ones connected either via active or via dormant links. According to our procedure, when either a node or a link failure occurs, all the nodes that cannot be served – i.e. there is no path to the source – disconnect from the active tree. Afterwards, unserved nodes try to reconnect to the active tree by waking up (activating) through the protocol some of their dormant backup links. Such a process reconstructs a new active-tree that can restore totally or partially the connectivity, i.e. heals the system. A more formal description of the self-healing procedure and of the simulation protocols are provided in the Methods section.</p>
<p>A natural metric to quantify the success of such a procedure is the fraction of served nodes (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e003" xlink:type="simple"/></inline-formula>). In order to identify the system's properties that are able to maximize the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e004" xlink:type="simple"/></inline-formula> we study the effects of varying the fraction of backup links (redundancy) according to different underlying connectivity patterns with respect to multiple random failures.</p>
<p>In order to stress the peculiarities of different network structures, we generate class of graphs with different connectivity patterns (see <xref ref-type="sec" rid="s4">Methods</xref>). We start our investigation by focusing on the underlying topology which often resembles the actual situation of infrastructural networks – i.e. nodes disposed over a planar square grid (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e005" xlink:type="simple"/></inline-formula>). Then, we stress the role of the underlying networks' connectivity patterns by using the scale-free (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e006" xlink:type="simple"/></inline-formula>) topology generated according to Barabasi-Albert <xref ref-type="bibr" rid="pone.0087986-Barabsi1">[16]</xref> and the small-world (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e007" xlink:type="simple"/></inline-formula>) topology generated according to Watts and Strogatz<xref ref-type="bibr" rid="pone.0087986-Watts1">[17]</xref>. All the initial network structures are generated by using the IGRAPH library <xref ref-type="bibr" rid="pone.0087986-Csardi1">[18]</xref>.</p>
<p>To generate the random spanning trees associated to each kind of network structures, we use the flat sampling algorithm of Wilson <xref ref-type="bibr" rid="pone.0087986-Wilson1">[19]</xref>. We take such spanning trees as the initial configuration of our model distribution networks. The links not belonging to the spanning trees form the set of the possible backup links of our system; among such links, we choose a random fraction <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e008" xlink:type="simple"/></inline-formula> of <italic>dormant</italic> links that can be used to heal the system. We then simulate the occurrence of uncorrelated multiple failures by deleting at random <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e009" xlink:type="simple"/></inline-formula> links of the initial active tree. Notice that link failures are the most general ones, as a node failure is equivalent to the simultaneous failure of all its links.</p>
<p>The source node – i.e, the root of the oriented active tree – is chosen at random within all the nodes of the underlying network. The only exception is the case of the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e010" xlink:type="simple"/></inline-formula> networks where we use, according to the preferential attachment principle, the natural choice of having the node with the highest number of neighbours (the central hub) as the source.</p>
<p>Our self-healing algorithm is a routing protocol (see <xref ref-type="sec" rid="s4">Methods</xref>) whose goal is to reconstruct the maximum spanning tree connected to the source after that a failure has occurred; in doing so, we use both the survived links of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e011" xlink:type="simple"/></inline-formula> and the dormant links <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e012" xlink:type="simple"/></inline-formula>; <xref ref-type="fig" rid="pone-0087986-g001">fig. 1</xref> illustrates such procedure. After the recovery, we calculate <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e013" xlink:type="simple"/></inline-formula> the fraction of nodes connected to the source after the recovery.</p>
<fig id="pone-0087986-g001" position="float"><object-id pub-id-type="doi">10.1371/journal.pone.0087986.g001</object-id><label>Figure 1</label><caption>
<title>Example of healing after single link failure.</title>
<p>Notice that failure of a single node can be modelled as the failure of all its links; hence, multiple links failure are the more general event to be considered. (Left Panel) In the initial state, the source node (filled square, upper left corner) is able to serve all <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e014" xlink:type="simple"/></inline-formula> nodes through the links of the active tree. The <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e015" xlink:type="simple"/></inline-formula> dashed lines (green online) represent dormant backup links that can be activated upon failure. The redundancy of the system is <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e016" xlink:type="simple"/></inline-formula> as only <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e017" xlink:type="simple"/></inline-formula> of the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e018" xlink:type="simple"/></inline-formula> possible backup links are present. The link marked with an <bold>X</bold> is the one that is going to fail. (Central panel) A single link failure disconnects all the nodes of a sub-tree; in the example, a sub-tree of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e019" xlink:type="simple"/></inline-formula> nodes (red online) is left isolated from the source – i.e., the system has a damage <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e020" xlink:type="simple"/></inline-formula>). (Right Panel) By activating a single dormant backup link, the self-healing protocol has been able to recover connectivity for the whole system, in this case bringing back the number of served nodes at its maximum value <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e021" xlink:type="simple"/></inline-formula>. The link that has recovered the connectivity is marked with an <bold>R</bold>.</p>
</caption><graphic mimetype="image" xlink:href="info:doi/10.1371/journal.pone.0087986.g001" position="float" xlink:type="simple"/></fig></sec><sec id="s2b">
<title>Effects of networks' topology</title>
<p>In order to test the performances of our healing algorithm to failures in terms of the service provided after the active tree restoration, we simulate the model for increasing number of failures. Recalling that each failure causes a cascade – i.e, each node of sub-tree served by the broken link is unserved – we investigate the role of redundancy <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e022" xlink:type="simple"/></inline-formula> on different topologies.</p>
<p>We start our study by addressing planar square grid (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e023" xlink:type="simple"/></inline-formula>) networks since they are the most similar to the real physical networked infrastructures. In the first scenario, we generate spanning trees on a square grids; <xref ref-type="fig" rid="pone-0087986-g002">fig. 2(a)</xref> shows the variation of the restored <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e024" xlink:type="simple"/></inline-formula> respect to the number of failures <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e025" xlink:type="simple"/></inline-formula> for different redundancies <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e026" xlink:type="simple"/></inline-formula>s. For square grids, we do not observe any relevance of the redundancy on the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e027" xlink:type="simple"/></inline-formula>; this means that a very small fraction backup links (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e028" xlink:type="simple"/></inline-formula>, i.e. <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e029" xlink:type="simple"/></inline-formula>) already suffice to attain the maximum resilience.</p>
<fig id="pone-0087986-g002" position="float"><object-id pub-id-type="doi">10.1371/journal.pone.0087986.g002</object-id><label>Figure 2</label><caption>
<title>Self-healing results for networks of size 10<sup>4</sup>.</title>
<p>Panel (a): distribution networks based on square grids. The average fraction <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e031" xlink:type="simple"/></inline-formula> of nodes that the self-healing protocol is able to restore decreases with the number of faults <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e032" xlink:type="simple"/></inline-formula> with no relevant dependency on the redundancy; results are shown for a <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e033" xlink:type="simple"/></inline-formula> nodes network. Panel (b): distribution networks based on scale-free networks generated according to Barabasi-Albert<xref ref-type="bibr" rid="pone.0087986-Barabsi1">[16]</xref>. The average fraction of nodes<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e034" xlink:type="simple"/></inline-formula> of served nodes is plotted against the number of failures <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e035" xlink:type="simple"/></inline-formula>. Even for a low <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e036" xlink:type="simple"/></inline-formula> redundancy (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e037" xlink:type="simple"/></inline-formula>), the system can almost totally heal after sustaining <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e038" xlink:type="simple"/></inline-formula> failures; as a comparison, for the same number of failures square grids loose <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e039" xlink:type="simple"/></inline-formula> of the nodes. Panel (c): distribution grids based on small-sworld networks obtained by rewiring a fraction <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e040" xlink:type="simple"/></inline-formula> of links according to Watts-Strogatz <xref ref-type="bibr" rid="pone.0087986-Watts1">[17]</xref>. The average fraction of nodes<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e041" xlink:type="simple"/></inline-formula> of served nodes is plotted against the number of failures <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e042" xlink:type="simple"/></inline-formula>. At difference with square grids and scale-free networks, the restored fraction of service <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e043" xlink:type="simple"/></inline-formula> shows a marked dependency upon the redundancy parameter <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e044" xlink:type="simple"/></inline-formula>. Similar results are obtained for <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e045" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e046" xlink:type="simple"/></inline-formula>.</p>
</caption><graphic mimetype="image" xlink:href="info:doi/10.1371/journal.pone.0087986.g002" position="float" xlink:type="simple"/></fig>
<p>The situation is completely different when the underlying topology is a scale-free network generated through the Barabasi-Albert model <xref ref-type="bibr" rid="pone.0087986-Barabsi1">[16]</xref>. A widely diffused property of real networks is that the connectivity pattern follows a scale-free power-law distribution <xref ref-type="bibr" rid="pone.0087986-Caldarelli1">[1]</xref>, <xref ref-type="bibr" rid="pone.0087986-PastorSatorras1">[20]</xref>, <xref ref-type="bibr" rid="pone.0087986-Aoki1">[21]</xref>. This feature has been found to be a consequence of the so called <italic>preferential attachment</italic> – i.e networks expand continuously through the addition of new vertices which attach preferentially to already well connected nodes. Although technological networks do not show power law degree distributions due to economic and spatial constraints<xref ref-type="bibr" rid="pone.0087986-Amaral1">[22]</xref>, we choose to investigate <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e047" xlink:type="simple"/></inline-formula> networks for their marked robustness upon random failures <xref ref-type="bibr" rid="pone.0087986-Bollobas1">[23]</xref>. For <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e048" xlink:type="simple"/></inline-formula> networks, it is natural to choose the node with the highest degree (the hub) as the source. The quality of service restored by our self-healing algorithm on <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e049" xlink:type="simple"/></inline-formula> networks is shown in <xref ref-type="fig" rid="pone-0087986-g002">fig. 2(b)</xref>. As expected, we find that <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e050" xlink:type="simple"/></inline-formula> networks can easily recover connectivity to all the nodes even for low redundancies. Such error tolerance comes at a high price of being extremely vulnerable to <italic>node</italic> targeted attacks: isolating the hub disconnects the whole system. High error tolerance and targeted attack vulnerability are indeed generic properties of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e051" xlink:type="simple"/></inline-formula> networks <xref ref-type="bibr" rid="pone.0087986-Albert1">[24]</xref>.</p>
<p>We then consider the case of small-world (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e052" xlink:type="simple"/></inline-formula>) networks generated according the Watts-Strogatz rewiring procedure <xref ref-type="bibr" rid="pone.0087986-Watts1">[17]</xref>. In the case of technological networks, small-world networks are important since they highlight the effects of introducing long-range links in a planar topology. Starting from an initial graph (planar square grids in our case), we rewire with a probability <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e053" xlink:type="simple"/></inline-formula> a link with a randomly selected node; in this way we can interpolate from the case of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e054" xlink:type="simple"/></inline-formula> networks (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e055" xlink:type="simple"/></inline-formula>) to the case of a random graph (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e056" xlink:type="simple"/></inline-formula>). As in the case of simple percolation <xref ref-type="bibr" rid="pone.0087986-Newman1">[25]</xref>, the rewiring procedure introduces some <italic>long range</italic> links – i.e., between distant nodes on the square grid) that improve the robustness to random failures.</p>
<p>In order to understand the role of the connectivity pattern we study our model on different <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e057" xlink:type="simple"/></inline-formula> networks with different rewiring probabilities. In <xref ref-type="fig" rid="pone-0087986-g002">fig. 2(c)</xref> we show the performances of our self-healing strategy with respect to an increasing number of failures. We see that a higher rewiring probability increases the number of served nodes after the restoration through the backup network; such a peculiarity shows up even if the clustering within neighbouring nodes (normally associated to a local robustness against failures) decreases; therefore long range links increase the possibility of the network staying connected even after multiple failures.</p>
<p>Finally, we compare in <xref ref-type="fig" rid="pone-0087986-g003">fig. 3</xref> the effectiveness of the self-healing protocol across different strategies. Notice that while distribution grids based on the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e058" xlink:type="simple"/></inline-formula> topology are the more robust, they should be disregarded when considering the case of technological networks since economic and geometric constraints make <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e059" xlink:type="simple"/></inline-formula> networks unfeasible on planar topologies.</p>
<fig id="pone-0087986-g003" position="float"><object-id pub-id-type="doi">10.1371/journal.pone.0087986.g003</object-id><label>Figure 3</label><caption>
<title>Comparison among different network structures.</title>
<p>Here we show the performances of our self-healing algorithm with respect to the quality of service for increasing number of removed links with the redundancy <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e060" xlink:type="simple"/></inline-formula> fixed to <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e061" xlink:type="simple"/></inline-formula>; for <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e062" xlink:type="simple"/></inline-formula> networks, the rewiring probability is <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e063" xlink:type="simple"/></inline-formula>. The average fraction of nodes <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e064" xlink:type="simple"/></inline-formula> of served nodes is plotted against the number of failures <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e065" xlink:type="simple"/></inline-formula>.</p>
</caption><graphic mimetype="image" xlink:href="info:doi/10.1371/journal.pone.0087986.g003" position="float" xlink:type="simple"/></fig></sec></sec><sec id="s3">
<title>Discussion</title>
<p>In this paper we have introduced a minimal procedure of self-healing in networks. Such procedure exploits the presence of redundant edges to recover the connectivity of the system. Our scenario is inspired by real-world distribution networks that are – often for economic reasons – almost tree-like and at the same time are provided with alternative backup links that can be activated in case of malfunctioning. An example of such networks is the case of urban low-voltage distribution networks <xref ref-type="bibr" rid="pone.0087986-ENEL1">[26]</xref>.</p>
<p>Our strategy could be readily and easily implemented with the current technologies. In fact, routing protocols represent a vast available source of distributed algorithms able to maintain the connectivity of a system; hence, our scheme could be implemented by the standard procedure of coupling an ICT network to a pre-existing infrastructure. Our strategy is an example in which interdependencies among two networks enhance the resilience instead of introducing catastrophic breakdowns <xref ref-type="bibr" rid="pone.0087986-Buldyrev1">[27]</xref>.</p>
<p>By studying the performances of our procedure as a function of the redundancy on different underlying network topologies, we have shown that distribution networks akin to real world ones – i.e, based on planar lattices – are the less resilient to random failures. In fact, the most robust networks – as expected – are based on the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e066" xlink:type="simple"/></inline-formula> topology; however, such a topology is unrealistic for technological networks. Our results on <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e067" xlink:type="simple"/></inline-formula> topologies hint that a very effective strategy to strengthen realistic networks is to add long range links. The feasibility of such a strategy would depend on the cost-benefit analysis about the implementation of these physical long-range links. A further direction of study would be to consider the effects of more detailed structural characteristics of the underlying network topologies <xref ref-type="bibr" rid="pone.0087986-DAgostino1">[28]</xref> or even to consider biologically inspired designs, like dynamic networks inspired by the human brain <xref ref-type="bibr" rid="pone.0087986-Yuan1">[29]</xref>.</p>
<p>While our minimal model considers only the connectivity of the system, it can be easily expanded to take account of the magnitude of the flows: in fact, routing algorithms can account for both the capacity of the links and dynamically swap re-routing of flows.</p>
<p>Our model easily allows also for <italic>cold starts</italic> – i.e., for situations in which the network has shut down due to some major events (like a black-out) <xref ref-type="bibr" rid="pone.0087986-Sudhakar1">[30]</xref>. This is an important issue as one of the most time (and money) consuming activity after a major event is the restoring of the functionality of the network.</p>
<p>In this paper, we have considered only the single source case. Next step is to consider a network served by multiple sources. In fact, the possibility of separating the system in trees would solve the <italic>who is serving who</italic> problem that appears as soon as more competitors share the same physical line in bringing power to their customers <xref ref-type="bibr" rid="pone.0087986-Li1">[31]</xref>. Moreover, the possibility for the system of dynamically separating in time-varying trees would allow for introducing a commodity market based on real-time economic competition among the owners of the sources. This further goal is not yet within the reach of current routing protocols and should be further investigated if we want to have grids that are smart not only for their ability to self-repair but also in optimizing consumptions and prices. Finally, we believe that studying and designing self-healing mechanisms in complex networks is a promising field of investigation where also the dynamics of the systems should be taken into account <xref ref-type="bibr" rid="pone.0087986-Boccaletti1">[32]</xref>, <xref ref-type="bibr" rid="pone.0087986-Arenas1">[33]</xref>.</p>
</sec><sec id="s4" sec-type="materials|methods">
<title>Materials and Methods</title>
<sec id="s4a">
<title>The Self-Healing procedure</title>
<p>We consider an abstract model of a physical networked infrastructure described by the quadruple <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e068" xlink:type="simple"/></inline-formula>. Here <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e069" xlink:type="simple"/></inline-formula> are nodes of the network, <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e070" xlink:type="simple"/></inline-formula> is the source node, <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e071" xlink:type="simple"/></inline-formula> is the set of active links among the nodes and <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e072" xlink:type="simple"/></inline-formula> denotes the set of dormant links that can be activated in order to heal system failures by re-connecting nodes. A node is considered to be served if it is connected to a source through a path of active links; all the nodes in <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e073" xlink:type="simple"/></inline-formula> are initially connected to the source via a spanning tree. As the basic metric for any quality of service assessment, we consider the fraction of served nodes <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e074" xlink:type="simple"/></inline-formula> counting the number of nodes in the active graph – i.e connected to <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e075" xlink:type="simple"/></inline-formula>.</p>
<p>More formally, in the initial configuration, the graph <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e076" xlink:type="simple"/></inline-formula> is an instance of the set <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e077" xlink:type="simple"/></inline-formula> of all the random spanning tree of the underlying graph <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e078" xlink:type="simple"/></inline-formula>. Thus, <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e079" xlink:type="simple"/></inline-formula> before the failures has <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e080" xlink:type="simple"/></inline-formula> (active) nodes and <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e081" xlink:type="simple"/></inline-formula> links among them. The set <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e082" xlink:type="simple"/></inline-formula> of backup edges is taken form the remaining edges of the underlying graph <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e083" xlink:type="simple"/></inline-formula>, i.e. <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e084" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e085" xlink:type="simple"/></inline-formula>. The fraction <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e086" xlink:type="simple"/></inline-formula> measures the redundancy of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e087" xlink:type="simple"/></inline-formula>.</p>
<p>We then consider the occurrence of multiple link failures. A <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e088" xlink:type="simple"/></inline-formula>-failure is a subset <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e089" xlink:type="simple"/></inline-formula> of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e090" xlink:type="simple"/></inline-formula> links chosen at random. The system right after a failure is described by the forest <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e091" xlink:type="simple"/></inline-formula> and by the set <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e092" xlink:type="simple"/></inline-formula> of dormant links available for the healing. A healing protocol is any algorithm that, by activating (waking up) a subset <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e093" xlink:type="simple"/></inline-formula> of dormant edges, finds a maximal tree <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e094" xlink:type="simple"/></inline-formula> of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e095" xlink:type="simple"/></inline-formula> containing the source <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e096" xlink:type="simple"/></inline-formula>. If <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e097" xlink:type="simple"/></inline-formula> is spanning, then the system has fully recovered.</p>
<p>For the robustness of the algorithm, we will assume that nodes have only a <italic>local</italic> knowledge of the networks – i.e., only about the state (active, dormant or failed) of their incoming links. To build the maximal connected tree, nodes communicate with their neighbors via a suitable distributed protocol allowing fault nodes to join the active network by activating <italic>dormant</italic> edges. In other words, nodes are endowed only with the minimal requirements of routing needed to reconstruct a spanning tree <xref ref-type="bibr" rid="pone.0087986-Santoro1">[34]</xref>. In this paper, we have applied the following simple distributed algorithm to implement self-healing:</p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e098" xlink:type="simple"/></inline-formula> initial configuration</p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e099" xlink:type="simple"/></inline-formula> failed links</p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e100" xlink:type="simple"/></inline-formula> unserved nodes</p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e101" xlink:type="simple"/></inline-formula></p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e102" xlink:type="simple"/></inline-formula></p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e103" xlink:type="simple"/></inline-formula></p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e104" xlink:type="simple"/></inline-formula></p>
<p>   <bold>repeat</bold></p>
<p>      <bold>for all</bold> <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e105" xlink:type="simple"/></inline-formula> <bold>do</bold></p>
<p>         choose a random neighbor <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e106" xlink:type="simple"/></inline-formula> connected to <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e107" xlink:type="simple"/></inline-formula> through any edge of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e108" xlink:type="simple"/></inline-formula></p>
<p>      <bold>for all</bold> <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e109" xlink:type="simple"/></inline-formula> <bold>do</bold></p>
<p>         <bold>if</bold> <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e110" xlink:type="simple"/></inline-formula> <bold>then</bold></p>
<p>            <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e111" xlink:type="simple"/></inline-formula></p>
<p>            <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e112" xlink:type="simple"/></inline-formula></p>
<p>            <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e113" xlink:type="simple"/></inline-formula></p>
<p>            <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e114" xlink:type="simple"/></inline-formula></p>
<p>            <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e115" xlink:type="simple"/></inline-formula></p>
<p>   <bold>until</bold> <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e116" xlink:type="simple"/></inline-formula></p>
<p>   <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e117" xlink:type="simple"/></inline-formula></p>
<p>   <bold>return</bold> <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e118" xlink:type="simple"/></inline-formula></p>
<p>By definition, the nodes in <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e119" xlink:type="simple"/></inline-formula> are the set of served nodes <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e120" xlink:type="simple"/></inline-formula>. Notice that the state <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e121" xlink:type="simple"/></inline-formula> still describes a network infrastructure; therefore, we can in general describe the state of the system at time <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e122" xlink:type="simple"/></inline-formula> by the quadruple <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e123" xlink:type="simple"/></inline-formula> and the sequence of time failures between time <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e124" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e125" xlink:type="simple"/></inline-formula> by <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e126" xlink:type="simple"/></inline-formula>. A general representation of such a process can be given in terms of time varying graph <xref ref-type="bibr" rid="pone.0087986-Casteigts1">[35]</xref>.</p>
</sec><sec id="s4b">
<title>Simulations</title>
<p>We analyse the response of the system to <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e127" xlink:type="simple"/></inline-formula>-failures. To study the effects of different topologies, we perform simulations on different grids (<xref ref-type="fig" rid="pone-0087986-g004">fig.4</xref> – upper panel).</p>
<fig id="pone-0087986-g004" position="float"><object-id pub-id-type="doi">10.1371/journal.pone.0087986.g004</object-id><label>Figure 4</label><caption>
<title>Different network topologies.</title>
<p>Upper panels, from left to right: planar square grid (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e128" xlink:type="simple"/></inline-formula>), small-world network (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e129" xlink:type="simple"/></inline-formula>) generated according to Watts-Strogatz <xref ref-type="bibr" rid="pone.0087986-Watts1">[17]</xref> and scale-free network (<inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e130" xlink:type="simple"/></inline-formula>) generated accordint to Barabasi-Albert <xref ref-type="bibr" rid="pone.0087986-Barabsi1">[16]</xref>. Lower panels: random spanning trees associated with the related underlying topologies in the upper panels.</p>
</caption><graphic mimetype="image" xlink:href="info:doi/10.1371/journal.pone.0087986.g004" position="float" xlink:type="simple"/></fig>
<p>Classically, engineered systems (especially in the power industry) are built <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e131" xlink:type="simple"/></inline-formula> robust, i.e. they can survive to the single failure of any of their components. While checking <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e132" xlink:type="simple"/></inline-formula> robustness corresponds to checking all the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e133" xlink:type="simple"/></inline-formula> possible single failures, checking the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e134" xlink:type="simple"/></inline-formula> robustness requires to consider <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e135" xlink:type="simple"/></inline-formula> cases. Therefore, checking the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e136" xlink:type="simple"/></inline-formula> robustness is infeasible even for modest values of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e137" xlink:type="simple"/></inline-formula> due to the combinatorial explosion of the number of possible cases. Thus, we choose to assess on probabilistic ground whether a system would be able to sustain <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e138" xlink:type="simple"/></inline-formula> failures by a Monte Carlo investigation of the space of possible failures.</p>
<p>Service operators are interested in maintaining their service level agreements (contracts) with their customers; to such an aim, customers must in first pace remain connected to the services. Therefore, we calculate the average fraction of served customers <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e139" xlink:type="simple"/></inline-formula> after the occurrence and the healing of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e140" xlink:type="simple"/></inline-formula> random failures. To do so, we choose at random <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e141" xlink:type="simple"/></inline-formula> different links on the service tree and delete them; after that, we apply the self healing procedure; finally, we calculate the <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e142" xlink:type="simple"/></inline-formula> as the fraction of nodes connected to the source. We average such procedure over several network realizations until the relative error of the average <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e143" xlink:type="simple"/></inline-formula> is small enough (less than <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e144" xlink:type="simple"/></inline-formula>). As an example, for a grid of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e145" xlink:type="simple"/></inline-formula> nodes, we must typically average over <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e146" xlink:type="simple"/></inline-formula> sets of random failures to attain the desired accuracy. Moreover, to average out the different characteristics of the initial configurations, we repeat the procedure over <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e147" xlink:type="simple"/></inline-formula> different independently generated initial configurations.</p>
<p>To generate a random spanning tree <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e148" xlink:type="simple"/></inline-formula> associated to a graph <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e149" xlink:type="simple"/></inline-formula> (<xref ref-type="fig" rid="pone-0087986-g004">fig.4</xref> – lower panel), we apply the exact algorithm of Wilson <xref ref-type="bibr" rid="pone.0087986-Wilson1">[19]</xref> that samples uniformly the elements of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e150" xlink:type="simple"/></inline-formula>. Such spanning trees are taken as the initial configurations for our model distribution networks. The links of the graph <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e151" xlink:type="simple"/></inline-formula> that do not belong to the initial configuration <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e152" xlink:type="simple"/></inline-formula> form the set <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e153" xlink:type="simple"/></inline-formula> of the possible backup links of our system; of such links, only a subset <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e154" xlink:type="simple"/></inline-formula> (the <italic>dormant</italic> links) can be used to heal the system. The fraction <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e155" xlink:type="simple"/></inline-formula> of such dormant links characterizes the redundancy of the system: for <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e156" xlink:type="simple"/></inline-formula> there are no links in <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e157" xlink:type="simple"/></inline-formula> and any failure splits the tree, while for <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e158" xlink:type="simple"/></inline-formula> any of the links of <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e159" xlink:type="simple"/></inline-formula> can be used to recompose the system.</p>
<p>Notice that in our case it would be more correct to speak about <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e160" xlink:type="simple"/></inline-formula> <italic>resilience</italic>, since we don't consider whether the system is <italic>robust</italic> to <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e161" xlink:type="simple"/></inline-formula> failures (i.e. whether it still functioning after <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e162" xlink:type="simple"/></inline-formula> failures), but if it can <italic>recover</italic> from <inline-formula><inline-graphic xlink:href="info:doi/10.1371/journal.pone.0087986.e163" xlink:type="simple"/></inline-formula> failures.</p>
</sec></sec></body>
<back>
<ack>
<p>AS thanks Claudio Mazzariello for very useful discussions on routing algorithms, Thomas Fink for suggesting the focus on Kirchoff networks, Stefano Sello and Matteo Cantú for discussions on the topology of Italian distribution networks and Michele Festuccia for pointing out the technological feasibility of our approach.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="pone.0087986-Caldarelli1"><label>1</label>
<mixed-citation publication-type="other" xlink:type="simple">Caldarelli G (2007) Scale-Free Networks: Complex Webs in Nature and Technology (Oxford Finance). Oxford University Press, USA. Available: <ext-link ext-link-type="uri" xlink:href="http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20&amp;path=ASIN/0199211515." xlink:type="simple">http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20\\&amp;path=ASIN/0199211515.</ext-link></mixed-citation>
</ref>
<ref id="pone.0087986-Barrat1"><label>2</label>
<mixed-citation publication-type="other" xlink:type="simple">Barrat A, Barthélemy M, Vespignani A (2008) Dynamical Processes on Complex Networks. Cambridge University Press. Available: <ext-link ext-link-type="uri" xlink:href="http://books.google.it/books?id=TmgePn9uQD4C" xlink:type="simple">http://books.google.it/books?id=TmgePn9uQD4C</ext-link>.</mixed-citation>
</ref>
<ref id="pone.0087986-Schneider1"><label>3</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Schneider</surname><given-names>CM</given-names></name>, <name name-style="western"><surname>Moreira</surname><given-names>AA</given-names></name>, <name name-style="western"><surname>Andrade</surname><given-names>JS</given-names></name>, <name name-style="western"><surname>Havlin</surname><given-names>S</given-names></name>, <name name-style="western"><surname>Herrmann</surname><given-names>HJ</given-names></name> (<year>2011</year>) <article-title>Mitigation of malicious attacks on networks</article-title>. <source>Proceedings of the National Academy of Sciences</source> <volume>108</volume>: <fpage>3838</fpage>–<lpage>3841</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Flocchini1"><label>4</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Flocchini</surname><given-names>P</given-names></name>, <name name-style="western"><surname>Pagli</surname><given-names>L</given-names></name>, <name name-style="western"><surname>Prencipe</surname><given-names>G</given-names></name>, <name name-style="western"><surname>Santoro</surname><given-names>N</given-names></name>, <name name-style="western"><surname>Widmayer</surname><given-names>P</given-names></name> (<year>2008</year>) <article-title>Computing all the best swap edges distributively</article-title>. <source>J Parallel Distrib Comput</source> <volume>68</volume>: <fpage>976</fpage>–<lpage>983</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Velazquez1"><label>5</label>
<mixed-citation publication-type="other" xlink:type="simple">Velazquez E, Santoro N (2010) Mobility-based strategies for energy restoration in wireless sensor networks. In: MSN. pp. 161–168.</mixed-citation>
</ref>
<ref id="pone.0087986-Flocchini2"><label>6</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Flocchini</surname><given-names>P</given-names></name>, <name name-style="western"><surname>Enriquez</surname><given-names>TM</given-names></name>, <name name-style="western"><surname>Pagli</surname><given-names>L</given-names></name>, <name name-style="western"><surname>Prencipe</surname><given-names>G</given-names></name>, <name name-style="western"><surname>Santoro</surname><given-names>N</given-names></name> (<year>2012</year>) <article-title>Distributed minimum spanning tree maintenance for transient node failures</article-title>. <source>IEEE Trans Computers</source> <volume>61</volume>: <fpage>408</fpage>–<lpage>414</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Sarma1"><label>7</label>
<mixed-citation publication-type="other" xlink:type="simple">Sarma AD, Trehan A (2012) Edge-preserving self-healing: Keeping network backbones densely connected. In: INFOCOM Workshops. pp. 226–231.</mixed-citation>
</ref>
<ref id="pone.0087986-Kawamura1"><label>8</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Kawamura</surname><given-names>R</given-names></name>, <name name-style="western"><surname>Sato</surname><given-names>KI</given-names></name>, <name name-style="western"><surname>Tokizawa</surname><given-names>I</given-names></name> (<year>2006</year>) <article-title>Self-healing atm networks based on virtual path concept</article-title>. <source>IEEE JSel A Commun</source> <volume>12</volume>: <fpage>120</fpage>–<lpage>127</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Murakami1"><label>9</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Murakami</surname><given-names>K</given-names></name>, <name name-style="western"><surname>Kim</surname><given-names>HS</given-names></name> (<year>1998</year>) <article-title>Optimal capacity and flow assignment for self-healing atm networks based on line and end-to-end restoration</article-title>. <source>IEEE/ACM Trans Netw</source> <volume>6</volume>: <fpage>207</fpage>–<lpage>221</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Ramchurn1"><label>10</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Ramchurn</surname><given-names>SD</given-names></name>, <name name-style="western"><surname>Vytelingum</surname><given-names>P</given-names></name>, <name name-style="western"><surname>Rogers</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Jennings</surname><given-names>NR</given-names></name> (<year>2012</year>) <article-title>Putting the ‘smarts’ into the smart grid: a grand challenge for artificial intelligence</article-title>. <source>Commun ACM</source> <volume>55</volume>: <fpage>86</fpage>–<lpage>97</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Pandurangan1"><label>11</label>
<mixed-citation publication-type="other" xlink:type="simple">Pandurangan G, Trehan A (2011) Xheal: localized self-healing using expanders. In: PODC. pp. 301–310.</mixed-citation>
</ref>
<ref id="pone.0087986-White1"><label>12</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>White</surname><given-names>SR</given-names></name>, <name name-style="western"><surname>Sottos</surname><given-names>NR</given-names></name>, <name name-style="western"><surname>Geubelle</surname><given-names>PH</given-names></name>, <name name-style="western"><surname>Moore</surname><given-names>JS</given-names></name>, <name name-style="western"><surname>Kessler</surname><given-names>MR</given-names></name>, <etal>et al</etal>. (<year>2001</year>) <article-title>Autonomic healing of polymer composites</article-title>. <source>Nature</source> <volume>409</volume>: <fpage>794</fpage>–<lpage>797</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Toohey1"><label>13</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Toohey</surname><given-names>KS</given-names></name>, <name name-style="western"><surname>Sottos</surname><given-names>NR</given-names></name>, <name name-style="western"><surname>Lewis</surname><given-names>JA</given-names></name>, <name name-style="western"><surname>Moore</surname><given-names>JS</given-names></name>, <name name-style="western"><surname>White</surname><given-names>SR</given-names></name> (<year>2007</year>) <article-title>Self-healing materials with microvascular networks</article-title>. <source>Nat Mater</source> <volume>6</volume>: <fpage>581</fpage>–<lpage>585</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Katifori1"><label>14</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Katifori</surname><given-names>E</given-names></name>, <name name-style="western"><surname>Szöllősi</surname><given-names>GJ</given-names></name>, <name name-style="western"><surname>Magnasco</surname><given-names>MO</given-names></name> (<year>2010</year>) <article-title>Damage and fluctuations induce loops in optimal transport networks</article-title>. <source>Phys Rev Lett</source> <volume>104</volume>: <fpage>048704</fpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Yazdani1"><label>15</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Yazdani</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Jeffrey</surname><given-names>P</given-names></name> (<year>2011</year>) <article-title>Complex network analysis of water distribution systems</article-title>. <source>Chaos: An Interdisciplinary Journal of Nonlinear Science</source> <volume>21</volume>: <fpage>016111</fpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Barabsi1"><label>16</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Barabási</surname><given-names>AL</given-names></name>, <name name-style="western"><surname>Albert</surname><given-names>R</given-names></name> (<year>1999</year>) <article-title>Emergence of scaling in random networks</article-title>. <source>Science</source> <volume>286</volume>: <fpage>509</fpage>–<lpage>512</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Watts1"><label>17</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Watts</surname><given-names>DJ</given-names></name>, <name name-style="western"><surname>Strogatz</surname><given-names>SH</given-names></name> (<year>1998</year>) <article-title>Collective dynamics of /‘small-world/’ networks</article-title>. <source>Nature</source> <volume>393</volume>: <fpage>440</fpage>–<lpage>442</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Csardi1"><label>18</label>
<mixed-citation publication-type="other" xlink:type="simple">Csardi G, Nepusz T (2006) The igraph software package for complex network research. InterJournal Complex Systems: 1695.</mixed-citation>
</ref>
<ref id="pone.0087986-Wilson1"><label>19</label>
<mixed-citation publication-type="other" xlink:type="simple">Wilson DB (1996) Generating random spanning trees more quickly than the cover time. In: Proceedings of the 28th annuan ACM Symposium on the Theory of Computing. ACM, pp. 296–303.</mixed-citation>
</ref>
<ref id="pone.0087986-PastorSatorras1"><label>20</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Pastor-Satorras</surname><given-names>R</given-names></name>, <name name-style="western"><surname>Vespignani</surname><given-names>A</given-names></name> (<year>2001</year>) <article-title>Epidemic spreading in scale-free networks</article-title>. <source>Phys Rev Lett</source> <volume>86</volume>: <fpage>3200</fpage>–<lpage>3203</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Aoki1"><label>21</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Aoki</surname><given-names>T</given-names></name>, <name name-style="western"><surname>Aoyagi</surname><given-names>T</given-names></name> (<year>2012</year>) <article-title>Scale-free structures emerging from co-evolution of a network and the distribution of a diffusive resource on it</article-title>. <source>Phys Rev Lett</source> <volume>109</volume>: <fpage>208702</fpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Amaral1"><label>22</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Amaral</surname><given-names>LAN</given-names></name>, <name name-style="western"><surname>Scala</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Barthélémy</surname><given-names>M</given-names></name>, <name name-style="western"><surname>Stanley</surname><given-names>HE</given-names></name> (<year>2000</year>) <article-title>Classes of small-world networks</article-title>. <source>Proceedings of the National Academy of Sciences</source> <volume>97</volume>: <fpage>11149</fpage>–<lpage>11152</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Bollobas1"><label>23</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Bollobas</surname><given-names>B</given-names></name>, <name name-style="western"><surname>Riordan</surname><given-names>O</given-names></name> (<year>2004</year>) <article-title>Robustness and vulnerability of scale-free random graphs</article-title>. <source>Internet Mathematics</source> <volume>1</volume>: <fpage>1</fpage>–<lpage>35</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Albert1"><label>24</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Albert</surname><given-names>R</given-names></name>, <name name-style="western"><surname>Jeong</surname><given-names>H</given-names></name>, <name name-style="western"><surname>Barabasi</surname><given-names>AL</given-names></name> (<year>2000</year>) <article-title>Error and attack tolerance of complex networks</article-title>. <source>Nature</source> <volume>406</volume>: <fpage>378</fpage>–<lpage>382</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Newman1"><label>25</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Newman</surname><given-names>MEJ</given-names></name>, <name name-style="western"><surname>Watts</surname><given-names>DJ</given-names></name> (<year>1999</year>) <article-title>Scaling and percolation in the small-world network model</article-title>. <source>Phys Rev E</source> <volume>60</volume>: <fpage>7332</fpage>–<lpage>7342</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-ENEL1"><label>26</label>
<mixed-citation publication-type="other" xlink:type="simple">ENEL (2011) private communication.</mixed-citation>
</ref>
<ref id="pone.0087986-Buldyrev1"><label>27</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Buldyrev</surname><given-names>SV</given-names></name>, <name name-style="western"><surname>Parshani</surname><given-names>R</given-names></name>, <name name-style="western"><surname>Paul</surname><given-names>G</given-names></name>, <name name-style="western"><surname>Stanley</surname><given-names>HE</given-names></name>, <name name-style="western"><surname>Havlin</surname><given-names>S</given-names></name> (<year>2010</year>) <article-title>Catastrophic cascade of failures in interdependent networks</article-title>. <source>Nature</source> <volume>464</volume>: <fpage>1025</fpage>–<lpage>1028</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-DAgostino1"><label>28</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>D'Agostino</surname><given-names>G</given-names></name>, <name name-style="western"><surname>Scala</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Zlatić</surname><given-names>V</given-names></name>, <name name-style="western"><surname>Caldarelli</surname><given-names>G</given-names></name> (<year>2012</year>) <article-title>Robustness and assortativity for diffusionlike processes in scale-free networks</article-title>. <source>EPL</source> <volume>97</volume>: <fpage>68006</fpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Yuan1"><label>29</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Yuan</surname><given-names>WJ</given-names></name>, <name name-style="western"><surname>Zhou</surname><given-names>JF</given-names></name>, <name name-style="western"><surname>Li</surname><given-names>Q</given-names></name>, <name name-style="western"><surname>Chen</surname><given-names>DB</given-names></name>, <name name-style="western"><surname>Wang</surname><given-names>Z</given-names></name> (<year>2013</year>) <article-title>Spontaneous scale-free structure in adaptive networks with synchronously dynamical linking</article-title>. <source>Phys Rev E</source> <volume>88</volume>: <fpage>022818</fpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Sudhakar1"><label>30</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Sudhakar</surname><given-names>TD</given-names></name>, <name name-style="western"><surname>Srinivas</surname><given-names>KN</given-names></name> (<year>2011</year>) <article-title>Restoration of power network? a bibliographic survey</article-title>. <source>European Transactions on Electrical Power</source> <volume>21</volume>: <fpage>635</fpage>–<lpage>655</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Li1"><label>31</label>
<mixed-citation publication-type="other" xlink:type="simple">Li H, Zhang W (2010) Qos routing in smart grid. In: Global Telecommunications Conference (GLOBECOM 2010), 2010 IEEE. pp. 1–6. doi:10.1109/GLOCOM.2010.5683884.</mixed-citation>
</ref>
<ref id="pone.0087986-Boccaletti1"><label>32</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Boccaletti</surname><given-names>S</given-names></name>, <name name-style="western"><surname>Latora</surname><given-names>V</given-names></name>, <name name-style="western"><surname>Moreno</surname><given-names>Y</given-names></name>, <name name-style="western"><surname>Chavez</surname><given-names>M</given-names></name>, <name name-style="western"><surname>Hwang</surname><given-names>DU</given-names></name> (<year>2006</year>) <article-title>Complex networks: Structure and dynamics</article-title>. <source>Physics Reports</source> <volume>424</volume>: <fpage>175</fpage>–<lpage>308</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Arenas1"><label>33</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Arenas</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Diaaz-Guilera</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Kurths</surname><given-names>J</given-names></name>, <name name-style="western"><surname>Moreno</surname><given-names>Y</given-names></name>, <name name-style="western"><surname>Zhou</surname><given-names>C</given-names></name> (<year>2008</year>) <article-title>Synchronization in complex networks</article-title>. <source>Physics Reports</source> <volume>469</volume>: <fpage>93</fpage>–<lpage>153</lpage>.</mixed-citation>
</ref>
<ref id="pone.0087986-Santoro1"><label>34</label>
<mixed-citation publication-type="other" xlink:type="simple">Santoro N (2006) Design and Analysis of Distributed Algorithms (Wiley Series on Parallel and Distributed Computing). Wiley-Interscience.</mixed-citation>
</ref>
<ref id="pone.0087986-Casteigts1"><label>35</label>
<mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Casteigts</surname><given-names>A</given-names></name>, <name name-style="western"><surname>Flocchini</surname><given-names>P</given-names></name>, <name name-style="western"><surname>Quattrociocchi</surname><given-names>W</given-names></name>, <name name-style="western"><surname>Santoro</surname><given-names>N</given-names></name> (<year>2012</year>) <article-title>Time-varying graphs and dynamic networks</article-title>. <volume>27</volume>: <fpage>387</fpage>–<lpage>408</lpage>.</mixed-citation>
</ref>
</ref-list></back>
</article>