Link failure recovery technique for greedy routing in the hyperbolic plane Sahel Sahhaf ⇑,1 , Wouter Tavernier 1 , Didier Colle 1 , Mario Pickavet 1 , Piet Demeester 1 Gaston Crommenlaan 8 Bus 201, 9050 Ghent, Belgium article info Article history: Available online 10 September 2012 Keywords: Greedy routing Hyperbolic plane Poincare Disk model Recovery Stretch abstract The scalability of current routing protocols is limited by the linearly increasing size of the corresponding routing tables. Greedy routing has been proposed as a solution to this scalability problem. In greedy rout- ing, every node is assigned a coordinate. These coordinates are used in order to forward a packet to a neighbor which is closer to the destination. Current greedy methods cannot efficiently cope with failures in topology. Using methods which require large resources and have significant loss in the quality of the routing (stretch loss) makes greedy routing useless in large-scale networks. In this paper, local techniques for single and multiple link failure recovery are proposed. The methods require very limited resources and result into limited loss in routing quality. The proposed schemes allow fast switch-over and scale with the number of links in the spanning tree of the network. Scalability, simplicity and low overhead of the methods make them suitable for large networks. The proposed techniques are evaluated in an experimental environment. Ó 2012 Elsevier B.V. All rights reserved. 1. Introduction In traditional IP routing, forwarding decisions are based on lon- gest-prefix matching in a routing table. Routing protocols scale corresponding to the topology size. The more IP addresses/prefixes assigned, the larger the routing tables have to become ([1] reports more than 367 K FIB entries in current BGP routers). Geographic routing schemes have been proposed as a solution to this problem [2]. Greedy routing stems from the idea of geographic routing where every node in a network receives a GPS coordinate [2]. Net- work nodes knowing the coordinates of their neighbors could then route greedy, by relaying incoming packets to the neighbors which are closer to the packet’s intended destination such that the dis- tance towards the packet’s destination decreases. Repeatedly applying this distance-decreasing policy will eventually lead to the destination. The same idea could be reused by assigning virtual coordinates in a given geometric space. A drawback of the men- tioned techniques is that packets might get stuck into a local min- imum (lakes or voids). Greedy embeddings, as proposed by Papadimitriou and Ratajczak [3], avoid this situation by ensuring that coordinates are mapped to the network nodes in such a way that local minima can never happen. More formally, a greedy embedding for a given graph GðV ; EÞ into a metric space X, is a func- tion from V to X such that for all the graph nodes s – t; s has a neighbor u which decreases the distance toward t in metric space X. This implies that using a greedy routing algorithm, packets will eventually reach the destination in any case. Kleinberg proved in [4] that it is possible to find such a greedy embedding in the hyperbolic plane for any connected finite graph. We will base our work on this seminal work. As will be described in more detail in the next section, the paper allows network nodes to derive their coordinates in the Poincare Disk in a distributed way, based on a spanning tree of the original network topology. The latter paper however did not investigate the effect of link/node failures in the network. In Section 4, it will be explained that even a single link/node failure might affect the greedy embedding in such a way that greedy routing is no longer possible. As will be de- scribed in next section, the reason is that greedy embedding is based on the connectivity of the graph’s spanning tree. Therefore, a change in this connectivity might result in recalculation of coor- dinates in order to have a successful packet delivery to a specified destination. As possibly too many nodes require changing their coordinates, the resulting disruptions would be very long. Our goal is to avoid coordinate recalculation upon link failures. Therefore, in this paper, we propose recovery methods for single and multiple link failures. Using these methods, we are able to by- pass failing links without the requirement of recalculating the coordinates. While greedy routing is proceeding, upon a failure detection an alternative path is selected which recovers the faulty link. Unlike many previous studies, our approach avoids the lakes 0140-3664/$ - see front matter Ó 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.comcom.2012.08.023 ⇑ Corresponding author. Tel.: +32 9 331 49 77; fax: +32 9 331 48 99. E-mail addresses: ssahhaf@intec.ugent.be, sahel.sahhaf@intec.ugent.be (S. Sahhaf), wtavernier@intec.ugent.be (W. Tavernier), dcolle@intec.ugent.be (D. Colle), mpickavet@intec.ugent.be (M. Pickavet), pdemeester@intec.ugent.be (P. Demeester). 1 Working with the Internet-Based Communication Networks and Services (IBCN) research group of the Department of Information Technology (INTEC), Ghent University – IBBT. Computer Communications 36 (2013) 698–707 Contents lists available at SciVerse ScienceDirect Computer Communications journal homepage: www.elsevier.com/locate/comcom