Skip to main content
Log in

The Forgiving Graph: a distributed data structure for low stretch under adversarial attack

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We consider the problem of self-healing in peer-to-peer networks that are under repeated attack by an omniscient adversary. We assume that, over a sequence of rounds, an adversary either inserts a node with arbitrary connections or deletes an arbitrary node from the network. The network responds to each such change by quick “repairs,” which consist of adding or deleting a small number of edges. These repairs essentially preserve closeness of nodes after adversarial deletions, without increasing node degrees by too much, in the following sense. At any point in the algorithm, nodes v and w whose distance would have been in the graph formed by considering only the adversarial insertions (not the adversarial deletions), will be at distance at most log n in the actual graph, where n is the total number of vertices seen so far. Similarly, at any point, a node v whose degree would have been d in the graph with adversarial insertions only, will have degree at most 3d in the actual graph. Our distributed data structure, which we call the Forgiving Graph, has low latency and bandwidth requirements. The Forgiving Graph improves on the Forgiving Tree distributed data structure from Hayes et al. (2008) in the following ways: 1) it ensures low stretch over all pairs of nodes, while the Forgiving Tree only ensures low diameter increase; 2) it handles both node insertions and deletions, while the Forgiving Tree only handles deletions; 3) it requires only a very simple and minimal initialization phase, while the Forgiving Tree initially requires construction of a spanning tree of the network.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Andersen D., Balakrishnan H., Kaashoek F., Morris R.: Resilient overlay networks. SIGOPS Oper. Syst. Rev. 35(5), 131–145 (2001)

    Article  MATH  Google Scholar 

  2. Awerbuch, B., Patt-Shamir, B., Peleg, D., Saks, M.: Adapting to asynchronous dynamic networks (extended abstract). In: TOC ’92: Proceedings of the Twenty-Fourth Annual ACM Symposium on Theory of Computing, pp. 557–570. ACM, New York (1992)

  3. Boman, I., Saia, J., Abdallah, C.T., Schamiloglu, E.: Brief announcement: self-healing algorithms for reconfigurable networks. In: Symposium on Stabilization, Safety, and Security of Distributed Systems(SSS) (2006)

  4. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Introduction to Algorithms, 2 edn. McGraw-Hill, New York (2001)

    MATH  Google Scholar 

  5. Doverspike R.D., Wilson B.: Comparison of capacity efficiency of DCS network restoration routing techniques. J. Netw. Syst. Manag. 2(2), 95–123 (1994)

    Article  Google Scholar 

  6. Frisanco, T.: Optimal spare capacity design for various protection switching methods in ATM networks. In: IEEE International Conference on Communications (ICC 97 Montreal), ‘Towards the Knowledge Millennium’, 1997, vol. 1, pp. 293–298 (1997)

  7. Goel, S., Belardo, S., Iwan, L.: A resilient network that can operate under duress: to support communication between government agencies during crisis situations. In: Proceedings of the 37th Hawaii International Conference on System Sciences, 0-7695-2056-1/04:1–11 (2004)

  8. Hayashi, Y., Miyazaki, T.: Emergent rewirings for cascades on correlated networks. cond-mat/0503615 (2005)

  9. Hayes, T.P., Saia, J., Trehan, A.: The Forgiving Graph: a distributed data structure for low stretch under adversarial attack. In: PODC ’09: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing, pp. 121–130. ACM, New York (2009)

  10. Hayes, T., Rustagi, N., Saia, J., Trehan, A.: The forgiving tree: a self-healing distributed data structure. In: PODC ’08: Proceedings of the Twenty-Seventh ACM Symposium on Principles of Distributed Computing, pp. 203–212. ACM, New York (2008)

  11. Holme P., Kim B.J.: Vertex overload breakdown in evolving networks. Phy. Rev. E 65, 066109 (2002)

    Article  Google Scholar 

  12. Iraschko R.R., MacGregor M.H., Grover W.D.: Optimal capacity placement for path restoration in STM or ATM mesh-survivable networks. IEEE/ACM Trans. Netw. 6(3), 325–336 (1998)

    Article  Google Scholar 

  13. Manku, G.S., Naor, M., Wieder, U.: Know thy neighbor’s neighbor: the power of lookahead in randomized p2p networks. In: Proceedings of the 36th ACM Symposium on Theory of Computing (STOC) (2004)

  14. Medard M., Finn S.G., Barry R.A.: Redundant trees for preplanned recovery in arbitrary vertex-redundant or edge-redundant graphs. IEEE/ACM Trans. Netw. 7(5), 641–652 (1999)

    Article  Google Scholar 

  15. Minsky, Y., Trachtenberg, A.: Practical set reconciliation. Technical Report, Boston Unuiversity, Boston (2002–2003)

  16. Motter A.E.: Cascade control and defense in complex networks. Phys. Rev. Lett. 93, 098701 (2004)

    Article  Google Scholar 

  17. Motter A.E., Lai Y.-C: Cascade-based attacks on complex networks. Phys. Rev. E 66, 065102 (2002)

    Article  Google Scholar 

  18. Murakami, K., Kim, H.S.: Comparative study on restoration schemes of survivable ATM networks. In: INFOCOM (1), pp. 345–352 (1997)

  19. Naor, M., Wieder, U.: Know thy neighbor’s neighbor: better routing for skip-graphs and small worlds. In: Proceedings of IPTPS, 2004, pp. 269–277 (2004)

  20. Saia, J., Trehan, A.: Picking up the pieces: Self-healing in reconfigurable networks. In: IEEE International Parallel & Distributed Processing Symposium (2008)

  21. van Caenegem, B., Wauters, N., Demeester, P.: Spare capacity assignment for different restoration strategies in mesh survivable networks. In: IEEE International Conference on Communications (ICC 97 Montreal), ’Towards the Knowledge Millennium’, vol. 1, pp. 288–292 (1997)

  22. Vaucher, J.G.: Building optimal binary search trees from sorted values in o(n) time. In: Essays in Memory of Ole-Johan Dahl, pp. 376–388 (2004)

  23. Xiong Y., Mason L.G.: Restoration strategies and spare capacity requirements in self-healing ATM networks. IEEE/ACM Trans. Netw. 7(1), 98–110 (1999)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amitabh Trehan.

Additional information

This research was partially supported by NSF CAREER Award 0644058, NSF CCR-0313160, and an AFOSR MURI grant.

Supported in part at the Technion by a fellowship of the Israel Council for Higher Education. An extended abstract of this work was published in PODC 2009.

Part of this work done by author Amitabh Trehan as a student at University of New Mexico, and as a postdoc at University of Victoria

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hayes, T.P., Saia, J. & Trehan, A. The Forgiving Graph: a distributed data structure for low stretch under adversarial attack. Distrib. Comput. 25, 261–278 (2012). https://doi.org/10.1007/s00446-012-0160-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-012-0160-1

Keywords

Navigation