## 5 System Evaluation  
The following metrics were used to evaluate the LORA-CBF algorithm in a hierarchical and a flat architecture.  
* Route discovery time (latency): the amount of time the source has to wait before sending the first data packet.
* Packet delivery ratio: the ratio of the number of data packets delivered to the destination and the number of data packets sent by the sender. Data packets may be dropped en route exclusively if the next hop link is broken at the moment the data packet is ready to be transmitted.
* Average end-to-end delay of data packets: all of the possible delays caused by buffering during route discovery, queuing at the interface queue, re-transmission delays at the MAC, and propagation and transfer times.
* Throughput: the average rate of successful message delivery over a communication channel.
* Routing load: the routing packets transmitted per data packet transmitted. This provides an idea of network bandwidth consumed by routing packets with respect to 'useful' data packets.
* Overhead (packets): the total number of routing packets that are generated divided by the total number of data packets transmitted, plus the number total routing packets.  
In the Figure 5, the red line represents the hierarchical architecture and the blue line the flat architecture. Figure 5(a) shows that the latency of the flat algorithm increases linearly in proportion to the number of hops. On the other hand, the latency of the hierarchical algorithm increases irregularly because of its group formation mechanism. However, it is important to note that regardless of whether the algorithm is flat or hierarchical, latency increases proportionally to the number of hops. Figure 5(b) shows the Packet delivery ratio. In this scenario, both the flat and hierarchical algorithms behave the same. Figure 5(c) shows that End-to-End delay increases proportionally for both algorithms, although the flat algorithm's End-to-End delay increases linearly while the hierarchical algorithm's increase in End-to-End delay is more irregular due to its group formation mechanism. This mechanism substantially increases End-to-End delay. Figure 5(d) represents the throughput which is significantly better in the hierarchical algorithm because of its superior packet transmission mechanism, which substantially reduces the possibility of collisions. Figure 5(e) shows the routing load. The flat algorithm performs better than the hierarchical algorithm with regards routing load because it does not have a group formation mechanism that can increase packet transmission. Figure 5(f) shows overhead (packets) which is the total number of routing packets that are generated divided by the total number of data packets transmitted, plus the number total routing packets. Again, the flat routing algorithm performs better than the hierarchical algorithm with regards to overhead.  
In summary, the hierarchical architecture adds more delay in terms of route discovery time, End-to-End delay, routing load and overhead, but it significantly improves throughput. The main advantage of using the hierarchical architecture _vs_. the flat architecture is network scalability. The hierarchical architecture is more scalable and can handle a greater number of nodes.