# Collision Avoidance Geographic P2P-RPL in Multi-Hop Indoor Wireless Networks
## 1 Introduction  
In Internet of Things (IoT) applications, IoT devices have unique addresses and establish ubiquitous connectivity with each other. IoT devices generally have limited CPU, memory, and power resources with low data rates, short communication ranges, and dynamically changing network topologies in LLNs. The IPv6 routing protocols in IoT applications should provide enhanced services and qualities by reducing the protocol complexity and speeding up routing request procedures by supporting seamless connectivity. The Routing Protocol for Low Power and Lossy Networks (RPL) is one of the most important routing protocols utilized in the IoT application network layer [1]. In home and building automation applications, point-to-point (P2P) communication is the prevalent traffic pattern [2, 3]. Although the default RPL implementation supports P2P traffic, the P2P approach introduced by the standard RPL has high cost routingoverheads [4; 5]. If two nodes want to communicate with each other, packets must be sent upward to the first common ancestor or the root node in the worst case and downward to the destination. This strategy creates congestion around the root node and increases the route discovery latency significantly. IETF standardized P2P-RPL with a reactive multicast mechanism for quick and root-independent route discovery [6]. The use of P2P-RPL avoids the congested routing traffic around the root node and reduces the routing path length. P2P-RPL floods the entire network with control packets to discover routes, which results in a large amount of control overheads and huge energy consumptions. A large number of collisions may occur particularly when different sources initiate P2P route discovery simultaneously, which can increase the latency of finding a new route from the source node to destination node. The trickle timer algorithm is one of the major components in an RPL system. The trickle algorithm aims to transmit the code and update it to every connected nodes in the network in a scalable, simple, and energy-efficient manner [7]. The non-deterministic message suppression performed by a trickle algorithm may generate suboptimal route formation when high message suppression is performed. Moreover, the trickle algorithm suffers from a slow convergence time due to the long listen-only period [8; 9; 10; 11]. The inherited delay is accumulated at every hop, resulting in an increased overall delay proportional to the number of hops. These large routing overheads and long latency for P2P route discovery are not suitable for the routing requirements of IoT applications in LLNs. In this paper, we propose the Collision Avoidance Geographic P2P-RPL to reduce the overheads in route discovery packet flooding procedure and the convergence route discovery latency. The location information is obtained from the cooperative multi-hop self localization algorithm in Impulse-Response Ultra-WideBand (IR-UWB) networks. The Collision Avoidance Geographic P2P-RPL exploits the location information to limit the search space for a desired route and to determine the transmission priority value related to the geographic position information. Reducing the network search space results in fewer control messages for P2P route discovery. Depending on the priority value related to the geographic position, the listen-only period of the trickle algorithm is dynamically selected. The node with the higher priority value has the shorter listen-only period. The higher prioritized node with the shorter listen-only period transmits the message earlier than other nodes, which can reduce the route discovery latency significantly. In indoor location-based services, positional accuracy, privacy, low cost, low power consumption, reliability, continuity of service, and a short response time are required. The proposed Collision Avoidance Geographic P2P-RPL can provide fast, energy-efficient P2P data delivery without reducing the networking reliability. The remainder of this paper is organized as follows.