AoI-based Multicast Routing over Voronoi Overlays with Minimal Overhead

The increasing pervasive and ubiquitous presence of devices at the edge of the Internet is creating new scenarios for the emergence of novel services and applications. This is particularly true for location- and context-aware services. These services call for new decentralized, self-organizing communication schemes that are able to face issues related to demanding resource consumption constraints, while ensuring efficient locality-based information dissemination and querying. Voronoi-based communication techniques are among the most widely used solutions in this field. However, when used for forwarding messages inside closed areas of the network (called Areas of Interest, AoIs), these solutions generally require a significant overhead in terms of redundant and/or unnecessary communications. This fact negatively impacts both the devices' resource consumption levels, as well as the network bandwidth usage. In order to eliminate all unnecessary communications, in this paper we present the MABRAVO (Multicast Algorithm for Broadcast and Routing over AoIs in Voronoi Overlays) protocol suite. MABRAVO allows to forward information within an AoI in a Voronoi network using only local information, reaching all the devices in the area, and using the lowest possible number of messages, i.e., just one message for each node included in the AoI. The paper presents the mathematical and algorithmic descriptions of MABRAVO, as well as experimental findings of its performance, showing its ability to reduce communication costs to the strictly minimum required.

• to rely only on strictly local information (i.e., the position of immediate neighbors and their identifiers, which will be called IDs for short in the rest of the paper ); • to always deliver a message to all the nodes in an AoI; • to totally avoid all redundant communications; • to totally avoid all unnecessary communications. With our approach, the number of messages required to deliver data within an AoI is reduced to its minimum, thus saving nodes' battery and computational resources, as well as bandwidth usage. The proposed solution is based on geometric properties of Voronoi networks. At the best of our knowledge, this is the first technique that is able to achieve all these objectives.
In order to present our solution, in this paper we provide: • a mathematical description of the proposed approach; • mathematical proofs of the correctness of the proposed solution; • an algorithmic description of the approach. This paper does not deal with the decentralized maintenance of a Voronoi network, since several solutions are already available in the literature [34]- [36] and can be used for this purpose. We do not deal either with the dynamic behavior of nodes (i.e., churning nodes). This paper presents the very first completely decentralized solution that allows to forward information within a delimited AoI using only local information, and achieving the lowest possible number of messages (i.e., just one message for each node included in the AoI). The purpose of this paper is to present such a solution, prove it is mathematically sound, and explain how to implement it. Discussing possible dynamic behaviors of the nodes would have added too much material to this paper, making the presentation of this work less coherent and less focused with respect to the main goal of the paper. We thus decided to leave the issues related to dynamic nodes to further research and future investigations.
The rest of this paper is organized as follows: Section II presents the model of the overlay network we consider. Section III defines the algorithms of the MABRAVO protocol suite, and proves that they are correct and computationally efficient. Section IV presents our simulation environment and the results it provided. Section V presents an overview of the literature about the topic of this paper. Finally, Section VI presents our conclusions about the topic at hand.

II. NETWORK MODEL
Given a set of sites S = s 1 ...s n that are points in a plane, a 2-dimensional Voronoi tessellation is a partition of the plane into cells, which assigns to each site s i a cell V si that is the set of points closer to s i than to any other site s j ∈ S, according to a given definition of distance. In this paper we consider the classical Voronoi tessellation, which uses the L 2 metric as a distance: where (x i , y i ) are the coordinates of the point p i , and (x j , y j ) are the coordinates of the point p j . The cell V si associated to the site s i = (x i , y i ) is the locus of all the points in the plane that are closer to s i than to any other site, formally p k ∈ V si ⇔ ∀s j : ||p k , s i || ≤ ||p k , s j || (1) Figure 1 shows an example of a Voronoi tessellation. Each inequality in Equation 1 is equivalent to dividing the plane into half-spaces, thus the cell is obtained by intersecting half-spaces, resulting in the cell being a convex polygon. A cell V si may be characterized either by a finite area, or by an infinite area if some of the cell's sides are segments degenerated into half-lines.
A side l i,j of a Voronoi cell is a segment that lays between two adjacent Voronoi cells V si and V sj , and a vertex v i,j,k of a Voronoi cell is a point that is intersection between two sides of the Voronoi cell, and that lays between Voronoi cells V si , V sj and V s k . Should a segment degenerate into a halfline, the formalism still holds, except that the "segment" is adjacent to one vertex only. A Voronoi Overlay is an overlay network that assigns the links among the sites following the Voronoi tessellations, i.e. a link exists in the overlay if and only if the sites are Voronoi neighbors [31], [32], [37].
In this paper, an Area of Interest (AoI) is a finite 2dimensional convex region in the plane. We consider a site s i to be in the AoI if and only if the intersection I si between its Voronoi cell V si and the AoI is not empty, formally Let us consider a point D, not necessarily co-located with a site. We define Z si (D) as the union of the points of the segments that connect points of I si to D; S si (D) (the Segments of Interest of s i towards D) is defined as the intersection between s i 's cell sides, and Z si (D); N si (D) is defined as the set of neighbors of s i whose sides share with V si at least one point ∈ S C (D). Finally, we define V si,sj , I si,sj , Z si,sj (D), S si,sj (D) and N si,sj (D) in a manner analogous to V si , I si , Z si (D), S si (D) and N si (D), but computed with only the local information of s j . Table 1 summarizes the definitions presented in this section.
An AoI-cast is a routing protocol that delivers a packet to all the sites whose cells intersect the AoI. The general strategy for an efficient AoI-cast is routing a packet from the sender to a site s i located into the AoI, and afterwards to create a distribution tree from s i . The lower limit for the number of required packets, corresponding to performing an AoI-cast over a tree, is equal to the number of sites in the AoI minus 1. The rest of the paper considers that a packet has already reached one site in the AoI, and we are concerned Voronoi cell of a site s i l i,j side between cells Vs i and Vs j v i,j,k vertex between cells Vs i , Vs j and Vs k Is i the intersection between Vs i and the AoI s i is considered "into" the AoI if Is i is not empty union of the points of the segments that connect points of Is i to D, with extremes not included, plus D Ss i (D) (Segments of Interest of s i towards D) intersection between s i 's cell sides, and neighbors of s i that share with Vs i a side with at least one point ∈ Ss i (D) Vs i ,s j and Is i ,s j Vs i and Is i computed in the local vision of s j Zs i ,s j (D), Ss i ,s j (D) and Ns i ,s j (D) Zs i (D), Ss i (D) and Ns i (D) computed in the local vision of s j with either routing it to another site in the AoI (unicast), or reaching all the sites in the AoI (AoI-cast).

III. MABRAVO ALGORITHMS
This section presents the MABRAVO protocol suite. Recall from SectionII that we define that site s i is part of the AoI if and only if the intersection of its Voronoi cell V si and the AoI is not the empty set.
The MABRAVO routing algorithms consider the dichotomy between a "global vision" of the network and the "local vision" of a particular site, by defining the local vision of a site as the Voronoi tessellation computed by the site using only the location data of its immediate neighbors. Some previous works, for example VoRaQue [32], make use of nonlocal information such as knowledge regarding neighbors of neighbors. The maintenance of such information is prone to either a big communication overhead or data obsolescence. In fact, in order to have up-to-date information for the routing, each site needs to exchange a high number of messages with its neighbors, and this constitutes a burden on the overall performance of the system. Otherwise, there is an increased risk to incur in wrong forwarding decisions due to aged data.
In order to overcome these problems, we propose routing algorithms based uniquely on local information, i.e. a site knows only about its own location, and its Voronoi neighbors' locations and IDs. In doing this, we face issues like the ones presented in Fig. 2, and in Fig. 3, which are mainly due to the discrepancies between one site's local vision of the network, and the real topology of the Voronoi diagram (global vision).
Left part of Fig. 2 presents the local vision of site A, while right part of Fig. 2 presents the global vision of the same area. Let us suppose that an AoI-cast is being performed, for example using the routing protocol from [38], that A received a packet to be delivered to C, and that A believes that B  Comparison between the local vision of site A (left) and the real vision of the system (right). Site A wrongly believes that C is inside the AoI received the packet already. A may wrongly believe that sites B and C are mutual neighbors, and A may consider that site B is in charge of forwarding a packet it received to C, thus A will not forward the packet to C itself. In this particular case, it can happen that site C will not receive the packet from any site, since B and C are not neighbors and E could not lay in the AoI.
Another possible case is presented in Fig. 3, where the left part of the figure is the local vision of A and the right part represents the global vision. In this case, A could believe that its neighbor C has a non-void intersection with the AoI. Thus, A decides to send the packet to C. The result is a useless message, since C's Voronoi cell has no intersection with the AoI and C should not receive any message.
The purpose of the MABRAVO protocol suite is to overcome both the above problems, and to realize algorithms that, using the local vision of any site, are able to perform correct unicast and AoI-cast communication. Both communication modes avoid to contact unrelated sites (sites whose cells have no intersection with the AoI), and the AoI-cast uses the minimal number of packet transmissions, equal to the number of sites in the AoI minus 1.
The rest of this section describes the proposed MABRAVO protocol suite, starting with a discussion on the requirements that must be satisfied by the sites in terms of available primitives to allow an efficient implementation of unicast and AoIcast routing (Subsection III-A), then presenting the unicast protocol MABRAVO D and proving its correctness (Subsection III-B and Subsection III-C), and then doing the same for the AoI-cast protocol MABRAVO R (Subsection III-D and Subsection III-E).

A. REQUIREMENTS FOR THE ALGORITHMS
Recall from Section II the definition of side and vertex of a Voronoi cell. To be able to efficiently execute the algorithms, each site s i has to maintain a data structure with its Voronoi cell's vertices and sides. For each vertex v i,j,k , the data structure must be able to provide s j and s k , which are the two Voronoi neighbors of s i that are at the same distance from v i,j,k . For each side l i,j , the data structure must be able to provide s j , which the neighbor of s i that is adjacent to l i,j . Moreover, given a neighbor s j , the data structure must be able to provide the side l i,j that is adjacent to both s i and s j , and the two Voronoi vertices v i,j,k and v i,j,l that are shared by the Voronoi cells of s i and s j .
We propose to use circular lists for the neighbors, sides, and Voronoi vertices of s i . The data structures get updated whenever a new site is inserted or removed from the Voronoi diagram, and the cost of querying and updating the data structures of site s i is proportional to the number of neighbors of s i . Since we are considering Voronoi diagrams in the plane, it has been proven that the mean number of neighbors of a site has an expected value lower than 6 (see for example [39]) over large Voronoi diagrams. Thus, the expected cost for querying and updating the data structure used by the MABRAVO routing protocols is O(1).
We consider that each node is assigned a unique ID, which will be used to break ties in the MABRAVO algorithms. Various techniques are available for creating unique IDs in decentralised, distributed systems (e.g. [40]- [42], just to name some recent examples).
On a final note, we consider that the MABRAVO routing protocols can use a Time to Live (TTL) mechanism similar to the one of the AODV protocol [43]. In fact, the MABRAVO routing protocols are proved to work properly only when the topology is maintained timely, and the TTL mechanism protects the network in case the protocols are used in very dynamic networks before the topology gets maintained.

B. UNICAST ALGORITHM MABRAVOD
Let us consider a site C that is forwarding a packet towards the point D. D can be co-located with a site or not; in the latter case, it must still belong to the AoI, and thus to the cell of a site belonging to the AoI. Site C can be the initiator of the routing process, or an intermediate (and potentially final) hop. Let us consider the actions performed by C to decide which site to route the packet to and let us, with an abuse of notation, consider that C is also the C's index among the sites of the diagram (i.e.: A unicast routing process will necessarily terminate with success if it respects the following properties: • each site that has to forward the message shall be able to identify at least one other site to forward the message to (existence of next hop); • each site that has to forward the message shall uniquely identify the next forwarding site (unicity of next hop); • each routing step shall bring the packet closer (according to a given metric) to the destination point than the current site (implying the finiteness of the route).
If the current site C is the closest to D among its neighbors, the packet can be delivered and the routing process is completed. If not, it is necessary to route the packet to another site, and the quantities Z C (D), S C (D) and N C (D) (please refer to Section II for their definitions) cannot be empty: Z C (D) contains at least one point x since C is in the AoI, S C (D) contains at least the intersection y between one side of V C and the segment xD, N C (D) contains at least the neighbor of C adjacent to the side containing y.
The unicast routing algorithm builds N C (D) by considering the vertices of V C laying in the AoI, and adding all neighbors that have a vertex in common with C that is located in the AoI. This way of computing N C (D) can lead either to a non-empty set, or an empty set. If N C (D) appears to be empty, it means that the AoI crosses a side twice (see left part of Fig. 4), and there is only one potential next hop in N C (D), which will receive the packet.
If the N C (D) was not empty (see right part of Fig. 4), the algorithm moves on the circular list of neighbors in N C (D) if ∀s i neighbors of C, DC < Ds i then Deliver the packet to C return end Compute a i = ∠DCs i end Send packet to neighbor s m with lowest a m , and lowest ID in case of a tie return end Algorithm 1: Algorithm MABRAVO D , executed by C, having D as destination until it finds the one with lowest angle ∠DCs i , and sends the packet to s i ; in case of a tie, C chooses the site with the lowest ID. For the latter case, an example is given in the right part of Fig. 4. Site A wants to send a packet towards the destination point D. Vertices y and t are in the AoI, thus the sites that will be considered as potential next hops are E, F and C, since the three of them are also closer to D than A. Site B has a non-empty intersection with the AoI in A's local vision, but the side between A and B is not included in the segments of interest and thus B is discarded. Among the three sites, F is selected since DAF < DAE and DAF < DAC.
The formal algorithm is reported in Algorithm 1, and next subsection proves that the MABRAVO D algorithm is correct.

C. PROOF OF CORRECTNESS FOR THE UNICAST ALGORITHM MABRAVOD
Theorem III.1. Given a site C that is not the destination for a message, if C receives a packet, there exists a site detected by the algorithm which is the next destination of the packet.
Proof. Take a point P in I C , which cannot be the empty set since C ∈ AoI. Connect P to D with a straight segment, and consider the segment's intersection with C's Voronoi sides. Considering the definition of Voronoi cell V C as given by Equation 1, we can have two possible cases: , site C owns point D, and the routing process is completed with success; • otherwise, notice that the segment lays in I C since both V C and the AoI are convex. Consider the intersection q between P D and V C 's borders. q ∈ S C (D), hence N C (D) comprises at least the site on the other side of q, which is closer to D than C. Thus, there exists at least one possible site to forward the message to.
Theorem III.2. The fact that MABRAVO D forwards the packet from a site C to a site B, implies that B is closer to D than C.
Proof. The chosen site B is in N C (D). From definition of N C (D), at least one of the segments connecting I C to D crosses the border between C and B. Hence, using the definition of a cell's borders presented in Eq. 1, since D resides on the other side of the border between B and C, we have proved that BD < CD.
Theorem III.3. Unicast route is unique, and finite.
Proof. Since the algorithm for unicast routing is deterministic (it has no random component), at each step it can choose only one site as the next hop to go towards the routing destination D. Hence, the routing path is uniquely defined by the routing algorithm. Each routing step brings the packet to a site that is closer to D than the preceding site. Thus, a route can have at most as many hops as the number of sites in the network. Thus, the route is finite.

D. AOI-CAST ALGORITHM MABRAVOR
This subsection presents MABRAVO Reverse (MABRAVO R ), which is an AoI-cast protocol that builds over the results presented in subsection III-C to compute AoI-cast trees in a distributed manner with local information only. The rationale is that the algorithm MABRAVO R , formalized in Algorithm 2, understands if MABRAVO D would route a packet from C to D, and in that case D sends the packet to C while executing MABRAVO R . The algorithm performs correct routing and minimizes the number of exchanged messages, by delivering • one message -and one message only -to each site whose Voronoi cell has a non-void intersection with the AoI, and • no messages to sites outside the AoI. Let us start the presentation with an example regarding the execution of MABRAVO R on Fig. 5, where a site s i verifies if it should send the packet originated in D to site s j . The algorithm will do that if site s j would send a packet to s i to reach the destination D when using the MABRAVO D . First of all, if s i D > s j D, s j can not be child of s i in the AoIcast tree. Let us now call s k and s l the two sites that are common neighbors of s i and s j (it is possible that one of the sites or both do not exist). Let also be v i,j,k the Voronoi vertex adjacent to s i , s j and s k and let be v i,j,l the Voronoi vertex adjacent to s i , s j and s l . Algorithm 2 considers two main cases: • Neither v i,j,k nor v i,j,l are in the AoI. In this case, s i checks if its border with s j crosses the AoI boundaries, in line with the routing performed in Fig.4. If this is true, s i is the only feasible next hop of s j in MABRAVO D , thus s i sends the packet to s j ; • v i,j,k or v i,j,l or both lay into the AoI. In this case, s k or s l or both sites are compared with s j . Let us consider for example that only v i,j,k ∈ AoI. s i sends the packet to s j unless both s k D > s i D -∠Ds j s k < ∠Ds j s i , or ∠Ds j s k = ∠Ds j s i and since it would mean that s k is better off than s i in sending the packet to s j according to MABRAVO D unicast routing algorithm. Next section provides correctness proof for the MABRAVO R algorithm. Since the set of the sites in a local vision is a subset of the set of all the neighbors (S(A) ⊆ S), the set of conditions for P ∈ V C,A is subset of the set of conditions for P ∈ V C , and P ∈ V C ⇒ P ∈ V C,A . Thus, V C ⊆ V C,A . Considering now the intersection between the AoI and the Voronoi cells, since I C = V C AoI and I C,A = V C,A AoI, and we just showed that V C ⊆ V C,A , it holds that I C ⊆ I C,A . Z C (D) only, but it applies to both sets. If D ∈ I C , since I C is convex, all segments connecting points of I C to D are internal to I C , hence Z C (D) = I C , which is convex. If D / ∈ I C , building Z C (D) is analogous to applying a step of an Incremental Convex Hull algorithm (see for example Gift Wrapping [44], or Incremental Convex Hull [45]), starting from I C , which is convex and is the convex hull of its vertices, and adding the point D.
Theorem III.6. Locus S C (D) and locus S C,A (D) are a connected component each.
Proof. If D ∈ I C , S C (D) is the empty set. Let us consider that D / ∈ I C . From the computation of Z C (D) using an Incremental Convex Hull algorithm [44], [45], the S C (D) is constituted by the segments linking the vertices of I C that are not vertices of Z C (D), plus the two vertices of I C that were linked to D.  Corollary 3. As a consequence of the previous corollary, A, B and C agree on • C sending a packet to A -or not -to get to D with MABRAVO D algorithm, and • A sending a packet to C -or not -for a AoI-cast generated in D with MABRAVO R algorithm.
Theorem III.7. Existence for MABRAVO R routes (each site in the AoI receives the packet at least once).
Proof. Let us consider that D generates a MABRAVO R AoIcast, that A must receive the packet because its Voronoi cell owns points included in the AoI, and that B decides not to forward a packet to A. Let us prove that there will be another site forwarding the packet to A. Site B can take the decision not to forward the packet to A for two motivations: us call it C) is into N A,B (D) and it has a smaller angle. Since A, B and C agree if C ∈ N A,B (D) (see Corollary 3), C will either select itself to send the packet to A, or it will repeat the same reasoning for a common neighbor (let us call it F ) of C and A, but on the other side with respect to B. Since the number of neighbor of A is finite, this chain will end up on a site (let call it G) that will actually send the packet to A. Thus, if B decides not to forward a packet to A, there will be at least another site that will forward the packet to A, and hence there exists at least one MABRAVO R route reaching A.
Theorem III.8. Unicity for MABRAVO R route (each site in the AoI receives the packet at most once).
Proof. Let us prove that a generic site A can not receive a packet from more than one MABRAVO R route. First of all, as a consequence of Theorem III.2, we have to consider that any site that will forward a message to A should lay in the half of the plane that is closer to D than A itself. Let us now suppose that site B decides to send a packet to site A during a MABRAVO R routing originated in point D. In the following, we use Fig. 6 as a possible representation of the situation. A necessary condition is that B ∈ N A,B (D), and thus B ∈ N A (D). Moreover, B should see that ∠DAB is smaller that the angle formed by any of its neighbors in N A (D). This fact implies that B is the site in N A (D) that is closer to the half-plane A − D bisector line, that connects D and A. Otherwise, since Theorem III.6 states that all the sites in S A (D) form a connected locus on the plane, there exists a series of other sites s 1 , ..., s i that starts from a B's neighbor s 1 , and where a site s k is neighbor of s k+1 . These sites should be closer to the bisector line than B, as shown in Fig. 6. However, this also implies that each of these sites forms an angle with D and A that is lower than ∠DAB. Therefore, B cannot consider itself as the best candidate to forward a message to A, since it determines that at least one of its neighbors is a better candidate. The same decision would be taken by all the sites s 1 , ..., s i−1 . This leads to the conclusion that only one site (s i in the example) considers itself as the site in charge to deliver a message to A, thus demonstrating the unicity of the selection of a message forwarder in MABRAVO R .

F. CONSIDERATIONS ABOUT THE COMPLEXITY OF THE ALGORITHMS
This section discusses briefly the complexity of the MABRAVO routing algorithms, both in terms of messages, and of computational complexity.
As proven in the previous subsections, the MABRAVO protocol suite allows for correct unicast and AoI-cast routing if the sites have up-to-date information regarding their own locations, and the location of their neighbors in the Voronoi diagram. As discussed in Section I-A, we consider that a topology maintenance algorithm is already in place in the network, since several solutions are already available in the literature [34]- [36]. For example, the VoroNet [36] topology maintenance algorithm has a message complexity for each site that is proportional to the number of its neighbors. Since the expected number of neighbors of a site is lower than 6 [39], the amortized message complexity for each site to maintain the topology is O(1).
The message complexity for the MABRAVO R AoI-cast algorithm was proven to be optimal in Section III-E. The algorithm is able to create a routing tree over the sites in the AoI in a distributed manner, and the total number of messages is equal to the number of sites in the AoI minus 1.
In the rest of this section, let us call n the number of neighbors of a site s i , and m the number of sides defining the AoI. The computational complexity of both the MABRAVO D algorithm (Algorithm 1) and the MABRAVO R algorithm (Algorithm 2) depends (i) on the expected number of neighbors of each site s i being less than 6 [39], thus O(1); (ii) on the operations discussed in Section III-A being able to access the set of neighbors of each site s i in linear time in the number of neighbors; (iii) on the fact that the number of sides of the AoI is an external parameter set by the user defining the AoI, and in most applications this value can be considered sufficiently small. For instance, in many locationbased applications, areas/regions of interest are defined as rectangles (e.g. [46]- [48]).
With regards to the MABRAVO D algorithm (Algorithm 1), its first loop of the algorithm is repeated for each neighbor of a site s i (thus O(n) times), and each time it accesses the list of neighbors of s i (complexity O(n)) and it compares the location of each neighbor with each AoI side, whose cardinality is O(m). It is worth noticing that, in the average case, n has an expected value that is equal or less than the constant 6. Therefore, in the average case the complexity reduces to O(m). In addition, as observed in the previous paragraph, m has generally a small value, thus leading to an overall low complexity.
With regards of the MABRAVO R algorithm (Algorithm 2), its most external loop is repeated for each neighbor of s i , thus O(n) times. The first condition in the algorithm (the neighbors being located outside the AoI) requires to repeat basic geometric operations for each side of the AoI (thus, O(m) times), then it extracts v i,j,k and v i,j,l (cost O(n)), and then executes a loop on the sides of the AoI (thus, O(m) times), each time performing operations having constant execution time. If at least one of the neighbors of s i is located into the AoI, whose test costs O(m), the algorithm executes in the worst case the two if clauses, which require to perform basic geometric operations. Thus, the computational complexity of the MABRAVO R algorithm is O(n(m(n + m) + m)) = O(n 2 m + nm 2 ). Applying the same reasoning used for MABRAVO D , in the average case the value of n is equal or less than 6. The overall complexity is thus a function of m only (i.e.: O(m 2 )), where m is generally a small value.

IV. EVALUATION OF THE MABRAVO SUITE
This section describes the experimental evaluation of the algorithms of the MABRAVO suite. The evaluation is made through a simulation implementation of the proposed solution. The results shown in the rest of this section have been selected in order to better highlight the features of MABRAVO and to allow to experimentally corroborate the correctness of the algorithms.

A. IMPLEMENTATION
In this section, we provide a description of the simulator we used to derive the results presented in the rest of the section. This description makes it possible to use the related software. Thus, it allows to make the results we present verifiable and fully reproducible by the scientific community. The simulator is available on github (https://github.com/michelealbano/mabravo) and it was published on Code Ocean (DOI: 10.24433/CO.1722184.v1).
The algorithms were implemented using the Java programming language and are accessible as a supplementary material of this paper. This subsection describes the code, shows how to compile it, and what it does when executed.
The implementation makes use of the VAST library, a well-known library used in the literature to help evaluate Voronoi-based solutions (e.g., the proof-of-concept in [31]). The novel code comprises 4 classes: • AreaOfInterest maintains a convex AoI on the plane.
When instantiated, it receives a number of points in the plane, and it makes use of the Gift Wrapping [44] VOLUME 4, 2016 algorithm to organize them as a clockwise sequence of points that define the AoI; • VoronoiArea is a thin wrapper over the mechanisms provided by the VON codebase; • VoronoiNetwork implements all the routing algorithms of the MABRAVO suite, and a breadth first visit that is used to compute e.g. the number of sites that lie into an AoI; • Mabravo contains all the parameters that are used to specify the simulations to be performed, it drives the execution of the experiments, it can provide a simple graphical representation of the routing processes, and it can compute performance parameters to summarize the results of routing processes. To deploy the system, it is sufficient to issue a make command on the command line. After that, the software can be executed in two modes.
The first one is named the graphical mode. It is executed if the user provides 3 parameters on the command line. An example of the invocation of this mode of execution is java -cp mabravo-1.1.0.jar mabravo.Mabravo 100 10 1000. These parameters are: the number of sites; the number of points defining the AoI; a random seed. This execution mode allows the user to have a visual representation of the system and of the execution of the MABRAVO protocol suite. Specifically, the Mabravo application creates a number of sites coordinates at random in the plane, and it instantiates an AoI with a given number of vertices. After that, it selects two points at random in the AoI and performs a routing process from the first to the second. Finally, a graphical representation of the process is provided to the user. If the user presses the return key, the process will start once again with new random coordinates.
The second execution mode is the batch mode. It does not provide any graphical representation, but it is designed to allow to perform a series of different simulations of the system, and to extract performance indicators. To perform the simulations, five parameters are passed from the command line when invoking the main class (e.g.: java -cp mabravo-1.1.0.jar mabravo.Mabravo 100 10 100 10 100). These parameters are: the number of sites; the number of points defining the AoI; the number of routing processes to be performed over each network; the number of networks to be simulated; a random seed.
For each of the routing processes, the system print out data to both evaluate the proposed solution, and to compare it against an "oracle", i.e. a solution that computes the routing tree by exploiting a breadth first visit and the full knowledge about the structure and topology of the system. The values that are used for evaluation and comparison that are returned by the simulator are: • site where the unicast routing process starts; • site where the unicast routing end / site where the AoIcast starts; • number of nodes in the whole network; • nodes in the AoI; • number of hops for the unicast routing using the "oracle"; • average length of the AoI-cast routes using the "oracle"; • average length of the AoI-cast using MABRAVO R ; • unicast route computed using MABRAVO D . These are the values used in the next section for the overall evaluation of MABRAVO.
When executing the MABRAVO D algorithm, the simulator verifies that the routes goes from the source to the destination, and that no site outside the AoI is reached by the routing process. When executing the MABRAVO R algorithm the simulator verifies that all the sites in the AoI receive the message once, and that no site outside the Aoi receives the message.

B. RESULTS
In the following, we present the results obtained by using the simulator described in the previous section. The experiments focus on the more relevant characteristics of the MABRAVO suite, and aimed to: • verify that the MABRAVO R algorithm is always able to deliver a packet from a source site in the AoI to a destination site in the AoI, without using relays outside the AoI; • proof that the MABRAVO R algorithm sends a packet to all the sites in the AoI and no one else, and that the sites receive the packet only once; • compare the length of both MABRAVO D and MABRAVO R routes against the "oracle", as defined in the previous subsection. In order to present an example of the execution of MABRAVO, Figure 7 shows the output of the simulator when executed in graphical mode, for networks comprising 100 and 1000 sites, respectively. In both these cases, the AoI is defined by 10 points. The meanings of the colors in the figure are the following: the red lines are the borders of the AoI; the Voronoi cells of sites in the AoI have green borders, while sites outside the AoI have Voronoi cells with blue borders; the magenta line connects source and destination of the unicast routing process (the 100 sites case shows clearly that source and destination points do not have to be co-located with a site), and the sites touched by the routing process are highlighted with cyan circles.
In order to present a meaningful evaluation, the results we show are the average of a series of repeated executions of the system. Specifically, the system was run in batch mode to simulate 100 different networks and perform 100 MABRAVO D and MABRAVO R routing processes on them. The experiments were executed on networks of 100 and 1000 sites, respectively. In both the scenarios, the AoIs are defined by 10 points.
For the sake of clarity, in the following we will show experimental results by means of their Cumulative Distribution Function (CDF) [49], meaning that the graphs will show the possible values of the variable under study on the x axis,  and the probability that the output of an experiment is less or equal to the value on the y axis.
The simulator confirmed that, in all the scenarios, the MABRAVO suite sent messages exclusively to sites that are included in the AoI. With regard to the AoI-cast algorithm, we counted the number of sites in the AoI from a global vision, and we compared that to the number of sites that receive the AoI-cast message with MABRAVO R algorithm. We present the results of the experiments in Figure 8, whose overlapping curves ensure that MABRAVO R delivers the AoI-cast message exactly to the sites comprised (fully or partially) within the AoI.
We first show the results related to the unicast protocol of MABRAVO, i.e. MABRAVO D . As we anticipated, when performing unicast communication, using the MABRAVO D algorithm the routing process was always able to route the packets using only sites in the AoI as relays. Figure 9 shows the CDF of the route length when MABRAVO D is employed, presenting the results for networks of 100 and 1000 sites. The results are compared with the "oracle", showing two remarkably close and similar behaviors. It is worth noticing that the "oracle" can exploit full knowledge of the geometry of the system, while MABRAVO D can only rely on partial and local information, and it is the result of autonomous decisions of independent components of the system.
The same considerations are valid for the AoI-cast protocol MABRAVO R . Also in this case, the AoI-cast performed by the MABRAVO R algorithm is able to reach each site in the AoI with a packet by crossing only sites comprised in the AoI. Figure 10 compares the length of the routes for AoIcast routing by showing the CDF of the average length of the routes, when the two algorithms are used on networks of 100 and 1000 sites.

V. RELATED WORKS
Geometric routing techniques are among the most commonly used strategy for forwarding messages and information in Voronoi networks. Compass Routing is the most important solution in this class of routing protocols. The use of Compass Routing in Voronoi networks has been first proposed in [50], which considers a connected graph and assumes that a message is generated at one of its nodes n with the goal to reach a destination node d. [50] shows that the best strategy is to look at the edges incident in n and choose the edge whose slope is minimal with respect to the segment connecting n and the destination d. [50] also shows that while VOLUME 4, 2016  Compass Routing is not cycle free for general graphs, it can always find a finite path between two nodes of a Delaunay Triangulation. The work in [51] suggests to exploit Compass Routing to define a Spanning Tree supporting an application level multicast.
This class of solutions is very relevant in this field, since it forms the basis of many other routing protocols on Voronoi networks. However, they do not face the problems related to multicast routing within delimited AoIs. These issues are faced by the approaches described in the following of this section.
As far as its applications are concerned, Voronoi networks have recently been exploited in several contexts, but mostly for the definition of routing algorithms in sensor and wireless sensor networks.
An approach which shares some features with our proposal is introduced in [52]. Indeed, Overlay Geocast, besides forwarding messages toward a given destination, is also able to route messages to all the nodes belonging to a given area A.
To reach a node in A, it exploits greedy routing, then each node in A forwards the message to all its neighbors in A and discards duplicates by utilizing a Bloom Filters. This implies a large number of unnecessary messages, while MABRAVO totally avoids unnecessary communications.
[53] introduces sensing-covered networks, which are networks where every point in a geographic area must be within the sensing range of at least one sensor. The paper introduces a new routing algorithm, Bounded Voronoi Greedy Forwarding (BVGF), that combines Greedy Forwarding and and Voronoi diagrams. When a node forwards a packet, it considers its eligible neighbors, where a neighbor is eligible if the line segment joining the source and the destination intersects the Voronoi region of the neighbor or coincides with one of the boundaries of the Voronoi region. BVGF chooses the neighbor that has the shortest Euclidean distance to the destination among all eligible neighbors.
[54] proposes a Voronoi diagram based on semidistributed algorithms for coverage holes detection in WSNs. The Voronoi diagram is built by considering the location of the sensor nodes which have the task of monitoring and collecting information on the Region of Interest (ROI). Furthermore, the proposed algorithms decide if there are holes in the ROI.
[55] investigates the use of wireless sensor networks in IoT environments, to monitor and collect data in some geographic area. In this case, spatial range queries with location constraints are employed. To reduce the communication cost and the storage requirements, the work presents an energyand time-efficient multidimensional data indexing scheme which exploits a Voronoi tessellation.

VI. CONCLUSIONS & FUTURE WORKS
This paper presents an algorithm to perform AoI-cast in Voronoi-based distributed networks. The proposed solution is able to construct AoI-cast trees in a completely distributed manner, where each agent that supervises a Voronoi cell knows only its own coordinates and the ones of its immediate neighbors. Working in totally decentralized manner, the proposed algorithms are able to deliver packets by reaching all (and only) the sites in a convex AoI, thus requiring a minimal number of messages. In this work we gave a formal specification of MABRAVO, as well as a formal demonstration of its properties.
An open issue to investigate is whether it exists an algorithm that is able to minimize the route lengths depth, while preserving the optimal properties of the algorithms presented in this work (only local knowledge required, minimum number of packets). More future work has been planned: • Port the algorithm to another language (currently it is pure Java), which comprises studying how to use the existing libraries of target language. For example, this will allow to access high-performance libraries for the computation of the Voronoi diagrams, and possibly to use hardware accelerations; • Implement the algorithm into a mainstream system simulator, such as ns-3, to experiment the algorithm against physical properties of the wireless links, loss of packets, presence of metal walls and other obstacles that hinder communication; • Study the effect of mobility and high churn of units, and the behavior of the algorithms against obsolete information regarding a unit's neighbors; • Implement a testbed, where the algorithms are used to enable communication between robots in industrial settings, for example basing the exchange of messages between neighbors over the Arrowhead framework [6].
[55] S. Wan, Y. Zhao, T. MATTEO MORDACCHINI is a Researcher at the Ubiquitous Internet Lab, IIT-CNR, Italy. Currently, his main research areas include Edge computing, the Internet of People paradigm, and adaptive, self-organizing distributed solutions. Specifically, he is investigating how models of human cognitive processes, coming from the cognitive psychology domain, can be exploited to devise autonomic and adaptive solutions for autonomous agents. Other research directions include Cloud computing and Opportunistic Networks. Matteo has also worked in several EU projects and has served in the TPC of many international conferences and workshops.
LAURA RICCI received the M.Sc. degree in computer science and the Ph.D. degree from the University of Pisa, Pisa, Italy, in 1983 and 1990, respectively. She is currently an Associate Professor with the Department of Computer Science, University of Pisa. She has been involved in several research projects. She is also the Local Coordinator of the H2020 European Project Helios: A Contextaware Distributed Networking Framework. Her current research interests include distributed systems, peer-to-peer networks, cryptocurrencies and blockchains, and social network analysis. She has coauthored over 100 articles published in international journals and conference/workshop proceedings in these fields. Dr. Ricci has served as a program committee member and the chair for several conferences. She has been the Program Chair of the 19th edition of International Conference on Distributed Applications and Interoperable Systems (DAIS). She is an Organizer of the Large Scale Distributed Virtual Environments (LSDVE) Workshop held in conjunction with EUROPAR conference.