equipped with underwater sensors, are also envisioned to find application in ..... lifetime of AUVs, i.e., it is not necessary to recover and recharge the vehicle.
Tanta University Faculty of Engineering Computers and Control Engineering Department
Modelling and Performance Enhancement of Underwater Wireless Sensor Networks by Petri Nets A Dissertation Submitted in fulfillment of the Degree of Doctor of Philosophy in Electrical Engineering (Computers and Control Engineering) By
Eng. Dina Mahmoud Ibrahim Hussein Assistant Lecturer at Computers and Control Engineering Dept., Faculty of Engineering, Tanta University
Under the Supervision of
Prof. Dr. Mahmoud M. Fahmy Emeritus Professor, Computers and Control Engineering Dept., Faculty of Engineering, Tanta University
Assoc. Prof. Dr. Elsayed A. Sallam Associate Professor, Computers and Control Engineering Dept., Faculty of Engineering, Tanta University
Assoc. Prof. Dr. Tarek E. Eltobely Associate Professor, Computers and Control Engineering Dept., Faculty of Engineering, Tanta University
- i-
Viva Voće Date: Place: Faculty of Engineering, Tanta University
Committee
Prof. Dr. Mahmoud M. Fahmy Emeritus Professor, Computers and Control Engineering Dept., Faculty of Engineering, Tanta University, Egypt
Prof. Dr. Mohamed N. Elderini Vice Rector for Graduate Studies and Research, Pharos University, Alexandria, Egypt
Prof. Dr. Elsayed M. Elrabeie Emeritus Professor, Faculty of Electronic Engineering, ElMenofyia University, Egypt
Assoc. Prof. Dr. Elsayed A. Sallam Associate Professor, Computers and Control Engineering Dept., Faculty of Engineering, Tanta University
- ii-
بسم هللا الرمحن الرحمي
رب زدني علماً وق ل ِّ صدق هللا العظمي سورة طه :من اآلية 111
- iii-
ACKNOWLEDGMENTS
A Dissertation does not just 'happen'. Apart from the reseacher's interest and effort, the guidance and support of the supervisors together with many other kind people are indispensable. I have been truly fortunate in this regard. I would like to acknowledge my indebtedness to my principal supervisor Prof. Dr. Mahmoud M. Fahmy, Emeritus Professor at the Computers and Control Engineering Department, Faculty of Engineering, Tanta University. It was Prof. Fahmy who is my commandant, skipper, and leader. I am likewise indebted to Prof. Fahmy for his expert directives, generous assistance, and continuous encouragement throughout the development of this research work. My indebtedness extends to my co-supervisor Dr. Alsayed A. Sallam, Associate Professor at the Computers and Control Engineering Department, Faculty of Engineering, Tanta University. It was Dr. Sallam who drew my attention to the interesting application of Coloured Petri nets in the design of computer networks. His motivational ideas, witty observations, and constructive criticisms are gratefully appreciated. My gratitude extends also to my second co-supervisor Dr. Tarek E. ElTobely, Associate Professor at the Computers and Control Engineering Department, Faculty of Engineering, Tanta University. It was Dr. Tarek who suggested that my PhD. Dissertation be in the area of wireless sensor networks applications. He at the outset lent me some papers in the wireless sensor networks, where I found them very useful to me in mastering most of the essential concepts and theorems of underwater wireless sensor networks. I would like to give a depth thanks to my friend and colleague, Nada, for always extending help whenever needed. Heartfelt thanks should go to my parents, brothers, and sisters for providing me with warm security and abundant love. My sister Doaa, in particular, deserves a special thank-you for her devoted care of my little daughter during long days and nights when I needed to focus on various simulation models and analyze a host of solution results. I also sincerely wish to thank my husband, Khaled, for his understanding, patience, and tolerance. Without his help, this work would not have been completed. Dedication My PhD. dissertation is dedicated with affection to my daughters, Rowan and Razan, their 'distinguished personalities' fills me with enthusiasm to achieve perfection of everything.
- iv-
Feedback It will be a great pleasure for me to receive comments and enquiries regarding the different aspects of this dissertation. Interested readers and researchers are gently requested to contact me personally, by e-mail, or through the Department, and I promise to respond promptly to each and every correspondence.
Dina M. I. Hussein
- v-
Author’s Declaration I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person nor material which has been accepted for the award of any other university degree, except where due acknowledgements and references have been given in this dissertation.
Dina M. I. Hussein
- vi-
"I do not know what the world may think of my discoveries, but to myself it seems that I have been only a child playing on the seashore; sometimes finding a prettier pebble or more beautiful shell than ordinary, while the unbounded ocean of truth lay undiscovered before me." Sir Isaac Newton (
-
)
- vii-
PUBLICATIONS
) Dina M. Ibrahim, ElSayed A. Sallam, Tarek E. ElTobely, and Mohmoud M. Fahmy, “Coloured Petri Net Model for Vector-Based Forwarding Routing Protocol,” The International Conference in Computing Technology and Information Management (ICCTIM ), pp. - , Dubai, UAE, April, . ) Dina M. Ibrahim, Mohmoud M. Fahmy, Tarek E. ElTobely, and ElSayed A. Sallam, “Enhancing the Vector-Based Forwarding Routing Protocol for Underwater Wireless Sensor Networks: A Clustering Approach,” The Tenth International Conference on Wireless and Mobile Communications (ICWMC ), Seville, Spain, - June, . [Best Paper Award] ) Dina M. Ibrahim, ElSayed A. Sallam, Tarek E. ElTobely, and Mohmoud M. Fahmy, “Modelling of CVBF Algorithm using Coloured Petri Nets”, submitted at the th IEEE International Conference on Computer Engineering and Systems (ICCES), Ain Shams University, Cairo, Egypt, - December, .
- viii-
The Dissertation at a Glance An enhanced Clustering algorithm for the Vector-Based Forwarding (VBF) routing protocol is developed. Comparison with other famous algorithms demonstrates the superiority of the proposed algorithm. Two CPN models for routing protocols in UWSNs are introduced. The first model is for Vector-Based Forwarding routing protocol and the second model is for the Clustering VBF routing protocol (proposed algorithm). In both cases, the model is tested and verified by state space analysis and performance evaluation to guarantee liveness, responsiveness and free from deadlocks.
- ix-
Abstract This dissertation is concerned with two contributions. The first contribution is introduced for enhancing and improving the performance of routing protocols in Underwater Wireless Sensor Networks (UWSNs) and the second contribution is concerned with modelling and verifying UWSNs routing protocols on the basis of Coloured Petri Nets (CPNs). In the first contribution, an algorithm to improve the performance of the Vector-Based Forwarding (VBF) is proposed which we call a Clustering Vector-Based Forwarding algorithm (CVBF). In the proposed algorithm, the space volume of the network is divided into a number of clusters where one virtual sink is assigned to each cluster. Then, the nodes inside each cluster are allowed to communicate with themselves just to reach its virtual sink node, which in turn sends the packets to the main sink in the network. Simulation results demonstrate that the proposed algorithm reduces the energy consumption especially in dense networks, increases the packet delivery ratio especially in sparse networks, and decreases the average end-to-end delay in both sparse and dense networks. These advantages are emphasized when the algorithm is compared with four other powerful routing algorithms: VBF, Hop-by-Hop VBF (HH-VBF), Vector-Based Void Avoidance (VBVA), and Energy-Saving VBF (ES-VBF) routing protocols. The second contribution in this dissertation is to develop a Coloured Petri Net models for routing protocols in UWSNs. Two CPN models are introduced, one is designed to analyze the functionality and the behavior of the VBF routing protocol and another CPN model for the proposed CVBF algorithm. The two models are tested verified by state space analysis and performance evaluation to guarantee liveness, free from deadlocks, fairness and responsiveness.
- x-
Keywords: Wireless networks; underwater sensor networks; multiple clusters; routing protocols; modelling with Coloured Petri Nets (CPNs).
- xi-
.
Table of Contents List of Figures............................................................................................................ xiv List of Tables ............................................................................................................. xvi Nomenclature ........................................................................................................... xvii .
CHAPTER .........................................................................................................
Introduction and Review of Earlier Work ................................................................ Introduction .................................................................................................... Review of earlier work................................................................................... Statement of the problem ............................................................................... Contribution of the dissertation...................................................................... Organization of the dissertation ..................................................................... .
CHAPTER .........................................................................................................
Underwater Wireless Sensor Networks (UWSNs) .................................................... Wireless Sensor Networks (WSNs) ............................................................... Overview on UWSNs .................................................................................. UWSNs Communication Architectures ....................................................... Two-dimensional underwater sensor networks .................................... Three-dimensional underwater sensor networks .................................. Three-dimensional networks with autonomous underwater vehicles .. Underwater Wireless Sensor Networks: Design Challenges ....................... Differences with terrestrial sensor networks ........................................ Underwater sensors .............................................................................. Review of Location-Based Routing Protocols: ............................................ Vector-Based Forwarding (VBF) Routing Protocol ............................ HH-VBF Routing Protocol .................................................................. VBVA Routing Protocol ......................................................................
- xii-
ES-VBF Routing Protocol ................................................................... Chapter Summary ........................................................................................ .
CHAPTER .......................................................................................................
Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm .................................................................................................................... CVBF Routing Algorithm............................................................................ Step : Clustering the Nodes ................................................................ Step : Selecting the Cluster Virtual Sink............................................ Step : Calculating the Cluster’s Maintenance Time ........................... Experimental Scenarios (Performance Evaluation) ..................................... Performance under Varying Number of Clusters......................................... Chapter Summary ........................................................................................ .
CHAPTER .......................................................................................................
Modelling of VBF Routing Protocol Using Coloured Petri Nets ........................... CPN Modelling Language ........................................................................... Construction of CPN Model ........................................................................ Net structure, Declarations, and Inscriptions ....................................... Model Assumptions ............................................................................. Model Structure.................................................................................... State Space Analysis Results ....................................................................... Performance Analysis .................................................................................. Chapter Summary ........................................................................................ .
CHAPTER .......................................................................................................
Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets ............. Model Assumptions ..................................................................................... Model Structure ........................................................................................... State Space Analysis Results ....................................................................... Performance Analysis ..................................................................................
- xiii-
Chapter Summary ........................................................................................ .
CHAPTER .......................................................................................................
Conclusions and Trends for Future Relevant Work .............................................. Conclusions .................................................................................................. Trends for Future Work ............................................................................. APPENDIX A ........................................................................................................... Algorithm Programs ................................................................................................ APPENDIX B ........................................................................................................... Coloured Petri Nets.................................................................................................. REFERENCES .........................................................................................................
- xiv-
List of Figures Figure - : Architecture for D underwater sensor networks ..................................... Figure - : Architecture for D underwater sensor networks. .................................... Figure - : Architecture for D underwater sensor networks with AUV. ................... Figure - : Internal architecture of an underwater sensor node................................... Figure - : General classification of UWSN routing protocols................................... Figure - : VBF routing protocol for UWSNs ............................................................ Figure - : Desirableness factor in self-adaptation algorithm ..................................... Figure - : HH-VBF Routing Protocol ....................................................................... Figure - : Two mechanisms of VBVA ...................................................................... Figure - : A CVBF network area with clusters ...................................................... Figure - : A horizontal section of cluster virtual pipe (a) Cluster width equals R, (b) Cluster width equals R ............................................................................................... Figure - : Flowchart of Step of CVBF algorithm. .................................................. Figure - : Pseudocode of Step of CVBF algorithm. ............................................... Figure - : One cluster and its virtual sink .................................................................. Figure - : Flowchart of Step of CVBF algorithm ................................................... Figure - : Pseudocode of Step of CVBF algorithm ................................................ Figure - : Flowchart of Step of CVBF algorithm ................................................... Figure - : Pseudocode of Step of CVBF algorithm ................................................ Figure - : Flowchart of the proposed routing algorithm CVBF .............................. Figure - : Pseudocode of the proposed routing protocol CVBF.............................. Figure - : CVBF energy consumption vs. number of sensor nodes ........................ Figure - : CVBF packet delivery ratio vs. number of sensor nodes. ....................... Figure - : CVBF average end-to-end delay vs. number of sensor nodes. ............... Figure - : CVBF energy consumption under varying clusters number. .................. Figure - : CVBF packet delivery ratio under varying clusters number. .................. Figure - : CVBF average end-to-end delay under varying clusters number ........... Figure - : CPN Main Model ...................................................................................... Figure - : CPN Sender sub-model ............................................................................. Figure - : CPN Forwarder sub-model ....................................................................... Figure - : CPN Receiver sub-model .......................................................................... Figure - : State space statistics of the CPN model .................................................... Figure - : State space behavioral properties of the CPN model ................................ Figure - : Proposed CPN Model Packet Delivery Ratio vs. Number of Forwarder Nodes ........................................................................................................................... Figure - : Proposed CPN model average end-to-end delay vs. number of forwarder nodes ............................................................................................................................ Figure - : First level of CPN Model for CVBF algorithm.........................................
- xv-
Figure - : CPN Sub-model for Step (Clustering the nodes) ................................... Figure - : CPN Sub-model for Step (Selecting virtual sink) .................................. Figure - : CPN Sub-model for Step (Calculating the clustering maintenance time) ..................................................................................................................................... Figure - : Third level (Sub-model for VBF routing) ................................................. Figure - : CPN sub-model for the Sender node ......................................................... Figure - : CPN sub-model for the Forwarder node .................................................. Figure - : CPN sub-model for the Receiver node ...................................................... Figure - : State space statistics of the CPN model .................................................... Figure - : State space behavioral properties of the CPN model for CVBF protocol ..................................................................................................................................... Figure - : Proposed CPN model packet delivery ratio vs. number of forwarder nodes ............................................................................................................................ Figure - : Proposed CPN model average end-to-end delay vs. number of forwarder nodes ............................................................................................................................ Figure - Contributions of the dissertation (Chapters , , and ) .............................
- xvi-
List of Tables
Table Table Table Table Table Table Table Table Table Table Table Table Table
-
: A comparison between different types of wireless sensor networks .......... : Differences between terrestrial and underwater sensor networks .............. : Reduction in Total Energy Consumption ................................................... : Increase in Packet Delivery Ratio .............................................................. : Reduction in average end-to-end delay ...................................................... : Cluster width values under varying number of clusters ............................. : Description of the Sender places ................................................................ : State space analysis results as increasing the number of forwarder nodes . : Increase in Packet Delivery Ratio .............................................................. : Reduction in end-to-end delay.................................................................... State space analysis results as increasing the number of forwarder nodes . : Increase in Packet Delivery Ratio .............................................................. : Reduction in end-to-end delay....................................................................
- xvii-
Nomenclature Abbreviations ARQ AUVs CPN CPU CVBF DBR DDD DFR DSR DUCS ES-VBF EUROP FBR FEC GPS H -DAB HH-VBF ICRP LASR LCAD MCCP MIT ML NSos-sink QoS REBAR RF RSSI s-sink SBR-DLP SCCs ToA
Automatic Repeat Request Autonomous Underwater Vehicles Coloured Petri Net Central Processing Unit Clustering Vector-Based Forwarding Depth-Based Routing Delay-tolerant Data Dolphin Directional Flooding Routing Dynamic Source Routing Distributed Underwater Clustering Scheme Energy Saving Vector-Based Forwarding Energy-Efficient Routing Protocol Focused Beam Routing Forward Error Correction Global Positioning System Hop-by-Hop Dynamic Addressing Based Routing Hop-by-Hop Vector-Based Forwarding Information-Carrying Routing Protocol Location-Aware Source Routing Location-based Clustering Algorithm for Data gathering Distributed Minimum-Cost Clustering Protocol Massachusetts Institute of Technology Modelling Language Network SimulatorOn shore sink Quality of Service Reliable and Energy Balanced Routing Algorithm Radio Frequency Receiver-Signal Strength- Index Surface-sink Sector-based Routing with Destination Location Prediction Strongly Connected Components Time of Arrival
- xviii-
TDoA TCBR TDMA UUVs UW-ASNs UW-HSN uw-sink UWSNs VBF VBVA WSNs
Time-Difference-of Arrival Temporary Cluster-based Routing Time Division Multiple Access Unmanned Underwater Vehicles Underwater Wireless Acoustic Sensor Networks Underwater Wireless-Hybrid Sensor Networks Underwater sink Underwater Wireless Sensor Networks Vector-Based Forwarder Vector-Based Void Avoidance Wireless Sensor Networks
Units kbps s m J m/s KHz
Kilobits per Second Second Meter Joule Meter per Second Kilo Hertz
Greek Symbols α θ ∑
desirableness factor angle between vector FS and FA A group of colour sets
Equation Symbols P Tadaptation W R d A F S S Tdelay
Projection Adaptation time The radius of the routing pipe Transmission range Distance between current node A and forwarder node F Current node Forwarder node Source node Sink node A predefined maximum delay
- xix-
v energy initialenergy X×Y×Z cw N i Xi Ximin Ximax Yi Yimin Yimax ki Xc Yc Zmin Kiz Tm dmax S CPN P T A V C G E I
The propagation speed of acoustic signals in water The residual energy of nodes The initial energy of nodes Network volume space Cluster width Number of clusters Cluster The X dimension of the cluster i Minimum value of X in the cluster i Maximum value of X in the cluster i The Y dimension of the cluster i Minimum value of Y in the cluster i Maximum value of Y in the cluster i The number of nodes in cluster i The value of X dimension of the cuboid axis The value of Y dimension of the cuboid axis Minimum value of the Z coordinate Number of nodes with Zmin Maintenance time Maximum distance of node movement Current speed of the node Coloured Petri Net A group of places A set of transitions A number of directed arcs A set of typed variables A colour set function for each place A guard function for each transition An arc expression function for each arc An initialization function of a place
m/s
CHAPTER Introduction and Review of Earlier Work
- -
.
CHAPTER
Introduction and Review of Earlier Work In this introductory chapter, we briefly present an outline to Underwater Wireless Sensor Networks (UWSNs) with a short description of routing protocols in these networks. Earlier research work on routing protocols in UWSNs is reviewed. Then the research point of the dissertation is defined and our contribution is illuminated.
Introduction At the end of the twentieth century, wireless sensor networks became a hot research area. At the beginning, these networks covered only terrestrial applications. However, the earth is known to be a water planet, with
% of
its surface being covered with water (principally oceans). Only less than of the ocean volume has been investigated, while the volume majority remains unexplored. With the increasing role of oceans in human life, discovering all of the ocean parts became of prime importance. On one side, traditional approaches formerly used for underwater monitoring missions have several drawbacks [
] and on the other side, these harsh environments
are not feasible for human presence as unpredictable underwater activities, high water pressure, predatory fish and vast areas are major reasons for unmanned exploration. Due to these reasons, Underwater Wireless Sensor Networks (UWSNs) attract the interest of many researchers lately, especially those working on terrestrial sensor networks [ ]. Over the last three decades, significant contribution has been made in the area of scientific, commercial,
CHAPTER : Introduction and Review of Earlier Work
- -
and military applications [ ]. In particular, highly precise real-time continuous-monitoring systems are essential for vital operations such as offshore oil field monitoring, pollution detection, disaster prevention, assisted navigation, mine reconnaissance, and oceanographic data collection. All these significant applications call for building Underwater Wireless Sensor Networks (UWSNs). The work done in [ ] is considered as the pioneering effort towards the deployment of sensor nodes for underwater environments.
Though there exist many network protocols for terrestrial wireless sensor networks, the underwater acoustic communication channel has its unique characteristics, such as limited bandwidth capacity and high delays which require new efficient and reliable data communication protocols [
].
Major challenges in the design of underwater wireless sensor networks are: i) the limited bandwidth; ii) the underwater channel is severely impaired, especially due to multipath and fading problems; iii) high propagation delay in underwater which is five orders of magnitude higher than in Radio Frequency (RF) terrestrial channels; iv) high energy consumption due to longer distances; v) battery power is limited and usually batteries cannot be recharged, also because solar energy cannot be exploited underwater; vi) underwater sensor nodes are prone to failures due to fouling and corrosion. All the factors mentioned above, especially limited energy, would make designing a routing protocol for UWSN an enormous challenge.
Routing is a fundamental issue for any network, and routing protocols are considered to be in charge of discovering and maintaining the routes [ ]. Most of the research works concerning underwater sensor networks have been on the issues related to the physical layer, while issues related to the network layer such as routing techniques are a relatively new
CHAPTER : Introduction and Review of Earlier Work
- -
area. Thus an efficient routing algorithm is to be provided. Although underwater acoustic networks have been studied for decades, underwater networking and routing protocols are still at the infant stage of research.
Review of earlier work A review of underwater network protocols till the year
can be
found in [ ]. Several routing protocols have been proposed for underwater sensor networks. A good survey until year
about underwater wireless
sensor routing techniques is presented in [
]. Here, the authors introduced
an overview of the state of the art of routing protocols in UWSNs and thoroughly highlighted the advantages, functionalities, weaknesses and performance issues for each technique. They have compared and classified these routing protocols according to their attributes and functionalities. Based on network architecture, UWSNs routing protocols are classified into: location-based, flat, and hierarchical routing protocols. Vector-Based Forwarding (VBF) protocol has been suggested in order to solve the problem of high error probability in dense networks [
]. It is a location-based
routing protocol. Here an idea of a virtual routing pipe from the source to the destination is proposed, and all the flooding data packets are carried out through this pipe. An enhanced version of VBF called Hop-by-Hop VBF (HH-VBF) has been proposed [
]. They use the same concept of virtual
routing pipe as used by VBF, but instead of using a single pipe from source to destination, HH-VBF defines per hop virtual pipe for each forwarder [ Another extension of VBF protocol is introduced in [
].
] called Vector-Based
Void Avoidance (VBVA) routing protocol which extends the VBF routing protocol. It addresses the routing void problem in underwater sensor networks. VBVA assumes two mechanisms, vector-shift and back-pressure,
CHAPTER : Introduction and Review of Earlier Work
- -
to handle voids. In [
], an energy-aware routing algorithm, called Energy-
Saving Vector Based Protocol (ES-VBF), is proposed. In this protocol, the authors put forward an energy-aware routing algorithm to save network energy. It takes both residual energy and location information into consideration which shows a promising performance in balancing network energy consumption and packet reception ratio. Other UWSNs routing protocols, such as Dynamic Source Routing (DSR), Time division Multiple Access (TDMA), Focused beam Routing (FBR), Directional Flooding-Based (DFR), and Depth-Based Routing (DBR) are found in [ ,
,
,
].
Statement of the problem The problem under investigation is developing an enhanced algorithm for the Vector-Based Forwarding (VBF) routing protocol in Underwater Wireless Sensor Networks (UWSNs), and modelling the routing protocols of UWSNs using Coloured Petri Nets (CPNs). The expected enhancement is based on the clustering mechanism. The resulting performance of the network is to be assessed in terms of energy consumption, packet delivery ratio, and average end-to-end delay. Also, the performance analysis of the proposed CPNs models of the routing protocols shows that the models are valid, live and free from deadlocks.
Contribution of the dissertation An enhanced clustering algorithm for the VBF routing protocol in UWSNs is presented and discussed in details to improve the performance of the location-based routing protocol in underwater wireless sensor networks. Two CPN models for the routing protocols in UWSNs are introduced:
CHAPTER : Introduction and Review of Earlier Work
- -
The first CPN model is designed for VBF routing protocol. Its functionality and behavior are studied and analyzed. CPNs are chosen for their ability to describe and study discrete-event systems that are considered as concurrent, parallel and asynchronous. The proposed model is verified by two phases: First, by the state space statistics analysis which results that the proposed CPN model is liveness and free from deadlocks. Second, by the performance analysis which demonstrate that the proposed model increases both the packet delivery ratio and the average end-to-end delay.
The second CPN model is introduced to analyze the behavior of Clustering Vector-Based Forwarding (CVBF) routing protocols (the proposed algorithm). We verify our model by two phases: First, by the state space statistics analysis which results that the proposed CPN model is liveness and free from deadlocks. Second, by the performance analysis which demonstrates the proposed model increases both the packet delivery ratio and the average end-to-end delay.
Simulation results for the proposed CVBF routing algorithm, using NS simulator, demonstrate that the proposed algorithm efficiently reduces energy consumption especially in dense networks, increases the packet delivery ratio especially in sparse networks, and decreases the average endto-end delay in both sparse and dense networks, in comparison with the four routing algorithms VBF, HH-VBF, VBVA, and ES-VBF. It is interesting to note that our multiple-cluster algorithm is a good generalization to the VBF protocol. The VBF results from our algorithm by adopting the special case of single-cluster manipulation.
CHAPTER : Introduction and Review of Earlier Work
- -
Organization of the dissertation This dissertation is organized in five chapters, in addition to the present chapter, Introduction and Review of Earlier Work, Chapter
presents an
overview of Underwater Wireless Sensor Networks.
The proposed clustering algorithm is discussed in Chapter . The two CPN models, one for Vector-Based Forwarding routing protocol and another CPN model for the Clustering VBF algorithm, are contained in Chapter and , respectively. Chapter
is devoted to the conclusions of this research
effort and some trends for future relevant work. Appendix A presents an overview about Coloured Petri Nets as a formal modeling language that is well appropriate for modeling and analyzing large and complex systems.
The dissertation ends with a list of
references arranged in
alphabetical order of the names of authors and with serial numbers in square brackets. If more than one reference happens, to be for the same authors, this subset of references is arranged in chronological order: first published, first cited.
CHAPTER : Introduction and Review of Earlier Work
CHAPTER Underwater Wireless Sensor Networks (UWSNs)
- -
.
CHAPTER
Underwater Wireless Sensor Networks (UWSNs) In this chapter, we announce in brief about Wireless Sensor Networks (WSNs) and their types. Then, we introduce an overview about UWSNs and its history. We describe its characteristics and architectures. Finally, we present a brief description about the most common routing protocols in UWSNs.
Wireless Sensor Networks (WSNs) A wireless sensor network (WSN) has important applications such as remote environmental monitoring and target tracking. This has been enabled by the availability, particularly in recent years, of sensors that are smaller, cheaper, and intelligent. These sensors are equipped with wireless interfaces with which they can communicate with one another to form a network. The design of a WSN depends significantly on the application, and it must consider factors such as the environment, the application’s design objectives, cost, hardware, and system constraints [ ]. Unlike traditional networks, a WSN has its own design and resource constraints. Resource constraints include a limited amount of energy, short communication range, low bandwidth, and limited processing and storage in each node. Design constraints are application dependent and are based on the monitored environment. The environment plays a key role in determining the size of the network, the deployment scheme, and the network topology. The size of the network varies with the monitored environment. For indoor CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
environments, fewer nodes are required to form a network in a limited space whereas outdoor environments may require more nodes to cover a larger area. An ad hoc deployment is preferred over pre-planned deployment when the environment is inaccessible by humans or when the network is composed of hundreds to thousands of nodes. Obstructions in the environment can also limit communication between nodes, which in turn affects the network connectivity (or topology) [
]. Research in WSNs aim to meet the above
constraints by introducing new design concepts, creating or improving existing protocols, building new applications, and developing new algorithms. Current WSNs are deployed on land, underground, and underwater. Depending on the environment, a sensor network faces different challenges and constraints [ ]. There are five types of WSNs: terrestrial WSN, underground WSN, underwater WSN, multi-media WSN, and mobile WSN. The following table, Table - , shows a comparison between the different types of wireless sensor networks.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Table - : A comparison between different types of wireless sensor networks Terrestrial WSN Definition
A network consists of hundreds to thousands of sensor nodes deployed on land
Challenges
– In-network data aggregation to improve performance across communication, energy cost, and delay – Minimizing energy cost – Reduce the amount of data communication – Finding the optimal route – Distributing energy consumption – Maintaining network connectivity – Eliminating
Underground WSN A network consists of wireless sensor nodes deployed in caves or mines or underground
Underwater WSN A network consists of wireless sensor and vehicles deployed into the ocean environment
Multi-media WSN
A network consists of wireless sensor devices that have the ability to store, process, and retrieve multi-media data such as video, audio, and images – Expensive – Expensive – In-network deployment underwater processing, filtering, maintenance, and sensors and compressing of equipment cost – Hardware failure multi-media content – Threats to device due to – High energy such as the environment consumption and environment and effects (e.g., bandwidth demand animals corrosion) – Deployment based – Battery power – Battery power on multi-media cannot easily be cannot easily be equipment coverage replaced replaced – Flexible architecture – Topology – Sparse to support different challenges with deployment applications pre-planned – Limited – Must integrate deployment bandwidth various wireless – High levels of – Long technologies attenuation and propagation – QoS provisioning is signal loss in delay, high very difficult due to communication latency, and link capacity and fading problems delays – Effective cross-layer design
redundancy Applications
– Environmental sensing and monitoring – Industrial monitoring – Surface explorations
– Agriculture monitoring – Landscape management – Underground structural monitoring – Underground environment monitoring of soil, water or mineral – Military border monitoring
– Pollution – Enhancement to monitoring existing WSN – Undersea applications such as surveillance and tracking and exploration monitoring – Disaster prevention monitoring – Seismic monitoring – Equipment monitoring – Underwater robotics
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
Mobile WSN A network consists of mobile sensor nodes that have the ability to move – Navigating and controlling mobile nodes – Must selforganized – Localization with mobility – Minimize energy cost – Maintaining network connectivity – In-network data processing – Data distribution – Mobility management – Minimize energy usage in locomotion – Maintain adequate sensing coverage – Environmental monitoring – Habitat monitoring – Military surveillance – Target tracking – Underwater monitoring – Search and rescue
-
-
Overview on UWSNs At the end of
th century, wireless sensor networks became hot
research area. At the beginning, it covers only terrestrial applications, but we know the Earth is a water planet as more than
% of the surface is covered
by the water and the largely unexplored hugeness of the oceans has attracted human’s attention From many decades, there have been significant interests in monitoring aquatic environments for scientific, commercial exploration and as well as for military operations [ ]. A highly precise, real time and continuous monitoring systems are extremely important for various applications, such as off-shore oil fields monitoring, pollution detection, disaster
prevention,
assisted
navigation,
mine
reconnaissance,
and
oceanographic data collection. So all these important applications, call for the need of building Underwater Wireless Sensor Networks (UWSNs). Only less than
of the whole ocean volume has been investigated,
while a large area remains unexplored. With the increasing role of ocean in human life, discovering these largely unexplored areas has gained more importance during the last decades. On one side, traditional approaches used for underwater monitoring missions have several drawbacks and on the other side, these harsh environments are not feasible for human presence as unpredictable underwater activities, high water pressure and vast areas are major reasons for un-manned exploration. Due to these reasons, UWSNs are attracting the interest of many researchers lately, especially those working on terrestrial sensor networks [ ]. Underwater networks of sensors have the potential to enable unexplored applications and to enhance our ability to observe and predict the ocean. Unmanned or Autonomous Underwater Vehicles (UUVs, AUVs), equipped with underwater sensors, are also envisioned to find application in CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
exploration of natural undersea resources and gathering of scientific data in collaborative monitoring missions. These potential applications will be made viable by enabling communications among underwater devices. Underwater Acoustic Sensor Networks (UW-ASNs) will consist of sensors and vehicles deployed underwater and networked via acoustic links to perform collaborative monitoring tasks [ ,
,
].
Underwater acoustic sensor networks can enable a broad range of applications, including:
Ocean Sampling Networks: Networks of sensors and AUVs can perform synoptic, cooperative adaptive sampling of the D coastal ocean environment.
Environmental
Monitoring:
UW-ASN can perform pollution
monitoring (chemical, biological, and nuclear), monitoring of ocean currents and winds, improved weather forecast, detecting climate change, understanding and predicting the effect of human activities on marine ecosystems, and biological monitoring such as tracking of fishes or micro-organisms [ ].
Undersea Explorations: Underwater sensor networks can help detect underwater oilfields or reservoirs, determine routes for laying undersea cables, and assist in exploration for valuable minerals.
Disaster Prevention: Sensor networks that measure seismic activity from remote locations can provide tsunami warnings to coastal areas, or study the effects of submarine earthquakes (seaquakes).
Assisted Navigation: Sensors can be used to identify hazards on the seabed, locate dangerous rocks or shoals in shallow waters, mooring positions, submerged wrecks, and to perform bathymetry profiling.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Distributed Tactical Surveillance: AUVs and fixed underwater sensors
can
collaboratively
monitor
areas
for
surveillance,
reconnaissance, targeting, and intrusion detection.
Mine Reconnaissance: The simultaneous operation of multiple AUVs with acoustic and optical sensors can be used to perform rapid environmental assessment and detect minelike objects.
The traditional approach for ocean-bottom or ocean-column monitoring is to deploy underwater sensors that record data during the monitoring mission, and then recover the instruments. This approach has the following disadvantages:
No real-time monitoring. The recorded data cannot be accessed until the instruments are recovered, which may happen several months after the beginning of the monitoring mission. This is critical especially
in
surveillance
or
in
environmental
monitoring
applications such as seismic monitoring.
No on-line system reconfiguration. Interaction between onshore control systems and the monitoring instruments is not possible. This impedes any adaptive tuning of the instruments, nor is it possible to reconfigure the system after particular events occur [
].
No failure detection. If failures or misconfigurations occur, it may not be possible to detect them before the instruments are recovered. This can easily lead to the complete failure of a monitoring mission.
Limited storage capacity. The amount of data that can be recorded during the monitoring mission by every sensor is limited by the capacity of the onboard storage devices (memories, hard disks).
Therefore, there is a need to deploy underwater networks that will enable real-time monitoring of selected ocean areas, remote configuration and CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
interaction with onshore human operators. This can be obtained by connecting underwater instruments by means of wireless links based on acoustic communication. Many researchers are currently engaged in developing networking solutions for terrestrial wireless ad hoc and sensor networks. Although there exist many recently developed network protocols for wireless sensor networks, the unique characteristics of the underwater acoustic communication channel, such as limited bandwidth capacity and variable delays, require very efficient and reliable new data communication protocols. Major challenges in the design of underwater acoustic networks are [
]:
•
The available bandwidth is severely limited;
•
The underwater channel is severely impaired, especially due to multipath and fading;
•
Propagation delay in underwater is five orders of magnitude higher than in Radio Frequency (RF) terrestrial channels, and extremely variable;
•
High bit error rates and temporary losses of connectivity (shadow zones) can be experienced, due to the extreme characteristics of the underwater channel;
•
Battery power is limited and usually batteries cannot be recharged, also because solar energy cannot be exploited;
•
Underwater sensors are prone to failures because of fouling and corrosion.
UWSNs Communication Architectures In this section, we describe the communication architectures of underwater acoustic sensor networks. In particular, we introduce reference CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
architectures for two-dimensional and three-dimensional underwater networks, and present several types of AUVs which can enhance the capabilities of underwater sensor networks. The network topology is in general a crucial factor in determining the energy consumption, the capacity and the reliability of a network. Hence, the network topology should be carefully engineered and post-deployment topology optimization should be performed, when possible. Underwater monitoring missions can be extremely expensive due to the high cost of underwater devices. Hence, it is important that the deployed network be highly reliable, so as to avoid failure of monitoring missions due to failure of single or multiple devices. For example, it is crucial to avoid designing the network topology with single points of failure that could compromise the overall functioning of the network [ ]. The network capacity is also influenced by the network topology. Since the capacity of the underwater channel is severely limited, it is very important to organize the network topology such a way that no communication bottleneck is introduced. The communication architectures introduced here are used as a basis for discussion of the challenges associated with underwater acoustic sensor networks. The underwater sensor network topology is an open research issue in itself that needs further analytical and simulative investigation from the research community. In the remainder of this section, we discuss the following architectures:
Static two-dimensional UW-ASNs for ocean bottom monitoring. These are constituted by sensor nodes that are anchored to the bottom of the
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
ocean. Typical applications may be environmental monitoring, or monitoring of underwater plates in tectonics.
Static three-dimensional UW-ASNs for ocean column monitoring. These include networks of sensors whose depth can be controlled by means of techniques, and may be used for surveillance applications or monitoring of ocean phenomena (ocean bio–geochemical processes, water streams, pollution).
Three-dimensional networks of autonomous underwater vehicles (AUVs). These networks include fixed portions composed of anchored sensors and mobile portions constituted by autonomous vehicles.
Two-dimensional underwater sensor networks
Reference architecture for two-dimensional underwater networks is shown in Figure - [ ]. A group of sensor nodes are anchored to the bottom of the ocean with deep ocean anchors. Underwater sensor nodes are interconnected to one or more underwater sinks (uw-sinks) by means of wireless acoustic links. uw-sinks, as shown in Figure
- , are network
devices in charge of relaying data from the ocean bottom network to a surface station. To achieve this objective, uw-sinks are equipped with two acoustic transceivers, namely a vertical and a horizontal transceiver. The horizontal transceiver is used by the uw-sink to communicate with the sensor nodes in order to: (i) send commands and configuration data to the sensors (uw-sink to sensors); (ii) collect monitored data (sensors to uw-sink). The vertical link is used by the uw-sinks to relay data to a surface station. In deep water applications, vertical transceivers must be long range transceivers as the ocean can be as deep as
km. The surface station is
equipped with an acoustic transceiver that is able to handle multiple parallel CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
communications with the deployed uw-sinks. It is also endowed with a long range RF and/or satellite transmitter to communicate with the onshore sink (os-sink) and/or to a surface sink (s-sink).
Figure - : Architecture for D underwater sensor networks
Sensors can be connected to uw-sinks via direct links or through multi-hop paths. In the former case, each sensor directly sends the gathered data to the selected uw-sink. However, in UW-ASNs, the power necessary to transmit may decay with powers greater than two of the distance and the uwsink may be far from the sensor node. Consequently, although direct link connection is the simplest way to network sensors, it may not be the most energy efficient solution. Furthermore, direct links are very likely to reduce the network throughput because of increased acoustic interference due to high transmission power. In case of multi-hop paths, as in terrestrial sensor networks, the data produced by a source sensor is relayed by intermediate sensors until it reaches the uw-sink. This may result in energy savings and increased network capacity, but increases the complexity of the routing CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
functionality. In fact, every network device usually takes part in a collaborative process whose objective is to diffuse topology information such that efficient and loop free routing decisions can be made at each intermediate node. Three-dimensional underwater sensor networks
Three dimensional underwater networks are used to detect and observe phenomena that cannot be adequately observed by means of ocean bottom sensor nodes, i.e., to perform cooperative sampling of the D ocean environment. In three-dimensional underwater networks, sensor nodes float at different depths in order to observe a given phenomenon. One possible solution would be to attach each underwater sensor node to a surface buoy, by means of wires whose length can be regulated so as to adjust the depth of each sensor node. However, although this solution allows easy and quick deployment of the sensor network, multiple floating buoys may obstruct ships navigating on the surface, or they can be easily detected and deactivated by enemies in military settings. Furthermore, floating buoys are vulnerable to weather and tampering or pilfering. For these reasons, a different approach can be to anchor sensor devices to the bottom of the ocean. In this architecture, depicted in Figure [ ], each sensor is anchored to the ocean bottom and equipped with a floating buoy that can be inflated by a pump. The buoy pushes the sensor towards the ocean surface. The depth of the sensor can then be regulated by adjusting the length of the wire that connects the sensor to the anchor, by means of an electronically controlled engine that resides on the sensor. A challenge to be addressed in such architecture is the effect of ocean currents on the described mechanism to regulate the depth of the sensors.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Figure - : Architecture for D underwater sensor networks.
Many challenges arise with such an architecture, that needs to be solved in order to enable D monitoring [
], including:
• Sensing coverage. Sensors should collaboratively regulate their depth in order to achieve D coverage of the ocean column, according to their sensing ranges. Hence, it must be possible to obtain sampling of the desired phenomenon at all depths. • Communication coverage. Since in D underwater networks there may be no notion of uw-sink, sensors should be able to relay information to the surface station via multi-hop paths. Thus, network devices should coordinate their depths in such a way that the network topology is always connected, i.e., at least one path from every sensor to the surface station always exists. Sensing and communication coverage in a D environment are rigorously investigated. The diameter, minimum and maximum degree of the reachability graph that describes the network are derived as a function of the CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
communication range, while different degrees of coverage for the
D
environment are characterized as a function of the sensing range. These techniques could be exploited to investigate the coverage issues in UWASNs. Three-dimensional networks with autonomous underwater vehicles
AUVs can function without tethers, cables, or remote control, and therefore they have a multitude of applications in oceanography, environmental monitoring, and underwater resource study. Previous experimental work has shown the feasibility of relatively inexpensive AUV submarines equipped with multiple underwater sensors that can reach any depth in the ocean as in Figure - [ ]. Hence, they can be used to enhance the capabilities of underwater sensor networks in many ways.
Figure -
: Architecture for D underwater sensor networks with AUV.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
The integration and enhancement of fixed sensor networks with AUVs is an almost unexplored research area which requires new network coordination algorithms such as [
]:
• Adaptive sampling. This includes control strategies to command the mobile vehicles to places where their data will be most useful. This approach is also known as adaptive sampling and has been proposed in pioneering monitoring missions [ ] For example, the density of sensor nodes can be adaptively increased in a given area when a higher sampling rate is needed for a given monitored phenomenon. • Self-configuration. This includes control procedures to automatically detect connectivity holes due to node failures or channel impairment and request the intervention of an AUV. Furthermore, AUVs can either be used for installation and maintenance of the sensor network infrastructure or to deploy new sensors. They can also be used as temporary relay nodes to restore connectivity. One of the design objectives of AUVs is to make them rely on local intelligence and less dependent on communications from online shores. In general, control strategies are needed for autonomous coordination, obstacle avoidance and steering strategies. Solar energy systems allow increasing the lifetime of AUVs, i.e., it is not necessary to recover and recharge the vehicle on a daily basis. Hence, solar powered AUVs can acquire continuous information for periods of time of the order of months.
Underwater Wireless Sensor Networks: Design Challenges In this section, we describe the design challenges of underwater wireless sensor networks [ ,
]. In particular, we itemize the main
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
differences between terrestrial and underwater sensor networks, we detail key design issues and deployment challenges for underwater sensors, and we give motivations for a cross layer design approach to improve the network efficiency in the critical underwater environment. Differences with terrestrial sensor networks
The main differences between terrestrial and underwater sensor networks are as follows [ ]:
Cost: While terrestrial sensor nodes are expected to become increasingly inexpensive, underwater sensors are expensive devices. This is especially due to the more complex underwater transceivers and to the hardware protection needed in the extreme underwater environment.
Deployment: While terrestrial sensor networks are densely deployed, in underwater, the deployment is deemed to be sparser, due to the cost involved and to the challenges associated to the deployment itself.
Power: The power needed for acoustic underwater communications is higher than in terrestrial radio communications due to higher distances and to more complex signal processing at the receivers to compensate for the impairments of the channel.
Memory: While terrestrial sensor nodes have very limited storage capacity, underwater sensors may need to be able to do some data caching as the underwater channel may be intermittent.
Spatial correlation: While the readings from terrestrial sensors are often correlated, this is more unlikely to happen in underwater networks due to the higher distance among sensors. Table - presents the differences between terrestrial and underwater
sensor networks [ ].
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
Table - : Differences
-
between terrestrial and underwater wireless sensor networks
Terrestrial WSNs
Underwater WSNs
Most applications dense deployment
require Sparse deployment is preferred not only due to expensive equipment but also in order to cover large monitored areas Most of the network Nodes continue to move – m/s with water architectures assume that currents, so network cannot be viewed as a fixed sensor nodes are stationary so topology different topologies can be applied A network with static nodes Routing from nodes is more challenging not only in considered more stable terms of route optimization but also link stability especially in terms of becomes an important issue communication links Generally considered more Reliability is a major concern due to inhospitable reliable due to a more matured conditions. Communication links face high bit error understanding of the wireless rate and temporary losses. Fault tolerant approaches link conditions. are preferred Nodes are considered moving Nodes can move in a D volume without following in D space even when they any mobility pattern are deployed as ad hoc networks Usually the destination is fixed Sinks or destinations are placed on water surface and rarely changes its location. and can move with water current. Deployment affects the performance of the network. Generally, data is routed through pre-determined paths In most cases, nodes are assumed to be homogenous throughout the network. Radio waves are available; nodes can communicate with low propagation delays at speed of light High data rate, normally in the order of MHz
Non-uniform and random deployment is common. More self-configuring and self-organizing routing protocols are required to handle non-uniform deployment Heterogeneous network is common. Inclusion of heterogeneous set of sensor nodes raises multiple technical issues related to data routing Acoustic waves replace radio waves (at speed of m/s) Communication speed is decreased from speed of light to speed of sound, results in high propagation delays (five orders of magnitude) Low data rate, normally in the order of KHz Hardly can exceed kb/s at km distance
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Increased number of hops Number of hops depends on depth of the monitoring during the routing process area Low energy consumption High energy consumption due to longer distances (consequence of sparse nodes deployment) and complex signal processing Larger batteries can be used Battery power is limited and usually cannot be and can be replaced or easily replaced or recharged The routing protocols recharged with ease should adopt a mechanism of power down during the communication and use minimum retransmission Nodes are less error prone and Nodes are more error prone and can die (due to can continue to work for longer fouling or corrosion) or leave the working area time More reliable and self-recovering routing algorithms are required Cooperative localization Techniques like TDoA are not feasible due to schemes like Time of Arrival unavailability of accurate synchronization in under (ToA) and Time-Difference-of water Arrival (TDoA) are used for GPS-free localization Schemes like receiver-signal RSSI is highly vulnerable to acoustic interferences strength- index (RSSI) can be such as multipath, Doppler frequency spread and used for cooperative near-shore tide noise, and cannot provide accuracy localization for more than few meters Automatic Repeat Request ARQ techniques are inefficient due to large (ARQ) techniques are used for propagation delays, as retransmissions incur the error recovery and packet excessive latency as well as signaling overheads loss detections Forward Error Correction FEC is not easily affordable due to redundant bits at (FEC) techniques are used to extremely small bandwidth of acoustic increase the robustness against communication errors GPS waves use GHz band Geographical routing is not supported as such high For terrestrial sensor networks frequencies bands are impractical for UWSNs these frequencies are supported Ultimately, have to rely on distributed GPS-free and GPS facility can be used localization or time synchronization schemes known for localization purpose as cooperative localization
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Underwater sensors
The typical internal architecture of an underwater sensor is shown in Figure - [ ]. It consists of a main controller/CPU which is interfaced with an oceanographic instrument or sensor through a sensor interface circuitry. The controller receives data from the sensor and it can store it in the onboard memory, process it, and send it to other network devices by controlling the acoustic modem. Sometimes all sensor components are protected by bottommounted instrument frames that are designed to permit omnidirectional acoustic communications, and protect sensors and modems from potential impact of trawling gear, especially in areas subjected to fishing activities. In [ ], the protecting frame is designed so as to deflect trawling gear on impact, by housing all components beneath a low-profile pyramidal frame.
Memory
SENSOR INTERFACE CIRCUITRY
SENSOR
ACOUSTIC MODEM
CPU-ONBOARD CONTROLLER
POWER SUPPLY
Figure - : Internal architecture of an underwater sensor node.
Underwater sensors include sensors to measure the quality of water and to study its characteristics such as temperature, density, salinity, acidity, CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
chemicals, conductivity, oxygen, hydrogen, and turbidity. Figure - shows a general classification of UWSNs routing protocols. The figure presents several important underwater routing schemes proposed recently. In this dissertation highlight on the routing protocols based on network architecture specially location-based routing protocols.
Underwater Wireless Sensor Protocols Based on Network Architecture
Location based routing
Flate Routing
Based on Data Forwarding
Hierarchical Routing
Multipath Routing
Based on Protocol Operation
Single-path Routing
Source Initiated
Table Driven
Data Aggregation
VBF
DBR
LCAD
DBR
ICRP
ICRP
TCBR
Multi-path VS
HH-VBF
DDD
DUCS
FBR
Resilient
LASR
ICRP
DUCS
FBR
Pack Cloning
MCCP
DFR
UW-HSN
Pack Cloning
H2-DAP
Multi-sink
REBAR
H2-DAB
Hydro-Cast
MCCP
LASR
Multi-path VS
SBR-DLP
ICRP
TCBR
TCBR
DDD
Pack Cloning
DFR
Adaptive
Multi-sink
HH-VBF
Multi-path VS
H2-DAP
LASR
VBVA
LCAD
ES-VBF
EUROP
Figure - : General classification of UWSN routing protocols
Review of Location-Based Routing Protocols: In this section, we discuss in brief four location-based routing protocols which we will choose to compare our algorithm with. These protocols are: CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Vector-Based Forwarding (VBF) Routing Protocol
Vector-based forwarding (VBF) is a location-based routing approach for UWSNs proposed by Xie et al. [ ]. In this protocol, state information of the sensor nodes is not required since only a small number of nodes are involved during packet forwarding. Data packets are forwarded along redundant and interleaved paths from the source to the sink, which helps handling the problem of packet losses and node failures. It is assumed that every node previously knows its location, and each packet carries the location of all the nodes involved including the source, forwarding nodes, and final destination. The forwarding path is specified by the routing vector from the sender to the target. As soon as a packet is received, the node computes its relative position with respect to the forwarder through measuring its distance from the forwarder and the arrival angle of the signal. Recursively, all the nodes receiving the packet compute their positions. If a node determines that it is close to the routing vector enough, it puts its own computed position in the packet and continues forwarding the packet; else, it discards the packet simply. In this way, all the packet forwarders in the sensor network form a “routing pipe”, the sensor nodes in this pipe are eligible for packet forwarding, and those which are not close to the routing vector do not forward. Figure - illustrates the basic idea of VBF [
]. In this figure, node
S is the source, and node S is the sink. The routing vector is specified by S S . Data packets are forwarded from S to S . Forwarders along the routing vector form a routing pipe with a pre-controlled radius, W.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Not close to the vector => no forward
S
W
S
Figure - : VBF routing protocol for UWSNs
Additionally, a localized and distributed self-adaptation algorithm is developed to enhance the performance of VBF. The self-adaptation algorithm allows each node to estimate the density in its neighborhood and forward packets adaptively. This algorithm is based on the definition of a desirableness factor, α [
]. This factor measures the suitableness of a node
to forward packets. Given a routing vector S S and forwarder F, the desirableness factor of a node A is: ( - ) where P is the projection length of A onto the routing vector S S , d is the distance between node A and node F, θ is the angle between vector FS and vector FA, R is the transmission range, and W is the radius of the routing pipe. Figure - represents the different parameters used in the definition of the desirableness factor [
]. From the definition, we see that for any node
close enough to the routing vector, i.e., inside the pipe ( ≤ P ≤ W), the
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
desirableness factor of this node is in the range of [ , ] depending on position of node A. Sink (S0)
A d
θ P
R
F
W
W Source (S1)
Figure - : Desirableness factor in self-adaptation algorithm
In this algorithm, when a node receives a packet, it first determines if it is eligible for packet forwarding (i.e., close enough to the routing vector) [ ,
]. If yes, the node then holds the packet for a time period, Tadaptation,
related to its desirableness factor and other network parameters ( - ). In other words, each qualified node delays forwarding the packet by a time interval calculated as follows: √
( - )
where Tdelay is a pre-defined maximum delay, v is the propagation speed of acoustic signals in water, i.e., node and the forwarder [
m/s, and d is the distance between this
]. Principally, this self-adaptation algorithm gives
higher priority to the desirable node to continue forwarding the packet. The theoretical analysis can be found in [
].
VBF has many essential drawbacks. First, using a virtual routing pipe from source to destination can affect the routing efficiency of the network with different node densities. In some spaces, if node deployment is much CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
sparsely or become sparser due to some node movement, then it is possible that very few or even no node will lie within that virtual pipe, which is responsible for the data forwarding; even it is possible that some paths may exist outside the pipe. Eventually, this will result in small data deliveries in sparse spaces. Second, VBF is very sensitive about the routing pipe radius threshold, and this threshold can affect the routing performance significantly; such feature may not be desirable in the real protocol developments. Furthermore, some nodes along the routing pipe are used again and again in order to forward the data packets from sources to the sink, which can exhaust their battery power. HH-VBF Routing Protocol
The need to overcome two problems encountered by the VBF, i.e. small data delivery ratio in sparse networks, and sensitivity to the routing pipe’s radius, the HH-VBF (hop-by-hop VBF) is proposed by Nicolaou et al. [ ]. HH-VBF forms the routing pipe in a hop-by-hop method, enhancing the packet delivery ratio significantly. Although it is based on the same concept of routing vector as VBF, instead of using a single virtual pipe from the source to the sink, it defines a different virtual pipe around the per-hop vector from each forwarder to the sink, as in Figure - .
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
Figure - : HH-VBF Routing Protocol
In this protocol, each node can adaptively make packet forwarding decisions based on its current location. This design can directly bring the following two benefits: First, since each node has its own routing pipe, the maximum pipe radius is the transmission range. Second, in sparse networks, HH-VBF can find a data delivery path even so the number of eligible nodes may be small, as long as there exists one in the network. In HH-VBF, the routing virtual pipe is redefined to be a per-hop virtual pipe, instead of a unique pipe from the source to the sink [
]. When
some areas of the network are not occupied with nodes, for example there exist “voids” in the network, even a self-adaptation algorithm may not be able to route the packets. In such case, a forwarder is unable to reach any node other than the previous hop. Although simulation results show that HHVBF considerably produces better results for packet delivery ratio, but still it has an inherent problem of routing pipe radius threshold, which can affect its performance. Moreover, due to its hop-by-hop nature, HH-VBF is not able to add a feedback mechanism to detect and avoid voids in the network and energy efficiency is still low compared to VBF [ ]. CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
VBVA Routing Protocol
Xie et al. [ ] introduce a Vector-Based Void Avoidance (VBVA) routing protocol, which extends the VBF routing protocol to handle the routing void problem in UWSNs. VBVA assumes two mechanisms, vectorshift and back-pressure. The vector-shift mechanism is used to route data packets along the boundary of a void, as in Figure - (a). The back-pressure mechanism routes data packets backward to bypass a concave void shown in Figure - (b).
(b) An Example of vector-shift mechanism
(a) An Example of back-pressure mechanism
Figure - : Two mechanisms of VBVA
VBVA handles the routing void problem on demand and thus does not need to know network topology and void information in advance. Hence, it is very robust to cope with mobile voids in mobile networks. Simulation results in [
] show that VBVA can handle both concave and convex voids
effectively and efficiently in mobile underwater sensor networks only when these voids are inside the forwarding pipe, while the voids outside the forwarding pipe is not solved by VBVA.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
-
-
ES-VBF Routing Protocol
To solve the energy problem in UWSN, Bo et al. [ ] put forward an energy-aware routing algorithm, called Energy-Saving Vector-Based Protocol (ES-VBF). The main purpose of this routing protocol is saving energy. ES-VBF takes both residual energy and localization-based information into consideration while calculating the desirableness factor as in ( - ), which allows nodes to weigh the benefit for forwarding packets. The ES-VBF algorithm modifies the calculation of the desirableness factor of ( - ) for VBF protocol to be calculated if the node residual energy is smaller than
of initial energy as: (
)
( )
(
)
( - )
where energy is the residual energy of nodes and initialenergy is the initial energy of nodes. By simulation results in [
], it is shown that the
performance is promising in balancing network energy consumption and packet reception ratio. This means that the ES-VBF protocol saves energy in an efficient manner. At the same time, there is a small falling in packet reception ratio, which needs further research aiming at finding a better solution not only reducing energy consumption but also achieving high packet reception ratio.
Chapter Summary In this chapter, we give a brief preview on WSNs and its types. Then, we introduce an overview about UWSNs and its communication architectures. Finally, we present brief description about routing protocols on UWSNs and introduce more details about location-based routing protocols.
CHAPTER : Underwater Wireless Sensor Networks ( UWSNs)
CHAPTER Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
.
-
CHAPTER
Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm In this chapter, we propose an algorithm to improve the performance of the Vector-Based Forwarding (VBF) protocol which we call a Clustering Vector-Based Forwarding algorithm (CVBF). In the proposed algorithm, the space volume of the network is divided into a number of clusters where one virtual sink is assigned to each cluster. Then, the nodes inside each cluster are allowed to communicate with themselves just to reach its virtual sink node, which in turn sends the packets to the main sink in the network. Simulation results demonstrate that the proposed algorithm reduces the energy consumption especially in dense networks, increases the packet delivery ratio especially in sparse networks, and decreases the average endto-end delay in both sparse and dense networks. These advantages are emphasized when the algorithm is compared with four other powerful routing algorithms: VBF, Hop-by-Hop VBF (HH-VBF), Vector-Based Void Avoidance (VBVA), and Energy-Saving VBF (ES-VBF) routing protocols.
CVBF Routing Algorithm We here propose an algorithm for UWSNs which we call a Clustering Vector-Based Forwarding algorithm (CVBF). The objective of the proposed routing algorithm is to reduce energy consumption, increase the packet delivery ratio, and decrease the average end-to-end delay. This is emphasized through comparison with VBF, HH-VBF, VBVA, and ES-VBF routing protocols. CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
According to our approach, the whole network is divided into a predefined number of clusters. All sensor nodes are assigned to the clusters on the basis of their geographic location, and then one node at the top of each cluster is selected as a virtual sink for that cluster. The rest of nodes in each cluster transmit the data packets to their respective cluster virtual sink. The routing inside each cluster follows the VBF routing protocol discussed in Chapter . This implies that the concept of using one virtual routing pipe for all network nodes in VBF is replaced by defining one virtual routing pipe for each cluster to forward the packets from any node in the cluster to its virtual sink in that cluster. We assume that the routing pipe radius is equal to the transmission range of a node. Each intermediate node in any cluster selects the next hop to a node inside its cluster. In this way, the network will have many virtual routing pipes, one pipe per cluster, which guarantees forwarding the packets in the upward direction instead of forwarding the packets widely across the network nodes in the VBF algorithm. It is well expected that this will decrease the average end-to-end delay node and reduce the number of hops to reach the virtual sink node which will enhance the network performance. Also, if a small number of nodes are available in the neighborhood, CVBF can still find a data delivery path. After receiving the data packets from cluster sensor nodes, cluster virtual sinks perform an aggregation function on the received data, and transmit them towards the main sink node using single-hop routing. Cluster virtual sink nodes are responsible for coordinating their cluster members and communicating with the main sink node. The proposed algorithm is stated in the following steps:
CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Step : Clustering the Nodes
This step involves dividing the network into groups of nodes according to their geographic location producing non-overlapping clusters excluding the main network sink which is allocated on the water surface. The following values are given: the network space X×Y×Z, node transmission range, routing pipe width, and the node speed. We divide the network space into equal space volumes; in the form of cuboids (each cuboid has four rectangular sides and two square ones). The division is based on the values of X and Y coordinates, and the cluster width, cw, as shown in Figure - . (0,0,0)
cw
X
cw
Y
Z
Figure - : A CVBF network area with
clusters
Choosing the best number of clusters is proposed as: ( - )
CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
where X×Y is the total surface area of the network and (cw) is the area of the cluster surface. The cluster width is thus calculated as: √(
)
( - )
It is given that the surface area is square, and we therefore choose N as a number raised to the power of two:
,
,
, or
. Here we choose N
that gives the value of cw as near as possible to √ R in order to make sure that the virtual pipe of the cluster includes all the nodes inside that cluster, as shown in Figure - (a). If we choose N that gives the value of cw as near as possible to R not √ R, as in Figure - (b), not all the nodes inside each cluster can participate or forward the packets which affecting voids nodes in the network. cw cw R
R
cw
(a) Cluster width equals √ R
cw
(b) Cluster width equals R
Figure - : A horizontal section of cluster virtual pipe (a) Cluster width equals √ R, (b) Cluster width equals R
As an extreme case, if we choose one cluster (N= ) only, then our algorithm reduces to the VBF protocol. In other words, our algorithm is a good generalization to VBF protocol. The flowchart and the Pseudocode of Step are presented in Figures - and - .
CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Step 1: Clustering the nodes Start
Given network space area X x Y x Z and node transmission range R
Calculate cw=sqrt(X×Y/N) where N=4, 9, 16, or 25 Cluster space = cw x cw x Z
For i=1:N
Given Xi=[Ximin, Ximax] Yi=[Yimin, Yimax] Ki the number of nodes in the space Xi x Yi x Z
Step 2
Figure - : Flowchart of Step
of CVBF algorithm.
Pseudocode for Step Step : Clustering the nodes
. Given network space X x Y x Z and node transmission range R. . Calculate cw=√ where N= , , , or , and cluster space = cw×cw×Z
. For each cluster, i= to N with step . Given Xi takes values from Ximin to Ximax, and Yi takes values from Yimin to Yimax . Ki is the number of nodes in the space Xi×Yi×Z Figure - : Pseudocode of Step
of CVBF algorithm.
CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Step : Selecting the Cluster Virtual Sink
For each cluster (cuboid) which has a space volume cw×cw×Z, we choose the node which is nearest to the main sink to be a cluster virtual sink. As shown in Figure - , the surface corner coordinates of the cluster are: (Xmin, Ymin, ), (Xmax, Ymin, ), (Xmin, Ymax, ), and (Xmax, Ymax, ).
(Xmin,Ymin,0)
cw
( Xmax,Ymin,0)
Cuboids axis
cw (Xc,Yc,0) (Xmin, Ymax ,0)
Cluster virtual sink node Cluster members’ nodes Cluster source node
(Xc,Yc,Zmax)
Figure - : One cluster and its virtual sink
All other nodes can send data to their corresponding virtual sink following the mechanism of VBF and depending on the value of its desirableness factor α If more than one node have the same depth position, we choose the nearest node to the cuboid axis, in which its surface point coordinates is the point (Xc, Yc, ). The source node of the cluster is fixed at the position (Xc, Yc, Zmax). The flowchart and the Pseudocode of Step
are
shown in Figures - and - . CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Step 2: Selecting the clusters virtual sinks Step 1
Sort the ki nodes ascending according to the value of their Z coordinates to get the minimum value, Zmin
Calculate the number of nodes, kiz, whose z coordinates equal Zmin
Is kiz=1?
Y
N Calculate Xc=[(Ximax-Ximin)/2] Yc=[(Yimax-Yimin)/2] To get the position of the cluster core (Xc,Yc,Zmin)
This node is the virtual sink of cluster i
Calculate the nearest node to the core (Xc, Yc, Zmin) from the kiz nodes to become the virtual sink of cluster i
Step 3
Figure - : Flowchart of Step
of CVBF algorithm
Pseudocode for Step Step : Selecting the cluster virtual sink
. Sort the nodes, Ki, according to the values of their Z coordinate to determine the minimum value of Z and call it Zmin. . Count the number of nodes, Kiz, in which their Z coordinate equal Zmin. . If (Kiz= ) Then This node is the virtual sink of cluster i Else CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
(a) Calculate Xc=[(Ximax-Ximin)/ ], and Yc=[Yimax-Yimin)/ ] to get the points of the cluster axis, (Xc,Yc,Zmin) and (Xc,Yc,Z) (b) Calculate the nearest node to point (Xc,Yc,Zmin) from the given Kiz to become virtual sink of cluster i. Figure - : Pseudocode of Step
of CVBF algorithm
Step : Calculating the Cluster’s Maintenance Time
This step takes into consideration the node mobility that affects network topology and performance, thus necessitating a cluster maintenance algorithm. For a correct network operation, the maintenance algorithm should be executed simultaneously in all clusters. In this step, we propose a suitable periodical time which we call maintenance time, Tm. Each node in the cluster checks its belonging to that cluster after the periodical time Tm. If a node belonging to a cluster moves away from that cluster, it naturally has two choices. The first choice is to enter another neighboring cluster, and so we transfer this node from the old cluster to the new cluster. The second choice is that it exits from all the network volume, and so we leave this node in the old cluster. To calculate Tm, we divide the known maximum distance of a node movement, dmax, by the current speed of the node, S: ( - ) To avoid exiting a node from the network volume, we suggest to carefully choosing the node positions to be far from the network space boundaries. Figures - and - depict the flowchart and the Pseudocode of Step , respectively.
CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Step 3: Calculating the clustering maintenance time Step 2 Cluster space = cw x cw x Z Given S (node speed) Calculate Tm from Equation (5) For j=0:Simulation time Step Tm
For each node (Xi,Yi,Z) in the cluster i
Is Ximin≤Xi≤Ximax and Yimin≤Yi≤Yimax ?
Y
N Remove this node from cluster i and enter it to the suitable cluster
This node still in cluster i
All nodes in cluster i forward the packets to its virtual sink All the virtual sinks forward the packets to the main virtual sink
End
Figure - : Flowchart of Step
of CVBF algorithm
Pseudocode for Step Step : Calculating the cluster’s maintenance time
. If a node is near to the cluster axis and its mobility does not cause exit this node from that cluster or If a node moves outside the whole network space Then This node is still belongs to its original cluster Else If a nodes exits from the cluster CHAPTER : Clustering Vector-Based Forwarding Routing Algorithm: The Proposed Algorithm
-
-
Then (a) Given the node speed, S, and the maximum distance of any node, dmax, (b) Calculate Tm=dmax/S (c) For J= to Simulation time with step Tm For each node in the cluster i and has coordinates (Xi,Yi,Z) If (Ximin100 then 1`(n) else empty
INT
INT
if (Virtual) then 1`(n,W,R,d)
NODE
Calculate Desirable Factor (n,W,R,d)
Forward DataPacket Out OUT
Figure - : CPN sub-model for the Forwarder node
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
-
Figure - shows the CPN receiver sub-model, which contains two transitions and five places. It is the same sub-model designed in the CPN model for the VBF routing protocol. 1`1 NextPacket I/O INT k
1`1 NextRec INT
n k
if n=k then k+1 else k
RecAck
Forward DataPacket
(n,DF,R,d) if n=k then k+1 else k
n Ack INT
In
OUT 1`" "
Receive Packet
data
Data Received
if n=k then data^d else data
STRING
Figure - : CPN sub-model for the Receiver node
In the hierarchical CPN model introduced in this Chapter, we found four levels of abstraction. The first level of abstraction is the Main CVBF model, while the lowest level of abstraction is the Sender, Forwarder, and Receiver sub-models. General, there can be different levels of abstraction [ ].
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
-
State Space Analysis Results The state space analysis displayed in Figure - shows that the CPN model of the CVBF routing protocol have full state space construction took
nodes and
arcs. The
seconds. The full state space
generation is followed by producing the SCC graph [
]. Figure - also
shows the SSC graph statistics of our model. It has
nodes,
and was computed in
arcs,
seconds. The difference between the number of
nodes in the state space and the number of nodes in the SCC graph statistics inform us that there exist cycles in the state space of the CPN model. This indicates that we have unlimited occurrence sequences and the CVBF routing protocol may not terminate. State Space Statistics -------------------------------------------------State Space SCC Graph Nodes: Nodes: Arcs: Arcs: Seconds: Seconds: Status: All -------------------------------------------------Figure - : State space statistics of the CPN model
The Home properties specify the number of the home marking node. While the liveness properties identify the node number of the dead marking. The dead marking is a marking that have no enabled binding elements. From Figure -
we find that the marking generated by node
is considered
to be a home and also a dead marking. This fact states that the routing protocol identified by the CPN model is partially correct. Moreover, because node
is also a home marking it is constantly possible to terminate the
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
-
routing protocol with the right result. Figure -
also states that there are no
live transition and no dead transitions [ ]. We have already realized that our routing protocol contains a dead marking, and this resulting the absence of live transition, which means that there is no transition can be fired from the dead marking. The absence of dead transitions in the protocol means that each transition has the probability to occur or fire at least once. Finally, the proposed CPN model for the CVBF routing protocol is liveness, responsiveness, and free from deadlocks. Home Properties -------------------------------------------------Home Markings: [ ] -------------------------------------------------Liveness Properties -------------------------------------------------Dead Markings: [ ] Dead Transitions: None Live Transitions: None -------------------------------------------------Figure -
: State space behavioral properties of the CPN model for CVBF protocol
Table - shows the state space analysis results with the increasing of the number of the forwarder nodes between the sender and the receiver. It is seen that the state space size rises with the increasing of the number of forwarder node. Moreover, in each case, the number of nodes and arcs in the SCCs is less than the number of nodes and arcs in the state space, indicating the occurrence of cycle behavior in the routing protocol.
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
Table -
-
State space analysis results as increasing the number of forwarder nodes
Properties
Number of Forwarder Nodes
State space nodes State space arcs State space time (sec) SCCs-graph nodes SCCs-graph arcs SCCs-graph time Number of the sent data packets Number of the received data packets Average end-to-end delay (sec)
The number of the sent and received data packets and the average end-to-end delay are also reported in Table - . These results are averages over
runs with an arbitrarily generated network topology. The state space
statistics analysis results that the proposed CPN model of the CVBF routing protocol is liveness and free from deadlocks.
Performance Analysis As we show in Chapter
, performance is calculated through
measures of packet delivery ratio, and average end-to-end delay using the same underwater package Aqua-Sim of NS- [ ,
]. In the simulations, we
take into consideration the same model assumptions considered in Section .
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
Figure
-
-
identifies packet delivery ratio of the proposed CPN
model with the number of forwarder nodes increases. It is realized that the packet delivery ratio rises with the increase of the number of sensor nodes. When more than
nodes are deployed in the space, the value of the packet
delivery ratio remains above
for both CVBF protocol simulated by
Aqua-Sim and the CVBF protocol modeled by CPNs. Table - , extracted from Figure -
, shows that our CPN model gives better results in packet
delivery ratio.
Packet Delivery Ratio (%)
95
94 93 92 91 CVBF using Aqua-Sim
90 89
CVBF using CPN Model
88 87 86 85 10
Figure -
20 30 40 50 Number of Forwarder Nodes
: Proposed CPN model packet delivery ratio vs. number of forwarder nodes
Table - : Increase in Packet Delivery Ratio
Number of Forwarder Nodes
Packet Delivery Ratio (%) CVBF using CVBF using CPN Increasing Aqua-Sim model percentage .
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
Figure -
-
describes the proposed CPN model average end-to-end
delay with the number of forwarder nodes. The values used for plotting this figure are taken from the results of Table - . It is seen that the average endto-end delay reduced with the increase of the number of forwarder nodes in the network. By increasing the number of sensor nodes the paths from the source to the sink are nearer to the optimal path hence, the average end-toend delay decreases, as shown in Table - , extracted from Figure - .
Average End-to-End Delay (sec)
16
14 12 10 CVBF using Aqua-Sim
8 6
CVBF using CPN Model
4 2 0 10
Figure -
20 30 40 50 Number of Forwarder Nodes
: Proposed CPN model average end-to-end delay vs. number of forwarder nodes Table - : Reduction in end-to-end delay
Number of Forwarder Nodes
Average End-to-End Delay(sec) CVBF using CVBF using Reduction Aqua-Sim CPN model percentage -
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
As shown in Figure -
-
, the average end-to-end delay decreases
with the increase of the number of nodes since more nodes are involved in packet forwarding. On the other hand, this figure shows that the average endto-end delay for the proposed model is less than the results from Aqua-Sim when the number of nodes is greater than
nodes, indicating that the CPN
model for the CVBF can save less end-to-end delay with high node density. From Table - , shown in Section
, and Table - , presented in
Chapter , it is concluded that the CPN model of the proposed CVBF routing algorithm gives better strongly connected components, SCCs, for the nodes and the arcs than the CPN model for the VBF routing protocol. This assurance that our proposed CVBF routing algorithm, introduced in Chapter , gives better performance than the VBF routing protocol.
Chapter Summary In this chapter, we present a CPN model for the CVBF routing protocol in UWSNs that allows the study of several network properties. Our proposed model is verified by two phases: First, by the state space statistics analysis which results that the proposed CPN model is liveness, responsiveness, and free from deadlocks. Second, by the performance analysis in which demonstrates that the model efficiently increases the packet delivery ratio and reduces the average end-to-end delay as the increasing of the number of forwarder nodes in the routing protocol especially in dense network.
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
-
-
CHAPTER : Modelling of the Proposed CVBF Algorithm using Coloured Petri Nets
CHAPTER Conclusions and Trends for Future Relevant Work
-
.
-
CHAPTER
Conclusions and Trends for Future Relevant Work In this last chapter, conclusions of the dissertation are amalgamated and some research points for future relevant work are suggested.
Conclusions This dissertation is concerned with two contributions. The first contribution is introduced for enhancing and improving the performance of the location-based routing protocols in Underwater Wireless Sensor Networks (UWSNs) and the second contribution is concerned with modelling and verifying UWSNs routing protocols on the basis of Coloured Petri Nets (CPNs) as in Figure - .
Contributions of the dissertation
Enhancing the performance of routing protocols in UWSNs
Clustering VBF proposed algorithm
Modelling of routing protocols in UWSNs using CPNs
CPN Model for VBF protocol
CPN Model for CVBF protocol (The proposed algorithm)
Figure - Contributions of the dissertation (Chapters , , and )
CHAPTER : Conclusion and Trends for Future Relevant Work
-
-
In the first contribution, an algorithm to improve the performance of the Vector-Based Forwarding (VBF) is proposed which we call a Clustering Vector-Based Forwarding algorithm (CVBF). In the proposed algorithm, the space volume of the network is divided into a number of clusters where one virtual sink is assigned to each cluster. Then, the nodes inside each cluster are allowed to communicate with themselves just to reach its virtual sink node, which in turn sends the packets to the main sink in the network.
Simulation results demonstrate that the proposed algorithm reduces the energy consumption especially in dense networks, increases the packet delivery ratio especially in sparse networks, and decreases the average endto-end delay in both sparse and dense networks. These advantages are emphasized when the algorithm is compared with four other powerful routing algorithms: VBF, Hop-by-Hop VBF (HH-VBF), Vector-Based Void Avoidance (VBVA), and Energy-Saving VBF (ES-VBF) routing protocols.
The second contribution in this dissertation is to develop a Coloured Petri Net models for routing protocols in UWSNs. Two CPN models are introduced, one is designed to analyze the functionality and the behavior of the VBF routing protocol and another CPN model for the proposed CVBF algorithm. The two models are tested verified by state space analysis and performance evaluation to guarantee liveness, responsiveness and free from deadlocks.
CHAPTER : Conclusion and Trends for Future Relevant Work
-
-
Trends for Future Work In a future research work and from a prospective point of view, the next extensions and objectives of UWSNs are:
Using nanosensors instead of the ordinary underwater sensors and study its effects on the network performance [ ].
Employ the OPNET simulator for studying and enhancing the performances of the MAC layer in UWSNs [ ].
Modelling other routing protocols in UWSNS by CPNs such as VBVA, ES-VBF, DFR, H -DAB [ ], REBAR, and EURP [ ] routing protocols.
CHAPTER : Conclusion and Trends for Future Relevant Work
APPENDIX A Algorithm Programs
-
-
APPENDIX A Algorithm Programs
In this appendix, we present the main functions of our proposed CVBF routing algorithm. These functions are built by Aqua-Sim simulator which based on network simulator NS- to simulate the proposed algorithm. Then we introduce one Tcl program for the CVBF routing. Finally, we show some snapshot of the D Aqua-Sim simulator for the data packet routing in the proposed CVBF algorithm: A.
C++ Code for the main function of CVBF algorithm
A. . CalculatePosition Function: void ClusteringVectorbasedforwardAgent::calculatePosition(Packet* pkt) { hdr_uwvb *vbh = HDR_UWVB(pkt); double fx=vbh->info.fx; double fy=vbh->info.fy; double fz=vbh->info.fz; double dx=vbh->info.dx; double dy=vbh->info.dy; double dz=vbh->info.dz; node->CX_=fx+dx; node->CY_=fy+dy; node->CZ_=fz+dz; // printf("clusteringvectorbased: my position is computed as (%f,%f,%f)\n",node->CX_, nod>CY_,node-Z_); }
A. . CalculateDelay Function: double ClusteringVectorbasedforwardAgent::calculateDelay(Packet* pkt,position* p ) { hdr_uwvb *vbh = HDR_UWVB(pkt); double fx=p ->x; double fy=p ->y; double fz=p ->z; double dx=node->CX_-fx;
APPENDIX A: Algorithm Programs
-
-
double dy=node->CY_-fy; double dz=node->CZ_-fz; double tx=vbh->info.tx; double ty=vbh->info.ty; double tz=vbh->info.tz; double dtx=tx-fx; double dty=ty-fy; double dtz=tz-fz; double dp=dx*dtx+dy*dty+dz*dtz; // double a=advance(pkt); double p=projection(pkt); double d=sqrt((dx*dx)+(dy*dy)+ (dz*dz)); double l=sqrt((dtx*dtx)+(dty*dty)+ (dtz*dtz)); double cos_theta=dp/(d*l); // double delay=(TRANSMISSION_DISTANCEd*cos_theta)/TRANSMISSION_DISTANCE; double delay=(p/width) +((UnderwaterChannel::Transmit_distance()-d*cos_theta)/ UnderwaterChannel::Transmit_distance()); // double delay=(p/width) +((TRANSMISSION_DISTANCEd)/TRANSMISSION_DISTANCE)+( -cos_theta); return delay; }
A. . Distance Function: double ClusteringVectorbasedforwardAgent::distance(Packet* pkt) { hdr_uwvb *vbh = HDR_UWVB(pkt); double tx=vbh->info.fx; double ty=vbh->info.fy; double tz=vbh->info.fz; // printf("Clusteringvectorbased: the target is %lf,%lf,%lf \n",tx,ty,tz); double x=node->CX(); //change later double y=node->CY();// printf("ClusteringVectorbasedforward: I am in advanced\n"); double z=node->CZ(); // printf("the target is %lf,%lf,%lf and my coordinates are %lf,%lf,%lf\n",tx,ty,tz,x,y,z); return sqrt((tx-x)*(tx-x)+(ty-y)*(ty-y)+ (tz-z)*(tz-z)); }
A. . Projection Function: double ClusteringVectorbasedforwardAgent::projection(Packet* pkt) { hdr_uwvb *vbh = HDR_UWVB(pkt); double tx=vbh->info.tx; double ty=vbh->info.ty; double tz=vbh->info.tz; double ox, oy, oz; if( !hop_by_hop ) { //printf("cvbf is used\n"); ox=vbh->info.ox;
APPENDIX A: Algorithm Programs
-
-
oy=vbh->info.oy; oz=vbh->info.oz; } else{ ox=vbh->info.fx; oy=vbh->info.fy; oz=vbh->info.fz; } double x=node->CX(); double y=node->CY(); double z=node->CZ(); double wx=tx-ox; double wy=ty-oy; double wz=tz-oz; double vx=x-ox; double vy=y-oy; double vz=z-oz; double cross_product_x=vy*wz-vz*wy; double cross_product_y=vz*wx-vx*wz; double cross_product_z=vx*wy-vy*wx; double area=sqrt(cross_product_x*cross_product_x+ cross_product_y*cross_product_y+cross_product_z*cross_product_z); double length=sqrt((tx-ox)*(tx-ox)+(ty-oy)*(ty-oy)+ (tz-oz)*(tz-oz)); // printf("clusteringvectorbasedforward: the area is %f and length is %f\n",area,length); return area/length; }
A. . IsTarget Function: bool ClusteringVectorbasedforwardAgent::IsTarget(Packet* pkt) { hdr_uwvb * vbh=HDR_UWVB(pkt); if (vbh->target_id.addr_== ){ printf("clusteringvectorbasedforward: advanced is %f and my range is %f\n",advance(pkt),vbh->range); return (advance(pkt)range); } else return(THIS_NODE.addr_==vbh->target_id.addr_); }
A. . IsCloseEnough Function: bool ClusteringVectorbasedforwardAgent::IsCloseEnough(Packet* pkt) { hdr_uwvb *vbh = HDR_UWVB(pkt); double range=vbh->range; //double range=width; //printf("underwatersensor: The width is %f\n",range); double ox=vbh->info.ox; double oy=vbh->info.oy; double oz=vbh->info.oz;
APPENDIX A: Algorithm Programs
-
-
double tx=vbh->info.tx; double ty=vbh->info.ty; double tz=vbh->info.tz; double fx=vbh->info.fx; double fy=vbh->info.fy; double fz=vbh->info.fz; double x=node->CX(); //change later double y=node->CY(); double z=node->CZ(); double d=sqrt((tx-fx)*(tx-fx)+(ty-fy)*(ty-fy)+(tz-fz)*(tz-fz)); //double l=sqrt((tx-ox)*(tx-ox)+(ty-oy)*(ty-oy)+ (tz-oz)*(tz-oz)); double l=advance(pkt); double c= ; // if ((ddata_type; double l,h; vbf_neighborhood * hashPtr; // Agent_List *agentPtr; // PrvCurPtr RetVal; ns_addr_t from_nodeID, forward_nodeID, target_nodeID; Packet *gen_pkt; hdr_uwvb *gen_vbh; position * p ; p =new position[ ]; p [ ].x=vbh->info.fx; p [ ].y=vbh->info.fy; p [ ].z=vbh->info.fz; // printf("ClusteringVectorbasedforward:oops!\n"); switch (msg_type) { case INTEREST : // printf("ClusteringVectorbasedforward:it is interest packet!\n"); hashPtr = PktTable.GetHash(vbh->sender_id, vbh->pk_num); // Check if it comes from sink agent of this node // If so we have to keep it in sink list from_nodeID = vbh->sender_id; forward_nodeID = vbh->forward_agent_id; if (THIS_NODE.addr_ == from_nodeID.addr_) { MACprepare(pkt); MACsend(pkt,Random::uniform()*JITTER); // printf("clusteringvectorbasedforward: after MACprepare(pkt)\n"); } else {
APPENDIX A: Algorithm Programs
-
-
calculatePosition(pkt); if (IsTarget(pkt)) { // If this node is target? l=advance(pkt); // send_to_demux(pkt, ); vbh->mess_type=SOURCE_DISCOVERY; set_delaytimer(pkt,l*JITTER); // !!! need to re-think } else{ // No the target forwared l=advance(pkt); h=projection(pkt); if (IsCloseEnough(pkt)){ MACprepare(pkt); MACsend(pkt,Random::uniform()*JITTER); } else {Packet::free(pkt);} } } // Packet::free(pkt); return; case TARGET_DISCOVERY: // from other nodes hitted by the packet, it is supposed if (THIS_NODE.addr_==vbh->target_id.addr_) { calculatePosition(pkt); DataForSink(pkt); printf("ClusteringVBF: %d is the target\n", here_.addr_); } else {Packet::free(pkt);} return; case SOURCE_DISCOVERY: Packet::free(pkt); return; case DATA_READY : from_nodeID = vbh->sender_id; if (THIS_NODE.addr_ == from_nodeID.addr_) { // come from the same node, broadcast it MACprepare(pkt); MACsend(pkt,Random::uniform()*JITTER); return; } calculatePosition(pkt); if (THIS_NODE.addr_==vbh->target_id.addr_) { printf("Clusteringectorbasedforward: %d is the target\n", here_.addr_); DataForSink(pkt); // process it } else{ // printf("ClusteringVBF: %d is the not target\n", here_.addr_); MACprepare(pkt); MACsend(pkt, Random::uniform()*JITTER);
APPENDIX A: Algorithm Programs
-
-
} return; case DATA : from_nodeID = vbh->sender_id; if (THIS_NODE.addr_ == from_nodeID.addr_) { // come from the same node, broadcast it MACprepare(pkt); MACsend(pkt, ); return; } calculatePosition(pkt); // printf("clusteringvectorbasedforward: after MACprepare(pkt)\n"); l=advance(pkt); h=projection(pkt); if (THIS_NODE.addr_==vbh->target_id.addr_) { // printf("ClusteringVectorbasedforward: %d is the target\n", here_.addr_); DataForSink(pkt); // process it } else{ // printf("ClusteringVBF: %d is the not target\n", here_.addr_); if (IsCloseEnough(pkt)){ double delay=calculateDelay(pkt,p ); double d =(UnderwaterChannel::Transmit_distance()distance(pkt))/SPEED_OF_SOUND_IN_WATER; set_delaytimer(pkt,(sqrt(delay)*DELAY+d * )); } else { Packet::free(pkt); } } return; default: Packet::free(pkt); break; } delete p ; }
A.
TCL Program for the CVBF Algorithm:
set opt(chan) set opt(prop) set opt(netif) set opt(mac) set opt(ifq) set opt(ll) set opt(energy) set opt(txpower) set opt(rxpower)
Channel/UnderwaterChannel Propagation/UnderwaterPropagation Phy/UnderwaterPhy Mac/UnderwaterMac/BroadcastMac Queue/DropTail/PriQueue LL EnergyModel ;# ;#
APPENDIX A: Algorithm Programs
-
-
set opt(initialenergy) set opt(idlepower) set opt(ant) set opt(filters)
;# Antenna/OmniAntenna GradientFilter ;# options can be one or more of ;# TPP/OPP/Gear/Rmst/SourceRoute/Log/TagFilter set opt(minspeed) ;# minimum speed of node set opt(maxspeed) ;# maximum speed of node set opt(speed) ; speed of node set opt(position_update_interval) ;# the length of period to update node's position set opt(packet_size) ; bytes set opt(routing_control_packet_size) ;#bytes set opt(ifqlen) ;# max queue length in if set opt(nn) ;# number of nodes set opt(x) ;# X dimension of the network set opt(y) ;# Y dimension of the network set opt(z) ;# Z dimension of the network set opt(seed) set opt(stop) ;# simulation time set opt(prestop) ;# time to prepare to stop set opt(tr) "cvbf_example_ .tr" ;# trace file set opt(datafile) "cvbf_example_ .data" set opt(nam) "cvbf_example_ .nam" ;# nam file set opt(adhocRouting) ClusteringVectorbasedforward set opt(width) set opt(interval) set opt(range) ;#range of each node in meters if { $argc > } { set opt(seed) [lindex $argv ] set opt(nn) [lindex $argv ] set opt(datafile) [lindex $argv ] } puts "the file name is $opt(datafile)" puts "the sending interval is $opt(interval)" # ================================================================== LL set mindelay_ LL set delay_ LL set bandwidth_
us us ;# not used
Queue/DropTail/PriQueue set Prefer_Routing_Protocols # unity gain, omni-directional antennas # set up the antennas to be centered in the node and meters above it Antenna/OmniAntenna set X_ Antenna/OmniAntenna set Y_ #Antenna/OmniAntenna set Z_ Antenna/OmniAntenna set Z_ Antenna/OmniAntenna set Gt_ Antenna/OmniAntenna set Gr_ Agent/ClusteringVectorbasedforward set hop_by_hop_ Mac/UnderwaterMac set bit_rate_ e ; kbps Mac/UnderwaterMac set encoding_efficiency_ Mac/UnderwaterMac/BroadcastMac set packetheader_size_
APPENDIX A: Algorithm Programs
;# #of bytes
-
-
# Initialize the SharedMedia interface with parameters to make Phy/UnderwaterPhy set CPThresh_ ; Phy/UnderwaterPhy set CSThresh_ ; ePhy/UnderwaterPhy set RXThresh_ ; e#Phy/WirelessPhy set Rb_ * e Phy/UnderwaterPhy set Pt_ Phy/UnderwaterPhy set freq_ ;# khz Phy/UnderwaterPhy set K_ ;# spherical spreading # ================================================================= # Main Program # ================================================================= # # Initialize Global Variables # #set sink_ set ns_ [new Simulator] set topo [new Topography] $topo load_cubicgrid $opt(x) $opt(y) $opt(z) #ns_ use-newtrace set tracefd [open $opt(tr) w] $ns_ trace-all $tracefd set nf [open $opt(nam) w] $ns_ namtrace-all-wireless $nf $opt(x) $opt(y) set data [open $opt(datafile) a] set total_number [expr $opt(nn)- ] set god_ [create-god $opt(nn)] $ns_ at "$god_ set_filename $opt(datafile)" set chan_ _ [new $opt(chan)] global defaultRNG $defaultRNG seed $opt(seed) $ns_ node-config -adhocRouting $opt(adhocRouting) \ -llType $opt(ll) \ -macType $opt(mac) \ -ifqType $opt(ifq) \ -ifqLen $opt(ifqlen) \ -antType $opt(ant) \ -propType $opt(prop) \ -phyType $opt(netif) \ #-channelType $opt(chan) \ -agentTrace OFF \ -routerTrace OFF \ -macTrace ON \ -topoInstance $topo\ -energyModel $opt(energy)\ -txPower $opt(txpower)\ -rxPower $opt(rxpower)\ -initialEnergy $opt(initialenergy)\ -idlePower $opt(idlepower)\ -channel $chan_ _ puts "Width=$opt(width)" #Set the Sink node
APPENDIX A: Algorithm Programs
-
-
#node is the sink set node_( ) [ $ns_ node ] $node_( ) set sinkStatus_ $god_ new_node $node_( ) $node_( ) set X_ $node_( ) set Y_ $node_( ) set Z_ $node_( ) set passive set rt [$node_( ) set ragent_] $rt set control_packet_size $opt(routing_control_packet_size) set a_( ) [new Agent/UWSink] $ns_ attach-agent $node_( ) $a_( ) $a_( ) attach-clusteringvectorbasedforward $opt(width) $a_( ) cmd set-range $opt(range) $a_( ) cmd set-target-x $a_( ) cmd set-target-y $a_( ) cmd set-target-z $a_( ) cmd set-filename $opt(datafile) $a_( ) cmd set-packetsize $opt(packet_size) ;# # of bytes # For making a number of nodes distributed randomly set xrand_ [new RandomVariable/Uniform] $xrand_ set min_ $xrand_ set max_ $opt(x) set yrand_ [new RandomVariable/Uniform] $yrand_ set min_ $yrand_ set max_ $opt(y) set zrand_ [new RandomVariable/Uniform] $zrand_ set min_ $zrand_ set max_ $opt(z) for {set i } { $i < $opt(nn) } { incr i } { set node_($i) [ $ns_ node $i] $node_($i) set sinkStatus_ $node_($i) random-motion $node_($i) set max_speed $opt(maxspeed) $node_($i) set min_speed $opt(minspeed) $node_($i) set position_update_interval_ $opt(position_update_interval) $god_ new_node $node_($i) $node_($i) set X_ [$xrand_ value] $node_($i) set Y_ [$yrand_ value] $node_($i) set Z_ [$zrand_ value] $node_($i) set passive #$node_($i) move set rt [$node_($i) set ragent_] $rt set control_packet_size $opt(routing_control_packet_size) set a_($i) [new Agent/UWSink] $ns_ attach-agent $node_($i) $a_($i) $a_($i) attach-clusteringvectorbasedforward $opt(width) $a_($i) cmd set-range $opt(range) $a_($i) cmd set-target-x $a_($i) cmd set-target-y $a_($i) cmd set-target-z
APPENDIX A: Algorithm Programs
-
-
$a_($i) cmd set-filename $opt(datafile) $a_($i) cmd set-packetsize $opt(packet_size) ;# # of bytes } #Set the source node set node_( ) [$ns_ node ] $god_ new_node $node_( ) $node_( $node_( $node_( $node_(
) set sinkStatus_ ) set max_speed $opt(maxspeed) ) set min_speed $opt(minspeed) ) set position_update_interval_ $opt(position_update_interval)
$node_( ) set X_ $node_( ) set Y_ $node_( ) set Z_ $opt(z) $node_( ) set-cx $node_( ) set-cy $node_( ) set-cz $opt(z) set rt [$node_( ) set ragent_] $rt set control_packet_size $opt(routing_control_packet_size) #$ns_ at "$node_( ) move" set a_( ) [new Agent/UWSink] $ns_ attach-agent $node_( ) $a_( ) $a_( ) attach-vectorbasedforward $opt(width) $a_( ) cmd set-range $opt(range) $a_( ) cmd set-target-x $a_( ) cmd set-target-y $a_( ) cmd set-target-z $a_( ) cmd set-filename $opt(datafile) $a_( ) cmd set-packetsize $opt(packet_size) ;# # of bytes $a_( ) set data_rate_ [expr /$opt(interval)] set start_time for { set i } { $i