1. Introduction
Cellular telephony is an extensively used communication technology. There are approximately eight billion active cellular subscriptions globally with approximately half of those users added in the last few years, mostly in developing areas [
1]. Currently, mobile-cellular subscribers are more than the total population of the world. This is because people enjoy more than one subscription to take advantage of competing data plans of different cellular operators and so forth. Therefore, in many developing areas, cellular networks have replaced conventional landline telephone systems because of easy usage and the low cost of deployment. However, natural or man-made disasters can disrupt or fully destroy the cellular and land line telecommunication infrastructures and services in the effected areas. Recently, in September 2014, Hurricane Odile struck Mexico’s Baja California coasts [
2]. The hurricane of category four destroyed many towns, causing the massive destruction of the electrical infrastructure that left over 90% of the population without electricity. The destruction of the communication infrastructure resulted in the absence of cooperation between the aid organizations; consequently, thousands of individuals endured hardship, due to mismanaged rescue operations. After the distractions of a disaster, the communication among rescue groups, such as firemen, police officers, and paramedics is vital. In particular, the feedback of first rescue responders is extremely important for an effective rescue and restoration operation. From a networking perspective, the aim is to recover connectivity to offer at least temporary communication services to rescue groups. One way to overcome these issues is to arrange network components, such as relays, access points, or routers to create a temporary network on request [
3]. This needs a quickly deployable network to perform the required relief efforts, including helicopters and first responders on the floor that can save many lives. In addition, to guarantee the safety of survivors in the disaster-affected region, it is very important to manage stranded people’s requests in a timely manner to provide a general picture of the total injuries, relocation method, emergency needs, and so forth [
4,
5]. Furthermore, in an attempt to rapidly handle and deliver food and other resources to displaced inhabitants, the need for a secure and reliable communication network that is easy to deploy and relies on radio waves instead of a data cable would be a good choice for communication in disaster situations [
6].
In this work, we propose a rapidly deployable system using multi-hop relays for a post-disaster wireless ad hoc network, named RDSP. The RDSP aims to reduce the average waiting times for transmitting the rescue groups and victim’s location information towards the control server. In addition, the RDSP scheme enables intermediate relay devices to dynamically select their IDs on the basis of the information provided by their neighbor relays and then each intermediate relay selects the best forwarders towards the control server to minimize end-to-end and round-trip message delivery delays. Finally, the client device is used to transmit victim’s information via Wi-Fi towards the control server, which then alerts emergency rescue teams to deliver food and other resources to displaced and stuck survivors.
The remainder of this paper is organized as follows.
Section 2 summarizes the related work.
Section 3 explains the flow charts and algorithms for the client, relay, and server devices.
Section 4 describes the performance evaluation and compares the performance of the RDSP with the existing scheme. Finally,
Section 5 provides the concluding remarks.
2. Related Work
Improving the emergency response times in post-disaster situations, where the basic communication infrastructure is completely dismantled, is a critical and challenging task. In such a situation, rapidly deployable networks are needed to enable first responders to interact with disaster survivors, each other, and the control room. These networks operate under challenging conditions, such as power constraints and establishing a network back haul; further, the network must be easy to deploy, operate, and maintain. To mobilize the smooth transit of rescue teams for providing emergency services in disaster situations, a number of disaster management schemes or rapid deployment systems have been proposed in the literature that mainly focus on emergency communication in order to connect first responders to the control server.
Authors in [
4,
7,
8] demonstrated the importance of rapidly deployable systems in disastrous scenarios, and provided a survey of the number of schemes that offer adequate post-disaster emergency services. They further discussed the features of the existing systems in the post-disaster environment including their advantages and disadvantages. The authors in [
7] also looked at the networking parameters that are essential in a disaster environment, such as routing overhead, topology management, energy efficiency, and multimedia bandwidth usage.
The authors in [
5] have developed an energy efficient routing protocol that limits the number of duplicate messages transmission to improve the data delivery ratio and extend the operating time of battery-powered devices. The protocol reduces duplicate messages by finding recurring contacts and generates a routing table that uses recurring contacts to transmit a message to a destination. By finding repeated contacts and creating a routing table that utilizes these repeated contacts to send a message to a destination, the proposed protocol considerably reduces the number of control and operation management messages. Owing to reduction in message transmissions, their protocol improved the overall network energy consumption, while maintaining a high delivery rate.
In [
9], the authors have proposed an infrastructure independent device-to-device decentralized network system. Various devices, such as GPS, camera, sensors, and transceivers communicate without centralized coordination. The system works without any base station or access point, as devices communicate with each other when the infrastructure is not available because of an accident or emergency. For the communication within a local vicinity, the devices adopt TDMA to assign a specific slot to each device for communication purpose.
In [
10], the authors proposed the concept of rescue base stations (RBS). The RBS is a GSM-compatible solar power drop-in communication system especially designed for disaster scenarios. The proposed system consists of a number of disconnected RBS(es) that provide GSM facilities to a number of registered individuals lying in their coverage range. Each RBS locally stores call/SMS data. Since RBS(es) are disconnected and do not share any network link, individuals with android devices act as information carriers between disconnected RBS(es) to transport the necessary information from one RBS to another.
In [
11], the authors proposed a system to help military officers in critical situations, such as war conditions or attacks in a gangster area. In military warfare, a robust communication system is required so that the military head can communicate with the soldiers and relay the information easily. A mobile robot is utilized to carry and deploy the nodes at the scene of incident. However, nodes have restricted ranges and can be damaged as the robot moves around snags. The proposed system has communication limitations in situations where no line of sight will be available, such as in urban area.
In [
12], the authors proposed a robot-assisted scheme, which assists the intermediate nodes between source and destination to relay a message over a long distance. The proposed system deploys robots that utilize mesh technology to create autonomous broadband wireless networks. The actions of robots are controlled by relative signal strength indicators (RSSI). By redistributing the network nodes, it is possible to increase the existing system’s throughput. The system is adaptable, self-forming, and self-healing.
Energy in rapidly deployable networks is a major constraint, because the intermediate relays consume a high amount of energy while establishing a connection with other nodes, exchanging information, and routing critical information towards the command center [
13,
14]. Since wireless relays are battery powered and have a limited power supply, an energy-efficient routing protocol is essential for rapidly deployable networks.
The authors in [
15] outlined an ad hoc airborne communication scheme using balloons, having excellent line-of-sight, wide transmission range, and low interference. The flying balloons create a multi-hop ad hoc network and get access to internet through an internet gateway placed in disaster hit areas. The rescue workers access internet services by connecting the flying balloons. On each balloon, a Global Positioning System (GPS) receiver is installed to find the balloon’s position.
In work [
16], the authors proposed a Movable and Deployable Resource Unit (MDRU). The goal of the MDRU is to transport resources to a disaster location and set up the network to provide the necessary communication services after a disaster. A van-type MDRU was deployed to establish a temporary network in disaster zones. The van carries all necessary equipment required to establish ad hoc communication at the disaster area. The authors in [
17] suggested a model to enhance the MDRU-based network’s energy resource utilization and spectrum improvement. The proposed model consists of two stages, named topology formation and transmission division. The former stage configures the gateways of the k spectrum and the later stage divides the transmission from the sender gateways to the MDRU resource unit.
In [
18,
19,
20,
21,
22,
23,
24,
25], the authors proposed various deployment schemes for disaster response to a building collapse, search and rescue, as well as a resource request through ad hoc networks. In [
18], the authors proposed a novel approach, called Supporting Urban Preparedness and Emergency Response using Mobile Ad hoc Network (SUPER-MAN). The main objective of that approach was to enable structural engineers and first responders to efficiently disseminate a damaged building status and resource request information towards the control sever with minimum possible interference and delays. The proposed SUPER-MAN system relies on Radio Frequency Identification (RFID) tags to store assessment information during disaster. A Mobile Ad hoc Network (MANET) of RFID tags is established where Dynamic Source Routing (DSR) is implemented as the routing protocol.
In [
19], the authors proposed a novel method using a ground penetrating radar (GPR) that automatically detects, locates, and characterizes empty space within disaster rubble. In the proposed method, radargrams are preprocessed to segment the boundaries of empty spaces on the basis of radar signal patterns. To search for uncertainties, 95% confidence intervals are constructed around the segmented boundaries. The geometric relations of the detected boundaries and their signal characteristics are examined to confirm the existence of free space and to improve detection accuracy. Then, the calibrated velocity of a radar wave and its travel time are used to estimate the location and dimension of empty spaces or voids.
In [
20], the authors proposed an emergency resource repository portal (E2RP) system, which is a web-based geo-database service that enables on-site and off-site decision makers to access resource information. The whole E2RP framework incorporates a web collaboration service, radio frequency identification RFID tags, a building blackbox system BBS, a geo-database, and a geographic information system GIS. The E2RP framework provides first responders, including civil engineers, a collaboration medium that enables them to actively respond to disasters. The framework also provides access to critical building information through the BBS. RFID tags are used to store building information which is accessible to first responders through the wireless adhoc network. The GIS is used to locate, collect, and distribute resources to first responders.
In [
21], a Geographic Information System (GIS)-based framework is proposed that facilitates equipment allocation during disasters. The proposed framework incorporates three subsystems to assist in information gathering and decision making. First, an application is developed that runs on mobile devices to request on-field resources. Second, a resource repository is deployed with a geospatial database that allows a graphical interface to spatially query resources. Additionally, a GIS is introduced that allows for automatic decision-making, such as matching resources and identifying routes for resource distribution. The proposed framework incorporates decision models into the system to assist complex decision-making during equipment delivery.
In [
22], the authors proposed a state-of-the-art technique for collecting data and extracting information to avoid disaster-related injury and post-event damage. A database repository based on GIS, called Extreme Events Database Viewer (EEWV), is being developed to store spatial and temporal data that defines communities before and after disasters. This web platform can store multiple geolocated data formats including photographs and 360° videos. A tool was designed to automatically extract photographs from 360° video data. Extracted images provide a manageable data set to efficiently document the characteristics of buildings and the surrounding environment. The propose system’s main objective was to find buildings that were vulnerable to floods and storms. To this end, 1950 buildings were filmed passively with a 360° camera mounted on the vehicle. In order to train a deep learning neural network, these extracted building images were used by the neural network to determine whether a building was elevated or not.
In [
23], the authors proposed a Reliable Routing Technique (RRT) that ensures reliable data delivery towards the destination device, using mobile devices that are carried by moving people in the incident area. Each mobile device broadcasts the received message towards the destination by maintaining a priority list of probable forwarding candidates. The proposed RRT technique guarantees that the second priority candidate will forward the data packet to the destination device if the first priority candidate is unable to forward the data packet due to its mobility, thus ensuring the reliability of data delivery in the network.
The concept of breadcrumbs is introduced by the authors in [
26,
27,
28,
29]. Breadcrumbs are tiny and cost-efficient relay devices. Their only objective is to relay packets between edge nodes. Thus, in disaster scenarios, rescue team members carry several breadcrumb devices along with a mobile radio to communicate with command center via breadcrumb devices. Rescue team members must regularly drop breadcrumb devices as they explore the disaster area in order to retain end-to-end connectivity with the control server. The breadcrumb relays are dropped to create a static ad hoc network on demand. The command center retains contact with the rescue teams members via relays dropped by the rescue team to enlarge the coverage area. The breadcrumb approach guarantees reliable communication, offers an increased coverage area and eliminates the probability of network partitioning.
Extensive research was carried out to address the problem of the decision of the deployment of breadcrumb. Each proposal describes its own deployment algorithms but they have various common features. Some algorithms monitor the link quality by measuring the signal-to-noise ratio (SNR) [
26], bandwidth [
27], or received signal strength indicator (RSSI) [
28]. A threshold is set to trigger a deployment event. When the quality of the link falls below this limit, a fresh relay must be dropped by the user. For instance, a pre-defined threshold is used for all applications [
26] and [
28], whereas in [
27], the threshold is set based on the bandwidth requirement of each application. In [
28], the authors have proposed an ad hoc deployment system to efficiently communicate with victims during disasters. In the proposed system, two types of control information are used for the deployment of relay i.e., relay is deployed either because the link quality degradation is detected by the mobile user, or because an explicit relay deployment request is received by the mobile user from its neighbors. The disaster area could be sufficiently large; therefore, relays support multiple hop transmission to leverage end-to-end communication among each other. The command center is located on the outskirts of the incident region and members of the rescue team begin moving from the command center and move in separate directions into the incident scene. It is assumed that mobile users are connected with each other and with the command center at any time. A mobile rescue team member can drop a relay device if required to maintain connectivity. Each mobile user determines where and when a relay device should be deployed by running an algorithm and alerting the host user through some devices, such as blinking or strong light or sound, when it is necessary to unfold the network. Similarly, in [
26], the authors proposed an algorithm where relays perform a rapid evaluation of a physical layer to decide on the deployment of the next relay. The relay constantly transmits probe packets to the relays that have been dropped before. A receiving relay responds with an acknowledgment packet if it is within the communication range. Then, through ACK reception, the transmitting relay calculates the SNR; if the value of the SNR drops below the threshold level, a new relay is dropped.
The breadcrumb approach provides a suitable solution to extend the coverage area for rescue teams in disaster situations. However, this approach does not offer redeployment possibilities because the relays do not have their own mobility. Indeed, as mentioned in the above proposals, the first responders must drop breadcrumb devices to set up an ad hoc network. However, this is not necessarily the perfect solution. This is because when the first responders join the rescue operation, relay deployment is not their first priority. Hence, they may forget to drop a relay or merely miss the deployment signal. To solve this problem, an automatic breadcrumb dispenser is proposed in [
29]. A Utility Function (UF)-based algorithm is proposed that sets criteria to deploy new breadcrumbs automatically. The UF based algorithm works as follows: the requester broadcasts a help message to initiate the algorithm. After receiving a help message, all the neighbors of requester send their data (number of breadcrumbs) to the requester. Following a predefined timeout, the requester calculates the value of each of its neighbors’ utility functions and transmits a drop message to a neighbor with the highest UF value to deploy a new breadcrumb.
As described above, the existing breadcrumb approaches only focus on the efficient deployment of breadcrumbs to enlarge the coverage area and eliminate the probability of network partitioning. These approaches, however, do not provide effective routing schemes to deliver emergency request messages with minimum latency to the command center. Indeed, these breadcrumb approaches utilize existing routing protocols already developed for mobile ad hoc networks. This is not, however, a perfect solution. This is because breadcrumb devices are utilized as battery-driven intermediate relays, and the current routing schemes can rapidly deplete the battery life of these devices. To efficiently utilize the battery life of breadcrumb devices, the network protocol should be designed in a manner to create the shortest multi-hop path between the command server and the rescue team with a reduced control message overhead and a minimum end-to-end message delivery delay. Furthermore, the current breadcrumb approaches do not provide the command server with any data regarding the location of first responders, which ultimately makes it very difficult to find the victims and rescue team positions in post-disaster situations. To the best of our knowledge, no work exists that both designs a unique routing protocol for breadcrumb devices and incorporates location information of victims to determine their distance from the command server.
Therefore, the major contribution of this study comprises a rapidly deployable system that both delivers request messages to the command server by utilizing novel routing schemes and also manages the location information of victims to calculate their distance from the command server. The novel routing scheme consists of a Dynamic ID Assignment (DIA) algorithm and a Minimum Maximum Neighbor (MMN) algorithm. The DIA algorithm is used by relay devices to dynamically select their IDs on the basis of all available IDs of networks. Whereas, the MMN algorithm is used by the client and relay devices to dynamically select their next neighbor relays for the transmission of messages. In addition, we provide details of algorithms performed by the client device, relay device, and server device. Furthermore, extensive real time experiments are preformed to demonstrate how the proposed RDSP scheme reduces the control messages’ overhead to deliver the request messages with a minimum end-to-end delay and an increased message delivery ratio in post disaster situations.
3. System Architecture of the RDSP Scheme
This section presents the architecture of the RDSP scheme, which aims to reduce the average waiting times for transmitting victim’s information towards the server by utilizing the following key features:
Client Device: The client devices are the end point communication devices held by rescue team members and victims. The client device is a WiFi-enabled device that manages to transmit the victim’s location information to the server device using relay devices. The client devices are used to establish the communication between rescue teams and server and to send feedback about the emergency situation.
Relay Device: Relay devices are randomly deployed at a distance of 90 m from each other to transmit the victim’s location information generated by the client device towards the server and then send back acknowledgment information to the client device. Relay devices dynamically connect with each other in a manner to establish the shortest path towards the server.
Server Device: The server device continuously listens for the arrival of incoming messages sent by the client device via relay devices in order to alert the rescue teams. Moreover, it sends the control and operational messages and is also responsible for receiving the feedback from rescue teams.
Figure 1 illustrates a deployment scenario of the RDSP system after disaster. When disaster occurs, the rescue team members will deploy the RDSP system as follows: A server device is installed in the incident area that will receive updates from rescue teams and victims. Additionally, rescue team members will move forward towards disaster areas while deploying relay devices at equal distances of about 90 m until any victim is sighted. Then, the client device that is carried by the rescue team members is used to send the victim’s position information to the server. The distance of 90 m between relays is managed by incorporating GPS modules in relays. After the server module is installed in an incident area, we start deploying the relays as follows: First of all, the first relay wirelessly connects with the server module. Afterwards, while carrying the relay and moving away from the server module, the relay continuously calculates its distance from the server using the GPS module that provides location coordinates of the relay module, whereas the location coordinates of the server are fixed and known to the relay module. If the calculated distance is 90 m, a green LED (installed on relay module) lights up, indicating to drop the first relay module at that particular position. Similarly, a second relay is chosen which connects with the first relay and the distance between the first relay and the second relay is again calculated by the second relay and it is dropped when the green LED on the second relay lights up. Following this procedure, all the relay devices manage to maintain a distance of 90 m between each other. The 90 m distance was selected because the relay device uses WiFi technology that has a transmission range of 90 m. However, the transmission range can be increased by using other advanced technologies, which is highly application dependent. It is indicated in
Figure 1 that both the client device and relay device communicate wirelessly with the server device via WiFi. The server device manages all the request messages received and sends back an acknowledgment to the client device to ensure the reception of the request message.
Figure 2 presents a flow chart of the server device. After the initialization, the server waits for the arrival of request messages. If a message arrives, the server sends back an acknowledgment message to the client device via relay devices and generates an alarm message to alert the rescue teams.
Algorithm 1 presents the operation of the microcontroller in the server device. The input to the server device is a request message
, whereas the output is an acknowledgment message and an alarm message. As shown in step 2, the server device continuously waits for the detection of
. If
is detected, alarm message is generated, acknowledgment is sent back to the client device and
is printed on screen. The microcontroller in the server device utilizes the Haversine formula [
30] to determine the distance between the client device and server. This process is defined by the following Equation (
1):
where
is the latitude,
is longitude (in radians).
Algorithm 1 Server device |
Input: (Request message containing node ID, message ID, and GPS coordinates) Output: (Acknowledgment message) (Alarm message generated) |
- 1:
procedure - 2:
Step 1: defining and initializing variables - 3:
Step 2: detecting events - 4:
while 1 do - 5:
if then - 6:
Generate - 7:
send back - 8:
Print request message on screen. - 9:
end if - 10:
end while - 11:
end procedure
|
Figure 3 shows the flow chart of the relay device. After initialization, the relay device scans for available networks and applies the Dynamic ID Assignment (DIA) algorithm (explained later in Algorithm 2) to generate its own ID. Then, the Minimum Maximum Neighbor (MMN) algorithm is utilized that returns minimum and maximum IDs (explained later). Afterwards, the relay device waits for the arrival of messages. If the request message arrives, it selects the minimum ID to transmit the message to the server. The relay with the minimum ID is selected because it is much closer to the server (as will be explained later in the DIA algorithm) and delivers the message in minimum possible time. However, if an Ack message arrives, the relay device selects the maximum ID to transmit the message back to the client.
Algorithm 2 Dynamic ID Assignment (DIA) |
Input: (Available Networks) Output: (Assigned ID ) |
- 1:
procedure - 2:
Step 1: defining and initializing variables - 3:
= Array containing available networks IDs - 4:
= First index of - 5:
= Second index of - 6:
Step 2: Assigning ID to relay - 7:
Store in - 8:
Sor t in ascending order - 9:
= [ ] - 10:
if then - 11:
= [ ] - 12:
end if - 13:
= +1 - 14:
end procedure
|
Algorithm 2 presents the dynamic ID assignment (DIA) algorithm. This DIA algorithm is used by relay devices to dynamically select their IDs based on all the available IDs of networks. Initially, it is assumed that the server has an ID = 0 and all the deployed relay devices have an ID = −1. As shown in step 2, each relay device stores available network IDs in . Then, is sorted in ascending order. Finally, the relay device generates its own ID by selecting the first index of as it the contains minimum ID. However, if the first index of contains −1, then the second index of is selected and incremented by 1.
The detailed procedure of the DIA algorithm is explained in
Figure 4. All relays are deployed randomly at a distance of 90m and initially their IDs are −1 and the server ID are 0, as shown in
Figure 4a. According to
Figure 4b, relay X will receive network IDs 0 and −1 from server S and relay Y, respectively. By applying the DIA algorithm, relay X will choose the positive minimum ID, i.e., 0 and increments it by 1. Therefore, the ID of relay X becomes 1. Similarly, in the same fashion, relay Y will receive IDs 1 and −1 from relay X and Z, respectively. As shown in
Figure 4c, after applying the DIA algorithm, relay Y will chose the positive minimum ID, i.e., 1 and increments it by 1. Therefore, the ID of relay Y will become 2 and this process will continue until all the relays will be assigned dynamic IDs, as shown in
Figure 4e. Hence, it can be seen from
Figure 4 that relays having lower IDs are much closer to the server as compared with relays having higher IDs.
Algorithm 3 presents the MMN algorithm. This MMN algorithm is used by client and relay devices to dynamically select their next neighbor relays for the transmission of messages. As shown in step 2, each relay device stores available network IDs in
. Then,
is sorted in ascending order. Finally, the relay device finds
and
by selecting the first and last index of
, respectively.
Algorithm 3 Minimum Maximum Neighbor (MMN) |
Input: (Available Networks) Output: and |
- 1:
procedure - 2:
Step 1: defining and initializing variables - 3:
= Array containing available networks IDs - 4:
= First index of - 5:
= Last index of - 6:
Step 2: Finding Minimum and Maximum IDs - 7:
Store in - 8:
Sort in ascending order - 9:
= [ ] - 10:
= [ ] - 11:
end procedure
|
The detailed procedure of the MMN algorithm is explained in
Figure 5.
Figure 5a shows that all the relays have been assigned IDs after applying the DIA algorithm, as explained earlier in Algorithm 2. Afterwards, each relay will select its next neighbor relay for the transmission of messages. It is shown in
Figure 5b that relay X will receive IDs 0 and 2 from server S and relay Y respectively. By applying MMN algorithm, relay A will choose 0 as the minimum ID and 2 as maximum ID. Similarly, in the same fashion, relay Y will receive IDs 1 and 3 from relay X and Z, respectively. After applying the MMN algorithm, relay Y will chose 1 as the minimum ID and 3 as the maximum ID.
Algorithm 4 presents the code for the microcontroller in the relay device. The input to the relay device is a request message
, an acknowledgment message
, and available networks
. The output is either a request message or an acknowledgment message. As shown in step 1, the relay device scans for available networks and then it applies the DIA algorithm to select its ID and then the MMN algorithm to select minimum and maximum neighbor IDs. Then in step 2, the relay device continuously waits for the detection of events. If
is detected, then the request message is sent to the next relay node having
. However, if
is detected, then acknowledgment is sent back towards the client device via the next relay node having
.
Algorithm 4 Relay device |
Input: (Request message containing node ID, message ID and GPS coordinates) (Acknowledgment message) (Available Networks) Output: (Request message containing node ID, message ID and GPS coordinates) (Acknowledgment message) |
- 1:
procedure - 2:
Step 1: defining and initializing variables - 3:
Scan - 4:
Apply DIA Algorithm (assigns ID) - 5:
Apply MMN Algorithm ( returns Min & Max ID) - 6:
Step 2: detecting events - 7:
while 1 do - 8:
if then - 9:
send to - 10:
end if - 11:
if then - 12:
send to - 13:
end if - 14:
end while - 15:
end procedure
|
Figure 6 shows the flow chart of client device. The client device includes a GPS system, a microcontroller, WiFi device, and a push button. The GPS device is utilized to receive the latitude and longitude information of the victim. The microcontroller is utilized to transmit the victim’s position information to the server via the WiFi module. As shown in the flowchart, after initialization, the client device scans for available networks and applies the MMN algorithm that returns the minimum and maximum IDs (explained earlier). Afterwards, the client device reads the status of push button. If the push button is pressed, it connects with the relay node having a minimum ID. The client device then reads the GPS coordinates and transmits the request message towards the server via multi hop intermediate relays. The relay with a minimum ID is selected because it is much closer to the server (as explained earlier in DIA algorithm). After sending the request message, the client device waits for the arrival of the acknowledgment message. If acknowledgment is received, it is then printed on the screen.
Algorithm 5 presents the code for the microcontroller in the client device. The input to the client device is the push button
, acknowledgment message
, GPS coordinates
, and available networks
. The output is a request message
. As shown in step 1, the client device scans for available networks and it applies the MMN algorithm to select minimum and maximum IDs. Then, in step 2, the client device continuously waits for the detection of events. Since, the client device includes a push button that is pressed by a rescue team member if any victim is sighted. Therefore, if the push button
is detected, the client device reads
and transmits the request message to the next relay node having
and continuously waits for the arrival of the acknowledgment message. If the
is detected, then acknowledgment is printed on the screen.
Algorithm 5 Client device |
Input: (Push button) (Acknowledgment message) (GPS coordinates ) (Available Networks) Output: (Request message containing node ID, message ID, and GPS coordinates) |
- 1:
procedure - 2:
Step 1: defining and initializing variables - 3:
Scan - 4:
Apply MMN Algorithm ( returns Min & Max ID) - 5:
Step 2: detecting events - 6:
while 1 do - 7:
if then - 8:
read - 9:
send to - 10:
end if - 11:
if then - 12:
Pring on screen - 13:
end if - 14:
end while - 15:
end procedure
|
Figure 7a shows a sample network scenario to explain the working procedure of the RDSP system. As shown in the figure, relays are deployed in a manner to establish two different paths between server device S and client device C. The first path is defined by C,
,
,
, S whereas the second path is defined by C,
,
,
,
,
,
,
, S. After deployment, each relay node applies the DIA algorithm to select the dynamic ID based on available networks.
As shown in
Figure 7a, after applying the DIA algorithm, the IDs of
,
,
are 1, 2, and 3 respectively. Similarly IDs of
,
,
,
,
,
,
are 1, 2, 3, 4, 5, 6, 7, and 8 respectively. After ID assignments, each relay and client node applies the MMN algorithm to to select
and
. Client C receives ID 3 from relay
and ID 8 from relay
. Therefore, client C selects 3 as the minimum ID and 8 as the maximum ID. Similarly, relay
selects 2 as the minimum ID and relay
selects 7 as the minimum ID. Both relay
and relay
only receive IDs from relay
and relay
respectively but not from client C as client C has no ID. Relay
receives ID 1 and 3 from relays
and
, respectively, and hence, selects 1 as the minimum and 3 as the maximum ID. This process is continued until all relays select their minimum and maximum neighbor IDs.
Figure 7b shows how the request message
is sent from client C to server S. According to Algorithm 5, if the push button is pressed, the client device sends the request message to a neighbor having
, that is, relay
having ID 3. Therefore, client C sends the request message to relay
instead of relay
. According to Algorithm 4, if the request message is received, the relay device sends it to a neighbor having
. Therefore, relay
sends the request message to relay
. Afterwards, relay
sends it to relay
having ID 1. Finally, relay
sends the request message to server S having ID 0.
Figure 7c shows how the Ack message is sent back to the client device from server S. According to Algorithm 1, server S sends back the acknowledgment message to relay
. As described in Algorithm 4, if the acknowledgment message is received, the relay device sends the received acknowledgment message to a neighbor having
. Therefore, relay
sends the acknowledgment message to relay
having ID 2. Afterwards, relay
sends it to relay
having ID 3. Finally, relay
sends it to client C.