## 3 Routing for Data Centric Storage
### Hierarchical Voronoi Graph Routing (HVGR)  
The authors of HVGR [22] follows a similar approach than Rendezvous Regions since they propose to use a region-oriented routing, although, they implement it in a different way. The main contribution of this paper is that it avoids the necessity of each node to use GPS or other location device to know its own location. The main idea underlaying HVGR is the use of hierarchical coordinates associated with landmarks (nodes whose location is well-known). There is a number of first level landmarks that divide the network into the same number of first level subregions. These landmarks are named \(L_{i}\), with \(i\)=1,2,3,...,\(m_{1}\). Later, inside each first level subregion there are several second level landmarks each one with a different second level identifier. Therefore, inside the subregion belonging to the first level landmark, we find several 2 nd level landmarks named as \(L_{1,j}\), with \(j\)=1,2,3,...,\(m_{2}\). This division continues until some _n-th_ subregion in which all the nodes are within 1 hop distance. Finally, a node is identified as the sequence of landmarks it belongs to, e.g., \(L_{1}\),\(L_{1,1}\),\(L_{1,1,1}\), etc. The number of landmarks in the _i-th_ level is defined as \(m_{i}\). It is assumed that every node in the sensornet knows all 1 st level landmarks. In addition, a node located in a particular 1 st level subregion knows the location of all the 2 nd level landmarks within that 1 st level subregion. In turn, any node in a given 2 nd level subregion knows the path to all 3 rd level landmarks within that 2 nd level subregion, and so on. This knowledge is required to implement the proposed recursive region-oriented routing. There is a set of hash functions (\(H_{1},H_{2},H_{3},...,H_{n}\) ) employed for routing, each one assigned to a different level. Then, when a producer generates an event, it uses \(H_{1}\) with the event type and obtains a 1 st level landmark to send the message to. However, the message does not necessarily reach that landmark, but the first node within that 1 st level subregion receiving the message is able to route the message towards the suitable 2 nd level landmark. In order to do this, that node uses \(H_{2}\) over the event type and obtains the 2 nd level landmark. Following this routing mechanism the message finally reaches the rendezvous node in charge of that event type. HVGR requires a first phase where the hierarchical infrastructure is built, which means creating the region and selecting the landmarks. There is a first node, called \(\mathcal{C}\), which starts the landmark selection process, and it is defined as the master among all the first-level landmarks. HVGR uses [23] to select all the \(m_{1}\) 1 st level landmarks. Each of these 1 st level landmarks is the master landmark within its 2 nd level subregion, and they repeat the operation to find the rest of \(m_{2}-1\) landmarks in each 2 nd level subregion. The process stops when a master landmark detects that all the nodes within its region are their direct neighbours. It must be noted that, by using this algorithm, a 1 st level landmark is also a landmark for the rest of the levels. Once landmarks have been selected, there is an initial process in which every node in the sensornet learns the landmark coordinates. All the 1 st level landmark nodes flood a LANDMARK message, so that each node in the network learns the path to all the 1 st level landmarks. Next, each node selects the closest landmark. In such way, the network is divided into \(m_{1}\) first level subregions. Following, the 2 nd level landmarks make a scooped flood within its 1 st level region. Again, a node knows all the 2 nd level landmarks within its 2 nd level subregion, and the 2 nd level subregions are generated when each node selects its closest 2 nd level landmark. By running this recursive algorithm the network is ready to employ the region oriented routing. This solution relies on a hierarchical infrastructure that avoids each node to know its own spatial location.