# Energy-Efficient Check-and-Spray Geocast Routing Protocol for Opportunistic Networks
## 1 Introduction  
In an OppNet, due to the highly dynamic low density, the limited power of nodes, intermittent connectivity and high error rates, an end-to-end path between the source and destination nodes is not guaranteed. Instead, the nodes communicate through short-range wireless interfaces (such as Wifi, Bluetooth, to name a few) and forward the data packets using the Store-Carry-Forward mechanism [1]. Typically, that each node stores the data packets in its buffer, and when it meets another node opportunistically, it forwards the duplicated data packets to that node, hoping that the latter will carry them towards their destination. In this context [2], sending a message from a node to one destination node is called unicasting. In case the message is to be routed to a specific area instead of a selected node, and then flooded to all the nodes within that area, the process is referred to as geocasting [3].  
In the most recent literature [4], solutions for routing the message towards the destination cast have been proposed. However, in the context of opportunistic networks (OppNets), to the best ofour knowledge, only a few routing protocols that support the geocasting mechanism have been investigated [5; 6; 7; 8; 9; 10; 11]. For any geocasting protocol, it is expected that the message be delivered in the destination area first, then efficiently disseminated within the destination cast. Implementing such an approach requires the consideration of spatial and temporal domains while following some restrictions in terms of nodes' resources.  
In this paper, a novel routing protocol called Energy-Efficient Check-and-Spray Geocast Routing (EECSG) protocol for OppNets is proposed, whose main purpose is twofold: (1) efficiently deliver a message from its source to a destination location (or cast), and (2) efficiently deliver the message to all nodes within the geocast region using a controlled flooding mechanism. It also follows the current member delivery membership model i.e., all the messages are scheduled to a targeted area, and the information on this (such as endpoint identifier) is embedded into the messages' block. Whenever a node receives a message, it will match it with its own location with the message's endpoint identifier before forwarding it to any other node. The design of our proposed EECSG protocol fundamentally differs from the previous work [5; 6; 7; 8; 9; 10; 11] as follows: (1) The location information on any node is acquired on-the-go using location sampling and a location maintenance strategies; (2) Message endpoint identification and cast definition are used for membership check, and an energy-efficient controlled flooding mechanism (so-called Check-and- Spray) is utilized to distribute the geo messages to all nodes within the geocast region; (3) A forwarding utility metric is computed to quantify the routing contribution that can be made by the nodes encountered outside the destination cast, and based on this, a relay node is selected to carry the message forward towards its destination.  
The rest of the paper is organized as follows. In Section 2, related work on geocasting routing protocols for OppNets are presented. In Section 3, the proposed EECSG routing protocol is presented. In Section 4, the performance evaluation of the EECSG protocol is presented. Finally, Section 5 concludes the paper.